【深度學(xué)習(xí)保姆級教學(xué)】草履蟲都能看懂!理論到實(shí)戰(zhàn)、入門到起飛!人工智能基礎(chǔ)入門必

理論部分完結(jié)版全集筆記!包含網(wǎng)址,重要課件截屏,理解,精華彈幕。
為什么所有筆記都是前三課??讓我來續(xù)寫??

一般只玩小數(shù)據(jù)集,因?yàn)榕渲谩?/p>

k近鄰做圖形分類的缺點(diǎn):不知道什么是背景,什么是主體。
接下來神經(jīng)網(wǎng)絡(luò)的各個(gè)小部分:


一張圖像中有3072個(gè)像素點(diǎn),不同位置像素點(diǎn)的重要程度不同,所以每一個(gè)像素點(diǎn)對應(yīng)一個(gè)權(quán)重,x就是像素矩陣,w就是權(quán)重矩陣,矩陣相乘得到一個(gè)數(shù)字。不同的類別,對于不同位置的像素重要程度也不同,所以每一個(gè)類別有一個(gè)權(quán)重矩陣。分別相乘,即可得到對應(yīng)每一個(gè)類別的一個(gè)得分。把不同類的權(quán)重矩陣合在一起得到W矩陣。f即為這張圖像對應(yīng)多個(gè)類別的得分。b偏置參數(shù)起到微調(diào)的作用,對不同類別進(jìn)行微調(diào)。
W最開始的時(shí)候是隨機(jī)數(shù),然后深度學(xué)習(xí)要做的就是找到最合適的W.

損失函數(shù)就是用來描述當(dāng)前W值進(jìn)行分類,結(jié)果的好壞程度,可以定義不同的損失函數(shù)。比如上圖這個(gè)損失函數(shù),圖中加1是為了有區(qū)分度,比如一張貓貓圖,分類結(jié)果的得分車3.18 貓3.2雖然分對了,但其實(shí)說明分的不是很好(類似于選擇題糾結(jié)之后選對),所以損失函數(shù)應(yīng)該表現(xiàn)出這種不好,而不是因?yàn)椋?而表現(xiàn)不出來。損失函數(shù)越大,表示分類效果越不好。
損失值相同的情況下,如何判斷模型的優(yōu)良?

上圖中,第二個(gè)更好,因?yàn)榈谝粋€(gè)只考慮了局部,會導(dǎo)致過擬合
加入正則化懲罰項(xiàng):只考慮w矩陣的數(shù)值,不考慮數(shù)據(jù)。

“λ”是一個(gè)懲罰系數(shù)。
如何將得分值,變?yōu)楦怕手担?/p>
softmax分類器:

為什么要用e的x次呢?將差距擴(kuò)大,比如上圖的3.2和5.1之間的差距較小,但是經(jīng)過e的x次后,兩者的差距將變大
得到概率值后如何得到損失值?
只看正確分類的概率p,-log(p)

如何根據(jù)損失值來反向更新w
多層:eg:背景不重要-->看胡須-->看眼睛


梯度下降---非常生動具體的例子:
鏈?zhǔn)椒▌t,梯度是一步一步傳的。

逐層之間求導(dǎo):求出一層導(dǎo)函數(shù),把自變量代入,乘以上層傳下來的梯度
可以整體一大塊兒計(jì)算

技巧


這個(gè)老師建議不用看生物學(xué)的類比部分

上圖是一張?zhí)貏e特別重要的圖:
hidden layer1: 將較少的三個(gè)特征,轉(zhuǎn)化為較多個(gè)特征(這個(gè)中間結(jié)果,對人類無意義,對計(jì)算機(jī)相對有意義)
層與層之間的箭頭,就是我們所學(xué)的w

上圖指明了矩陣的維度
能否將多層化為一層,將權(quán)重矩陣乘在一起?
不能,因?yàn)槊恳粚雍蠖紩靡淮畏蔷€性函數(shù)

神經(jīng)網(wǎng)絡(luò)的參數(shù)越多越好嗎?
神經(jīng)元個(gè)數(shù)越多越好嗎?
越多越慢越容易過擬合
網(wǎng)址:hthttp://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html
神經(jīng)元的個(gè)數(shù),就像切刀次數(shù),
一神經(jīng)元(切一刀):

兩神經(jīng)元(切兩刀):

三神經(jīng)元(切三刀):

過擬合現(xiàn)象:比如下圖圈主的綠色,更可能是異常點(diǎn),本應(yīng)是紅色。

每加一個(gè)神經(jīng)元,其實(shí)都是增加了一組神經(jīng)元(比如每一個(gè)像素點(diǎn)都要對應(yīng)一個(gè)參數(shù))
懲罰力度對分類的影響:
力度下,容易過擬合,某些w過高

力度大,
評價(jià)神經(jīng)網(wǎng)絡(luò)的好壞:看測試集,而不是訓(xùn)練集。

參數(shù)個(gè)數(shù)對結(jié)果的影響:

激活函數(shù)對比:

sigmod的缺點(diǎn):
靠兩邊時(shí)候,梯度約等于0,梯度消失,無法傳遞
ReLu:現(xiàn)在最常用的,
數(shù)據(jù)預(yù)處理:
標(biāo)準(zhǔn)化:

參數(shù)初始化:
也很重要?。矩陣的隨機(jī)值賦值方式
注意初始化時(shí)候,w的值應(yīng)該較小

