我告訴你什麼是深度學習

2021-10-24 12:02:12 字數 3824 閱讀 8514

在之前的文章你告訴我什麼是深度學習中,筆者從線性回歸中的房價**、到梯形塊兒的面積介紹了輸入特徵對於模型**的重要性;接著又從特徵提取以及非線性變換的角度介紹了特徵提取對於模型的重要性;最後我們從單層神經網路(線性回歸模型)順利的過渡到了多層神經網路,也就是深度學習的概念中。在接下來的這篇文章中,我們再以分類任務為例,再次探索深度學習的理念以及為什麼我們需要深度學習。

在前面我們也提到過,機器學習與深度學習最大的不同點在於特徵的可解釋性。在機器學習中,我們會盡可能的要求每個特徵(包括不同特徵之間組合得到的新特徵)都具有一定的含義。例如鳶尾花和iris資料集中每個特徵都有著其實際的資訊。因此,在機器學習中基本上不存在所謂「抽象特徵」的概念。但是,當我們用機器學習演算法來做某一些分類任務時,又不得不用這些不知道什麼意思的特徵。

有件事,叫天不知地知,我不知你知,那就是你鞋底有個洞。而對於即使輸入給模型我們不知道什麼含義的特徵,模型依舊能夠展現出很好的分類效果這件事情,其原因估計也就是天知地知模型知,恰恰我們不知。但這樣解釋合理嗎?筆者認為這是合理的。想一想,狗狗主要是靠什麼來辨識事物的?對,就是味道。但我們人能通過「味道」這個特徵來辨識事物嗎?類似的還有蝙蝠能夠通過聲波這個特徵來辨識事物等,而這些都是我們人所不能的。那既然是這樣,為什麼不可以認為模型也具備識別某種我們人所不能識別的特徵呢?

在本系列的第一篇文章中梯形塊兒的面積**部分我們說到,為了使得模型能有乙個更好的**效果,因此我們在原始特徵x1,

x2x_1,x_2

x1​,x2

​的基礎上還人為的構造了三個依舊可解釋的特徵x1x

圖 1. 梯形面積測線性回歸結構圖(偏置未畫出)

由此可以得到的是,如果僅僅只是通過原始特徵來進行建模,那麼效果往往會那麼不盡人意。因此通常情況下我們都會在原有特徵的基礎上再人為的構造一部分特徵進行建模。但問題在於,我們在手工構造特徵的過程中大腦潛意識的會去尋求乙個可具備解釋性的結果,也就是新特徵要具有明確的含義。

因此,上述人工構造特徵的方法通常就會帶來兩個問題:①即使是在知道原始特徵含義的情況下,也只會構造出極少的特徵,這可謂是杯水車薪;②若是在不知道原始特徵含義的情況下(例如畫素點),幾乎不可能再構造出新的特徵。那怎麼辦呢?既然如此,何不把這個過程交給模型自己去完成呢?

圖 2. 三分類softmax結構圖(偏置未畫出) 1,

x2,x

3,x4

x_1,x_2,x_3,x_4

x1​,x2

​,x3

​,x4

​作為輸入,經線性組合後再施以softmax操作作為整個模型的輸出,並且可以看出其並沒有加入任何其它的特徵。但是試想一下,我們能不能先別那麼著急將o1,

o2,o

3o_1,o_2,o_3

o1​,o2

​,o3

​直接作為輸出結果,而是將這部分作為原始特徵組合得到的新特徵,然後再將這部分特徵作為輸入進行分類呢?

圖 3. 特徵提取示意圖

如圖3所示,原始特徵x1,

x2,x

3,x4

x_1,x_2,x_3,x_4

x1​,x2

​,x3

​,x4

​經過多次線性組合,後得到了o1,

⋯,o5

o_1,\cdots,o_5

o1​,⋯,

o5​這5個新的特徵,即:

o 1=

w11x

1+w2

1x2+

w31x

3+w4

1x4⋮

o5=w

171x1

+w181

x2+w

191x3

+w201

x4o_1=w^1_1x_1+w^1_2x_2+w^1_3x_3+w^1_4x_4\\[1ex] \vdots\\[1ex] o_5=w^1_x_1+w^1_x_2+w^1_x_3+w^1_x_4\\[1ex]

