原文地址:https://feilianyun.yuque.com/bu08xt/dhf6ea/xo2ohusto8db1xga?singleDoc# 《飛鏈云版圖安全食用指南》
非常感謝Jacky為飛鏈云版圖編寫的第一篇用戶新手教程——飛鏈云官方
前言
在接觸【飛鏈云版圖】(以下簡稱飛鏈云AI)之前,筆者曾使用過 sd(stable diffusion)各版本、 wAIfu diffusion、novel AI等各主流AI繪畫工具來跑圖。但苦于無論是sd還是novel AI都難以輕易達到要求,只能通過反復調試各項參數去追求心目中最好的質量,直到飛鏈云AI的推出。簡約的ui交互,優(yōu)秀的模型資源,預設穩(wěn)定的模型參數,強勁的算力,讓筆者能夠精準出圖,高效出貨,輔助筆者真正意義上實現“心想圖成”。
這是一篇指南,旨在為剛剛接觸飛鏈云AI的萌新快速上手AI作畫。
筆者將簡單分析飛鏈云AI基礎邏輯和應用,如有錯誤或疏漏之處,也請多多包涵。
本文基于筆者對無數高階魔法測試的經驗與tag進行挖掘所得成果總結而成,且包含許多個人理解和主觀觀點。非常歡迎各位前往交流群討論。
*由于本指南內容較多且篇幅較長,請妥善利用導航及文檔內搜索功能尋找需要的資料。
*以下所有實例均由飛鏈云AI出圖
麻瓜:什么是魔法?
什么是魔法?
在深度學習中,我們使用一段 prompt 來引導 AI 使用“噪點圖”疊放然后超量召喚出我們最后的圖像。
飛鏈云AI 是一個基于 stable diffusion 的模型,在飛鏈云AI算法工程師下,進行了一些自有訓練,但是它的工作原理與 stable diffusion 并無兩樣,依賴prompt(提示詞)來幫助AI篩選、融合圖片。
prompt通常由各種tag來構成,tag通常由英文構成,主要內容為以逗號隔開的單詞/詞組/短句。tag也可以包括其它語言的文字,甚至可以識別表情符號。
AI會通過尋找符合關鍵詞描述的方向而有明確指向地去噪點(diffuse)。同樣如果包含 negative prompt (負面提示詞),AI就會盡可能避免含有負面相關要素的部分。換句話說,prompt + negative prompt就像是魔法世界的神奇咒語,它直接決定了最終我們會得到什么。
AI對于tag的辨識也是有順序規(guī)律的,通常以從前到后為順序,以逗號為分割。對于基本操作,可以以大括號、小括號、中括號調整權重。在飛鏈云AI中,小括號()增加為 1.1 倍權重,中括號[ ]減弱為 0.91 倍權重(相當于除以 1.1),多次套括號((()))效果相乘。但大括號{}在飛鏈云AI中默認并沒有用,通常{}會增加為 1.05 倍權重。
因此,一針見血的tag(關鍵詞/標簽)才是我們所需要的,也是你施法成功的關鍵!
麻瓜首選魔法裝備:飛鏈云AI
AI繪畫中,要讓魔法一次成功可不容易,充分的施法準備,能讓你事半功倍。
我們先來看看飛鏈云AI它幫我們做了哪些施法準備:
1、采樣方法優(yōu)選(sampling method optimization)
采樣方法組成了圖片生成的第一大要素,它決定同樣的 prompt 下 AI 會選擇以何種方法去噪點化以得到最終圖片。同時,它還會決定運算速度。
而對萌新而言,EULER A、EULER、LDM、LMS、PLMS、DPM2 A / DDIM、DPM++等等一大堆的采樣方法,根本無從理解和選擇!
而在飛鏈云AI這里一切都不是問題,因為策劃組已經很貼心的進行優(yōu)化并為特定模型匹配了最適合的采樣方法。讓萌新可以輕松上手,一鍵施法!
2、采樣次數/迭代數量優(yōu)化(sampling steps optimization)
對于懂得渲染知識的同學,采樣次數肯定不陌生,這一個復雜的參數,會影響各畫幅下圖像的直接質量,舉個例子:例如 DPM A 和 EULER A 都是所謂的非線性迭代方法,它們的結果并不會因為迭代增加而無休止地變得更加優(yōu)秀,在大于一定的迭代值之后反而質量會快速下滑。而 DDIM / EULER 等線性迭代方法則恰恰相反,質量往往依托于迭代的次數。但也存在邊際效應的問題,當迭代大于一定程度時,再增加迭代次數也不會讓畫面產生顯著變化。
如果你覺得完全沒聽懂,那就對了,因為在飛鏈云AI這里,策劃組已經將采樣次數與畫幅與模型與采樣方法進行了優(yōu)化綁定,讓你無需學習渲染知識和了解算法,從而輕松獲取高質量的圖片。
3、模型優(yōu)選(model optimization)
AI繪畫中的模型訓練是一個費時、費力、費顯卡、費硬盤的過程,行業(yè)術語叫煉丹,飛鏈云AI集成了大量訓練度高優(yōu)質穩(wěn)定的模型,同時保持較高的模型更新頻率,極大程度的降低了大家選擇、訓練模型的時間成本。
魔法師學徒:第一次施法
下面進行我們第一次施法嘗試,我們將:
masterpiece, 1 girl, cute face, white hair, red eyes
填入畫作想法(prompt)中,英文好的同學會發(fā)現,原來是召喚一個白發(fā)紅眼妹紙(筆者的xp好奇怪?。?,然后將:
low res, bad anatomy, bad hands, text, error, missing fingers,
extra digit, fewer digits, cropped, worst quality, low quality,
normal quality, jpeg artifacts, signature, watermark, username,
blurry, bad feet
填入排除(negative prompt)中,這個我們稱為通用反咒,主要為了盡量防止出現壞手壞腳,奇怪文字,模糊不清等種種負面狀況。注意這里是盡量防止,并不能完全阻止。
然后選擇你一個你喜歡的模型,如二次元模型,畫布大小1:1,精細度超高,想法匹配度高,開啟畫面修復+放大,進行召喚吧~
如果充分理解了前文內容,并且吟唱地不那么夸張,那么恭喜你,你的第一次施法無驚無險地獲得了成功?,F在你已經脫離麻瓜范疇,擁有成為魔法學徒的潛質了,向著魔法世界的大門前進吧!

魔法咒語的進階吟唱
下面我們講講咒語正確吟唱的關鍵:“權重”,之前有提到關于 ( )、[ ] 的使用。以防剛把魔杖捂熱的新魔法師看到這里已經忘了它們是什么意思,我們重新回憶下:
AI對于tag的辨識也是有順序規(guī)律的,通常以從前到后為順序,以逗號為分割。對于基本操作,可以以小括號、中括號調整權重。在飛鏈云AI中,小括號()增加為 1.1 倍權重,中括號[ ] 減弱為 0.91 倍權重(相當于除以 1.1),多次套括號如 (( )) , ((( ))) 效果多倍相乘。
這里要重點說明的是,如果因為某些需求而要大量提高某tag的權重,可以對該tag進行多次括號,比如((((red hair)))),這意味著將red hair的權重 * 1.1四次,也就是 1.4641。但這個寫法嚇人了,數括號也很浪費時間,所以可以直接為這個tag賦予權重:
(tag:權重乘數) 如 (red hair:1.5)
外層一定是小括號而非其它括號,比如 (red hair:1.5) 將直接給 red hair 賦予*1.5權重,清晰簡潔,便于自己回顧和他人理解,強烈推薦。
請不要做出諸如 ((red hair:1.5)) 的奇怪寫法。雖然權重能夠正確疊乘,但在多重權重同時計算的情況下則會導致此權重無效!?。?/em>
而除了整詞權重之外,也可以進行部分權重,比如如下例子:
1 girl, white long (messy:1.2) hair, red eyes將專門對 messy 部分賦予 *1.2 權重,其它部分不受影響。
(messy是凌亂的意思,以后自己翻譯哦)

高權重的元素會在畫面中有著“更大的占比”或“更強烈的存在感”或“更多的數量”,是能可觀地影響構圖的原因之一。筆者非常不建議給出十分離譜的權重值,三個小括號也只有 1.3 左右,而一般來說 1.6 就已經很極端地占據畫面了,再高至例如 2.0 只會在大多數情況下讓咒語變成召喚古神!
劃重點:通常情況下,核心tag權重不要超過1.5
高級咒語解析
上述的小括號、中括號與帶權重小括號都屬于低階語法,而接下來要介紹的是更長更復雜一些的高階語法。
高階語法都以中括號 [ ] 作為外層包括,包括分步描繪,融合描繪兩種,使用高階語法時這一對中括號不會讓權重降低。
高階語法內可以嵌套低階語法,低階語法內也可以嵌套高階語法,在理解高階語法的時候,大家需要有一個渲染步數的概念。簡單點解釋,大家可以把渲染步數想象成一個進程。
首先介紹分步描繪的各種形式:
[from:to:step]
[from::step] (to 為空)
[:to:step] (from 為空)
它的作用是讓tag在達到step之前被視為from,在達到后視為to。若是在對應位置留空則視為無對應元素。step為大于1的整數時表示步數,為小于1的正小數時表示總步數的百分比。(目前版本的飛鏈云AI不開放step配置,使用高級咒語時請設定為正小數)
這樣講,有些復雜,舉個實例來便于理解:
比如a girl with [green hair:red hair flower:0.2]

如此描述,會在前 20% 步數被視為a girl with green hair,在后 80% 步數被視為a girl with red hair flower。需要注意這兩個描述之間的兼容性和覆蓋,在步數合適的情況下,最后形成的人物會擁有綠色頭發(fā)和紅色花飾,但也可能因為顏色溢出導致頭發(fā)也變?yōu)榧t色,畢竟后80%沒有綠色頭發(fā)的限定,AI完全可以自己理解一個隨機的發(fā)色。
還是不能理解的魔法學徒們,你們需要大量的練習!
對于能夠理解以上咒語的小魔法師們,再衍生得復雜一些,形如 [from:[to:end:step2]:step1] 的語句是可以被正確識別的。且分步描繪支持逗號分割,形如 [1 girl, red hair: 2girls,white hair:0.3] 的語句也可以被正確識別。
[from:[to:end:step2]:step1]的作用是讓tag在達到step1之前被視為from_在達到step1后step2前視為to_在達到step2后視為end_
分步描繪不特別擅長細化細節(jié),與其分步描繪不如將細化部分直接寫入持續(xù)生效的部分。分步描繪更擅長在畫面初期建立引導,大幅影響后續(xù)構圖或畫面生成!
然后介紹融合描繪的兩種形式:
[a|b]
[a:w1|b:w2]
它們還有分別對應的可無限延長版
[a|b|c|…]
[a:w1|b:w2|c:w3|…]
對于形如 [a|b] 的第一種,AI將在第一步畫a、第二步畫b、第三步畫a、第四步畫b…如此交替進行。而對于無限延長版,則變?yōu)榈谝徊疆?a、第二步畫 b、第三步畫 c…循環(huán)往復交替進行。
對于形如[a:w1|b:w2]的第二種帶權重版本,它的實際效果便是先畫 w1步a然后再畫 w2步 b…,相較而言有著支持自定義比例的獨特優(yōu)勢。
融合描繪不可嵌套,但同樣支持逗號分割。融合描繪擅長將兩種事物混合為一起,
比如 a [dog|frog] in black background
讓一只狗和青蛙融合成一個新的形象出現在黑色背景中
(又是筆者的惡趣味,呵呵)

