資料不足,如何進行遷移學習?

2021-09-11 09:20:51 字數 1105 閱讀 9159

摘要:在沒有足夠的訓練資料時,本文詳細介紹了如何使用floydhub、fast.ai和pytorch進行遷移學習。

這並不是乙個特別愚蠢的問題。frame可以幫助zendesk,intercom和slack等規模性公司標記、評價和理解與客戶的對話。也就是說, 「只要有足夠的對話,我們就可以手動評價」和「我們有足夠的資料從頭訓練乙個模型」,這二者之間有很大的差距。僅僅幾十個標籤和幾千條相關對話,這能夠做什麼?

深度神經網路是當前最新人工智慧背後的關鍵技術,比如理解影象、音訊或文字。深度神經網路的核心是它由層(「深度」)組成,每個層都將輸入轉換為更接近網路訓練答案的新的表示。

我們通常會抱怨,不了解神經網路的中間層到底發生了什麼……其實,它們通常被設計為更加清晰、可解釋的角色!比如:很多語言模型利用嵌入層將單個單詞或短語進行分類,將具有相似含義的單詞或短語放在一起。舉個例子來說,這將有助於翻譯ai在需要使用「傑出」(illustrious)這個詞的時候,會根據經驗選擇使用「偉大」(great)。

現在變得更有趣了:乙個「知道」「illustrious = great」的層不僅有利於翻譯,還可以學習情緒估計,將不同的觀點聚集起來。這就是遷移學習,也就是說模型在乙個任務中學習到的東西可以對另外乙個學習任務有幫助。事實上,這個特殊的例子特別受歡迎,以至於改進的通用語言模型已經成為乙個全新的領域!

ulmfit為nlp提供了乙個有力的依據,使模型能夠更有效的利用較小的資料集。在這項研究中,我們專注於回答以下問題:

如果我們對標記示例的預算特別少,那麼,得需要收集多少未標記的資料才能有效的使用遷移學習?

為了解決這個問題,我們使用了大量固定的域資料池,並改變了標記示例的數量,來看看模型應該如何改進。將標記示例的數量保持不變,並改變未標記的其他域示例的數量。也就是說,我們的實驗包括:

1.語言建模(變數)

2.語言任務(不變數)

對於語言建模,我們改變了可用於語言任務的三種語言模型的域資料量:

訓練這些模型的計算量特別大,最大的域訓練可能需要幾天的時間才能完成。為了加快訓練速度和有效的執行網格搜尋,我們使用了floydhub。

經過大約50個小時gpu處理,結果如下:

從實驗結果,我們可得知:

閱讀原文

資料不足,如何進行遷移學習?

這並不是乙個特別愚蠢的問題。frame可以幫助zendesk,intercom和slack等規模性公司標記 評價和理解與客戶的對話。也就是說,只要有足夠的對話,我們就可以手動評價 和 我們有足夠的資料從頭訓練乙個模型 這二者之間有很大的差距。僅僅幾十個標籤和幾千條相關對話,這能夠做什麼?遷移什麼?深...

資料不足,如何進行遷移學習?

現在,人工智慧的發展處於跳躍式階段,我們也對ai在 大型資料集 容易 另外,得益於 pytorch框架 fast.ai應用程式庫 以及floydhub公司 小團隊或者是個別開發人員也能輕鬆的應用這些方法。本文要講的例子就是 ulmfit jeremy howard 和sebastian ruder ...

資料不足,如何進行遷移學習?

現在,人工智慧的發展處於跳躍式階段,我們也對ai在 大型資料集 容易 另外,得益於 pytorch框架 fast.ai應用程式庫 以及floydhub公司 小團隊或者是個別開發人員也能輕鬆的應用這些方法。本文要講的例子就是 ulmfit jeremy howard 和sebastian ruder ...