李宏毅機器學習2016 第十講 為什麼是「深度」學習

視頻鏈接:李宏毅機器學習(2016)_演講?公開課_科技_bilibili_嗶哩嗶哩

課程資源:Hung-yi Lee

課程相關PPT已經打包命名好了:鏈接:pan.baidu.com/s/1c3Jyh6 密碼:77u5

我的第九講筆記:李宏毅機器學習2016 第九講 卷積神經網路

Why Deep Learning?

本章講述了為什麼要是深度學習,是選擇「高瘦」型的深網路,而不是「矮胖」型的寬網路。

1.矮胖還是高瘦?

我們知道在神經單元足夠多、參數夠多的情況下,只需要一個隱藏層,就可以表示任意的函數。既然如果為什麼不選擇用這種寬網路,而是選擇深度網路呢?

在對比不同網路形狀的效果時,要注意保證兩個網路的參數數量基本一致,這樣才有比較的意義。

由上圖可以看出,在5*2K和1*3772這兩個網路參數基本相等的情況下,前者的性能明顯優於後者,並且寬的網路在尺寸不斷增大時,性能提升的也不明顯。

2.模塊化

怎麼解釋說要選擇深的網路而不是胖的網路呢?模塊化的思想可能會幫助我們理解。

我們在編寫程序時,通常不會將所有的代碼都寫在一個主方法中,而是會將其寫成不同的函數,然後進行調用,這樣可以實現共享,比如說某些步驟都需要調用排序函數,這樣做可以減少函數的複雜度。

在深度學習中,也是如此。

比如說我們有一個分類任務,要分類出長發女人、長發男人、短髮女人、短髮男人這四個類別。顯然長發男人的數量會更少。此時通過模塊化首先有一層分類器是用於分類出男人還是女人,是長發還是短髮,再接著一層就可以共享利用上一層的結果,分類出長發女人、長發男人、短髮女人、短髮男人,即使長發男人樣本數據少。

其實正是因為沒有足夠的數據,才讓機器去學習,去舉一反三。

此外,在圖像分類中,也有明顯的模塊化思想。

首先是一些基本的分類器,接著是用基本分類器識別紋理等特徵,下層分類器又可以用其識別出圖像中某些具體的模塊。

3.普遍性理論

正如我們之前所言,只含有一個隱藏層的網路也可表示任意的函數。

但是深度的網路結構是更高效的。

4.端到端的學習

深度學習之前需要做大量的手工操作,各種手動提取特徵,特徵工程是及其耗時很困難的。

而端到端的學習可以使得機器自動的學習特徵。

在圖像識別領域,以前需要各種手工設計特徵,只有最後一步才是自動學習而得。

而深度學習是端到端的學習。

5.一些複雜任務

舉例MNIST手寫漢字的識別,我們可以通過觀看不同隱藏層的輸出,能夠看出深度網路是有效地。

在第一個隱藏層,很多不同類別的樣本都混雜在一起,難以分來,在第二個隱藏層效果更好了,但是還是有些難以分開(7,9和2,8,0確實在某些方面有點相像),在第三個隱藏層可以明顯的看出都被完整的分開了。這也就說明了深度網路是更有效的。

6.總結

本章從模塊化的思想、類比電路剪紙等各個層面進行講解了選擇深度網路的原因。


推薦閱讀:

機器學習基礎概念1:機器學習基礎概念科普
CS 294: Deep Reinforcement Learning(5)

TAG:机器学习 | 深度学习DeepLearning |