這兩個高階語法有著明顯的區(qū)別,尤其是在高步數下更不可以一概而論。分步描繪的n步a再加上n步b最后可能形成一個帶有b基底特征的a,但它會表現出明顯的分立感。而融合描繪的n步a再加上n步b最后將形成簡直像是化在一起的融合體。
吟唱方式:短元素,中元素與長元素
講完基礎語法,我們來講講魔法咒語的吟唱方式,大致有著兩種不同形式——最常見的直接吟唱、敘事描述般的長吟唱。
假設要生成一個有著黃色頭發(fā)、藍色眼眸、白色上衣、紅色裙子、黑色褲襪的全身坐姿二次元美少女,且強調服飾顏色,那么這兩種吟唱分別看上去大概是這樣的:
直接吟唱(pitch式吟唱):
masterpiece, best quality, 1 girl, (blue eyes), (yellow hair), (white clothes), (yellow skirt), (black leggings), sitting, full body
長吟唱(自然語言吟唱):
masterpiece, best quality, (1 girl with blue eyes and yellow hairwearing white clothes and yellow skirt with black leggings), sitting, full body

首先,不同吟唱方法不會顯著改變咒語的解析方式,但是要注意的是:
調換各tag順序都會顯著讓圖片改變,再復習下:AI對于tag的辨識也是有順序規(guī)律的,通常以從前到后為順序
因此可以證明不同吟唱方法在大方向上是一致的。
實際施法中,魔法師們最常用的直接吟唱通常難以很好地綁定元素顏色。而長吟唱則不會出現明顯元素顏色錯誤,會很好地處理各個顏色與元素的綁定關系
長吟唱能加強主體與元素之間的綁定關系、提高不同元素之間的區(qū)分度,在有明確綁定需求的情況下優(yōu)于pitch 式吟唱;
直接吟唱則更擅長處理關系要求不強的情景,往往能營造更多樣化的場面;_
長吟唱的關鍵在于(幾乎必須)用一個小括號包括整個句子,以略微提升權重(權重略大于1.0的情況下表現最佳,但太大就有點過頭了),否則無法和直接吟唱拉開差距。
這即為“元素污染”這一概念的根本原因和初級應對方法。
吟唱失?。何业哪д让盁熈?/h1>
有的時候,你會發(fā)現召喚畫面嚴重崩壞,AI自動填充一些奇怪的元素來破壞畫面,明明指定了一個角色,卻出現殘肢斷臂和其他的角色。
通常都是以下原因造成的:
- 當一段咒語太過精簡、畫布太大。(會出現很多你未指定的元素)
- 當一段咒語太過繁雜、畫布太小。(圖像崩潰)
- 當一段咒語的結構出現明顯問題。(各種奇奇怪怪)
這些情況都將有可能導致AI無法完全理解咒語!
AI無法完全理解咒語的最大原因是自由度過高而縮減畫布調整畫幅可以降低自由度。_
目前版本的飛鏈云AI還不支持自定義畫布大小,當然要解決這個問題也不難。既然它自由度過高,那么加長咒語讓它有更多可畫之物,限制它的自由度即可。
同時值得一提的是,飛鏈云AI某些模型比如doll模型具有畫面修復+放大功能,也就是常用的:high res. fix 也能解決此類問題,但它是利用先在小分辨率渲染再放大到目標分辨率的方法。最合理的做法還是直接從根源下手。
這即為“元素溢出”這一概念的根本原因和初級應對方法。
最后是一些碎碎念...
不必為每個tag都加上過多小括號來提高權重,如果你發(fā)現你真的需要給絕大多數元素都加上四五個小括號才能讓你想要的東西確保出現,那么更建議普遍刪掉一些括號,在極端情況下,給單個tag加上過多權重,可能會導致自由度過小而崩壞。
另外強調的是:
除非明確清楚重復tag意味著什么、且有強烈的對應需求,否則不建議重復輸入tag。重復輸入tag的語義相當復雜,不在入門范疇內。
魔法的極致或許是科學
在講魔法公式入門前,大家需要知曉,了解各類tag的存在并不意味著就掌握了一切,摘抄別人的tag囫圇吞棗地使用也不是上乘。如果想要讓AI創(chuàng)作出更佳的作品,那么還需要深入了解各個tag到底有著何等作用,以備日后使用。各個tag之間的互相影響如同魔法反應一樣,大多數情況下并不僅僅是字面意義上的互相疊加那樣簡單!
舉個例子,比如an extremely delicate and beautiful girl其實就會導致不少風格化表達被覆蓋;而light用作顏色在很多情況下不是指淡而是發(fā)光,甚至在某些稀有的組合里還專指黃光;讓一個角色手上握著武器可能不僅僅要holding weapon還需要加上weapon本身,諸如此類。
因此,各類科學分析方法甚至是研究方法都是有必要的。大家不必保持如此神秘的敬畏,一同參與到對于各種魔法的定性/定量分析中來,那么你終將擺脫知其然不知其所以然的桎梏,不再滿足于妙手偶得,終將各類魔法隨心所欲,得心應手,真正成為一名偉大的魔導師。
請始終記得——魔法的本質是科學,魔法的極致或許也是科學!
魔法公式入門
首先,tag并不可以隨意堆積,不是越多越好。模型讀取tag有著明確的先后順序,這體現為理解順序的不同。比如又一個著名的“少女與壺”試驗所展示的:

