深度學習微調教戰手冊

本文件可協助您更有效率地訓練深度學習模型。雖然本文強調的是超參數調整,但也會探討深度學習訓練的其他方面,例如訓練管道實作和最佳化。

本文假設您的機器學習工作屬於受監督的學習問題或類似的問題 (例如自助式監督)。不過,這份文件中的部分建議可能也適用於其他類型的機器學習問題。

目標對象

這份文件的目標對象為工程師,也具備基本的機器學習和深度學習相關知識。如果您沒有相關背景,不妨參與機器學習密集課程

為什麼我們要撰寫這份文件?

目前,要取得深厚的類神經網路在實務中順利運作,會耗費大量的手動和猜測結果。更糟的情況是,在實際運用深度學習時,獲得良好結果的實際食譜通常很少被記錄。紙上塗抹最終結果,目的是呈現更簡潔的故事,而負責處理商業問題的機器學習工程師通常沒有時間來復原整個流程。教科書團隊通常會採用實際可行的指引,並優先提供基本原則,即使作者在實際操作方面擁有必要經驗,也能提供實用的建議。

準備建立這份文件時,我們並沒有找到任何試圖實際說明如何以深度學習取得良好結果的全面嘗試。而是在網誌文章和社群媒體中找到建議的摘要。打開了研究論文的深入說明,針對特定專案或管道,不定期發表個案研究,結果令人感到困惑。深度學習專家的專業成果與使用過多類似方法的專業人士較少。然而,這些專家也相信,自己做的某些事情不夠容易。隨著深度學習的成熟,且對世界的影響更大,社群就會需要更多相關資源,包括實用的食譜,包括取得良好成效的所有關鍵細節。

我們是五位研究人員和工程師所組成的團隊,多年來曾針對深度學習領域工作。我們最早在 2006 年初便已成為其中一部分。無論是語音辨識或天文學,都能應用深度學習。本文件增長了我們的經驗訓練類神經網路、教導新的機器學習工程師,以及建議 Google 同事進行深度學習。

我們很幸運看到,透過許多實驗室研究室練習的機器學習技術,以及數十億使用者使用的科技產品,現在都很榮幸能夠進行深度學習。不過,本程式碼研究室仍以工程技術為導向,因此希望這份文件有助於他人將該系統的實驗通訊協定推陳出新。

本文件說明我們在嘗試深度學習時採用的具體做法。因此,代表我們在撰寫時做出的意見,而非任何類型的目標事實。我們憑藉超參數調整功能,難以在本指南中特別強調這一點,但我們也會說明工作中遇到的某些重要問題 (或發現錯誤)。我們的使命是提供一份可持續成長的即時文件,讓本公司的信念與時俱進。舉例來說,由於偵錯結果是依據近期的結果和持續調查所導致,因此我們無法在 2 年前寫入偵錯和緩解訓練失敗的內容。

但部分建議必須一併更新,以反映新的結果和改善的工作流程。我們不知道最佳的深度學習食譜,但是在社群開始編寫並拆分不同的程序之前,我們很難找到。因此,我們鼓勵讀者提出我們的建議,進而產生替代建議和說服力的證據,以便我們更新應對手冊。此外,我們也希望查看不同的建議和教戰手冊,內容可能會有所改變,進而掌握社群中的最佳做法。

關於機器人表情符號

機器人 🤖? 表情符號會指出我們想進一步調查的領域。 只有在嘗試寫出這份應對手冊之後,它才完全能夠清楚瞭解在深度學習者的工作流程中,有多少有趣且容易忽略的研究問題。