深度學習入門視訊課程學習筆記01
(一)深度學習問題面臨的挑戰
首先就由一隻小貓帶咱們走進深度學習的世界吧!
對於一個輸入樣本來說,深度學習和機器學習有著相同的目的,就是要把這個樣本進行最準確的分類。咱們從肉眼看很容易這是一隻貓,因為我們有著這麼多年的積累常識嘛!但是計算機可不這麼聰明一眼就能看得出來,在計算機中,一個影象是由畫素點所構成的。這裡可能有同學對於計算機視覺不是很瞭解,我簡單的介紹下吧夠用就行啦。畫素點是一個從0到255範圍內的一個正值,那麼這個點的大小意味著這個點所對應區域的一個亮度。咱們也可以把一個圖片當成一個三維陣列比如[256,256,3]這裡的256就分別代表了圖片的長和寬的大小,最後的3就是圖片的顏色通道,不知道通道是什麼也不要緊,咱們暫且知道圖片是矩陣組成的就好啦!
這個矩陣就是長的這個樣子
那麼我們所面臨的挑戰是什麼呢?
我們要面對的可不僅僅是這樣一隻蹲在我們面前可愛的小貓,在實際中有著很多的可能性,比如光照強度,遮蔽程度,角度等等,這些就成為了我們深度學習任務的一個極大的挑戰。
這些異形就是我們所面臨的挑戰
咱們深度學習要解決的最核心也是最基本的問題就是分類任務了,它也是咱們理解深度學習一個最好的入手點。
分類問題的常規套路
一個分類任務的常規套路大致可以分為三點:
(一)收集資料並給定標籤:
就是我們要製作訓練集了,包括data label這兩部分,別小看收集資料了,這部其實很麻煩的,沒有合適的資料很難訓練出優秀的模型的,兩個量都很重要,一個是質量一個是數量,對於我們深度學習來說,數量是很重要的,基本上都要以萬為基本單位的。
(二)訓練一個分類器:
這步可以說是很核心的一步,分類器的效果好壞決定了我們最終應用的效果,深度學習之所以效果要超過傳統的機器學習在部分領域上比如計算機視覺,主要在於深度學習所訓練的分類器更強大,這節課咱們只簡單的介紹,乾貨還是在後面的。
(三)測試評估:
一個好的分類器,不是咱們通過大量的資料和一個強大的模型結構就可以的。在訓練好分類器後,一個更重要的點就是我們要去測試和評估,比如準確率,召回率等衡量指標。我們要通過這些指標反覆調節模型引數直到得到最好的模型無論是機器學習還是深度學習都離不開這三步,有了這樣的一個流程下面我們就來看一看傳統的機器學習演算法是如何進行分類任務的。
這個就是咱們的資料庫啦,簡單說下這個資料庫有10類標籤,就是有10個類別,咱們接下來要做的就是訓練一個分類模型啦。
接下來我的這個做法很多同學可能會說我很二!!!但是為了更好的給那些剛入門(坑)的同學更直觀的表達,咱們簡單的來樂呵下就好。
咱們這是在做啥子咧?就是。。。用每個圖片的畫素點所構成的矩陣去算和它畫素點差異最小的那幾個資料樣本是哪幾個。雖然做法很二,但這也是一個簡單的K近鄰問題,我們通過畫素點的L1距離(這個看公式吧)去計算輸入和所有訓練集中的樣本的距離然後找出最小的那K個,我們輸入的樣本的類別就是那K個裡投票和啦。
這裡我要強調的是,我不是用這種做法去說一個分類的流程,而是讓大家看到咱們傳統做法所需的一些東西。這裡咱們在做分類的時候所需的引數有K近鄰中的K的大小,還要選擇距離公式也就是L的選擇,這只是最少的引數選擇,要是更復雜的模型我們所需選擇的引數就更多了。不同的引數選擇可以說對於最終的結果有著很大的影響,這也就是傳統的機器學習演算法很頭疼的一個問題很多東西都需要咱們不斷去嘗試。那麼深度學習一個很強大的地方就是我們並不需要設定很多這樣的超引數。
接下來咱們再來強調下上面這張圖,說這個的目的就是咱們的這門課程可能很多同學並沒有太多機器學習和實戰的基礎,需要給大家對資料集的劃分有個大致的概念。
我們在訓練模型之前的資料準備要把整個資料分成兩個大部分,一個是訓練資料,一個是測試資料。理論上來說測試資料是很寶貴的,我們只有在最後的時候才能使用測試資料去評估,在訓練的過程中決不允許出現測試資料。
還有就是我們還要把訓練資料這個大部分切分成幾個小份,比如5個小份,這麼做的目的是我們還需要驗證集,驗證集的意思就是我們在訓練模型的時候要不斷的做一個模型自測試效果的過程,比如用其中的4小份作為訓練資料,用另一小份作為驗證資料。還有一個知識點要給大家強調下,我們在實際訓練模型的時候更多的是使用交差驗證,什麼是交差呢?就是我們這次取這4個作為訓練下次我們再取另外4個作為訓練,這樣就可以保證咱們訓練模型的可靠性更大!
這節課也就差不多到這裡了,打了這麼多字,觀眾老爺們給個笑臉吧寫的不好的地方還望海涵。