masterpiece, 1 girl, red eyes, white hair, blue pot

masterpiece, blue pot, 1 girl, red eyes, white hair

masterpiece, blue pot, ((1 girl)), red eyes, white hair
可以發(fā)現,當其它參數完全相同的情況下,僅僅是顛倒了1 girl與blue pot的順序,構圖就產生了極大的變化。
1girl在前的情況下,畫面圍繞著人物展開,blue pot 體現為環(huán)繞著人物的場景物件。而 blue pot 在前的情況下,畫面圍繞著盆展開,人物反而退出了畫面中心,甚至哪怕加大 1 girl 權重也無法讓人物比盆在畫面中更重要。
這其中的原理不適合在入門魔導書中詳細解釋,但可以提供啟發(fā),tag的順序將影響畫面的組織方式,越靠前的tag對構圖的影響越“重”,而越靠后的則往往會成為靠前tag的點綴或附加物。順序對于構圖的影響在大多數情況下甚至大于權重的影響。
雖然這個試驗本身只涉及了一個場景,但在更多后續(xù)探究與復雜場景構筑中都證明了它具備的有效性。不過它也非絕對保障,在少數情況或極其復雜的場景中,疊加式構圖有可能因為其它尚未在此介紹的原因而失效,但總得來說它能增強穩(wěn)定性。
這就是用于替代“順序權重論”的“順序疊加論”。而進一步可以延伸出構筑合理咒語的靈感。
將最著重體現的元素靠前擺放,然后是它的細節(jié),再將抽象、全局化、影響極度強烈的 tag寫在靠后處,例如場景和畫風濾鏡。
所以我們開始構筑一套簡單的人像召喚魔法順序公式。將上述經驗總結為:
前綴+需要重點突出的物件/背景+人+人物特征/元素+人物動態(tài)+服飾整體+服飾細節(jié)元素+大背景+背景元素+光照效果+畫風濾鏡+微小輔助元素+后綴
這是對“標準三段術式”結合而得出的“標準順序公式”,包括了 “標準三段術”,是它的進一步發(fā)展。不難發(fā)現這種公式的構成符合上述理論,每一個相對靠后的部分都是對相對靠前的部分的補充,模塊化明確,有著極強的可維護性,且最重要的特性是易于理解與交流。
什么是標準三段術式
簡單來說,標準三段術式從構圖角度來理解就是:前綴+主體+背景:
前綴:(基本前綴+畫風詞+整體效果器)
用于確定圖片的總體生成質量?;厩熬Y為強調圖片質量的詞匯:masterpiece, best quality, best 8k wallpaper等;
畫風詞用于凸顯圖片的畫風:(插畫)illustration,(水彩)watercolor medium,(厚涂)impasto等;_
_效果器為光線效果,用于圖像整體光效的:best lighting,(炫光)lens flare,(景深)depth of field等;
這里給出一個標準前綴(偏絢麗):(masterpiece, extremely detailed 8k wallpaper,best quality), (best illumination, best shadow, extremely delicate and beautiful), dynamic angle, floating, finely detail, Depth of field (bloom), (shine), glinting stars, classic, (illustration), (painting), (sketch),
主體(畫面中的主體部分):
主體為圖畫想要凸顯的主體,可以是人物,建筑,景物等,主體部分要進行豐富的描述才能獲得細節(jié)豐富的圖像。_
主體部分要進行詳細的描述才能獲得重視,通常我們對主體詞要加權重,以提高主體的清晰程度。_
對于角色來說,通常包括了面部,頭發(fā),身體,衣著,姿態(tài)等描寫。
沒有角色時,可以將場景中的重要點即高聳如云的城堡,綻放的花朵,破碎的鐘表等,想要位于畫面中心的物體進行描述。
場景(背景,環(huán)境):
場景是主體存在的周圍場景,沒有場景描述時容易生成純色背景或者是效果tag相關的背景,且主體會顯得很大。部分主體會自帶場景內容,例如建筑,景物。_
單獨的環(huán)境詞匯會形成環(huán)繞與主體周邊充斥整個畫面的場景。
如(繁花草甸)flowering meadow,(羽毛)feather,(陽光)sunlight,(河流)river,(碎玻璃)broken glass等。_
環(huán)境詞匯進行堆疊就能豐富整個場景,主要不要讓主體內容太少。
背景詞匯即環(huán)境詞添加background做背景,例如:clock background,這樣的描述可以穩(wěn)定讓背景詞出現與主體的背后
我們來做個施法練習:
想象一個畫面:一個漂亮國風的貧乳女孩(咳咳),裸露著肩膀,在一個宮殿式的廣場上,周圍燃燒著火焰,一些火焰變化成火蝴蝶圍繞著她。廣場上有一座古樸的大鐘,在敲響的那一刻,女孩將幻化成蝶。
//前綴:
(masterpiece, extremely detailed 8k wallpaper,best quality), (best illumination, best shadow, extremely delicate and beautiful), dynamic angle, floating, finely detail, Depth of field (bloom), (shine), glinting stars, classic, (illustration), (painting), (sketch),
//主體:
(a girl), solo, bare shoulders, flat_chest, diamond and glaring eyes, beautiful detailed cold face, very long blue and sliver hair, (floating feathers), wavy hair, extremely delicate and beautiful girls, beautiful detailed eyes, glowing eyes,
//背景:
palace, the best building, ((Fire butterflies, Flying sparks, Flames)), clock background
//反咒:
((((ugly)))),lowres, bad anatomy,
bad hands, text, error, missing fingers, extra digit, fewer digits, cropped, worst quality, low quality, normal quality, jpeg artifacts, signature, watermark, username, blurry, Missing limbs, three arms, bad feet, text font ui, signature, blurry, malformed hands, long neck, mutated hands and fingers :1.5).(long body :1.3),(mutation ,poorly drawn :1.2), disfigured, malformed, mutated, multiple breasts, futa, yaoi, three legs, huge breasts
國風模型,通用風
精細度高,想法匹配度高,面部優(yōu)化開啟
這段三段術式的編寫,給了AI充分的自由度,除了一些細節(jié)方面做了描述和權重強化,整段術式并未對人物動態(tài),人物細節(jié)進行非常細致的描繪。
基礎三段式的編寫方法,也是比較適合這類:有個大概想法卻沒有確切畫面感的構思。

