cs231以及遷移學習

2021-09-25 12:16:19 字數 1667 閱讀 5534

以這個2元分類為例,不normalization的話,loss非常敏感,分類器稍微改變一下,對loss的影響很大。normalization後問題得到解決。

在cnn中我們希望每層都normalization,可以用batch normalization

velocity初始值是0

逐引數調節學習率,讓梯度大的項學習率慢慢變小,梯度小的則相反。這種方法在convex的形狀上有很好的應用,因為是其梯度變化的特戰。但其他情況,就可能在saddle point停止運動。1e-7避免除數為0。

前幾種的組合

隨機失活(dropout):

可以看做只用部分特徵去判斷一種物體,避免過分依賴某一特徵。

at test time, multiply by dropout probability 或在training time除以dropout probability。

(這裡的處理方式和batch normalization相似)

batch normalization是最常用的

遷移學習(transfer learning)的目標是將從乙個環境中學到的知識用來幫助新環境中的學習任務。把已訓練好的模型引數遷移到新的模型來幫助新模型訓練。考慮到大部分資料或任務都是存在相關性的,所以通過遷移學習我們可以將已經學到的模型引數(也可理解為模型學到的知識)通過某種方式來分享給新模型從而加快並優化模型的學習效率不用像大多數網路那樣從零學習。

(1)站在巨人的肩膀上 :前人花很大精力訓練出來的模型在大概率上會比你自己從零開始搭的模型要強悍,沒有必要重複造輪子。

(2)訓練成本可以很低 :如果採用匯出特徵向量的方法進行遷移學習,後期的訓練成本非常低,用cpu都完全無壓力,沒有深度學習機器也可以做。

(3)適用於小資料集 :對於資料集本身很小(幾千張)的情況,從頭開始訓練具有幾千萬引數的大型神經網路是不現實的,因為越大的模型對資料量的要求越大,過擬合無法避免。這時候如果還想用上大型神經網路的超強特徵提取能力,只能靠遷移學習。

(1)transfer learning :凍結預訓練模型的全部卷積層,只訓練自己定製的全連線層。

(2)extract feature vector :先計算出預訓練模型的卷積層對所有訓練和測試資料的特徵向量,然後拋開預訓練模型,只訓練自己定製的簡配版全連線網路。

(3)fine-tune :凍結預訓練模型的部分卷積層(通常是靠近輸入的多數卷積層),訓練剩下的卷積層(通常是靠近輸出的部分卷積層)和全連線層。

**:

cs231 學習筆記(一)

訓練過程就是記錄所有的資料點,在 階段對每一條記錄 乙個影象 與原有資料集進行比較,得出與之最相近的一條記錄,其label就是最後的 值。通常使用的 distance metric 來比較影象 l1依賴於座標系,當座標軸轉動時l1值隨之改變,而l2不會。knn選擇k個最近的鄰居,隨著k的值越大,你的...

cs231 線性分類

k nearest neighbor分類器存在以下不足 分類器必須記住所有訓練資料並將其儲存起來,以便於未來測試資料用於比較。這在儲存空間上是低效的,資料集的大小很容易就以gb計。對乙個測試影象進行分類需要和所有訓練影象作比較,演算法計算資源耗費高。引言 我們將要實現一種更強大的方法來解決影象分類問...

CS231 線性分類

評分函式 原始影象資料到類別分值的對映 損失函式 用來量化 分類標籤的得分與真實標籤之間一致性的 現在假設有乙個包含很多影象的訓練集 公式 每個影象都有乙個對應的分類標籤 公式 這裡 公式 並且 公式 這就是說,我們有n個影象樣例,每個影象的維度是d,共有k種不同的分類。如,在cifar 10中,我...