Kaggle Stable Diffusion賽題 高分思路

文章轉載自公眾(zhong) 號:Coggle數據科學,版權歸原作者所有!

最近Stable Diffusion - Image to Prompts在火熱進行中,在論壇中Little Boat也分享了現在的金牌思路,非常值得學習(xi) 。

高分思路步驟

https://www.kaggle.com/competitions/stable-diffusion-image-to-prompts/discussion/398529

步驟1:數據清洗

從(cong) Stable Diffusion 2M數據集開始,根據提示語句嵌入相似性進行過濾,刪除嵌入相關(guan) 性大於(yu) 0.95的圖像/提示對,結果少於(yu) 500K張圖像。

此步驟是為(wei) 了刪除根據prompt刪除重複的樣本,這樣也防止模型過擬合,加快模型訓練速度。

步驟2:構建驗證集

還要下載30K和80K圖像數據集。將一些圖像作為(wei) 驗證集(但刪除了其中25K張不高度相關(guan) 的圖像)。

30K數據集鏈接:https://www.kaggle.com/competitions/stable-diffusion-image-to-prompts/discussion/391500

80K數據集鏈接:https://www.kaggle.com/competitions/stable-diffusion-image-to-prompts/discussion/390674

為(wei) 什麽(me) 使用Stable Diffusion 2M之外的數據作為(wei) 驗證集呢?這裏主要是因為(wei) 數據分布的問題,Stable Diffusion 2M的文本很多都比較相似,因此使用其他數據集作為(wei) 驗證集比較合適。

步驟3:訓練CLIP模型

加載預訓練的OpenAI CLIP模型(或選擇其他的模型),解凍幾個(ge) transformer層,訓練一個(ge) 模型。

CLIP(Contrastive Language-Image Pre-Training)是由OpenAI提出的一種預訓練模型,可以學習(xi) 如何理解自然語言和圖像之間的關(guan) 係。

class Net(nn.Module): def __init__(self): super(Net, self).__init__()         clip = AutoModel.from_pretrained("openai/clip-vit-large-patch14")         self.vision = clip.vision_model         self.fc = nn.Linear(1024, 384)

def forward(self, x): out = self.vision(x)['pooler_output'] return self.fc(out)

訓練代碼:https://www.kaggle.com/code/xiaozhouwang/model-training-script/notebook?scriptVersionId=123954941

步驟4:選擇prompt關鍵詞

使用在測試數據上訓練的句子嵌入的模型生成自己的樣本,預測預測和實際數據的餘(yu) 弦相似性,以幫助您決(jue) 定生成哪些圖像來關(guan) 注您的主要模型的弱點。

這一步部分是方案的關(guan) 鍵,識別出CLIP效果比較差的prompt,然後進行特定的訓練。

步驟5:prompt生成器

編寫(xie) 一個(ge) prompt生成器,並使用它來生成prompt候選。

生成代碼:https://www.kaggle.com/code/xiaozhouwang/hard-coded-prompt-generator/

也可以用prompt微調GPT2模型,並將其用作prompt生成器。

步驟6:篩選樣本

將步驟5與(yu) 已有的訓練數據進行計算文本相似度,按照相似度過濾其他樣本。

步驟7:數據集劃分

將生成的圖像分為(wei) 訓練集和測試集,擴展兩(liang) 個(ge) 數據集。再次訓練主模型,必要時解凍更多層。

步驟8:迭代訓練

反複執行步驟4、5、6和7,以獲得更多的樣本並提高模型預測。

思路關鍵點

  1. 這個(ge) 思路可以產(chan) 生無限的訓練樣本,因此計算機的能力是唯一的限製因素。

  2. 通過對比CLIP模型的預測結果,最終可以獲取得到效果比較差的prompt。

  3. 訓練了一個(ge) GPT2用於(yu) 生成prompt的過程,這個(ge) 可以保證prompt的真實性和有效性。

【競賽報名/項目谘詢+微信:mollywei007】

上一篇

高中生與留學升學顧問打交道需要注意什麽?(上)

下一篇

美高在尋找和培養什麽樣的孩子?

你也可能喜歡

  • 暫無相關文章!

評論已經被關(guan) 閉。

插入圖片
返回頂部