Why Deep?

by wenwu
0 comment

Why Deep?

今日的課程來自於:https://youtu.be/XsC9byQkUH8

今天要討論的是為什麼需要做deep learning 呢? Deep就比較好嗎?

我們都知道deep learning 在很多問題上的表現都是比較好的,越deep的network他的表現也就越好

那位甚麼呢? 很值觀的解釋,因為層數多、參數也多,model也越複雜,bias也越小,而使用大量的data可以降低variance,效果當然就會更好

有人可能覺得因為用大量的data去train 一個複雜的model,效果當然會好。但後面要解釋其實deep learning 不代表就有大量的data才能train好,少量的data也可以train好deep learning


Fat+short model vs Thin+tall model

我們來比較一下兩個不同的model,一個又矮又胖的model,他可能只有一層,可是卻有很多參數。另外一個是又高又瘦的Model,也就是deep learning。

要如何比較呢? 如何讓兩個看起來不一樣的model有公平的比較? 我們要讓他們的參數是一樣多的。

在公平的比較之下,得到的結果如下:

左側是瘦長的model,右側是一層的。當左邊有5層的時候,他們達到公平的條件,可以看到左邊的效果是比較好的,就算右邊的參數到16K,他的效果也沒有右邊2*2K的叫果好,為什麼呢?

有人以為deep learning 是因為data很多,model很大,用暴力展壓後就有好的結果。但可以從上面得知,deep learning 顯然是在結構上有某種優勢,不然無法解釋在同樣參數卻有比較好的結果


Modularization

DNN結構上很大的優勢就是Modularization(模組化),他是用結構化的架構

shallow network,是把所有的程序都寫在同一個主要的函數中,而DNN是將整個任務分成一個個小任務,每個任務又可以不斷細分下去,以形成Modularization。

假設我們現在要分四類:長髮女生、短髮女生、長髮男生、短髮男生。

按照shallow network的想法,我們就用一個model分四類,不過長髮男生的資料可能很少,detect長髮男生的效果就比較差

但是我們利用modularization的想法,使用deep learning 的架構,我們可以訓練一個model 作為分類器,就可以完成所有的任務,我們可以把整個任務分成兩個子任務: 第一分類是男女,第二分類是長髮或短髮。

你會發現,經過層層layer的任務分解,其實每一個Classifier要做的事情都是比較簡單的,而因為這種分層的、模組化的方式充分利用了data,並提供了信息利用的效率,所以只要用比較少的training data就可以把結果train好

由於deep learning的deep就是在做modularization這件事,所以它需要的training data反而是比較少的,這可能會跟你的認知相反,AI=big data+deep learning,但deep learning其實是為了解決less data的問題才提出的

並且在做deep learning 的時候,怎麼做模組化這件事情是machine自動學習的


Complex task

那deep learning還有什麼好處呢?

有時候我們會遇到非常複雜的task:

  • 有時候非常像的input,它會有很不一樣的output
    如在做圖像辨識的時候,下圖這個白色的狗跟北極熊其實看起來是很像的,但是你的machine要有能力知道,看到左邊這張圖要output狗,看到右邊這張圖要output北極熊
  • 有時候看起來很不⼀樣的input,output其實是一樣的
    比如下面這兩個方向上看到的火車,橫看成嶺側成峰,儘管看到的很不一樣,但是你的machine要有能力知道這兩個都是同一種東西

如果你的network只有一層的話,就只能做簡單的transform,沒有辦法把一樣的東西變得很不一樣,把不一樣的東西變得很像;如果要實現這些,就需要做很多層次的轉換。

這邊以MNIST手寫數字識別為例,展示一下DNN中,在高維空間上對這些Complex Task的處理能力

如果把28*28個pixel組成的vector投影到二維平面上就像左上⻆所示,你會發現4跟9的pixel機乎是疊在一起的,因為4跟9很像,都是一個圈圈再加一條線,所以如果你光看input的pixel的話,4跟9機乎是疊在一起的,你機乎沒有辦法把它分開
但是,等到第二個、第三個layer的output,你會發現4、7、9逐漸就被分開了,所以使用deep learning的deep,這也是其中一個理由

為甚麼要使用deep learning 的原因寫到這邊,課程中老師還有講解語音辨識等等的範例,需要參考可以去聽聽看

Related Articles

發表迴響