“閉門造車”之多模態思路淺談:自迴歸學習與生成

©PaperWeekly 原創 · 作者 | 蘇劍林
單位 | 科學空間
研究方向 | NLP、神經網路
這篇文章我們繼續來閉門造車,分享一下筆者最近對多模態學習的一些新理解。
在前文《“閉門造車”之多模態思路淺談:無損》中,我們強調了無損輸入對於理想的多模型模態的重要性。如果這個觀點成立,那麼當前基於 VQ-VAE、VQ-GAN 等將影像離散化的主流思路就存在能力瓶頸,因為只需要簡單計算一下資訊熵就可以表明離散化必然會有嚴重的資訊損失,所以更有前景或者說更長遠的方案應該是輸入連續型特徵,比如直接將影像的原始畫素特徵 Patchify 後輸入到模型中。
然而,連續型輸入對於影像理解自然簡單,但對影像生成來說則引入了額外的困難,因為非離散化無法直接套用文字的自迴歸框架,多少都要加入一些新內容如擴散,這就引出了本文的主題——如何進行多模態的自迴歸學習與生成。當然,非離散化只是表面的困難,更艱鉅的部份還在後頭。

無損含義

首先我們再來明確一下無損的含義。無損並不是指整個計算過程中一丁點損失都不能有,這不現實,也不符合我們所理解的深度學習的要義——在 2015 年的文章《閒聊:神經網路與深度學習》[1] 我們就提到過,深度學習成功的關鍵是資訊損失。所以,這裡無損的含義很簡單,單純是希望作為模型的輸入來說盡可能無損。
當前多模態模型的主流架構依然是 Transformer,很多工作都會先對影像進行“前處理”再輸入到 Transformer 中,比如簡單將影像 Pixels 分 Patch、透過 VAE 來提取特徵或者透過 VQ 來離散化等,其共同特點是將影像從 的陣列變成 (其中 )的陣列,我們都可以稱為廣義的 “Patchify”。
不同的 Patchify 可能會有不同程度的資訊損失,其中 VQ 的資訊損失往往是最嚴重且最明確的,比如最近位元組的 TiTok [2] 將 256*256 的影像壓縮為 32 個 token,要理解它的資訊損失都不用算資訊熵,因為它的編碼本只有 4096,意味著它頂多能存 張圖片,我們知道漢字就不止 4096 個了,換句話說如果圖上有 32 個漢字,那麼所有排列組合就超出了這種編碼方式能表達的上限。
如果影像在輸入模型之前就有明顯資訊損失,那麼必然會限制模型的影像理解能力,比如將 TiTok 的 32 個 Token 輸入到模型中,那麼它基本就沒法做 OCR 任務了,而且 VQ 的這個瓶頸非常本質,即使改為 32*32 個 Token 也很難有明顯的改善,除非 Token 的數量達到了原始 RGB 的 Pixels 數量級,但這樣一來 VQ 的意義也就沒有了。
所以,為了更好地適應各種影像理解任務,多模態模型理想的影像輸入方式應該就是儘可能無損的連續型特徵,由模型自己在計算過程中根據上下文決定要損失什麼。
自迴歸式
正如本文開頭所說,以連續型特徵輸入對於影像理解來說其實是一個非常合理和自然的方式,只是對於影像的自迴歸(AutoRegressive,AR)生成來說會引入額外的困難。看到這裡讀者可能會有一個疑問:為什麼影像非得要做自迴歸?影像不是有擴散模型這樣的更好用的生成方式了嗎?
首先,我們知道,“自迴歸模型 + Teacher Forcing 訓練”本身就是一種非常普適的學習途徑,是“手把手教學”的典型體現,所以它潛力是足夠的;其次,擴散模型這個例子,更加說明了自迴歸在影像生成中的必要性。
以 DDPM 為例,它實質就是一個自迴歸模型,在《生成擴散模型漫談:DDPM = 自迴歸式VAE》我們就將其冠以自迴歸之名,它將單個影像解構為序列 ,然後去建模 ,訓練方式本質上也是 Teacher Forcing(所以也有 Exposure Bias 問題),可以說 DDPM 不僅是自迴歸,而且還只是自迴歸中最簡單的 2-gram 模型。
事實上,從早期的 PixelRNN [3]、PixelCNN [4]、NVAE [5] 等工作,到如今流行的擴散模型以及將影像 VQ 之後當文字那樣訓練語言模型,它們傳遞出來的訊號更多的是——對於影像來說,問題並不是該不該做自迴歸,而是以何種方式來更好地去做自迴歸它的作用不僅是為多模態模型賦予影像生成能力,而且還是一個重要的無監督學習途徑。
筆者的偶像 Feynman 說過一句著名的話 “What I cannot create, I do not understand”,這句話放到大模型也是成立的,也就是說“不會生成就不會理解”。當然,這句話看上去有點武斷,因為透過有監督學習各種圖文資料對似乎也能獲得足夠的影像理解能力。
然而,單純透過有監督的方式去學習影像理解,一方面覆蓋面可能有限,另一方面也受限於人的理解水平,所以我們需要無監督的生成式預訓練來獲得更充分的影像理解能力,這跟文字的 “Pretrain + SFT” 的 Pipeline 是一致的。

