深度學(xué)習(xí)(花書)
第一章 前言
本章節(jié)描述了深度學(xué)習(xí)的發(fā)展歷史矫夯,應(yīng)用前景唧龄,發(fā)展趨勢,粗略的介紹機器學(xué)習(xí)如何有別于軟件編寫的方法-機器學(xué)習(xí)是機器自己可以獲取知識蔚润,有別于軟件中的硬編碼磅氨,深度學(xué)習(xí)的發(fā)展歷史,那些導(dǎo)致它發(fā)展遲緩對手技術(shù)嫡纠,核方法與圖模型等烦租。
第二章 線性代數(shù)
本章描述線性代數(shù)技術(shù),和本科的代數(shù)货徙,考研的代數(shù)沒有太大的區(qū)別左权, 除了一些新的概念以往沒有接觸過的,比如
- 張量痴颊,高緯矩陣
- 線性子空間赏迟,這個以前可能聽過,原始向量線性組合后所能到達(dá)的點的集合蠢棱,$Ax = b$, b就是A向量的線性子空間
- 偽逆锌杀,解方程$Ax = B$,無解的情況下求的A的左逆使得$Ax$與B的歐幾里德距離最小
第三章 概率與信息論
第四章 數(shù)值計算
通過迭代更新解的估計值,而非解析過程推倒得到解泻仙,比如函數(shù)$y=f(x)$,可以通過數(shù)學(xué)算法準(zhǔn)確地解出最小值糕再,也可以通過梯度下降的方法近似得到最小值,前者是解析解玉转,后者是數(shù)值計算
什么是多項分布突想?
上溢,下益究抓,接近0的數(shù)四舍五入為0為下益猾担,接近無窮則為上益,數(shù)值穩(wěn)定的例子:softmax
病態(tài)條件刺下,條件數(shù)表征函數(shù)相對輸入的微小變化而變化的快慢程度绑嘹,$f(x)=A^{-1}x$的解通過求矩陣A的逆得到,如果矩陣A的特征值最大值與最小值的比例(條件數(shù))特別大橘茉,對求解影響特別大
基于梯度的優(yōu)化方法工腋,優(yōu)化指的是改變x的值使得函數(shù)$f(x)$取得最大或者最小,梯度下降是沿倒數(shù)反方向逐步改變輸入
jacobian和Hessian矩陣畅卓,輸入和輸出都為向量擅腰,這時對變量求到得到的求導(dǎo)矩陣為jacobian矩陣;多維輸入輸出二階導(dǎo)數(shù)矩陣為Hessian矩陣
約束優(yōu)化髓介, 變量的范圍固定在某一些范圍內(nèi)惕鼓,比如在$L2$空間內(nèi)要求$x2$=1,轉(zhuǎn)化為($sin\theta, cos\theta$)
第五章 機器學(xué)習(xí)基礎(chǔ)
5.1 學(xué)習(xí)算法
三要素: 任務(wù)T, 性能度量P, 經(jīng)驗E
機器學(xué)習(xí)的任務(wù)定義為系統(tǒng)應(yīng)該如何處理樣本,常見的任務(wù)有分類($P(k|x)$)唐础,回歸箱歧,轉(zhuǎn)錄(語音識別)矾飞,機器翻譯,異常檢測呀邢,合成采樣洒沦;性能度量,衡量算法好壞价淌,比如圖像識別錯誤率申眼;經(jīng)驗,從樣本中學(xué)習(xí)規(guī)律蝉衣,比較重要的是那個概念
- 監(jiān)督學(xué)習(xí)括尸,提供樣本x與答案y,讓系統(tǒng)擬合樣本至y病毡,并提供泛化能力濒翻,如圖片分類,檢測
- 非監(jiān)督學(xué)習(xí)啦膜,有數(shù)據(jù)有送,但是沒有標(biāo)簽數(shù)據(jù),如聚類
- 強化學(xué)習(xí)僧家,數(shù)據(jù)來自于智能體和環(huán)境的交互反饋
5.2 容量雀摘,過擬合,欠擬合
- 過擬合八拱,模型容量太小阵赠,不能降低訓(xùn)練集的誤差,比如用一次函數(shù)擬合二次函數(shù)產(chǎn)生的樣本
- 欠擬合肌稻,模型容量太大豌注,記住了太多訓(xùn)練集的特征,泛化能力太差即測試集誤差太大灯萍,比如高次多項式擬合二次函數(shù)產(chǎn)生的樣本,點與點之間曲線會陡增每聪,但是實際曲線比較平滑
- 容量旦棉,函數(shù)逼近樣本點能力,比如一次函數(shù)只能逼近直線
- 奧卡姆剃刀原則药薯,在同樣能夠解釋已知觀測現(xiàn)象中绑洛,應(yīng)該選擇最簡單那個(挖坑,不懂)
- 沒有免費午餐定律童本, 在所有可能的數(shù)據(jù)生成分布上平均之后真屯,每一個分類算法在未觀測過的點上都有相同的錯誤率,在機器學(xué)習(xí)算法中穷娱,沒有哪個算法在各種情況下總是比別的算法更好
- 正則化(regularizer)绑蔫,中文翻譯規(guī)則化运沦,加入正則項的目的是防止過擬合,書中舉二次函數(shù)的例子配深,如果用90次多項式擬合二次函數(shù)携添,顯然會過擬合,如果江9次多項式中的3-9次的參數(shù)衰減到很小幾乎沒有篓叶,那差不多就是正確的烈掠,所以加入正則項的目的是抵消那些高次,深度學(xué)習(xí)中經(jīng)常加入$L_2$正則項缸托,因為loss函數(shù)是二次的
5.3 超參數(shù)和驗證集
- k折交叉驗證左敌,把數(shù)據(jù)集分成k份,一次選取其中的一份作為測試集俐镐,其他的作為訓(xùn)練集矫限,然后把針對該模型的k次測試誤差求平均。k折交叉用于數(shù)據(jù)集較小的時候充分利用數(shù)據(jù)
5.4 估計京革,偏差和方差
- 點估計奇唤,模型參數(shù)估計值為$\theta$,真實值為$\tilde\theta$,數(shù)據(jù)集是$x_1,x_2,,,$點估計是$\tilde\theta$,它是對$\theta$的近似,它由數(shù)據(jù)點映射而來
- 偏差$bias(\tilde{\theta})$=$Ebias(\tilde{\theta})-\theta$
- 一致性匹摇,$plim_{m\rightarrow\infty}\hat\theta_{m}=\theta$,該式表示當(dāng)數(shù)據(jù)點m趨近無窮的時候咬扇,點估計會收斂到它的真實值
5.5 最大似然估計
估計擬合函數(shù)的好壞
對$\theta$最大似然估計定義:$$arg max \sum_{i=1}{m}{log*p_{model}(x{(i)};\theta)}$$
對$\theta$條件似然估計定義:$$arg max \sum_{i=1}{m}{log*P(y{(i)}|x{(i)};\theta)}=-mlog\sigma-\frac{m}{2}log(2\pi)-\sum_{i=1}{m}\frac{|||\hat{y}i-yi||2}{2\sigma2}$$
在m個樣本上的均方誤差:$$MSE_{train}=\frac{1}{m}\sum_{i=1}{m}||\hat{y}i-yi||2$$
$p_{model}$將任意輸入映射到一個實數(shù)來估計真實值概率,所有的x都是獨立同分布的樣本點廊勃,最大似然的目的在于對所有的輸入x懈贺,其輸出接近真實值的概率之和最大,最大似然估計和均方誤差的作用差不多坡垫,都是衡量一個擬合函數(shù)的擬合效果好不好
5.6貝葉斯統(tǒng)計
最大似然估計是預(yù)先知道函數(shù)點估計梭灿,也即知道函數(shù)權(quán)重$\theta$,然后對樣本進(jìn)行預(yù)測冰悠,貝葉斯統(tǒng)計中$\theta$也是變化的堡妒,是未知的定植,貝葉斯統(tǒng)計使用$\theta$的全估計溉卓,訓(xùn)練m個樣本后的$\theta$對下一個樣本的預(yù)測由影響皮迟,$\theta$是由前m個樣本統(tǒng)計出來的(挖坑,這個地方理解的不是特別明白)
5.7監(jiān)督學(xué)習(xí)
- 監(jiān)督學(xué)習(xí)桑寨,每一個樣本都有一個label,樣本經(jīng)過系統(tǒng)$f(x)$將被用于與label對比
- 支持向量機伏尼,類似于線性回歸,支持向量機基于線性函數(shù)尉尾,分類的時候輸出類別而非邏輯回歸的概率爆阶,支持向量機使用了核技巧,將邏輯回歸中的線性函數(shù)寫成樣本點積的形式:$f(x)=b+w{-1}x=b+\sum_1mx{-1}x{i}$,(-1表示矩陣轉(zhuǎn)置,markdown不知道怎么輸入轉(zhuǎn)置)辨图,使用核函數(shù)核估計替換點積:$f(x)=b+\sum_1m\alpha_ik(x,x{(i)})$,總之支持向量機使用核函數(shù)使系統(tǒng)非線性化班套,核函數(shù)有很多,比如高斯核徒役,早起圖像檢測rcnn分類部分就使用了支持向量機嗎孽尽,支持向量機好是好,不過已經(jīng)落時了忧勿,核函數(shù)$\phi(x)$提供來一組描述x的特征
5.8無監(jiān)督學(xué)習(xí)算法
主成分分析杉女,將數(shù)據(jù)變換為元素之間彼此不相關(guān)表示,在輸入空間尋找一個旋轉(zhuǎn)鸳吸,消除數(shù)據(jù)中未知變化因素熏挎,能用來干嘛?怎么-對輸入數(shù)據(jù)作用于旋轉(zhuǎn)W得到一個新的數(shù)據(jù)晌砾?
K-meas坎拐,將特征相似的數(shù)據(jù)分類,所有數(shù)據(jù)一共聚類成K類
5.9 隨機提督下降
- 梯度下降养匈,將所有的數(shù)據(jù)一口氣全部塞入系統(tǒng)哼勇,計算慢,內(nèi)存塞不下
- 小批量隨機梯度下降呕乎,一次只使用一個樣本訓(xùn)練积担,不收斂
- 隨機梯度下降,一次計算batch-size個樣本
第六章 深度前饋神經(jīng)網(wǎng)絡(luò)
網(wǎng)絡(luò)就是由一些計算單元鏈?zhǔn)降慕M成猬仁,前者輸出為后者的輸入帝璧,最終輸出結(jié)果,計算單元的參數(shù)都可以學(xué)習(xí)
學(xué)習(xí)XOR, 異或單元
基于梯度的學(xué)習(xí)湿刽,基于梯度下降方法構(gòu)建網(wǎng)絡(luò)的烁,使用概率模型構(gòu)建代價函數(shù),介紹了輸出單元诈闺,高斯輸出分布的線性單元渴庆,sigmod單元,softmax單元
隱藏單元雅镊,神經(jīng)網(wǎng)絡(luò)的隱藏層把曼,一些計算單元,線性漓穿,非線形的,比如卷積注盈,激活函數(shù)等
架構(gòu)設(shè)計晃危,萬能近似定理高速我們,無論學(xué)習(xí)什么學(xué)習(xí)函數(shù),都可以用一個足夠大的MLP去逼近僚饭。架構(gòu)設(shè)計震叮,層與層之間是直接相連還是像resnet一樣跳躍的相連接起來
反向傳播算法,核心就是計算導(dǎo)數(shù)鳍鸵,即梯度苇瓣,大部分機器學(xué)習(xí)的例子是計算代價函數(shù)關(guān)于參數(shù)$\theta$的導(dǎo)數(shù)
第七章 深度學(xué)習(xí)中的正則化
正則化的目的在于向深度學(xué)習(xí)代價函數(shù)中添加懲罰,使原來的參數(shù)衰減
$L_2$正則偿乖,在代價函數(shù)中添加各個參數(shù)的平方項击罪,線性的縮放每個參數(shù)$w_i$,$L_2$正則能使模型感知具有較高方差的輸入數(shù)據(jù)贪薪,$L_2$:$\tilde{J}(w;X,y) = \frac{\alpha}{2}w^{\top}w + J(w;X,y)$,與之對應(yīng)的梯度為$\Delta\tilde{J}(w;X,y)=\alpha w+\Delta \tilde J(w;X,y)$ ,更新梯度的公式為$w\leftarrow (1-\alpha)w+\Delta_{w}\tilde{J}(w;X,y)$,可以看出媳禁,正則化把權(quán)重參數(shù)做了收縮,即每步更新參數(shù)之前画切,先以常數(shù)因子收縮參數(shù)竣稽,再加上之前的導(dǎo)數(shù)項
$L_1$正則化,$\sum_i|w_i|$霍弹,定義為各個參數(shù)絕對值之和
數(shù)據(jù)增強毫别,圖片翻轉(zhuǎn),平移典格,隨機剪裁岛宦,添加噪聲等使泛化能力增強的操作
噪聲魯棒性,向模型中添加噪聲本質(zhì)就是向模型添加正則項钝计,添加方差很小的噪聲能防止大的權(quán)重越學(xué)習(xí)越大的極端
多任務(wù)學(xué)習(xí)恋博,就是共享參數(shù),參數(shù)的一部分公用于多種任務(wù)
提前終止私恬,early stop债沮,提前停止訓(xùn)練,書中的第一個粗略是用現(xiàn)在的validation error和之前的對比本鸣,如果現(xiàn)在的值比之前反而大疫衩,p次出現(xiàn)這種情況就停止,認(rèn)為是出現(xiàn)過擬合
參數(shù)共享荣德,某些特征使用相同的參數(shù)闷煤,以減少模型的大小
Bagging和其他集成方法,通過綜合幾個模型得出決策結(jié)果涮瞻,比如求各個模型的平均
Dropout, droupout的具體操作是在一次訓(xùn)練中神經(jīng)網(wǎng)絡(luò)每一個單元以一定的概率置為0鲤拿,在本次訓(xùn)練中這個參數(shù)被看作是0,再執(zhí)行正向計算與反向計算署咽,這種操作等同與有很多模型近顷,然后對所有模型求平均生音,所有模型共享一份參數(shù)
對抗訓(xùn)練,有時候窒升、向數(shù)據(jù)集中加入微小的擾動缀遍,會使得計算結(jié)果錯誤率大大提高,所以對抗訓(xùn)練就是不斷向樣本加入噪聲饱须,讓系統(tǒng)認(rèn)識到這是個錯誤的樣本域醇,基本的做法是對抗樣本(加入噪聲的樣本)生成器G不斷生成樣本去欺騙判別模型D,D要識別這是假的樣本蓉媳,兩者不斷交手譬挚,最終系統(tǒng)能正確識別對抗樣本
切面距離,正切傳播督怜,流形正切分類器殴瘦,即用于監(jiān)督學(xué)習(xí)嗎,也用在了強化學(xué)習(xí)中嗎号杠,沒看懂蚪腋,挖個坑,日后來填
第八章 優(yōu)化
8.1 學(xué)習(xí)和純優(yōu)化有什么不同
- 批量梯度下降姨蟋, 使用整個訓(xùn)練集屉凯,一次性計算所有樣本中單個樣本,并行眼溶,然后參數(shù)求平均
- 隨機梯度下降悠砚,每次只使用一個樣本,一次計算一個樣本的參數(shù)堂飞,然后再訓(xùn)練好的系統(tǒng)上訓(xùn)練下一個樣本
- 小批量隨機梯度下降灌旧,使用樣本的數(shù)量介于一個與全部之間,一次計算batch-size個樣本的參數(shù)绰筛,求平均然后再計算下一個batch-size
8.2 神經(jīng)網(wǎng)絡(luò)中的挑戰(zhàn)
- 病態(tài)枢泰,隨機梯度下降會卡在某些情況下,很小的更新步長會導(dǎo)致代價函數(shù)增大铝噩,應(yīng)該是進(jìn)入局部最小值(不太懂)
- 凸函數(shù)衡蚂,就是凸函數(shù),直觀理解就是中間值大于兩邊的值
- 凸優(yōu)化骏庸,在凸集上最小化凸函數(shù)
- 局部極小值毛甲,深度學(xué)習(xí)模型的局部極小值是可以接受的,因為它的代價函數(shù)也很小具被,加入它的代價函數(shù)很大玻募,會使模型出問題
- 鞍點,高原一姿,平坦七咧,神經(jīng)網(wǎng)絡(luò)會迅速跳出鞍點改执,因為梯度下降的目的是不停的尋找梯度更低分方向,而牛頓法則會停在鞍點坑雅,因為牛頓法的目的是尋找梯度為0的地方
- 長期依賴,輸入值經(jīng)過特別深層次的神經(jīng)網(wǎng)路容易引起梯度消失或者梯度爆炸衬横,原因是梯度多次相乘會越來越小裹粤,比如線性函數(shù),參數(shù)$\theta$是一個很小的值蜂林,經(jīng)過多次的自己乘自己遥诉,差不多就沒有來,再對變量求導(dǎo)噪叙,就可以忽略不計矮锈,resnet 通過旁路連接解決這個問題
8.5 基本算法
- 隨機梯度下降,選取m個樣本,一次計算m個梯度睁蕾,求平均苞笨,然后更新神經(jīng)網(wǎng)絡(luò)參數(shù)
- 動量,將之前一步的梯度作用于當(dāng)前的梯度子眶,取得加速的效果瀑凝,比如在某個方向上,上一步與當(dāng)前梯度該方向相反臭杰,那么該方向的梯度將背衰減粤咪,而與上一個方向同方向的變量將加速
- nesterov動量,與上面動量算法唯一不同的地方在計算梯度的時候渴杆,動量法是在上一輪計算中更新過網(wǎng)絡(luò)參數(shù)后直接用于當(dāng)前批次數(shù)據(jù)的梯度計算寥枝,得到新梯度再與之前的速度矯正,nesterov算法是用之前的速度先更新網(wǎng)絡(luò)參數(shù)磁奖,在用于計算當(dāng)前批次數(shù)據(jù)
- Adagrad, 將計算出來的梯度平方累積后再用于更新網(wǎng)絡(luò)
- RMSProp囊拜,累計梯度平方,與上一個算法的不同在于累積的方式
8.6 二階近似方法
- 牛頓法点寥, 計算梯度艾疟,再計算Hessian矩陣(二階梯度),用計算的H矩陣的逆乘以梯度作為detle更新參數(shù)
- 共軛梯度法敢辩,用于解大型方程組蔽莱,介于最速下降法和牛頓法之間的一個方法,只需要一階導(dǎo)數(shù)信息戚长,
- BFGS,在牛頓法的基礎(chǔ)上的優(yōu)化盗冷,牛頓法需要計算Hessian的逆矩陣,而BFGS用近似矩陣同廉,省去了大量的計算開銷
8.7優(yōu)化策略和元算法
- batch-norm,計算一個批數(shù)據(jù)的均值仪糖,訓(xùn)練的時候樣本先減去均值柑司,這樣會使得收斂加速
- 坐標(biāo)下降,優(yōu)化函數(shù)包含多個要求解的參數(shù)锅劝,可以固定住一部分攒驰,訓(xùn)練另一部分,如此循環(huán)故爵,直到所有的都求出最優(yōu)解玻粪,書中舉例$f(x)=(x_1-x_2)2+\alpha(x_12+x_2^2)$就不適合用該方法,因為參數(shù)$x_1, x_2$之間的關(guān)系太密切诬垂,固定住一個意味著另一個就定下來了
- Polyak算法劲室,對優(yōu)化算法訪問過的參數(shù)$\theta$求均值,物理意義是结窘,如果算法在兩個山腰或者山頂之間來回走動而跨過山底部很洋,那么使用polyak算法會取得折中的山底結(jié)果
- 設(shè)計有助于優(yōu)化的模型,就是設(shè)計神經(jīng)網(wǎng)絡(luò)的堆疊次序隧枫,采用什么算子等喉磁,比如resnet使用旁路連接減少梯度消失,這不是很多研究人員等主要工作嗎
第九章 卷積神經(jīng)網(wǎng)絡(luò)
卷積神經(jīng)網(wǎng)絡(luò)啟發(fā)于哺乳動物神經(jīng)單元悠垛,輸入信息經(jīng)過神經(jīng)元一直傳輸?shù)捷敵鱿叨ǎ瑥臄?shù)學(xué)角度解釋就是輸入經(jīng)過龐大的網(wǎng)絡(luò)參數(shù)得到輸出,深度學(xué)習(xí)要干的核心的事情就是設(shè)計這個網(wǎng)絡(luò)确买,求出這一堆參數(shù)
- 卷積斤讥,熟悉神經(jīng)網(wǎng)絡(luò)計算的很快就能在腦海里構(gòu)建一副輸入被卷積核反復(fù)移動得到一組輸出,但是書中基于連續(xù)再到離散給了一堆的公式會讓人摸不著頭腦
- 動機湾趾, 之所以對輸入做卷積的動機芭商,比如做邊緣檢測,稀疏等等
- 池化搀缠,具體的操作是將某個點周圍的數(shù)據(jù)結(jié)合起來铛楣,比如做平均,取最大艺普,一般卷積簸州,激活和池化會連在一起作為一個計算單元
- 高校卷積算法, 在信號與系統(tǒng)這本書中歧譬,兩個信號的卷積元算等價于先將信號做傅立葉變換轉(zhuǎn)化到頻域岸浑,在頻域做乘法,然后從頻域轉(zhuǎn)回時域瑰步,這樣做是因為在通信領(lǐng)域系統(tǒng)能處理的是頻域的信號矢洲,而我們?nèi)四芴幚淼氖菚r域的信號
第十章 序列建模:循環(huán)和遞歸網(wǎng)絡(luò)
讀到循環(huán)網(wǎng)絡(luò),我腦海里還是李沐課程周杰倫歌詞預(yù)測里的那圖和代碼缩焦,對于一個循環(huán)神經(jīng)網(wǎng)絡(luò)單元,有三個參數(shù)(不包括偏置),目標(biāo)是輸入一個詞向量能預(yù)測下一個詞向量以能夠作詞贩汉,輸入與第一個參數(shù)作用,上一時刻隱含單元的輸出與第二個參數(shù)作用灾螃,這兩者廣播相加得到當(dāng)前時刻的隱含層輸出H,當(dāng)前時刻隱含層輸出作用于第三個參數(shù)得到結(jié)果揩徊,貼代碼:
def rnn(inputs, state, *params):
# inputs: num_steps 個尺寸為 batch_size * vocab_size 矩陣睦焕。
# H: 尺寸為 batch_size * hidden_dim 矩陣。
# outputs: num_steps 個尺寸為 batch_size * vocab_size 矩陣靴拱。
H = state
W_xh, W_hh, b_h, W_hy, b_y = params
outputs = []
for X in inputs:
H = nd.tanh(nd.dot(X, W_xh) + nd.dot(H, W_hh) + b_h)
Y = nd.dot(H, W_hy) + b_y
outputs.append(Y)
return (outputs, H)
- 雙向rnn,單向rnn是根據(jù)前面的信息推測后面的信息猾普,而雙向rnn還需要根據(jù)后面的信息推斷前面的信息袜炕,比如"今天我肚子疼,想__一天"初家,根據(jù)后面可以縮小前面可以選詞的范圍偎窘,語音識別中,不光前面的聲音輸入決定輸出溜在,后面的信息也會決定前面的一些內(nèi)容
第十一章 實踐方法論
- 準(zhǔn)確率陌知, 正類預(yù)測為正類除以正類預(yù)測為正類與負(fù)類被預(yù)測為正類之和
- 召回率, 被預(yù)測為正類的樣本除以所有正類樣本的數(shù)量
- 網(wǎng)格搜索超參掖肋, 就是遞歸仆葡,加入有m個超參,每個參數(shù)有n 個選擇志笼,那么搜索的復(fù)雜度是O$(m^n$)
- 自動搜索沿盅,基于模型的搜索
第十二章 應(yīng)用
- CPU,GPU,后者可以并行計算纫溃,比如梯度下降腰涧,每個GPU單獨計算自己的樣本的梯度,然后將梯度取平均進(jìn)行更新
- 分布式紊浩,數(shù)據(jù)并行窖铡,每個機器訓(xùn)練不同的數(shù)據(jù),得到梯度后去更新共同維護的一份參數(shù)坊谁;模型并行费彼,每個機器使用同一個數(shù)據(jù),分別負(fù)責(zé)模型的不同部分
- 對比度歸一化呜袁,對圖片取均值等操作敌买,一張圖片的平均值被移除會怎么樣?
- 數(shù)據(jù)集增強阶界,旋轉(zhuǎn)虹钮,裁剪等操作
- 語音識別聋庵,沒有接觸過,目的是將一段音頻與一段文字做映射芙粱,就像圖像一樣輸入一副圖像祭玉,輸出一個分類,輸入一段語音春畔,通過神經(jīng)網(wǎng)絡(luò)輸出一段文字脱货,由于語音前后有關(guān)聯(lián)性,需要循環(huán)神經(jīng)網(wǎng)絡(luò)處理(挖坑:語音識別為什么需要循環(huán)神經(jīng)網(wǎng)絡(luò)律姨?)
- 自然語言處理 機器翻譯振峻,作詩作詞
- 推薦,用神經(jīng)網(wǎng)絡(luò)提取想要的特征择份,比如提取音樂的特征扣孟,該特征和用戶喜歡歌曲特征做匹配
- 強化學(xué)習(xí)推薦,采取動作a獲得獎勵荣赶,采取動作$a^`$獲取另外一個獎勵凤价,每次以一定的概率采取動作以獲得最大的獎勵同時也以一定的概率向周圍動作探索以獲得更大的獎勵
第十三章 線性因子模型
- 獨立成分分析, 信號拆分成獨立的進(jìn)行分析拔创,就像信號分解一樣利诺,相同房間用不用語言說話的人可以將內(nèi)容解析成不同的語言進(jìn)行分析
- 慢性特征分析,重要特征隨時間變化緩慢
- 稀疏編碼剩燥, 推斷層h的過程和學(xué)習(xí)該層的參數(shù)
第十四章 自編碼器
就是壓縮慢逾,并且是有損壓縮,將數(shù)據(jù)變得更小灭红,降維等等氛改,用深度網(wǎng)絡(luò)自動學(xué)習(xí)壓縮算法,輸入$x$,輸出$x^`$使得兩者盡可能一樣
第十五章 表示學(xué)習(xí)
同樣的數(shù)據(jù)可以有不同的表示比伏,比如數(shù)字可以用阿拉伯?dāng)?shù)字表示也可以用羅馬數(shù)字表示胜卤,但是用羅馬數(shù)字表示的數(shù)字做除法會很蛋疼。它和深度學(xué)習(xí)的關(guān)系是赁项,比如在一個分類器中葛躏,數(shù)據(jù)從輸入到softmax層之前,都屬于數(shù)據(jù)的表示悠菜,最后才是任務(wù)階段舰攒。表示學(xué)習(xí)的目的就是要對原始數(shù)據(jù)學(xué)習(xí)到最好的表示,以方便后期任務(wù)的進(jìn)行悔醋。
- 貪心逐層無監(jiān)督預(yù)訓(xùn)練摩窃,(挖坑:不理解,如何一層一層無監(jiān)督訓(xùn)練,將數(shù)據(jù)卷積猾愿,處理鹦聪,怎么樣處理?)
- 遷移學(xué)習(xí)蒂秘,用一個已經(jīng)學(xué)習(xí)好的模型泽本,作用于另外一個任務(wù),具體的操作比如在imagenet使用resnet50訓(xùn)練好的1000類要作用于flower數(shù)據(jù)集上姻僧,那需要把訓(xùn)練好的模型最后一層fc去掉规丽,再添加一個102分類的fc作為最后的分類,這樣再在flower有標(biāo)簽數(shù)據(jù)集上訓(xùn)練
第十六章 深度學(xué)習(xí)中的結(jié)構(gòu)化概率模型
計算圖是數(shù)據(jù)輸入到輸出由一開始就定義好計算規(guī)則撇贺,數(shù)據(jù)就是正常的輸入赌莺,比如圖片,語音等松嘶,結(jié)構(gòu)化的概率模型指將計算節(jié)點的數(shù)據(jù)表示稱概率雄嚣,用于處理與概率相關(guān)的任務(wù),如接力跑問題喘蟆,誰依賴誰跑完多少時間的概率
受限玻爾茲曼機,將數(shù)據(jù)替換成二值變量鼓鲁,是0還是1的概率取決于參數(shù)w和前面相連接節(jié)點的值
第十七章 模特卡羅方法
蒙特卡羅方法等思想是用近似替代準(zhǔn)確蕴轨,用概率解代替解析解,比如算圓周率骇吭,向二維[0,1]之間均勻采樣橙弱,最后在采樣的點中,落在圓中的點除以總的點就能得到圓周率燥狰。
離散函數(shù)求和棘脐,連續(xù)函數(shù)求積分都可以表示為p*f的形式,求函數(shù)f在概率p的情況下的期望龙致,比如f(1)在1處取0的概率0.1蛀缝,取0.5點概率0.4,取1的概率0.5目代,那么它的期望就是0.1*0+0.5*0.4+1*0.5,在物理理解上就是大量撒點屈梁,并求出小于函數(shù)值的那些點
挖坑:馬爾可夫鏈蒙特卡洛方法,吉布斯采樣方法榛了,看著這一堆公式在讶,和我理解的都不太一樣
第十八章 直面配分函數(shù)
第十九章 近似推斷
變分推斷,如果隱含層分子相互獨立霜大,聯(lián)合分布可以改成各個分布乘積
$q(h|v)=\prod_i(q_i|v)$
第二十章 深度生成模型
玻爾茲曼機构哺,受限玻爾茲曼機,深度信念網(wǎng)絡(luò)战坤,深度玻爾茲曼機曙强,時值數(shù)據(jù)上的玻爾茲曼機残拐,用于結(jié)構(gòu)化或序列輸出的玻爾茲曼機
唧唧歪歪一大堆網(wǎng)絡(luò),就是輸入一些數(shù)據(jù)旗扑,輸出一堆數(shù)據(jù)蹦骑,并且已經(jīng)過時了
有向生成網(wǎng)絡(luò),應(yīng)該就是目前比較流行的卷積神經(jīng)網(wǎng)絡(luò)什么的了