迁移学习理解
遷移學習,即將一個領域已經成熟的只是應用到其他的場景中去。
用神經網絡的詞語來表述,就是一層層網絡中每個節點的權重從一個訓練好的網絡遷移到一個全新的網絡里,而不是從頭開始,為每特定的個任務訓練一個神經網絡。這樣做的好處,可以從下面的例子中體現,假設你已經有了一個可以高精確度分辨貓和狗的深度神經網絡,你之后想訓練一個能夠分別不同品種的狗的圖片模型,你需要做的不是從頭訓練那些用來分辨直線,銳角的神經網絡的前幾層,而是利用訓練好的網絡,提取初級特征,之后只訓練最后幾層神經元,讓其可以分辨狗的品種。
一種遷移學習的方法是對整個網絡進行微調,假設你已訓練好了識別貓品種的神經網絡,你的網絡能對50種貓按品種進行分類。接下來你想對網絡進行升級,讓其能夠識別100種貓,這時你不應該只訓練網絡的最后一層,而應該逐層對網絡中每個節點的權重進行微調。顯然,只訓練最后幾層,是遷移學習最簡單的1.0版,而對節點權重進行微調(fine turing),就是更難的2.0版,通過將其他層的權重固定,只訓練一層這樣的逐層訓練,可以更好的完成上述任務。
另一種遷移學習的方式是借用網絡的結構,即不是使用已訓練好的網絡的權重,而是使用相同的網絡結構,例如多少層,每層多少節點這樣的信息,然后使用隨機生成的權重作為訓練的起點。例如你要訓練世界上第一個識別fMRI圖像的神經網絡,你就可以借鑒識別X光圖片的神經網絡。
轉載于:https://www.cnblogs.com/yeran/p/10451767.html
總結
- 上一篇: 测试用例的常用设计方法
- 下一篇: Hadoop记录-监控几个思路