遷移學習,通俗易懂

2021-09-05 10:25:09 字數 500 閱讀 8009

一.背景

在之前用深度神經網路進行引數訓練時,我們每次的訓練都是從頭開始的,隨機地初始化網路。在網路層數不深的時候,訓練時間可以接受,但隨著現在網路構越來越複雜,網路層數越來越深,少則幾十層,多者上百層甚至上千層,如果任然每次都從頭開始訓練,時間的開銷則會非常大。例如imagenet網路的訓練常常需要幾個星期的時間,而對於普通的研究者而言,這是不可接受的。

遷移學習的本質是利用將乙個問題上訓練的所得,用於改進在另乙個問題的效果。舉例說明,就是把其他人在某個大資料集上訓練好的網路模型(引數)運用到到自己的問題上來,這樣就可以避免重複的初始化及引數訓練。

精調舉例:由於深度神經網路可以從資料中學習較好的特徵,所以可以和機器學習相結合,例如用深度神經網路學習到的特徵用到線性模型或svm模型中;另外還可以去掉網路的最後一層,即改變輸出,用於其他任務。

2.預訓練(pre-training):即使訓練的資料很充分,我們還可以先使用其他的資料進行訓練,以改善過擬合,同時也會提高效能。這稱為預訓練。

預訓練的技巧

numpy bincount 通俗易懂

bincount的用途很簡單,就是統計出乙個列表的各個元素的出現次數。例如輸入是 1,0,2,2,1,2,3,5 那麼輸出就是 1,2,3,1,0,1 這樣的結果可能並不是很直觀,可能依然會有同學會問為什麼會輸出這樣的結果。我們看看 假如我們把輸入的列表中的數字都統計一遍,形成乙個字典 key是列表...

通俗易懂玩QT QSql學習

最近,因為公司的業務需求,需要使用 qt 操作 mysql 資料庫,特意學習了一下,這裡分享給大家。qt 版本 qt 5.11.2 32位 mysql 版本 mysql8.0.22 64位 以下為連線步驟 在 pro 或者 pri檔案中引入qt 的 sql 資料庫模組 修改之前 qt core gu...

通俗易懂的C STL

泛型程式設計 generic programming 是一種語言機制,通過它可以實現乙個標準的容器庫。像類一樣,泛型也是一種抽象資料型別,但是泛型不屬於物件導向,它是物件導向的補充和發展。泛型程式設計在c 上的應用主要體現在兩方面 函式模板和類模板。接下來舉個栗子 csdn部落格 anyway,模板...