而前文提到的“標準順序公式”則是對“標準三段公式”的進階術式,
熟悉或熟練這種公式能令一個剛接觸 AI的新手更順暢地表達自己想要表達的畫面,要是悟性夠好生活經驗夠豐富則還可以觸及高表現力。比如它可以生成:
一個二次元美少女+收束的長發(fā)/飄散的長發(fā)/占滿屏幕的長發(fā)+復雜的哥特服飾/長裙/旗袍/等一系列可以上花紋或褶皺的衣服+一個帥氣或優(yōu)雅的動作/看淡生死面無表情+復雜的建筑物或自然風景或宇宙空間或陰暗背景+強大或溫柔的+畫風濾鏡
等等諸如此類作品。在有經驗驗證的理論基礎上進行自由創(chuàng)作,往往能取得令人感到滿意的結果。
不過標準順序公式也有許多缺陷,它對于某些獨特的情況可能不適用,即使作為特解也一定會在將來被更先進的經驗所替代。
實際運用過程中應當根據要求進行靈活調整,比如根據實際使用情況簡化/刪去某些環(huán)節(jié),或根據實際要求進一步增加某些環(huán)節(jié),甚至為了某些特殊效果而部分違反公式順序。但它的“疊加式”思路,與其背后所蘊含的分析思想才是精髓。
筆者堅信魔法的終極形態(tài)是基于順序和關系的模塊化發(fā)展、本質是對于經驗進行總結所得出的具體規(guī)律,是可以使用科學方式進行一定程度上的研究的。
魔法公式進階
掌握上文的標準順序公式,其實也只是開始中的開始。
大致順序固然很重要,但它太過大致了。不難發(fā)現實際應用并不是那么簡單的“后者疊加在前者之上”關系,更像是每一個元素都以某種規(guī)律疊加在它之前甚至附近稍后一些的元素上,與理想中的一一對應式相差甚遠。
既然現實與理想不符合,那么是時候想想為什么會這樣了。
雖然現在的各類二次元模型普遍更適合采用直接吟唱的方式,但不難發(fā)現輸入的咒語依然一定程度上具備自然語言的特征——以逗號隔開,詞與詞之間有著形如自然語言間隔一樣的距離,而且在一定程度上的順序加持下表現更好。
那么有沒有一種可能,一段咒語之內每個吟唱詞之間的“距離”會影響它們的相關性,正如自然語言處理所做的那樣?
我來試一下:
假設現在我們需要生成一個站在花田里的二次元少女,但是不想這個少女身上出現花飾。但是因為是花田,同時我們需要在畫面中生成特別特別多的花,那么就應該給 flower 一個比較高的權重,比如 1.35:(簡單的編寫一段咒語如下)
masterpiece, 1 girl, blue eyes, white hair, (flower:1. 35), in field, blue sky, sun, cloud

