機(jī)器學(xué)習(xí)中的一種特殊方法,使用神經(jīng)網(wǎng)絡(luò)這種結(jié)構(gòu)來描述計算過程,通過輸入海量數(shù)據(jù),計算神經(jīng)網(wǎng)絡(luò)中的各級參數(shù)。一般有如下原則:
1,交替使用線性和非線性單元,即層
2,使用鏈?zhǔn)椒▌t(誤差反向傳播)來更新網(wǎng)絡(luò)中的參數(shù)
深度學(xué)習(xí)對于機(jī)器學(xué)習(xí)的特點:
1,簡單的函數(shù)通過各級神經(jīng)網(wǎng)絡(luò)變換成復(fù)雜函數(shù),具有更強(qiáng)表達(dá)力
2,多級學(xué)習(xí)的表征學(xué)習(xí)方法,可以逐級表示越來越抽象的概念或模式
3,端到端,而普通機(jī)器學(xué)習(xí)的特征抽取和訓(xùn)練可能是分開的
4,包容非最優(yōu)解,非凸非線性的優(yōu)化的使用
softmax 函數(shù)的作用:
1,把結(jié)果歸一化,給出概率型的結(jié)果表示
2,可微,便于使用誤差反向傳播方法
激活函數(shù),為什么需要激活函數(shù)?
需要引入非線性表達(dá),不然單純的多層感知機(jī)的疊加,本質(zhì)也是單層的;即全連接層只是對數(shù)據(jù)做仿射變換(affine transformation),而多個仿射變換的疊加仍然是一個仿射變換。解決問題的一個方法是引入非線性變換。
常用激活函數(shù):relu,sigmoid,tanh
過擬合的處理方法:
1,添加懲罰項,來減小權(quán)重,降低模型復(fù)雜性
正向傳播和反向傳播
正向傳播基于當(dāng)前參數(shù)計算預(yù)測值,反向傳播基于預(yù)測值和真實值,以及各層的梯度,計算參數(shù)修正值。
以上總結(jié)自《動手學(xué)深度學(xué)習(xí)》
下面總結(jié)《白話深度學(xué)習(xí)與tensorflow》
機(jī)器學(xué)習(xí)與深度學(xué)習(xí)比較大的區(qū)別,在于傳統(tǒng)機(jī)器學(xué)習(xí)通常是需要人來提前做特征提取,把提取的特征向量化后再丟給模型訓(xùn)練,這是前置工作。而深度學(xué)習(xí)是end-to-end,端到端的學(xué)習(xí)方式,輸入的內(nèi)容做少量處理或不做處理,就可以丟給模型去訓(xùn)練,通常不需要人來做特征提取的工作,有深度學(xué)習(xí)的網(wǎng)絡(luò)模型自動完成。
神經(jīng)網(wǎng)絡(luò)分為 輸入層,隱含層,輸出層
輸入層不做任何處理,通常不計入層數(shù),隱含層有一層或多層,輸出層輸出網(wǎng)絡(luò)處理的值,可能是一個分類向量值,也可能是一個連續(xù)的值,也可能是別的形式。
TensorFlow,深度學(xué)習(xí)比較流行的庫,谷歌發(fā)布,輕量級,社區(qū)完善,容易上手,有如下優(yōu)點:
1,多環(huán)境,pc的cpu,gpu,安卓環(huán)境,支持多個cpu或者gpu并行計算
2,儀表盤和可視化
3, TensorFlow Serving,可以部署成restful接口服務(wù),高性能開源服務(wù)系統(tǒng)。
前饋神經(jīng)網(wǎng)絡(luò),最簡單最樸素的神經(jīng)網(wǎng)絡(luò),包括bp網(wǎng)絡(luò),和rbf網(wǎng)絡(luò)
牛頓法,求方程的根,即與x軸的交點的橫坐標(biāo)
損失函數(shù)特點:恒非負(fù),誤差越小函數(shù)值越小,收斂快
本質(zhì)上訓(xùn)練過程,就是通過不斷調(diào)整各個神經(jīng)元中的待定系數(shù),使得損失函數(shù)向不斷降低的方向移動。
正??梢酝ㄟ^凸優(yōu)化的方式,求出損失函數(shù)的極值。但是在生產(chǎn)環(huán)境中,神經(jīng)網(wǎng)絡(luò)可能包含著非常多的線性和非線性分類器函數(shù)組合,那么損失函數(shù)極有可能,甚至可以說幾乎一定不是凸函數(shù),而tensorflow 會用很多技巧來尋找在整個向量空間擁有極小值點的參數(shù)向量,封裝到框架里面了。
神經(jīng)網(wǎng)絡(luò),具有豐富的vc維,即強(qiáng)大的空間劃分能力。分類能力強(qiáng)大,可以學(xué)習(xí)到豐富的內(nèi)容。
但是也不是越深越好,要防止過擬合,而且如果特征沒有使得信息熵下降,是無效的。
卷積神經(jīng)網(wǎng)絡(luò):同樣是一種前饋神經(jīng)網(wǎng)絡(luò),神經(jīng)元可以響應(yīng)一部分覆蓋范圍內(nèi)的周圍單元,對大規(guī)模圖形圖像處理效率極高,降低了復(fù)雜性。
卷積神經(jīng)網(wǎng)絡(luò)的特點:
1,至少有一個卷積層,用來提取特征
2,卷積層通過權(quán)值共享的方式進(jìn)行工作,大大減少權(quán)值w 的數(shù)量,收斂速度較快
卷積的含義:固定函數(shù)和滑動函數(shù)相乘,移動中用x進(jìn)行采樣,或者說特征提取。
卷積核:用來特征提取和壓縮。卷積核輸出后,可能會跟著一個激勵函數(shù),一般都有,常用relu。
度量的是對于上一層輸入的采納或者關(guān)注程度
padding(填充):使用多個像素單位填充輸入圖像(變量)的邊界,通常填充0值,
目的是,1,保持邊界信息,使得中間的像素點信息和邊界都被同等對待,掃描多遍
2,補齊尺寸
stride就是步幅,卷積掃描的時候每次滑動的單位。一般為1。提高可以提高掃描的速度。
池化層:對于卷積feature map 的處理加了一層池化的處理,分為max pooling,mean pooling?;蛘咂渌绞?。取最大值或者平均值,功能如下:1,又進(jìn)行了一次特征提取,減少下一層數(shù)據(jù)的處理量。2,提高泛化性。3,提高輸入的微小變化容忍度。池化層非必須。
經(jīng)典卷積網(wǎng)絡(luò):vgg-16,vgg-19,googleNet
訓(xùn)練的過程,同樣是把損失函數(shù)loss 描述成各個卷積核中權(quán)重 w 的函數(shù),然后通過凸優(yōu)化找到極值點。和bp網(wǎng)絡(luò)一樣。
卷積核對輸入變量進(jìn)行特征提取的過程,是一個把高維向量映射為低維向量的過程,也是一種有損壓縮,通過量化方法取度量對于上一層輸入的敏感度??梢詫υ肼曈懈玫娜蒎e能力,泛化性更好。
工作原理更像是在記憶一個大概的印象,而不是思考或者推理。
softmax,用在輸出層的激勵函數(shù)。使用交叉熵?fù)p失函數(shù)。
交叉熵的理解:
one-hot,為何使用,避免在一個維度上有大小關(guān)系,強(qiáng)加給了關(guān)系,其實是沒有的。
常用計算方法:
1,并行計算
2,隨機(jī)梯度下降
3,梯度消失問題,初始化合適的w初值,選擇合適的激勵函數(shù)