o1​=w1

1​x1

​+w2

1​x2

​+w3

1​x3

​+w4

1​x4

​⋮o5

​=w1

71​x

1​+w

181​

x2​+

w191

​x3​

+w20

1​x4

​接著,再將o1,

⋯,o5

o_1,\cdots,o_5

o1​,⋯,

o5​作為輸入進行softmax分類。但這樣行不行呢?如果你看過你告訴我什麼是深度學習這篇文章的話,肯定知道這樣是不行的,因為o1,

o2,⋯

,o5o_1,o_2,\cdots,o_5

o1​,o2

​,⋯,

o5​僅僅只是線性組合得到的新特徵。雖然看起來圖3中多了乙個特徵提取層,但是最終的效果與圖2中的結構並沒有本質上的。因區此我們應該先對o1,

o2,⋯

,o5o_1,o_2,\cdots,o_5

o1​,o2

​,⋯,

o5​施加乙個非線性變換即:oi′

=g(o

i)o^_i=g(o_i)

oi′​=g

(oi​

),然後再拿去做最後的分類任務。

到此,對於在原始特徵上進行抽象特徵提取的工作似乎就做完了,但就在這時突然從遠處傳來了兩個聲音:①圖3在進行特徵提取的時候能不能組合得到更多的特徵,例如10個或者20個?②圖3中的示例僅僅只是進行了一次特徵提取,哪能不能在o1,

o2,⋯

,o5o_1,o_2,\cdots,o_5

o1​,o2

​,⋯,

o5​的基礎上,再進行幾次分線性的特徵提取,然後再進行最後的分類任務?

看起來這是兩個問題,但其實背後都有著同樣的初衷,那就是為了得到更為豐富的特徵表示,然後提高下游任務的精度。那到底那種做法會更好呢?大量的研究實驗表面,第二種方式所取得的效果要遠遠好於第一種方法。由此我們可以知道,通過深層次的特徵提取能夠有效的提高模型的表現能力。

圖 4. 深層特徵提取網路結構圖

如圖4所示,我們在圖3的結構上又加入了乙個新的非線性特徵提取層,然後再將提取得到的特徵進行最後的分類任務。此時我們可以發現,對於輸出層之前的所有層,我們都可以將其看成是乙個特徵提取的過程,而且越靠後的隱含層也就意味著提取得到的特徵越抽象。當原始輸入經過多層網路的特徵提取後,我們就可以將提取得到的特徵輸入到最後一層進行相應的操作(分類或者回歸等)。因此,總結起來一句話,深度學習的核心目的就四個字:特徵提取

[1]動手深度學習

[2]示例**:

[1]pytorch之簡潔版softmax多分類

[2]pytorch之softmax多分類任務

[3]想明白多分類必須得談邏輯回歸

[4]pytorch之擬合正弦函式你會嗎?

[5]你告訴我什麼是深度學習

我來告訴你 python wheel 是什麼

wheel 是新的 python 的 disribution,用於替代 python 傳統的 egg 檔案。目前有超過一半的庫檔案有對應的 wheel 檔案。whl檔案有一點與.egg檔案相似 實際上它們都是 偽裝的 zip檔案。如果你將.whl檔名擴充套件改為 zip,你就可以使用你的zip應用程...

產品經理告訴你什麼是PMF 什麼是MVP?

pmf指的是產品與市場匹配的產品 1.如何判斷pmf的臨界點?1 留存 30 的新使用者次日留存 2 新增使用者dau 大於100 3 使用者數 10萬使用者數 dau 單日活躍使用者量,反應產品短期使用者活躍度 2.pmf幾種型別 1 更好體驗的產品,如美圖秀秀 2 抓住細分市場,如uber p2...

小故事告訴你什麼是ERP

妻子 當然可以,來幾個人,幾點來,想吃什麼菜?丈夫 6個人,我們7點左右回來,準備些酒 烤鴨 番茄炒蛋 冷盤 蛋花湯 你看可嗎?商務溝通 妻子 沒問題,我會準備好的。訂單確認 妻子記錄下需要做的選單 mps計畫 具體要準備的東西 鴨 酒 番茄 雞蛋 調料 bom物料清單 發現需要 1只鴨蛋,5瓶酒,...