平方誤差

可能有部份讀者覺得,將影像分 Patch 排序後,不也就可以跟文字一樣預測下一個 Patch 嗎?就算輸入格式不離散化而是改為連續特徵,那也只需要把交叉熵損失換成平方誤差就行了?看上去影像的自迴歸學習也沒有什麼困難?思路上確實如此,但事實上這裡邊提到的兩個關鍵地方——“分 Patch 排序“損失函式”——都是難以解決的問題。
這一節我們先來看損失函式問題。假設影像已經按某種方式分 Patch 排序好,那麼影像就變成了 Patch 的一維序列,自迴歸學習也確實是對下一個 Patch 的預測,如下圖所示:
▲ 影像自迴歸學習的最樸素想法是用平方誤差預測下一個 Patch
然而,這裡的損失函式卻沒法簡單地用平方誤差(MSE,或者等價地,歐氏距離,L2 距離),這是因為平方誤差背後的關於分佈的假設是高斯分佈:
即高斯分佈 的負對數似然正好是平方誤差(其中 是常數),這意味著用平方誤差的話對 的假設為 ,但我們仔細想想就會發現,這個假設跟真實情況還是相距甚遠的,因為如果它成立,那麼透過 就可以完成 的取樣,其實 是標準高斯分佈的噪聲,那麼 必然會有很多噪點,而真實情況顯然未必如此。
可能又有讀者反駁:為什麼非得要從機率似然的角度來理解呢?我就純粹將它理解為一個迴歸擬合問題不行嗎?可能真的不大行。從機率角度理解主要有兩方面的考慮:
第一,生成建模最終都要面臨取樣,寫出機率分佈才能構建取樣方式;
第二,單純從迴歸的角度來看,我們也需要論證平方誤差的合理性,因為我們還有很多其他損失可以用,比如 L1 距離(MAE)、Hinge Loss 等等,這些損失並不相互等價,也不盡合理(事實上,這些損失都不合理,因為它們都是從純數學角度定義出來的度量,跟人類視覺認知並不完全吻合)。

噪聲之奇

由於是輸入的圖片特徵本質決定了平方誤差的不合理性,所以解決這個問題的唯一思路就是修改圖片的輸入格式,使得它相應的條件分佈更符合高斯分佈。目前看來,有兩個具體的方案可以參考。
第一個方案是透過預訓練的 Encoder 來編碼圖片,其中訓練 Encoder 時通常會加入 VAE 的 KL 散度等正則項來縮小方差,說得更直觀一點,就是將特徵都壓縮在一個球附近(參考《從幾何視角來理解VAE的嘗試》[6]),用這些特徵作為影像的輸入,會使得 是高斯分佈的假設更加合理一些,所以我們可以用平方誤差來自迴歸訓練,訓練完之後,我們還需要另外訓一個 Decoder,來將取樣出來的圖片特徵解碼為一張圖片。這大體上就是 Emu2 [7] 所採用的方案,缺點是 Pipeline 看起來太長,不夠端到端。
第二個方案可能會出乎很多人意料,那就是加噪,這是筆者閉門造車的想法。剛才我們說如果 真的是高斯分佈,那麼直觀來看 應該有很多噪點才對,但事實上沒有。那為了滿足這個條件,我們自己加一些噪聲不就行了?加了噪聲也不一定能讓 變成高斯分佈,但可以讓它更接近,尤其是當我們漸進地加噪聲的時候,如下圖所示
▲ 透過加噪拓展每個 Patch,讓平方誤差成為可行的損失函式
瞭解擴散模型的讀者不難想到,透過加噪來構建漸變序列,然後以平方誤差為損失來訓練遞迴去噪模型,這不就是擴散模型嗎?沒錯,擴散模型的核心思想正是“透過漸進式加噪讓平方誤差成為合理的損失函式”,而上述方案也是借用了這一思想。
當然,跟常規擴散模型的不同之處也是很明顯的,比如擴散模型是對整張圖片加噪,這裡是對 Patch 加噪,擴散模型是建模 ,這裡是建模 ,等等。從最終形式上來看,這裡提出的是一種結合擴散模型來進行影像的自迴歸學習的方案。