過擬合問題的緩解:
正則化
drop-out:
互相傷害。

妙哉,隨機(jī)選擇(可以設(shè)定選擇的比例,比如50%)幾個(gè)神經(jīng)元不去迭代
測試階段就是正常測試,不存在殺死。
-------------------------------------------------------
總結(jié),首先有x然后預(yù)處理,得到輸入層,通過隨機(jī)初始化的權(quán)重參數(shù)矩陣w,得到隱藏層,可以有很多層隱藏層,每層隱藏層后需要一個(gè)激活函數(shù)(常用relu).
得到輸出后,求出損失值,前向傳播,逐層求偏導(dǎo)(relu也需要)得到新的w。
百分之99的神經(jīng)網(wǎng)絡(luò)都會過擬合,對此有很多解決方案,比如:drop-out,正則化
計(jì)算機(jī)視覺
神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)
超分辨率重構(gòu)
醫(yī)學(xué)任務(wù)
ocr
無人駕駛
人臉識別
的簡單介紹
與傳統(tǒng)網(wǎng)絡(luò)的區(qū)別,維度

整體架構(gòu)


綠色的叫特征圖feature map,藍(lán)色的小數(shù)是w(f即卷積核)
三個(gè)通道分別計(jì)算后相加得到結(jié)果
生動的例子:
卷積核filter
內(nèi)積

各個(gè)通道內(nèi)積,三通道加起來
紅色和粉色分別對應(yīng)f1,f2,綠色表示對應(yīng)的兩種特征圖,每一個(gè)綠色格子,表示經(jīng)過移動后算出的一個(gè)數(shù)字。

f可以有多個(gè),f1,f2,f3...得到對應(yīng)的多個(gè)feature-map(類似通道,下一步卷積時(shí)候就要加上).多個(gè)f維度大小必須是相同的

填充多少圈?填充為什么數(shù)值
卷積核個(gè)數(shù):取決于需要多少特征圖

參數(shù)過多怎么辦?
參數(shù)共享:
區(qū)域不隨 圖片區(qū)域位置變化

池化層(做壓縮或下采樣):

maxpooling最大池化

為什么取最大值?最大值意味著更重要
還有平均池化(效果不好,不常用)

如何從層得到預(yù)測結(jié)果
將得到的多維特征圖,拉成一個(gè)超長的特征向量,因?yàn)檫B接層,只能處理一維的
什么才能稱為一層?
帶有參數(shù)計(jì)算的,relu不算,池化不算。全連接層算

層數(shù)越多未必越好
解決方案:Resnet
同等映射,表現(xiàn)不好的層,我就不用他,權(quán)重設(shè)為0,將上一層同等映射給下一層.
保底的思想

自己用神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí),直接用經(jīng)典網(wǎng)絡(luò)!因?yàn)樽约捍罱ㄒ粋€(gè)好的網(wǎng)絡(luò)結(jié)構(gòu)可能需要一年時(shí)間。妙哉
感受野,就是當(dāng)前層能感受到的上一層的范圍
越大越好

遞歸神經(jīng)網(wǎng)絡(luò)
時(shí)間序列,如何考慮到時(shí)間的因素

隱藏層:x2輸入的時(shí)候,x1的中間結(jié)果會一起參與計(jì)算。x3輸入的時(shí)候,就會和x1,x2一起
rnn用于語言處理NLP
使用word2rec 將單詞轉(zhuǎn)換為向量

rnn的問題:第一萬個(gè)數(shù)據(jù)會考慮前9999個(gè)結(jié)果,可能會產(chǎn)生誤差,比如說第一萬句時(shí)候,第一句可能沒什么關(guān)聯(lián)。解決方案:健忘




word2rec:要考慮順序和位置,近義詞表示同樣的含義
詞向量空間:一般為50維到300維,不確定的時(shí)候,推薦使用300維
有了向量,就可以計(jì)算相似度

詞-->語料庫大表(存儲了每個(gè)詞對應(yīng)語料庫維度的各個(gè)參數(shù),最初是隨機(jī)的)-->詞向量-->輸出-->更新語料庫大表,和權(quán)重參數(shù)
數(shù)據(jù)從哪里來?隨便!
如何構(gòu)建訓(xùn)練數(shù)據(jù)? 滑動窗口
cbow:輸入上下文,輸出中間部分

skipgram:輸入中間詞,預(yù)測上下文
工具包:gensim
詞庫中有5w個(gè)詞語的話,就是五萬類分類。太大了,如何改進(jìn)?
- 原來是A預(yù)測B,現(xiàn)在是A,B輸入,預(yù)測可能性的大小,即成為了兩分類問題。從而去更新網(wǎng)絡(luò)。兩分類問題的數(shù)據(jù)集,不能都是1,否則導(dǎo)致過擬合,應(yīng)該引入0
引入0,稱為負(fù)樣本(負(fù)采樣模型)
多少個(gè)合適呢?一般推薦5個(gè)

這部分word2rec著實(shí)沒太理解:咋就成二分類問題了??只是訓(xùn)練能夠使用二分類來訓(xùn)練,那預(yù)測的時(shí)候呢,不還是得找到詞庫中每個(gè)詞語??(麻煩大佬評論告知)
要用keras貌似用tensorflow才是大勢所趨。學(xué)別的教程去啦