文字生成圖像
文字生成圖像是這樣一項任務:合成一張全新的影像,使其符合一段自然語言描述——輸入「一隻水彩風格的狐狸在路燈下讀書」,就得到正好是那樣的一張圖,一張前所未有的圖。它不是檢索(找出一張既有的吻合照片),也不是編輯(修改一張給定的影像);它是從零開始、以語言為條件的生成。困難之處在於對齊兩個非常不同的空間:文字那種離散、可組合的結構,以及合理影像那種連續、高維的空間。
現代系統用兩個協同運作的部件來解決這件事。一個文字編碼器(如 CLIP 的文字塔,或某些系統中像 T5 那樣的大型語言模型)把提示詞映射成一串捕捉其語意的嵌入向量。接著一個條件生成模型——如今幾乎總是擴散模型——在那些嵌入的導引下產生影像,通常透過交叉注意力,並由無分類器引導加以放大。文字編碼器的品質很大程度上決定了組合理解能力(模型懂不懂「藍色球體上方的一個紅色立方體」?),而生成器的品質決定了視覺保真度。整個系統是在從網路抓取的數億組「影像—字幕」配對上訓練的。
如今的能力令人印象深刻:照片寫實的場景、連貫的藝術風格、模型在訓練中從未見過配對的概念之新穎組合。但其失敗模式同樣具特色,值得了解。影像內可辨讀的文字常常糊成一團。計數與精確的空間關係並不可靠(「三隻貓」可能給出兩隻或四隻)。組合綁定會失敗(「一顆紅球與一個藍盒」可能交換顏色)。手部、精細的解剖結構與反射是經典的弱點。輸出會繼承網路訓練資料的偏誤與內容,而關於著作權、同意權與來源出處也存在真實的疑問。同時知曉其威力與這些可靠的裂縫,是用好這些系統的關鍵。
一個實用的心智模型:模型非常擅長「氛圍與風格」,卻不擅長「精確的約束」。如果你的提示詞依賴精確的數量、可辨讀的文字或嚴格的空間佈局,那就要預期得大量迭代、使用結構化條件(ControlNet、區域提示),或事後編輯。對於架構本身無法強制執行的約束,丟更多形容詞進去通常沒有幫助。