摘要:舉例,神經(jīng)元,感知機(jī),神經(jīng)網(wǎng)絡(luò)行為主義智能機(jī)器人認(rèn)為人工智能源于控制論。人工智能的研究領(lǐng)域包括專家系統(tǒng)推薦系統(tǒng)等等。是一種實(shí)現(xiàn)人工智能的方法根據(jù)某些算法,通過(guò)大量數(shù)據(jù)進(jìn)行訓(xùn)練和學(xué)習(xí),然后對(duì)真實(shí)世界中的事件做出決策和預(yù)測(cè)。
1. 緒論
四大流派
符號(hào)主義(知識(shí)圖譜)
原理主要為物理符號(hào)系統(tǒng)(即符號(hào)操作系統(tǒng))假設(shè)和有限合理性原理
用數(shù)理邏輯描述智能行為, 在計(jì)算機(jī)上實(shí)現(xiàn)了邏輯演繹系統(tǒng)。
舉例,其有代表性的成果為啟發(fā)式程序LT邏輯理論家,證明了38條數(shù)學(xué)定理,表了可以應(yīng)用計(jì)算機(jī)研究人的思維多成,模擬人類智能活動(dòng)。
連接主義(神經(jīng)網(wǎng)絡(luò))
認(rèn)為人工智能源于仿生學(xué),特別是對(duì)人腦模型的研究。
舉例,MP神經(jīng)元,感知機(jī),神經(jīng)網(wǎng)絡(luò)
行為主義(智能機(jī)器人)
認(rèn)為人工智能源于控制論。早期的研究工作重點(diǎn)是模擬人在控制過(guò)程中的智能行為和作用,如對(duì)自尋優(yōu)、自適應(yīng)、自鎮(zhèn)定、自組織和自學(xué)習(xí)等控制論系統(tǒng)的研究,并進(jìn)行“控制論動(dòng)物”的研制。
舉例,智能控制和智能機(jī)器人
統(tǒng)計(jì)主義(機(jī)器學(xué)習(xí))
基于概率論與數(shù)理統(tǒng)計(jì)
舉例,貝葉斯分類器(條件概率)
AI,ML,DL的異同、關(guān)聯(lián)
知乎
AI最初的概念,是用計(jì)算機(jī)構(gòu)造與人類擁有同樣智慧的機(jī)器。
人工智能的研究領(lǐng)域包括專家系統(tǒng)、CV、NLP、推薦系統(tǒng)等等。
// AI分為弱AI和強(qiáng)AI,
// 弱 AI 讓機(jī)器通過(guò)觀察和感知, 做到一定程度的理解和推理
// 強(qiáng) AI 讓機(jī)器獲得自適應(yīng)能力, 解決沒有遇到過(guò)的問(wèn)題
// 目前的科研工作都集中在弱人工智能這部分,并很有希望在近期取得重大突破
// 電影里的人工智能多半都是在描繪強(qiáng)人工智能,而這部分在目前的現(xiàn)實(shí)世界里難以真正實(shí)現(xiàn)。
ML 是一種實(shí)現(xiàn)人工智能的方法
ML 根據(jù)某些算法,通過(guò)大量數(shù)據(jù)進(jìn)行訓(xùn)練和學(xué)習(xí),然后對(duì)真實(shí)世界中的事件做出決策和預(yù)測(cè)。
算法:決策樹、聚類、貝葉斯分類、支持向量機(jī)等等。
學(xué)習(xí)方法:監(jiān)督學(xué)習(xí)(如分類問(wèn)題)、無(wú)監(jiān)督學(xué)習(xí)(如聚類問(wèn)題)、半監(jiān)督學(xué)習(xí)、集成學(xué)習(xí)、深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。
預(yù)處理:特征工程
DL 一種實(shí)現(xiàn)機(jī)器學(xué)習(xí)的技術(shù)
DL 利用深度神經(jīng)網(wǎng)絡(luò)來(lái)進(jìn)行特征表達(dá),DL的學(xué)習(xí)過(guò)程就是DNN的訓(xùn)練過(guò)程
DNN 本身并不是一個(gè)全新的概念,可大致理解為包含多個(gè)隱含層的NN
應(yīng)用:圖像識(shí)別、語(yǔ)音識(shí)別
預(yù)處理:數(shù)據(jù)清洗
存在的問(wèn)題
深度學(xué)習(xí)模型需要大量的訓(xùn)練數(shù)據(jù),才能展現(xiàn)出神奇的效果,但現(xiàn)實(shí)生活中往往會(huì)遇到小樣本問(wèn)題,此時(shí)深度學(xué)習(xí)方法無(wú)法入手,傳統(tǒng)的機(jī)器學(xué)習(xí)方法就可以處理
有些領(lǐng)域,采用傳統(tǒng)的簡(jiǎn)單的機(jī)器學(xué)習(xí)方法,可以很好地解決了,沒必要非得用復(fù)雜的深度學(xué)習(xí)方法
深度學(xué)習(xí)的思想,來(lái)源于人腦的啟發(fā),但絕不是人腦的模擬,舉個(gè)例子,給一個(gè)三四歲的小孩看一輛自行車之后,再見到哪怕外觀完全不同的自行車,小孩也十有八九能做出那是一輛自行車的判斷,也就是說(shuō),人類的學(xué)習(xí)過(guò)程往往不需要大規(guī)模的訓(xùn)練數(shù)據(jù),而現(xiàn)在的深度學(xué)習(xí)方法顯然不是對(duì)人腦的模擬
機(jī)器學(xué)習(xí)的兩個(gè)階段
訓(xùn)練(三步曲)
define Model
定義 model
goodness of a function
定義Loss function
pick the best function
通過(guò) GD 調(diào)整參數(shù),使得損失函數(shù)達(dá)到最小值,此時(shí)的 function 就是某個(gè) Model 中的最佳function
# 所有訓(xùn)練數(shù)據(jù)用了一次 for e in epoch: # 迭代多少次 for it in iteration: GD(batchsize) update(W) # Epoch: # All sample data in the train set are used once in 1 epoch # Iteration (Batch): # # Batch-size: # The number of data in one iteration
誤差反向傳播, 與GD一起使用, 更新權(quán)值, 訓(xùn)練模型
測(cè)試
在 Dev set / Test set 上進(jìn)行測(cè)試
前向傳播, err = y - predict(x), acc = y - err, 給定輸入, 預(yù)測(cè)輸出, 計(jì)算準(zhǔn)確率
機(jī)器學(xué)習(xí)的分類(區(qū)分差異, 舉例說(shuō)明)
監(jiān)督學(xué)習(xí)
數(shù)據(jù)集帶標(biāo)簽, 即訓(xùn)練集的 y 已知, 可以計(jì)算 err = y - h(x)
舉例,線性回歸,圖像識(shí)別
非監(jiān)督學(xué)習(xí)
數(shù)據(jù)集無(wú)標(biāo)簽,y 未知,需要通過(guò)某種方法自動(dòng)組織成一個(gè)個(gè)類別
舉例,聚類算法
半監(jiān)督學(xué)習(xí)
數(shù)據(jù)集一部分有標(biāo)簽,一部分沒標(biāo)簽
強(qiáng)化學(xué)習(xí)
強(qiáng)化學(xué)習(xí)也是使用未標(biāo)記的數(shù)據(jù)。
在監(jiān)督學(xué)習(xí)中,能直接得到每個(gè)輸入的對(duì)應(yīng)的輸出。強(qiáng)化學(xué)習(xí)中,訓(xùn)練一段時(shí)間后,你才能得到一個(gè)延遲的反饋,并且只有一點(diǎn)提示說(shuō)明你是離答案越來(lái)越遠(yuǎn)還是越來(lái)越近。
游戲AI,AlphaGo,Dota,不是馬上就能得到游戲結(jié)果,但是可以在一段時(shí)間延遲后知道自己離勝利是否越來(lái)越近。
DeepMind 利用強(qiáng)化學(xué)習(xí)令游戲 AI 大幅進(jìn)步,以 AlphaGo 的成功最為典型。
遷移學(xué)習(xí)
https://blog.csdn.net/jiandan...
從源領(lǐng)域(Source Domain)學(xué)習(xí)了東西,應(yīng)用到新的目標(biāo)領(lǐng)域(Target Domain)
源領(lǐng)域和目標(biāo)領(lǐng)域之間有區(qū)別,有不同的數(shù)據(jù)分布
樣本遷移、特征遷移、模型遷移、關(guān)系遷移
訓(xùn)練數(shù)據(jù)少(容易過(guò)擬合),原先某個(gè)訓(xùn)練好的模型,部分組件可以重用,部分組件需要修改,用于新的場(chǎng)景,
類似面向?qū)ο?,可重用性,或者某個(gè)web框架可以快速搭建各種web應(yīng)用
原來(lái)識(shí)別貓,現(xiàn)在可以識(shí)別狗(四條腿的特征可以重用),或者其他動(dòng)物
訓(xùn)練真實(shí)圖片,識(shí)別卡通圖片
線性回歸
機(jī)器學(xué)習(xí)定義
機(jī)器學(xué)習(xí),對(duì)于某類任務(wù) T 和性能度量 P,模型程序可以通過(guò)經(jīng)驗(yàn) E 學(xué)習(xí)和改進(jìn),提升它在任務(wù) T 上的性能 P
T 預(yù)測(cè)
P 準(zhǔn)確率
E 訓(xùn)練集
線性回歸
Y = h(x) = WX + b
X(1) = 28x1, Y(1) = 10x1
三步曲
model, loss function, 通過(guò) GD 使 loss 最小
訓(xùn)練集上表現(xiàn)不好 ---> 欠擬合 ---> 使用更復(fù)雜的模型,使用更多特征作為輸入
訓(xùn)練集表現(xiàn)好 -> 測(cè)試集表現(xiàn)不好 --> 過(guò)擬合 ---> 正則化,增加訓(xùn)練數(shù)據(jù)
誤差來(lái)源分析
Testing Error = Bias error + Variance Error
Bias error ≈ train error = avoidable error + unavoidable error
Variance error ≈ 測(cè)試集 上的表現(xiàn)比訓(xùn)練集上差多少
= test error - train error
欠擬合:bias error 高, variance error 低
過(guò)擬合:bias error 低, variance error 高
Good:bias error 低, variance error 低
y5 = W5x^5 + ... + W1x + W0
y1 = W1x + W0, y1 是 y5 的子集
三類數(shù)據(jù)集
訓(xùn)練集:訓(xùn)練模型參數(shù)
開發(fā)/驗(yàn)證集:用于挑選超參數(shù)
測(cè)試集:用于估計(jì)泛化誤差,衡量模型性能
數(shù)據(jù)集不是特別大時(shí),使用 K-折 交叉驗(yàn)證
TODO 交叉驗(yàn)證
將數(shù)據(jù)集D劃分成k個(gè)大小相似的互斥子集,
每次用k-1個(gè)子集作為訓(xùn)練集,余下的子集做測(cè)試集,最終返回k個(gè)訓(xùn)練結(jié)果的平均值。
交叉驗(yàn)證法評(píng)估結(jié)果的穩(wěn)定性和保真性很大程度上取決于k的取值。
參數(shù),自動(dòng)學(xué)習(xí),W,b
超參數(shù),某次訓(xùn)練中不會(huì)改變的,由程序員確定
lr,正則化系數(shù),模型階數(shù),batchsize,epoch,梯度優(yōu)化算法,filter的尺寸、步長(zhǎng)
正則化
L1(θ) = L(θ) + λ[θ]1
[θ]1 = |w1| + |w2| + ... 參數(shù)絕對(duì)值之和,
作用: 特征篩選
L2(θ) = L(θ) + λ[θ]2
[θ]2 = w1^2 + w2^2 + ... 參數(shù)平方和
作用:限制模型復(fù)雜度, 避免過(guò)擬合, 提高泛化能力
Elastic, L1 + L2
L3(θ) = L(θ) + λ{(lán)ρ[θ]1 + (1-ρ)[θ]2}
加快模型訓(xùn)練
歸一化
使用不同的 GD
SGD, BGD, miniBGD, AdaGrad, RMSProp, SGDM, Adam,
TODO: 不同GD之間的比較
微調(diào)學(xué)習(xí)率lr
TODO: 自適應(yīng)變化的lr,t++, η--
分類 classification
Why not use linear regression model to solve classification?
線性回歸無(wú)法解決多分類問(wèn)題
有些問(wèn)題不是線性可分的(異或問(wèn)題)
Why use cross entropy as loss metric, not MSE (Mean Square Error)?
如果是交叉熵,距離target越遠(yuǎn),微分值就越大,就可以做到距離target越遠(yuǎn),更新參數(shù)越快。而平方誤差在距離target很遠(yuǎn)的時(shí)候,微分值非常小,會(huì)造成移動(dòng)的速度非常慢,這就是很差的效果了。
離目標(biāo)離目標(biāo)很近的時(shí)候,?L/?w 很小導(dǎo)致更新很慢。
What is Cascading logistic regression model? Why introduce this concept?
https://blog.csdn.net/soulmee...
https://cloud.tencent.com/dev...
串級(jí)聯(lián)的邏輯回歸模型可以進(jìn)行,特征轉(zhuǎn)換,解決非線性的分類,如異或問(wèn)題
邏輯回歸單元就是神經(jīng)元的基本結(jié)構(gòu),可以組成神經(jīng)網(wǎng)絡(luò)
邏輯
f(x) = σ(Σwx + b)
輸出 (0, 1)
Loss = 交叉熵
TODO: 抄公式
https://zhuanlan.zhihu.com/p/...
https://blog.csdn.net/jasonzz...
https://blog.csdn.net/panglin...
線性
f(x) = Σwx + b
輸出 任何值
Loss = 均方差
二分類(logistic回歸, y = 0 or 1)
sigmoid
多分類(softmax回歸, y = 1, 2, 3, ..., k)
softmax
對(duì)比三步曲
定義一個(gè)函數(shù)集,即網(wǎng)絡(luò)結(jié)構(gòu)的選擇
goodness of a function, 定義評(píng)價(jià)函數(shù),即損失函數(shù)的選擇
https://blog.csdn.net/soulmee...
以識(shí)別 MNIST 為例,對(duì)于一張圖片,計(jì)算交叉熵作為 loss
loss = - ln[yi], 其中 i 是正確的標(biāo)簽對(duì)應(yīng)的下標(biāo),即 ^yi = 1, 其他 ^y = 0
然后對(duì)于一個(gè)batch,計(jì)算 L = total loss = Σ loss
pick the best function, 挑選一個(gè)最好的函數(shù),即如何更新權(quán)重進(jìn)行學(xué)習(xí)
選擇使 L 最小的 function (網(wǎng)絡(luò)參數(shù)),作為最佳 function
枚舉是不現(xiàn)實(shí)的,神經(jīng)元個(gè)數(shù)太多,組合起來(lái)數(shù)量太大,需要使用梯度下降
w = w - η ?L/?w,重復(fù)這個(gè)過(guò)程,直到 ?L/?w 很小,即 w 的更新量很小
但是NN是非凸優(yōu)化的,存在局部最小值
反向傳播,用于更新模型參數(shù),
Backpropagation: an efficient way to compute ?L/?w in neural network
To compute the gradients efficiently, we use backpropagation.
forward pass: 計(jì)算 ?z/?w
backward pass 計(jì)算 ?l/?z = ?l/?a ?a/?z =
會(huì)計(jì)算梯度(偏導(dǎo))
正向傳播,用于預(yù)測(cè)輸出,計(jì)算loss
全連接
輸入層
隱藏層
輸出層
梯度消失,梯度爆炸
原因:網(wǎng)絡(luò)太深,激活函數(shù)不合適,如sigmoid
https://zhuanlan.zhihu.com/p/...
只要是sigmoid函數(shù)的神經(jīng)網(wǎng)絡(luò)都會(huì)造成梯度更新的時(shí)候極其不穩(wěn)定,產(chǎn)生梯度消失或者爆炸問(wèn)題。
靠近輸出層的單元的梯度大,學(xué)習(xí)快,會(huì)一下子收斂,認(rèn)為網(wǎng)絡(luò)已經(jīng)收斂了。而靠近輸入層的單元梯度小,學(xué)習(xí)慢,且有隨機(jī)性。這樣整個(gè)網(wǎng)絡(luò)就好像是基于隨機(jī)情況訓(xùn)練而來(lái)的。效果不好。
如果考慮將權(quán)重初始化成大一點(diǎn)的值,又可能造成梯度爆炸。
梯度爆炸和梯度消失問(wèn)題都是因?yàn)榫W(wǎng)絡(luò)太深,以及網(wǎng)絡(luò)權(quán)值更新不穩(wěn)定造成的,本質(zhì)上是因?yàn)樘荻确聪騻鞑ブ械倪B乘效應(yīng)。
解決方法,可以用新的激活函數(shù) ReLU
解決梯度消失的問(wèn)題,因?yàn)樗笥?的部分是線性的。小于0時(shí)即為0。
計(jì)算量小
https://zhuanlan.zhihu.com/p/25631496 https://zhuanlan.zhihu.com/p/33006526
欠擬合
https://zhuanlan.zhihu.com/p/...
調(diào)整網(wǎng)絡(luò)結(jié)構(gòu),增加層數(shù)、神經(jīng)元數(shù),但是越深 ≠ 越好
新的激活函數(shù)
MiniBatch and Batch Normalization, 提高訓(xùn)練速度和效果
選擇合適的損失函數(shù) loss
過(guò)擬合
Early Stopping
隨著在訓(xùn)練數(shù)據(jù)上的損失不斷減小,在驗(yàn)證集上的誤差會(huì)在達(dá)到某個(gè)最小值后反而增大,這時(shí)可以考慮提早終止網(wǎng)絡(luò)的訓(xùn)練,保留一個(gè)在訓(xùn)練集和驗(yàn)證集上效果都較好的網(wǎng)絡(luò)。
正則化
dropout, 以一定的概率丟棄部分單元,簡(jiǎn)化網(wǎng)絡(luò)。
更多數(shù)據(jù)進(jìn)行訓(xùn)練
創(chuàng)造訓(xùn)練數(shù)據(jù),比如手寫體識(shí)別,圖片角度傾斜15度又變成了新的數(shù)據(jù)
兩種特定場(chǎng)景的 NN
CNN, 卷積神經(jīng)網(wǎng)絡(luò)
圖像識(shí)別
提取出圖像的不同特征,再搭配全連接網(wǎng)絡(luò)和softmax進(jìn)行分類
圖像可以用CNN的原因
pattern具有局部性
圖像的不同區(qū)域可能會(huì)出現(xiàn)的同樣的pattern
對(duì)圖像進(jìn)行向下采樣,對(duì)整體特征的影響不大,
卷積層用到a和b兩個(gè)原因,池化層用到c原因。 同時(shí),利用這些原理可以減少計(jì)算量。 且,CNN是稀疏連接,且共享參數(shù),大大減少了計(jì)算量, CNN可以很好地進(jìn)行特征提取,再搭配全連接網(wǎng)絡(luò)和softmax進(jìn)行圖像識(shí)別(分類) 由于圖像的特征具有局部性、重復(fù)性,因此可以通過(guò)卷積核進(jìn)行特征提取 另外,降低圖像分辨率對(duì)圖像整體特征的影響較小,因此通過(guò)池化進(jìn)行向下取樣,減少計(jì)算量 綜上,對(duì)比全連接,CNN是稀疏連接,且共享參數(shù),大大減少了計(jì)算量,又有很好的識(shí)別效果 kernel/filter * stride * padding * 超參數(shù) size, padding, stride, number-of-filters TODO:結(jié)合下面的輸入輸出尺寸,實(shí)例計(jì)算尺寸,計(jì)算特征 * 輸入尺寸 輸出尺寸
TODO:CNN結(jié)構(gòu),P41
RNN, 循環(huán)神經(jīng)網(wǎng)絡(luò)
TODO,結(jié)合上次作業(yè)
什么是序列數(shù)據(jù)?舉例說(shuō)明。
有時(shí)間維度的數(shù)據(jù)稱為時(shí)間序列數(shù)據(jù)。如文本段落、語(yǔ)音輸入、視頻流、DNA序列分析等
RNN 特點(diǎn)
當(dāng)前的預(yù)測(cè)值考慮到了之前的運(yùn)行結(jié)果
即使只有一層的RNN模型仍可能出現(xiàn)梯度消失和梯度爆炸,為什么?
https://zhuanlan.zhihu.com/p/...
對(duì)RNN進(jìn)行優(yōu)化需要用到BPTT,用來(lái)表示RNN的記憶狀態(tài),權(quán)值的偏導(dǎo)中存在累乘,如果每一項(xiàng)都小于1,那么乘多了就變0了,如果每一項(xiàng)都大于1,那么乘多了又會(huì)很大,所以RNN存在梯度消失和爆炸的原因。
LSTM與一般的RNN相比,優(yōu)勢(shì)在哪。LSTM的結(jié)構(gòu)
可以避免梯度消失(無(wú)法消除梯度爆炸)
在LSTM中,也有和RNN一樣的記憶單元,叫做細(xì)胞狀態(tài)(LSTM Cell)
從上圖可以看到,LSTM的單元狀態(tài)更新公式中是一個(gè)加法而不是乘法
表示以前的記憶需要忘記多少,表示這一次的輸入需要添加多少
因?yàn)槭羌臃?,所以不容易?dǎo)致接近于0的情況。
LSTM可以保持長(zhǎng)時(shí)記憶,LSTM的記憶門可以控制記憶存放多久。不過(guò)LSTM可以保持長(zhǎng)時(shí)間記憶根本原因也是因?yàn)長(zhǎng)STM解決了梯度消失的問(wèn)題吧。
訓(xùn)練LSTM相當(dāng)于是訓(xùn)練每個(gè)block的三個(gè)門的輸入權(quán)值
對(duì)于給定問(wèn)題,能判斷出是否該使用 RNN 模型
當(dāng)輸入和輸出有一個(gè)是序列數(shù)據(jù)時(shí)使用RNN模型。
典型RNN任務(wù):語(yǔ)音識(shí)別、音樂(lè)生成、語(yǔ)義分析、機(jī)器翻譯。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/19943.html
摘要:需要注意的是用矩陣形式如行列表示二維數(shù)組,是邏輯上的概念,能形象地表示出行列關(guān)系。再次強(qiáng)調(diào)二維數(shù)組名如是指向行的。一維數(shù)組名如是指向列元素的。 哈嘍!這里是一只派大鑫,不是派大星。本著基礎(chǔ)不牢,地動(dòng)山搖的學(xué)習(xí)態(tài)度,從基礎(chǔ)的C語(yǔ)言語(yǔ)法講到算法再到更高級(jí)的語(yǔ)法及框架的學(xué)習(xí)。更好地讓同樣熱愛編...
摘要:后來(lái)知道有了院賽,學(xué)長(zhǎng)說(shuō)刷院和杭電就可,我就一直刷院,到最后比賽前院的前五十道基本做完,杭電也弄了十來(lái)道,就這樣草草參加比賽了。 博客主頁(yè): https://b...
摘要:支付寶瘋起來(lái)連自己都打的項(xiàng)目就是紅藍(lán)軍技術(shù)攻防演練,他們不僅每周進(jìn)行全棧級(jí)別的演練,每年還會(huì)舉行規(guī)模極大的期中考試和期末考試。在支付寶,藍(lán)軍從屬于螞蟻金服技術(shù)風(fēng)險(xiǎn)部,而紅軍則包括及各業(yè)務(wù)部門的技術(shù)團(tuán)隊(duì)。 摘要:?紅軍 VS 藍(lán)軍,誰(shuí)是更強(qiáng)者? ?小螞蟻說(shuō): 自古紅藍(lán)出CP,在螞蟻金服就有這樣兩支相愛相殺的隊(duì)伍——紅軍和藍(lán)軍。藍(lán)軍是進(jìn)攻方,主要職責(zé)是挖掘系統(tǒng)的弱點(diǎn)并發(fā)起真實(shí)的攻擊,俗稱...
閱讀 996·2021-11-04 16:08
閱讀 2977·2021-09-13 10:37
閱讀 507·2019-08-30 15:56
閱讀 1967·2019-08-30 15:55
閱讀 2240·2019-08-30 15:53
閱讀 2085·2019-08-30 13:13
閱讀 2924·2019-08-30 12:51
閱讀 1544·2019-08-29 16:06