從結果看出,情況不符合沒有人物沒有花飾的預期。事實上不僅僅是這一張圖,上述咒語生成的大多數圖片都會讓人物帶上花飾。
這不難理解,flower 的權重過大,導致它在畫面中傾向于占有更大的比率、更強的表現,迫使元素與元素被錯誤地綁定了一一是與上文提及的元素不綁定相反的情況。
降低 flower 的權重可以一定程度上解決問題,但在實際應用中,很可能出現某個物件必須要有較高權重才能達成預期效果的情況(比如現在是花田,總不能沒有花吧),或者權重已經非常低了依然出現這種尷尬情況。既然不可以降低權重,那還能怎么辦呢?
根據自然語言處理機制來推測,可能是因為 flower 與 hair 的距離太近了,它們被處理為關聯性較強的部分,最終在疊加式構圖模式下把它們生成到了一起。所以移動 flower 的位置也許能解決問題:
masterpiece, 1 girl, blue eyes, white hair, in field, blue sky, sun,cloud, (flower:1.35)

對于更多生成的圖片進行統(tǒng)計,修改過的咒語將花生成在頭發(fā)上的概率大大降低了。
實驗部分成功。這說明在考慮到了順序的大關系之后,詞與詞之間的距離這一更細節(jié)的構成也是十分重要的。
距離較近的詞的確更容易產生關聯、進行疊加,而更遠的則傾向于降低互相的關聯性、進而互相隔離。_
占位詞:ai is sb
看到這里,個別聰明的魔法師同學就會問,那我能否認為的拉遠兩個tag之間的距離來將次互相的關聯性呢?
如果繼續(xù)維持權重不可改變的限制,也不應用其它技巧,那么最簡單的思考方向是讓 flower 和一切形容人物的咒語部分都拉開更遠的距離,加上一些用于描繪其它畫面元素的詞就能做到。但如果情況要求不應該為畫面引入新元素,就不能這么做。
注意到此時加入詞的目的僅僅是為了拉開兩個tag的距離。那我們首先定義一下什么是“距離”——
它嚴格的叫法其實是這段咒語“生成的“向量/token數”,簡稱 “物量”就行了。
物量可以用來衡量咒語的長度,而兩個tag之間的間隔物量數就是它們的距離。
新加入的詞本身應該是盡可能無意義的,并且在此基礎上多占用一些物量來產生距離騙過自然語言處理部分,我們將這樣的詞稱之為占位詞。
國內社區(qū)最流行的占位詞是 ai is sb,精簡的短卻能占四個物量,所以這個短句在大多數情況下都沒有意義(在少數某些情況是有的,因為“ai”可能被拆出來),很適合用作純粹的占位。
看下效果:
masterpiece,1 girl, blue eyes, white hair, ai is sb, in field, blue sky, sun, cloud, ai is sb, ai is sb, ai is sb, (flower:1.35)


