iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 24
0

Challenges of deep learning

對 deep learning 來說,它可以讓我們表示非線性複雜特徵,不單單只能在計算機視覺,在語音識別也同樣能達到

那對它而言什麼東西是困難的呢?

為了能夠更好理解,我們必須先看看它的 workflow

https://ithelp.ithome.com.tw/upload/images/20180110/20107448oxuSL713EV.jpg

一開始我們需要非常大量的資料,這些資料都要有標籤,標籤中必須指明,比如若為貓,那是波斯貓?英國短毛貓?...

但這可能需要大量人力成本

然後一樣分成 Training set 與 Validation set 接著我們訓練一個 deep neural network 需要一段時間,最後經過驗證後,我們發現到是個複雜的八層結構及六萬多個參數模型,這不是我們所要的

此時就會修改模型、調整參數、調整學習方法,接著透過不斷的迭代

要得到我們相對理想的 neural network 我們需連接許多代表不同特徵的層和許多複雜的細節,這其實非常困難

所以它其實還是有一些缺陷

需要較大的資料量,需要極大的計算量,此外隨著層數變多,參數的數量跟配置也會變得更複雜

所以若只是隨便增加計算量跟加入更多特徵參數,你會很難找到 root cause

Deep Features

deep neural network 精確度非常高,但是建模及學習過程非常困難,但接下來我們將會提出一些解決方法

叫做 deep features 它能幫助建立 neural network 甚至當你尚未有足夠多資料的時候

我們回頭看我們的 data image classification pipeline

當你給定一張圖片時,我們先檢測一些特徵或其他一些代表性的部分,我們可以使用一些簡單的分類器,像是線性分類器
https://ithelp.ithome.com.tw/upload/images/20180110/20107448patKXt0ZSE.jpg

重點在於能不能用那些從 neural network 學來的特徵(位於角落、邊緣甚至臉部的特徵),我們能否從不同角度入手?

方法是當你已經知道 deep features 你可以使用 transfer learning

transfer learning 其實很早就被提出來了,具體做法是在你擁有很多的資料時訓練 neural network

比如我一個區分貓狗的任務,我們訓練了一個八層一千六百萬個參數的複雜網路,最後得到一個非常精準的貓狗分類器
https://ithelp.ithome.com.tw/upload/images/20180110/20107448iVcF5XEf9D.jpg

現在即便有一個新的任務,但它只有非常少的資料,比如上百個不同種類中檢測椅子、大象、汽車、相機...

那我們能否使用從貓狗分類器中學習到的特徵與一個簡單的分類器來得到一個更精確的101分類器呢?

方法就是 transfer learning ,我們在貓狗分類器學習到的特徵能被移到新的任務中來檢測其他項目

如圖所示,這是一個貓狗分類器,若你注意到最後幾層你就會發現它們主要是用來分類貓與狗的

中間那層僅僅只是一般化,代表著角落、邊緣、弧度...等一些可以用於101類別分類的特徵

https://ithelp.ithome.com.tw/upload/images/20180110/20107448D6g94W9yrR.jpg

現在我們知道最後一層是針對貓狗的,所以對椅子可能不是那麼有用,因使我們可以去掉最後一層

透過前面保持不辨的特徵,加上一個簡單的線性分類器我們就能用很少的椅子、大象、相機...等資料來訓練一個模型

回到先前的例子
https://ithelp.ithome.com.tw/upload/images/20180110/20107448uRFM0UsNHO.jpg

我們一共有三層,第一層偵測對角邊與邊緣、第二層彎曲與角落、第三層是顏色與臉,我們現在就能把這些層運用到新任務當中

我們現在已經理解了 transfer learning ,讓我們重新審視一下 deep learning 的過程
https://ithelp.ithome.com.tw/upload/images/20180110/20107448dNgqBrpb3a.jpg
我們從一些標籤過的資料開始,不需要很多只要小量即可,接著我們從 deep neural network 中抽取特徵

一樣把資料分成 Training set 與 Validation set 接著訓練一個簡單的分類器來完成達成我們要的分類水平

接著你可能會困惑,這些特徵有多普遍呢?

它們真能夠運用在一些極端且不尋常的任務嗎?事實有個例子,垃圾回收

在一般時候垃圾車會經過每一戶家庭或商店前清理大型垃圾桶,一家名為 compology 的公司,最佳化了垃圾車的路徑

將垃圾回收所用的時間降到最低,他們方法是在垃圾車上安裝相機,目標是檢測種類與數量

因為我們並沒有關於滿出來的垃圾的標籤資料,他們藉助了 deep features 與少量的人工標籤然後訓練了一個垃圾檢測器,因此最佳化了垃圾車的路線,降低了卡車收集垃圾的時間

Deep learning ML block diagram

現在我們來回顧一下關於 Deep learning 的 block diagram

https://ithelp.ithome.com.tw/upload/images/20180110/20107448jq6RxvKKKH.jpg

  • Training data:圖像及相應的標籤(貓、車子...)
  • x:某張圖片及其 deep features
  • 透過某種來推送這些代表性的特徵,比如:logistic regression
  • ŷ:我們的預測標籤
  • 以ŷ與y做為回饋值
  • 質量的衡量為 classification accuracy
  • w-hat才是 logistic regression 的權重參數
  • 整個系統想要做的就是透過改變和更新w-hat使精準度更高

Reference:


上一篇
[day 22] 深度學習-2
下一篇
[day 24] 深度學習-小範例
系列文
到底是在learning什麼拉30

尚未有邦友留言

立即登入留言