效率問題

透過加噪來延長序列,使得樸素的平方誤差可用,從而讓影像的自迴歸學習跟我們開始構思的方案基本一致(就只是輸入多了一步加噪),這無疑是一個非常讓人舒適的結果。然而,事情並沒有那麼樂觀,這個方案至少有兩大問題,這兩個問題也可以概括為同一個詞——效率。
第一,是學習效率問題。這個問題我們在第一篇介紹擴散模型的文章《生成擴散模型漫談:DDPM = 拆樓 + 建樓》就已經討論過了,大致意思就是這種 時刻的加噪圖預測 時刻的加噪圖的訓練目標,需要對噪聲進行雙重取樣,這會導致更大的訓練方差,因此需要更多的訓練步數才能把這個方差降下來,而經過一系列降方差技巧後,我們發現更高效的方式是直接預測原圖(或者等價地,預測它與原圖的差):
▲ 相比預測下一步噪聲圖,直接預測原圖效率更高
可能有讀者不能理解,剛剛不才說原圖沒有噪點不符合高斯分佈,不能用平方誤差為損失嗎?這個問題還真不大容易從直觀上來解釋,我們可以理解為這是高斯分佈的一個巧合,這時候平方誤差還是可以用的,更標準的解釋可以參考《生成擴散模型漫談:DDPM = 貝葉斯 + 去噪》《生成擴散模型漫談:DDIM = 高觀點DDPM》這兩篇。
第二,是計算效率問題。這個其實很好理解,假如每個 Patch 透過加噪變成 T 個 Patch,那麼序列長度就變為原來的 T 倍,這樣一來訓練成本和推理成本都會顯著增加。此外,從理論上來說,加噪的 Patch 對影像理解並無實質幫助,只保留沒加噪的那個乾淨 Patch 原則上也能達到同樣的效果,換句話說,這種方案對於影像理解來說存在大量冗餘的輸入和計算量。
解決這個問題同樣有兩個思路,下面我們逐一介紹。
分離擴散 
如果限定必須在單個 Transformer 內解決的話,我們可以考慮給 Attention 加 Mask,這又包括兩部分:1)擴散模型的理論和實踐告訴我們,要預測 的話只用 就夠了,可以忽略更早的輸入,這意味同一個 Patch 的不同加噪結果之間不需要相互 Attend;2)出於減少冗餘的考慮,對於不同 Patch 之間的預測以及後面文字 Token 的預測,我們只需要 Attend 到沒加噪的 Patch。這就形成了大致如下的 Attention Mask:
▲ 出於簡化模型和去冗餘的考慮所設計的 Attention Mask
由於這種 Attention Mask 具有固定的 Sparse Pattern,所以它有很大的提速空間,並且由於帶噪的 Patch 的注意力是獨立的,因此我們訓練時也不必一次性把 T−1 個帶噪 Patch 都算進去,每次取樣一部份計算就行。當然,這頂多只算一個雛形,實踐中還有一些細節需要仔細斟酌一下,比如加噪的 Patch 之間基本沒有關聯,那麼它們的位置編碼需要單獨設計一下,等等,這裡就不展開討論了。
如果允許兩個不同的模型串聯(但仍然可以端到端訓練),那麼我們還可以把擴散模型單獨分離出來,Transformer 只負責處理沒有噪聲的 Patch,Transformer 的輸出則作為擴散模型的條件,如下圖所示:
▲ 將擴散模型分離出來,Transformer 的輸出作為擴散的輸入條件
這大體上就是 Kaiming 的新工作《Autoregressive Image Generation without Vector Quantization》[8] 所提的方案,但它更早在《Denoising Autoregressive Representation Learning》[9] 就已經被提出,其好處是讓 Transformer 部份更加純粹和優雅,同時也可以起到節省計算量的作用,這是因為 1)單獨分離出來的擴散模型可以做得更小一些;2)擴散模型部份我們可以按照常規的訓練策略每次只採樣一個噪聲步計算。
從損失函式的角度來看,它就是利用了一個額外的擴散模型來作為預測下一個 Patch 的損失,從而解決平方誤差的缺點。