距離被拉遠后,tag間關聯度的下降引導AI將花飾變成了花狀的服飾,可謂是精妙無比!
當然,tag與tag之間也不能毫無節(jié)制地加入占位詞來降低關系。根據測試,tag之間的關聯度似乎和距離有著一定程度上的反比例關系或保底關聯度,因此加入過多占位詞不會有額外的好處,適量添加即可。
而這也表明了不是所有tag都是“有效tag”,被誤認為有些實際上占位成分較大的tag其實隨處可見。在從各類渠道選取tag的時候,應當注意分辨哪些tag是真正有效的而哪些只是前人互相復制粘貼時不加思考就帶上的tag。
魔法是有思想的
既然提到了tag的關聯度,再來引申一個概念:tag的聯想性
如果有魔法師同學仔細研究過模型的tag 標識,那么不難發(fā)現一些有趣的現象——許多 tag 有著邏輯上合理的“前置”關系,比如存在 sword 這個tag的作品往往還存在 weapon 這個 tag、存在sleeves past finger 這個 tag 的作品往往還存在 sleeve past wrists 這個 tag,這些共存且有強關聯的 tag,最終會讓模型處理包含它的咒語時產生一層聯想關系。
不過上述聯想關系似乎不夠令人感興趣,畢竟這些聯想的雙方都是同一類型,哪怕sword 聯想了weapon也只是無傷大雅。那么是否存在不同類型的聯想呢?
答案是存在的:
masterpiece,1 girl, blue eyes, white hair, white dress, dynamic, full body,simple background

masterpiece,1 girl, blue eyes, white hair, white dress, (flat chest), dynamic, full body, simple background

