Using Open-Source Implementations


Transfer Learning

  • 一個加速 fine-tune 的技巧是:將前面幾層固定的 layer,預先計算好每張圖片所對應的 output 然後存起來 (在硬碟上)。
  • dataset 比較小的時候,只訓練 softmax 層;dataset 比較大的時候,可以訓練比較多層;dataset 超大的時候,可以 fine-tune 整個 model。
  • 只有在 dataset 超大而且計算資源充足才考慮自己 train model。

Data Augmentation

常見

  • 對垂直軸做鏡射 mirror
  • 隨機裁切 random cropping
  • 旋轉 rotation
  • 剪切(???) shearing
  • 局部扭曲 local warping

  • 色彩偏移 color shifting

    • 例如 R+20、G-20、B+20
    • PCA color augmentation (from AlexNet 論文)

Implementing distortions during training

  • distortion (data augmentation) 和 training 可以平行處理

State of Computer Vision

在不同的領域之間,假設我們有更多資料,就更傾向於使用演單的演算法,而較少使用手工工程

  • 比較不需要小心設計特徵
  • 只要用比較大的 NN 就可以解
  • 可4印象中李宏毅說語音辨識好像滿難做到 end-to-end 的?

我們擁有的資料越少,越傾向於設計手工工程

  • 在 computer vision 當中,雖然現在 data 越來越多,但總是不夠,也因此 computer vision 的領域總會設計一些相當複雜的 NN 架構。
  • object detection 的 labeled data 更少,也因此使用了更複雜的 NN 架構
  • 資料少的時候,transfer learning 很有幫助

Tips for doing well on benchmarks/winning competitions

不太會實際應用在給客戶的產品上

  • Ensembling
    • 需要存著很多 model,占用許多記憶體

可能可以考慮應用在產品上?

  • Multi-crop at test time
    • 10-crop: (中間+左上+右上+左下+右下)(原本+左右鏡射)
    • 計算資源足夠時可以使用
    • 只需要一個 model,但也會拖慢執行時間

results matching ""

    No results matching ""