生成方向

前面我們提到影像的自迴歸學習的兩個關鍵之處分別是“分 Patch 排序”和“損失函式”,剛才我們花了四個小節勉強把損失函式這一塊稍微捋順了一下,但這隻能算是剛剛摸到了門檻。然而,接下來我們將會發現一個更讓人悲觀的結果——對於“分 Patch 排序”這個問題,我們連門檻都很難摸到。
從最終目標來看,“分 Patch 排序”是為了給自迴歸學習制定一個生成序列和方向,它分為“分 Patch” 和“排序”兩步。“分 Patch” 我們也稱 “Patchify”,狹義的 Patchify 就是對畫素陣列的簡單變形和轉置,即將 的陣列先變形為 ,然後轉置為 ,最後變形為
但廣義來說,Patchify 可以泛指一切將影像從 的陣列變成 (其中 )的陣列的方案,比如 Stable Diffusion 的 Encoder 將影像編碼為 Latent、各種 VQ-Tokenizer 將影像變成離散的 ID,這些都算是廣義的 Patchify。
“排序”就比較好理解了,我們知道影像有“長”和“寬”兩個方向(維度),大部份 Patchify 方法的輸出特徵依然保留了這個二維性質,而自迴歸生成則是單向的,所以需要指定一個生成順序。常見的順序比如 1)從左往右再從上往下;2)從中心到四周螺旋;3)從左上角出發走 “Z” 字等等,這些排序設計由來已久,它們可以追溯到第一代影像自迴歸模型——直接在影像 Pixels 上做的自迴歸模型,即前面提到的 PixelRNN / PixelCNN 等。
▲ 樸素的 Patchify 和兩種不同的排序方式
總的來說,“分 Patch 排序”是將影像解構為一個可供自迴歸學習的一維序列的過程,更通俗點就是將影像從二維序列轉成一維序列,所以從最最廣義的角度來講,擴散模型來構建的不同噪聲強度的帶噪圖片序列,以及《Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction》[10] 多個 scale 構成的序列,都可以歸入此列。
所以,現在我們已經提到了多種解構影像的方案,那麼很自然的問題就是:哪個方案更好?判斷依據是什麼呢?

世界模型