不難發(fā)現 flat chest 除了影響人物的胸部大小之外還影響了人物的頭身比,讓人物的身高看上去如同兒童身高一般,如果調整畫布為長畫布還會更明顯。因此稱flat chest 與 child 有著聯想關系。人物胸部大小和身高是不同的兩個類型,兩個看似類型完全不同的詞也可以產生聯想關系。對 flat chest 加大權重,會讓這種聯想關系會表現地更為突出。
它的原理和上述同類型的聯想一樣,都是訓練來源導致的。平胸美少女和兒童身高在同一個作品內出現的概率非常大,所以 AI 逐漸對這兩個詞產生了聯想關系,還是強聯想關系。這種聯想關系在社區(qū)中曾被稱為“零級污染”。
在出現聯想關系的情況下,詞與被聯想的詞的距離是最小的
聯想詞之間極易互相強化,進而提高畫面的穩(wěn)定性。例如給人物穩(wěn)定添加一把劍的最好做法不是僅加上 sword,而是加上 weapon,sword。同理,其他存在強聯想且希望出現的元素也推薦同時在咒語內連續(xù)出現。
為了在畫面內取消兩個詞之間的聯想,最簡單但不一定有效的做法是將被聯想詞寫入負面咒語并加上較高權重。如果沒有效果,那么不妨試一試在咒語內加上被聯想詞的對立面,比如用 aged up 對抗 flat chest 對于 child 的強聯想。
不難發(fā)現,上文提及的tag與tag之間的關聯其實也是聯想的一種特殊情況。在上文的實驗中,flower 被聯想到了 hair flower,而當它們靠得夠近時,哪怕它們中間存在逗號也滿足了聯想詞之間的互相強化條件,進而讓人物的頭上出現花。
高級咒語進階
既然上文補充了“標準順序公式”遺漏的細節(jié),那現在能不能讓它再給力一點?
當然能!
我們再仔細想想上文的“標準順序公式”是怎樣的思路——濃縮到極致,就是引導質量、突出物、人、細節(jié)、背景、修飾。不錯,但當初為什么要把人和突出物分開?為什么修飾一定要在后方? 背景又是怎樣界定的?
無數個疑問都指向了由詞性分析與聯想關系理論所引發(fā)的新思考方式。
既然用于描述一個元素的詞與用于描述另一個元素的詞之間的距離會影響疊加的程度,那么不如直接將一切元素與其對應描述詞的組合都抽象為一個“物”。人是一個物,人身上的一些小掛飾也是一個物(無論這個掛飾的數量是多少),背景里的建筑也是一個物,諸如此類。物!
每個物都有能力成為主要描繪對象。如果是人,那么可以是人的立繪或特寫,如果是掛飾,可以是它的展覽模樣,甚至背景大建筑也可以成為全景的視覺中心。
而當畫面中存在多個物時,將不可避免地分出主要的物和次要的物,次要的物還可以有相對它而言更次要的物。這和此前的“基礎順序公式”不同,因為“基礎順序公式”默認一切事物都可以互相疊加——但事實證明不是那樣。
不難注意到有些“物”像是無視了疊加式構圖原則那樣,除非權重高到讓它占滿屏幕,否則往往只能作為配角存在、難以被其它“物”作為疊的目標。這些“物”天生有著被視作次要的特征,和許多能做主能做次的物并不相同。
那么什么因素決定哪些物更傾向于被視為次要呢?終極答案是生活經驗!
當1 girl 和earring 簡單結合時,無論兩者誰先誰后,最后都會變成“一個二次元美少女帶著耳環(huán)”的樣子,不會在簡短描述下就輕易地出現諸如“美少女向前抬手捧著耳環(huán)、耳環(huán)在鏡頭前是一個特寫、美少女的身體被景深虛化”的情況。
因為在我們的生活常識中,大多數這兩個“物”結合的情況都是前者,后者在作品描繪里出現的情況極少,因而這兩者即使是順序調換也只是讓美少女是否擺出展示耳環(huán)的姿勢,無法輕易地切換主次。
masterpiece, 1 girl, earring

masterpiece, earring, 1 girl

但當1 girl和 lake結合就不一樣了。lake雖然往往被當做背景,但它完全可以成為風景畫的主要描述對象,所以在除去刻意設置了鏡頭的情況下——當1 girl在前,重要的“物”為人物,所以畫面往往會讓人物占據主要部分 (包括人物全身像站在景物前、人物半身像加遠景,甚至人物直接泡水),而當lake在前,重要的“物”為湖,湖在我們的生活經驗中的確可以成為主要對象,因此畫面往往會讓人物顯得更小、更融入風景或距離視角更遠。
masterpiece, 1 girl, lake

masterpiece, lake, 1 girl

無論怎么說,它從原理和實際表現效果都和人有(一點點)相似之處。雖然 AI 繪畫看上去是一步成型,但它一定程度上還是會根據“物”與“物”之間的關系來決定構圖,并結合場景與反常情況無視部分順序
所以我們先總結出某種通用順序公式的雛形
前綴+“物1”+“物1的各種次要物”+“物2”+“物2的各種次要物”+“物3”+“物3各種次要物”+...
其中“物1、2、3...”是邏輯上能輕易成為主要聚焦點、占據大畫面比率的物件,“次要物”則反之。主要物按照希望的構圖主次順序排列,而將次要物順序放在其附著對象之后是為了結構簡潔明確,也是為了避免超出預期的反常強調。
“次要物”往往都具有能以各種存在形式附著于多種主要物件之上的特性,因此單個主要物的多個次要物按順序集群排列,有助于避免相對重要的次要物錯誤綁定的情況。
不難發(fā)現它是對基礎順序公式“”的進一步抽象化,但有一些細節(jié)處理不同。
遠近、光影與其它今人驚訝的東西
先來看個例子:
masterpiece, 1 girl, medium shot, backlight, lake, panorama, night moon

close up、close shot、medium view、panorama 這幾個鏡頭控制十分好用,但它們在不同的位點影響力不同。光照也類似,在不同位點的 backlight 和 Rembrandt lighting 對于人物或全畫面的立體感影響也并不一樣。
在按順序構圖的情況下,根據需求選擇鏡頭與光照對于畫面質感與效果的提升有極大幫助。而更重要的是,通用順序公式的雛形可以進化一次了:
前綴+前置鏡頭效果+前置光照效果+[帶描述的物x+物x的各種次要物+鏡頭效果和光照(如果必要)]*X+全局光照效果+全局鏡頭效果
鏡頭效果和光照效果勿過頻,因為 AI 還不能很好地處理多個物體分別在不同鏡頭下的情況,而光照更是往往會影響圖片的大部分區(qū)域。緊挨著的每個鏡頭與光照的正反順序影響不大,但筆者個人感覺上述順序的質量更佳,實際上可酌情調整。
高級咒語的最后一塊拼圖
掌握里以上的內容,現在來講講高級咒語的最后一塊拼圖:畫風。
masterpiece, watercolour, 1 girl

