矯情一下??
第一次接觸到這個課程山孔,在滿滿的儀式感中開始,記錄每一個時間節(jié)點
然而現(xiàn)實是荷憋,直播課程經(jīng)常聽錄播台颠,作業(yè)總是趕到最后才提交,視頻學(xué)習(xí)倒是每天下班都堅持勒庄,奈何在職學(xué)習(xí)串前,再加上最近看房子、搬家实蔽,時間很緊張地說荡碾。一點小遺憾,相信如果時間充裕一些局装,我會做得更好滴玩荠,未來也會繼續(xù)參加飛槳組織的課程漆腌。
學(xué)習(xí)心得
本次課程以李宏毅老師的機器學(xué)習(xí)基礎(chǔ)課程作為理論指導(dǎo),結(jié)合paddlepaddle進行同步作業(yè)實踐阶冈,對于機器學(xué)習(xí)理論理解有了進一步的加深。整個過程由淺入深塑径,從我比較熟悉的機器學(xué)習(xí)算法女坑,到CNN,RNN,再到比較陌生的GAN统舀,遷移學(xué)習(xí)等匆骗,收獲頗豐。
個人的一點建議是:如果適當(dāng)增加一點課程進度的彈性誉简,效果可能會更好碉就。因為作為一名在職學(xué)習(xí)者,每天只有下班的時間用于聽課闷串,做作業(yè)基本就利用周末的時間瓮钥,本次課程安排每天一節(jié),緊接著就是提交作業(yè)deadline,建議能留出一到兩天時間進行作業(yè)烹吵,也可以在下一個topic開始后兩天內(nèi)提交這樣子碉熄,保證能夠有充足的時間完成作業(yè)以及追求作業(yè)水平的提升。有幾次作業(yè)本可以做的更好肋拔,由于時間關(guān)系沒有進一步探索嘗試锈津。
課程開始前,補了線性代數(shù)的知識琼梆,鏈接:https://aistudio.baidu.com/aistudio/education/group/info/2063
課程回顧
learning map:
回歸
從線性回歸說起窿吩,通過梯度下降優(yōu)化模型參數(shù),不斷逼近使得損失函數(shù)最小對應(yīng)的w
主要分三步走:
choose random
;
-
重復(fù)2.
iterate many times, might meet local minimal
we want global minimal, and Linear Regression without local minimal.
作業(yè)PM2.5的預(yù)測中爆存,更深刻地認(rèn)識到當(dāng)自變量多維的情況即多個參數(shù)蛉顽,學(xué)習(xí)率不同更好先较。
推而廣之,構(gòu)建模型尋找參數(shù)的過程都可以借助梯度下降轉(zhuǎn)化為以上三步進行解決闲勺,不難進行手寫實現(xiàn)曾棕,即:
模型->loss function L(f) = L(w, b) ->find best function using Gradient Descent
線性回歸作業(yè)95分鏈接:作業(yè)1-PM2.5預(yù)測 - 百度AI Studio - 人工智能學(xué)習(xí)與實訓(xùn)社區(qū) (baidu.com)
梯度下降
圍繞梯度下降的一些tricks
trick1: 調(diào)整學(xué)習(xí)率
Eg: 自適應(yīng)梯度算法Adagrad
學(xué)習(xí)率的動態(tài)調(diào)整
trick2: Stochastic Gradient Descent
隨機梯度下降,每次迭代都是隨機選擇一個樣本計算梯度翘地,直到收斂。
批量梯度下降需要對所有樣本進行N次迭代昧穿,計算量大橙喘,時間效率低。
每一輪更新參數(shù)速度更快厅瞎,但可能會收斂到局部最優(yōu)。
Trick3:Feature Scaling
特征歸一化
不同特征的量綱不同彭雾,導(dǎo)致在特征空間以二維為例锁保,不是正圓而是橢圓。梯度下降尋找最優(yōu)參數(shù)的過程與其實位置的選取很有關(guān)系蜜托,而通過特征歸一化霉赡,使得特征空間為正圓形態(tài),不管起始位置在哪個點蜂挪,都會朝著圓心走嗓化。所以需要通過梯度下降進行求解的模型都需要對特征進行歸一化處理,例如邏輯回歸刺覆、SVM、神經(jīng)網(wǎng)絡(luò)等驳糯。而決策樹通過信息增益指導(dǎo)樹的生成氢橙,特征的量綱不同沒有影響。
分類
概率生成:基于條件概率,最大似然
邏輯回歸:是判別型模型帘睦,損失函數(shù)為交叉熵袍患。
支持向量機:泛化錯誤率低竣付,計算量少卑笨,僅和支持向量有關(guān)。
年收入判斷作業(yè)95分鏈接:作業(yè)2-年收入判斷 - 百度AI Studio - 人工智能學(xué)習(xí)與實訓(xùn)社區(qū) (baidu.com)
集成學(xué)習(xí)
深度學(xué)習(xí):
反向傳播 梯度下降 鏈?zhǔn)椒▌t
過擬合不是深度學(xué)習(xí)的主要問題,在訓(xùn)練集上的正確率可能都達不到要求隧哮。
梯度衰減解決辦法:更換激活函數(shù)ReLU, Adagrad, RMSProp, Momentum, Adam.
早停:根據(jù)驗證集來決定train早停在什么時候沮翔。
Dropout: 每次更新參數(shù)前,每個神經(jīng)元有p%被dropout采蚀,相當(dāng)于每個minibatch用新網(wǎng)絡(luò)去training,當(dāng)testing時榆鼠,no dropout, weight需要乘以(1-p)%, 為了使得testing和training比較match, E(testing)=Training,相當(dāng)于一種ensemble.
神經(jīng)網(wǎng)絡(luò)之Fat+Short VS Thin+Tall?
Deep是一種Modularization, Fat相當(dāng)于+, Tall相當(dāng)于*,效果更好纲爸。
paddlepaddle作業(yè)100分鏈接:作業(yè)-Paddle2.0基礎(chǔ)練習(xí) - 百度AI Studio - 人工智能學(xué)習(xí)與實訓(xùn)社區(qū) (baidu.com)
CNN
CNN的設(shè)計识啦,從圖像應(yīng)用出發(fā):
一個神經(jīng)元不需要看整張圖神妹,只需要尋找特定的pattern即可;
同樣的pattern出現(xiàn)再圖片中的不同區(qū)域冕茅,用于識別的神經(jīng)元可以共用參數(shù)蛹找;
subsampling不會改變pixels.
CNN與DNN對比:
用卷積層替換全連接,參數(shù)要比DNN少姜挺,比DNN結(jié)構(gòu)簡單彼硫。
針對圖片像素區(qū)域,通過卷積核對局部pattern進行操作词渤,共享參數(shù),類比DNN形象看:
隨著卷積核從左到右移動芜壁,與第二個區(qū)域進行卷積操作慧妄,如下圖所示剪芍,相同顏色線條代表相同的卷積核參數(shù),
max pooling減少模型參數(shù)數(shù)量饱普,有利于減少模型過擬合問題状共,如何反向傳播?
通過圖片可以一目了然冯袍,對于avg-pooling,對應(yīng)位置求平均:
對于max-pooling,對應(yīng)位置除最大值所在像素以外颠猴,其他位置置為0:
*圖片摘自cnn 反向傳播推導(dǎo)CNN中的反向傳播chsqi的博客-CSDN博客
反卷積
如上圖所示小染,conv之后通過padding再進行conv操作裤翩,得到右側(cè)反卷積。
cnn基本模型的構(gòu)建:圖片->convolution->max pooling->convolution->max pooling->flatten->fully connected
應(yīng)用:
圍棋踊赠、語音辨識
CNN作業(yè)90分鏈接:作業(yè)3-食物圖片分類 - 百度AI Studio - 人工智能學(xué)習(xí)與實訓(xùn)社區(qū) (baidu.com)
LSTM
lstm模型是由遺忘門筐带、輸入門、輸出們蓝晒、細(xì)胞記憶單元c, 隱狀態(tài)h所組成的rnn網(wǎng)絡(luò)。 經(jīng)典結(jié)構(gòu)圖:
然而胚嘲,對于網(wǎng)絡(luò)結(jié)構(gòu)和paddle接口參數(shù)洛二、輸入輸出的對應(yīng)關(guān)系,以及l(fā)stm和普通全連接網(wǎng)絡(luò)的聯(lián)系妓雾。
– input_size: The number of expected features in the input x(embedding后的維度)
– hidden_size: The number of features in the hidden state h(每個時間步上縱深的神經(jīng)網(wǎng)絡(luò)隱藏層如下圖ht)
– num_layers: 沿depth方向的網(wǎng)絡(luò)層數(shù)垒迂,not時間步個數(shù)
– bias
– batch_first
– dropout
– bidirectional
# 輸入
– input (seq_len, batch, input_size)
– h_0 (num_layers * num_directions, batch, hidden_size)
– c_0 (num_layers * num_directions, batch, hidden_size)
# 輸出
– output (seq_len, batch, num_directions * hidden_size)
– h_n (num_layers * num_directions, batch, hidden_size)
– c_n (num_layers * num_directions, batch, hidden_size)
下面這兩張圖有助于正確理解,對我此次學(xué)習(xí)有很大的幫助: !紅線方向為經(jīng)典lstm結(jié)構(gòu)圖的時間步方向,從綠到藍則是傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)毫缆。
這張圖可以看出輸入輸出的結(jié)構(gòu)苦丁。
應(yīng)用:
sequence to sequence: QA, chatbot, translation
RNN作業(yè)95分鏈接:作業(yè)4-語句分類 - 百度AI Studio - 人工智能學(xué)習(xí)與實訓(xùn)社區(qū) (baidu.com)
遷移學(xué)習(xí)
第一次接觸遷移學(xué)習(xí)
領(lǐng)域?qū)褂?xùn)練模型由三部分組成物臂,特征提取層,task predict層蛾狗,領(lǐng)域分類層。
將無標(biāo)簽的test data通過特征提取層提取和train data語義相似的部分使得在domain上的準(zhǔn)確率減少婴氮,進而可以使用task predict層對無標(biāo)簽test data進行預(yù)測返干,然而無法對其衡量準(zhǔn)確率,只能通過domain-adversarial model對train data分類的task準(zhǔn)確率進行衡量蔼夜。
展望
通過這次學(xué)習(xí)求冷,也認(rèn)識到電子筆記的重要性,在學(xué)習(xí)過程中習(xí)慣隨手記手寫筆記尽超,到最后時間有限梧躺,很多事情堆在一起,整理的筆記就是從手寫筆記中摘取掠哥⌒螅可能直接記錄電子筆記更好,添加相關(guān)知識點補充禁舷,進而提升電子筆記質(zhì)量牵咙。??
以上就是這一個月以來在理論方面的大致學(xué)習(xí),在此過程中渴丸,有壓力有動力另凌,也有高興與緊張,很難忘的一段經(jīng)歷土童,希望未來仍然有機會參加飛槳組織的學(xué)習(xí)活動囊卜。支持飛槳,點贊??