要回答這個問題,我們首先要搞清楚,影像生成或者說視覺生成的本質難度是什麼。在《“閉門造車”之多模態思路淺談:無損》中,我們簡單提到影像生成的困難在於連續型機率建模的困難,但實際上這是一個非常表面的判斷,如果僅僅是這樣的話,那麼情況就樂觀得多了,因為我們已經發展了不少諸如擴散模型的連續型生成模型,但實際上其中的困難比我們想象的更為深遠…
我們所說的影像,大體上可以分為人類創造的圖片以及相機拍攝的照片兩種,在相機、手機普及之後,網際網路上的影像實際上已經以照片為主,所以影像生成基本上也等價於照片生成。照片是什麼呢?它是光的記錄,是三維世界的光在二維平面的投影。那光又是什麼呢?光是電磁波,電磁波是麥克斯韋方程組(Maxwell's equations)[11] 的解!
從這個思考中我們發現一個不可否認的事實:一張真實的自然照片,它本質上就是麥克斯韋方程組的一個解,這也就意味著,完美的影像生成不可避免地要觸碰到物理定律——眾多理論物理學家孜孜不倦地追求的世界本源!
無獨有偶,在 Sora 出現之後,我們經常會用“是否符合真實世界的物理規律”來評價模型生成的影片質量,實際上看似更加簡單圖片生成,同樣可以有“符合物理規律”這個評價維度,比如圖片上的光影分佈規律等,只不過到了影片這裡,在光學(電磁學)的基礎上多了一個動力學。
沿著這個思維鏈頭腦風暴下去,會越來越讓人覺得震撼甚至驚悚,因為這等價於說完美的視覺生成模型實際上就是在數值模擬各種物理定律,或者更誇張地說,它實際在模擬整個世界、整個宇宙的演化,它本質上就是一個世界模型。這已經不是地獄級難度可以形容的了,這簡直就是創世級難度。
可能有讀者質疑:麥克斯韋方程組是難,但不也被人類發現了?我們還發現了更多更難的物理規律,比如量子力學、廣義相對論等等,並且還在不斷逼近終極定律(大統一理論),所以這件事情的難度似乎沒有那麼高?
不,大家不要混淆了,即便我們真的能夠發現完全正確的物理定律,那跟有能力“用這些定律去數值模擬”是兩回事。比如我們能手寫出一個方程,但未必能透過手算去求解它,所以我們能發現物理規律,不代表我們能利用這些物理規律去推演或者模擬真實世界,更具體一點,我們現在能在這裡說照片的本質就是麥克斯韋方程組的一個解,但沒有誰能夠手繪一張照片出來。
(注:以上的一系列思考,起源於“影像本質是麥克斯韋方程組的一個解”,這是在一次技術交流中我的 leader 周昕宇分享給我的,當我第一次聽到這個看上去荒謬但事實上不得不接受的觀點時,我內心是錯愕且震撼的,霎時間有種明悟了多模態模型的本質困難的感覺。)

人價值觀

總的來說,這個頭腦風暴想要表達的觀點就是,一個完美的視覺生成模型,它是一個真正意義上的世界模型,它的難度可謂是創世級別的那麼我們想要創世嗎?我們有能力創世嗎?
筆者認為在可以想象的時間內,答案都是否定的,畢竟那意味著要以人力跟全宇宙對抗的感覺了。所以這裡的關鍵就是放棄“完美”這個概念,就好比人不能手繪出一張照片,但這依然不影響人作畫,也不影響人透過手繪的方式來傳遞資訊。又比如說我們評價模型生成的影片是否符合物理規律,並非真的是測量了影片的軌跡然後代入物理公式來判斷的,而單純是肉眼目測加上我們對物理規律的直觀感知。
說白了,可以有損,但對人的價值觀無損就行了那這跟前面說的“分 Patch 排序”又有什麼關係呢?我們一開始就說了,自迴歸學習不單是要為模型賦予生成能力,同時也是作為一種無監督學習途徑,來提高模型的理解能力(不會生成就不會理解)。如果我們有一個真正無限擬合能力(創世能力)的模型,那麼所有的“分 Patch 排序”都是等價的,因為精確的聯合分佈不依賴於隨機變數的分解方式。但很遺憾我們沒有,那麼我們只能有所取捨。
注意,我們希望透過學習生成來促進理解,這裡的“理解”必然是要對齊人的視覺理解的,這是我們訓練 AI 的目的。然而,前面列舉出來的一些“分 Patch 排序”方式,沒有一種是符合人的視覺理解方式的。
更直接地說,人對圖片的理解並不是從左往右或者從上往下,也不是從中間到四周還是走 “Z” 字,甚至說人理解影像都不是按照 Patch 為單位的,當然也不是 Diffusion 那樣逐漸加噪的方式。
如果我們用已有的各種“分 Patch 排序”方案去做自迴歸學習,確實有機會賦予模型在一定範圍內的視覺生成能力,但由於這些圖片解構方式本質上都不符合人的視覺理解模式,那麼很難認為這種自迴歸學習可以促進模型的視覺理解能力——更準確地說,是很難促進模型模仿人視覺理解的能力。
造成這個困難的主要原因,是因為影像它是一個“結果”,並不包含“過程”就拿人類創作的影像來說,不管是手繪的還是 PS 的,其過程都是一步一步操作的,但最終呈現出來的是一張掩蓋了它創作過程的影像。
這跟文字不一樣,我們雖然不知道作家是怎麼構思出這段文字的,但我們知道大部份人都是從左往右寫字的,所以文字本身就已經包含了它的創作(書寫)過程,但如果是一幅畫呢?看了一幅畫,我們知道畫家先畫哪一塊、哪一筆嗎?顯然不行,這也是為什麼大部份人都會寫字但無法臨摹一幅畫。更深一步想,這可以理解為人類似乎更擅長沿著時間維度模仿,而不擅長沿著空間維度,因為時間維度只有一個,空間維度卻有三個,後者自由度太大。
目前看來,就只有一個非常“妥協”的方法來解決這個問題,就是用盡可能多的、符合人類價值觀的圖文資料(當然,影像的其他有價值的監督訊號也可以),去有監督地訓練一個“分 Patch 排序”模型。注意跟常見的 Vision Encoder 不同,這個模型要直接輸出一維序列,而不是保留圖片的二維性,這樣就免去了事後排序這一步。
模型的設計我們可以參考 TiTok [2](這是我們第三次提到 TiTok了),它本質上是利用 Cross Attention 將二維序列轉一維序列,除此之外用 Q-Former [12] 也能實現類似的效果。總之,模型設計上不會有太多難度,核心工作變成了圖文對的資料工程了。
但這樣一來,模型能走多遠就不好說了,因為我們本希望透過自迴歸學習來促進模型的理解能力,但現在自迴歸學習又依賴於一個透過理解任務訓練出來的 Encoder,理想情況下這兩個模型會相互促進、共同進化,但不理想的情況下模型能力就受限於訓練 Encoder 的有監督資料的數量和質量,無法形成真正的無監督學習了。

文章小結

這篇文章繼續“閉門造車”了一些有關多模態學習的思路,主要圍繞視覺的自迴歸學習進行展開,大體內容是:
1. 自迴歸學習既為模型賦予了生成能力,同時也是透過生成來促進理解能力的無監督學習途徑;
2. 對於影像來說,問題不在於要不要做自迴歸,而是以何種方式才能更好地做自迴歸;
3. 將影像以連續型特徵的方式輸入時,它的自迴歸學習有兩大難題:分 Patch 排序和損失函式;
4. 損失函式不能簡單用平方誤差,而是可以考慮後面接一個小型的擴散模型來預測下一個 Patch;
5. “分 Patch 排序”是影像自迴歸學習的根本難題,它的選擇關係到自迴歸學習能否真正促進理解;
6. 完美的影像/視覺生成,不可避免要跟物理規律建立聯絡,從而構成“世界模型”;
7. 但世界模型難以實現,所以選擇跟人類價值觀相符的“分 Patch 排序”方式尤為重要;
8. 最後,看上去只能“妥協”地透過有監督學習來獲得一個對齊人類價值觀的“分 Patch 排序”模型。
這裡邊可能有不少“暴論”和“謬論”,請讀者自行甄別和海涵。將這些思考寫下來的主要目的,是為了未來的某一天再回過頭來看看,自己當初的想法有幾分可行,又有幾分可笑。
參考文獻
[1] https://kexue.fm/archives/3331
[2] https://papers.cool/arxiv/2406.07550
[3] https://papers.cool/arxiv/1601.06759
[4] https://papers.cool/arxiv/1606.05328
[5] https://kexue.fm/archives/7574
[6] https://kexue.fm/archives/7725
[7] https://papers.cool/arxiv/2312.13286
[8] https://papers.cool/arxiv/2406.11838
[9] https://papers.cool/arxiv/2403.05196
[10] https://papers.cool/arxiv/2404.02905
[11] https://en.wikipedia.org/wiki/Maxwell%27s_equations
[12] https://papers.cool/arxiv/2301.12597
更多閱讀
#投 稿 通 道#
 讓你的文字被更多人看到 
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。 
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析科研心得競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝 稿件基本要求:
• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標註 
• 稿件建議以 markdown 格式撰寫,文中配圖以附件形式傳送,要求圖片清晰,無版權問題
• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬 投稿通道:
• 投稿郵箱:[email protected] 
• 來稿請備註即時聯絡方式(微信),以便我們在稿件選用的第一時間聯絡作者
• 您也可以直接新增小編微信(pwbot02)快速投稿,備註:姓名-投稿
△長按新增PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜尋「PaperWeekly」
點選「關注」訂閱我們的專欄吧
·
·
·

相關文章