深度學(xué)習(xí)入門視頻課程學(xué)習(xí)筆記(一)
原創(chuàng)【51CTO.com原創(chuàng)稿件】深度學(xué)習(xí)問題面臨的挑戰(zhàn)
Hello!大家好,我是51CTO學(xué)院講師唐宇迪,在學(xué)院11.11(全民IT學(xué)習(xí)節(jié))到來之際,寫了這篇技術(shù)文章,和大家分享一下。正文來啦~~~
首先就由一只小貓帶咱們走進深度學(xué)習(xí)的世界吧!
對于一個輸入樣本來說,深度學(xué)習(xí)和機器學(xué)習(xí)有著相同的目的,就是要把這個樣本進行最準(zhǔn)確的分類。咱們從肉眼看很容易這是一只貓,因為我們有著這么多年的積累常識嘛!但是計算機可不這么聰明一眼就能看得出來,在計算機中,一個圖像是由像素點所構(gòu)成的。這里可能有同學(xué)對于計算機視覺不是很了解,我簡單的介紹下吧!夠用就行啦!像素點是一個從0到255范圍內(nèi)的一個正值,那么這個點的大小意味著這個點所對應(yīng)區(qū)域的一個亮度。咱們也可以把一個圖片當(dāng)成一個三維數(shù)組比如[256,256,3],這里的256就分別代表了圖片的長和寬的大小,***的3就是圖片的顏色通道,不知道通道是什么也不要緊,咱們暫且知道圖片是矩陣組成的就好啦!
這個矩陣就是長的這個樣子
那么我們所面臨的挑戰(zhàn)是什么呢?
我們要面對的可不僅僅是這樣一只蹲在我們面前可愛的小貓,在實際中有著很多的可能性,比如光照強度,遮蔽程度,角度等等,這些就成為了我們深度學(xué)習(xí)任務(wù)的一個極大的挑戰(zhàn)。
這些異形就是我們所面臨的挑戰(zhàn)
咱們深度學(xué)習(xí)要解決的最核心也是最基本的問題就是分類任務(wù)了,它也是咱們理解深度學(xué)習(xí)一個***的入手點。
分類問題的常規(guī)套路
一個分類任務(wù)的常規(guī)套路大致可以分為三點:
(一)收集數(shù)據(jù)并給定標(biāo)簽:
就是我們要制作訓(xùn)練集了,包括data label這兩部分,別小看收集數(shù)據(jù)了,這步其實很麻煩的,沒有合適的數(shù)據(jù)很難訓(xùn)練出優(yōu)秀的模型的,兩個量都很重要,一個是質(zhì)量一個是數(shù)量,對于我們深度學(xué)習(xí)來說,數(shù)量是很重要的,基本上都要以萬為基本單位的。
(二)訓(xùn)練一個分類器:
這步可以說是很核心的一步,分類器的效果好壞決定了我們最終應(yīng)用的效果,深度學(xué)習(xí)之所以效果要超過傳統(tǒng)的機器學(xué)習(xí),在部分領(lǐng)域上比如計算機視覺,主要在于深度學(xué)習(xí)所訓(xùn)練的分類器更強大,這節(jié)課咱們只簡單的介紹,干貨還是在后面的。
(三)測試評估:
一個好的分類器,不是咱們通過大量的數(shù)據(jù)和一個強大的模型結(jié)構(gòu)就可以的。在訓(xùn)練好分類器后,一個更重要的點就是我們要去測試和評估,比如準(zhǔn)確率,召回率等衡量指標(biāo)。我們要通過這些指標(biāo)反復(fù)調(diào)節(jié)模型參數(shù)直到得到***的模型
無論是機器學(xué)習(xí)還是深度學(xué)習(xí)都離不開這三步,有了這樣的一個流程,下面我們就來看一看傳統(tǒng)的機器學(xué)習(xí)算法是如何進行分類任務(wù)的。
這個就是咱們的數(shù)據(jù)庫啦!簡單說下這個數(shù)據(jù)庫有10類標(biāo)簽,就是有10個類別,咱們接下來要做的就是訓(xùn)練一個分類模型啦!
接下來,我的這個做法很多同學(xué)可能會說我很二!!!但是為了更好的給那些剛?cè)腴T(坑)的同學(xué)更直觀的表達,咱們簡單的來樂呵下就好。
咱們這是在做啥子咧?就是。。。用每個圖片的像素點所構(gòu)成的矩陣去算和它像素點差異最小的那幾個數(shù)據(jù)樣本是哪幾個。雖然做法很二,但這也是一個簡單的K近鄰問題,我們通過像素點的L1距離(這個看公式吧)去計算輸入和所有訓(xùn)練集中的樣本的距離,然后找出最小的那K個,我們輸入的樣本的類別就是那K個里投票和啦!
這里,我要強調(diào)的是,我不是用這種做法去說一個分類的流程,而是讓大家看到咱們傳統(tǒng)做法所需的一些東西。這里咱們在做分類的時候,所需的參數(shù)有K近鄰中的K的大小,還要選擇距離公式也就是L的選擇,這只是最少的參數(shù)選擇,要是更復(fù)雜的模型,我們所需選擇的參數(shù)就更多了。不同的參數(shù)選擇可以說對于最終的結(jié)果有著很大的影響,這也就是傳統(tǒng)的機器學(xué)習(xí)算法很頭疼的一個問題,很多東西都需要咱們不斷去嘗試。那么,深度學(xué)習(xí)一個很強大的地方就是我們并不需要設(shè)定很多這樣的超參數(shù)。
接下來,咱們再來強調(diào)下上面這張圖,說這個的目的就是咱們的這門課程可能很多同學(xué)并沒有太多機器學(xué)習(xí)和實戰(zhàn)的基礎(chǔ),需要給大家對數(shù)據(jù)集的劃分有個大致的概念。
我們在訓(xùn)練模型之前的數(shù)據(jù)準(zhǔn)備要把整個數(shù)據(jù)分成兩個大部分,一個是訓(xùn)練數(shù)據(jù),一個是測試數(shù)據(jù)。理論上來說測試數(shù)據(jù)是很寶貴的,我們只有在***的時候才能使用測試數(shù)據(jù)去評估,在訓(xùn)練的過程中決不允許出現(xiàn)測試數(shù)據(jù)。
還有,就是我們還要把訓(xùn)練數(shù)據(jù)這個大部分切分成幾個小份,比如5個小份,這么做的目的是我們還需要驗證集,驗證集的意思就是我們在訓(xùn)練模型的時候要不斷的做一個模型自測試效果的過程,比如用其中的4小份作為訓(xùn)練數(shù)據(jù),用另一小份作為驗證數(shù)據(jù)。還有一個知識點要給大家強調(diào)下,我們在實際訓(xùn)練模型的時候更多的是使用交差驗證,什么是交差呢?就是我們這次取這4個作為訓(xùn)練下次我們再取另外4個作為訓(xùn)練,這樣就可以保證咱們訓(xùn)練模型的可靠性更大!
這節(jié)課也就差不多到這里了,打了這么多字,觀眾老爺們給個笑臉吧!寫的不好的地方還望海涵。
筆記對應(yīng)課程:深度學(xué)習(xí)入門課程 第二課
唐宇迪老師簡介:
深度學(xué)習(xí)領(lǐng)域多年一線實踐研究專家,同濟大學(xué)碩士。
主要研究深度學(xué)習(xí)領(lǐng)域,計算機視覺,圖像識別。精通機器學(xué)習(xí),熱愛各種開源技術(shù)尤其是人工智能方向。在圖像識別領(lǐng)域有著豐富經(jīng)驗,實現(xiàn)過包括人臉識別,物體識別,關(guān)鍵點檢測等多種應(yīng)用的***算法。樂于鉆研,解開每一個問題,把復(fù)雜的問題簡單表達呈現(xiàn),能幫助更多的同學(xué)入門深度學(xué)習(xí)這個領(lǐng)域是我***的心愿。
【51CTO原創(chuàng)稿件,合作站點轉(zhuǎn)載請注明原文作者和出處為51CTO.com】