畫風其實很好理解,這里想要著重說是除了sketch、oil painting、watercolour 此類明確表示畫風的tag之外,還存在著諸如wallpaper、illustration、anime等看似一點都不畫風但又難以簡單被歸類為質量補正的東西。在許多魔法師眼中,wallpaper 等要素應該和 masterpiece 算在一起作為前綴,可實際上它們往往能對畫面產生質變,混合使用還可能產生可怕的化學反應。
更何況還有許多未在此列出的東西,比如highly detailed本就會讓畫面部分地偏向于厚涂甚至油畫,anime會讓畫面線條向粗糙手繪但又不像sketch那樣痕跡明顯。
masterpiece 本質上也有一定因素是通過改變質感表現來提高畫質的,它甚至可能在咒語極短的情況下為畫面加上畫框。再深想下去會讓問題變成“到底怎樣算美”。所以干脆根據使用率來做區(qū)分,將masterpiece/best quality 之外的一切“類質量前綴”算為畫風引導。
所以我們得到了最終高級咒語通用模版:
質量前綴+前置畫風引導+前置鏡頭效果+前置光照效果+[帶描述的主物+主物的各種次要物+鏡頭效果和光照]*X+全局光照效果+全局鏡頭效果+畫風濾鏡
其中,各主物之間優(yōu)先按預期構圖重要度順序排序,各次要物優(yōu)先按含主物的聯想關系順序排序,在無明顯順序差異時顏色相同的主物或次要物應靠近。例外在于存在錯誤元素綁定,需要隔離時,相關元素盡可能互相遠離。所有鏡頭,光照和畫風均為可選項,且為避免反應過于復雜而建議各不超過3種。
這就是標志著真正入門的“萬能魔法公式”?!叭f能魔法公式”結合了“標準順序公式”的全部內容,并體現了對于“物”之間關系的進一步思考,也將鏡頭處理納入公式內。將順序公式與前文提及的長短吟唱等技巧相結合,熟練運用,是一個高階魔法師的必備素養(yǎng)。
是結束也是開始
通用順序公式顯然也不是一切的答案,畢竟它標志的是入門而不是大成——本指南詳細解釋的一切內容都是入門級內容。它更像是對于如何理解 飛鏈云AI 運作方式的思考幫助,而不是能無腦解決所有難題的萬用工具,實際操作依然需要更多經驗總結來靈活變通。
魔法的殿堂恢宏而瑰麗,無盡的回廊里昭示著無限的可能性~
朝更遠處進發(fā)吧。
彩蛋
還記得最開始筆者提到過,tag可以識別一些特殊符號嗎?


先直接說結論。emoji可以直接作為 tag的部分輸入,作為 prompt 自然兼容上文提及的一切低階語法、高階語法,而且單詞效果強到可怕.
筆者發(fā)現emoji符號的確沒有被轉義為英文,而是原原本本地就以字符形式被處理。筆者不知道到底是什么人以什么樣的精神狀態(tài)將 emoji 作為 tag 進行訓練,但總之這件事情就這么發(fā)生了,emoji 它就是可以當作tag用。
那么為什么 emoji 如此強大昵?這里解釋部分理由:
Emoji 是單個字符,可以無視AI對它識別時的一切拆分嘗試,以最短的字符長度代表出一個概念。
它的信息密度的分母是最小的,信息量與其它詞相比卻差不多,所以信息密度高到嚇人,因而導致其準確度高到可怕。
而還因為它信息密度如此之高,它受權重影響也大得難以描述,一對小括號就能體感上產生(tag:1.35)左右的強大效果。
想要修手?請大膽使用手勢表情。想要群像?雙人表情屢試不爽。
想要煙花背景?煙花表情驅散一切問題。
想要難以被描繪的頭骨?頭骨表情不屑一顧。
鉛筆畫風?鉛筆表情瞬間拿捏!
浮世繪?魚旗表情分分鐘搞定。
哪怕是最難凹的海盜船,也只需要一個海盜表情就能展現了!
輪椅表情+動態(tài)模糊(motion blur)的描述,就能即時上演輪椅漂移的戲碼。
想要解決一切問題?看看有沒有emoji可以表達它。
不信?來感受下:
((??)),?,??,(??♀?),?,??,?

結語
非常感謝各位的觀看,這本指南是筆者個人經驗集,并非原創(chuàng),僅希望為新人提供從入門到精通的一條路徑。世界之大無奇不有,五花八門的技巧總會迭代,期待各位魔法師大人不吝分享新的技術,新的技巧,新的經驗。
PS. 之后會分享完整的tag案例集,以供各位魔導師參詳精進,相互印證,早日在使用飛鏈云版圖的過程中封神!
原文地址:https://feilianyun.yuque.com/bu08xt/dhf6ea/xo2ohusto8db1xga?singleDoc# 《飛鏈云版圖安全食用指南》
歡迎關注公眾號:程序編程之旅。
關注公眾號獲取技術QQ群與我的個人微信號拉你進微信群