一分钟学会神经网络3——图解深度学习原理(有这篇博客就够了)
深度學(xué)習(xí)原理概述,帶你一分鐘秒懂深度學(xué)習(xí)
- 1. 深度學(xué)習(xí)與人工智能,機(jī)器學(xué)習(xí)之間的關(guān)系
- 2. 機(jī)器學(xué)習(xí)工作原理
- 3. 深度學(xué)習(xí)工作原理
- 3.1 何為“深度”?
- 3.2 神經(jīng)網(wǎng)絡(luò)如何對數(shù)據(jù)進(jìn)行操作?或進(jìn)行怎樣的操作?
- 3.3 告訴神經(jīng)網(wǎng)絡(luò)它的輸出符不符合我們的胃口!
- 3.4 進(jìn)行"學(xué)習(xí)"
- 4. 深度學(xué)習(xí)發(fā)展現(xiàn)狀
1. 深度學(xué)習(xí)與人工智能,機(jī)器學(xué)習(xí)之間的關(guān)系
????????人工智能包含機(jī)器學(xué)習(xí),而深度學(xué)習(xí)又是機(jī)器學(xué)習(xí)的一個分支。接下來,我將循序漸進(jìn),帶大家學(xué)習(xí)和掌握深度學(xué)習(xí)的工作原理。
2. 機(jī)器學(xué)習(xí)工作原理
????????如下圖所示,在經(jīng)典的程序設(shè)計中,我們輸入的是規(guī)則(即程序)和需要處理的數(shù)據(jù),系統(tǒng)輸出的是答案(需要的結(jié)果)。而在機(jī)器學(xué)習(xí)中,我們輸入的是數(shù)據(jù)和我們希望得到的答案(也就是所說的標(biāo)簽),系統(tǒng)輸出的是規(guī)則。之后我們便可以利用這些規(guī)則應(yīng)用于新的數(shù)據(jù),然后得到我們想要的答案!
????????而為了得到我們所期望的“規(guī)則”,我們需要對機(jī)器學(xué)習(xí)系統(tǒng)進(jìn)行訓(xùn)練。換句話說就是機(jī)器學(xué)習(xí)系統(tǒng)需要從數(shù)據(jù)中進(jìn)行學(xué)習(xí)。那系統(tǒng)是怎樣進(jìn)行“學(xué)習(xí)”的呢?帶著這樣的疑問,我們來進(jìn)一步探究深度學(xué)習(xí)的原理。
3. 深度學(xué)習(xí)工作原理
????????深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個分支領(lǐng)域:它是從數(shù)據(jù)中學(xué)習(xí)表示的一種新方法,強(qiáng)調(diào)從連續(xù)的 “層”(layer) 中進(jìn)行學(xué)習(xí)。那么這里的“深度”具體該怎么理解呢?
3.1 何為“深度”?
????????“深度”指的并不是利用這種方法獲取更加深層次的理解,而是指一系列連續(xù)的層。數(shù)據(jù)模型中包含多少層,被稱為模型的深度。機(jī)器學(xué)習(xí)往往僅學(xué)習(xí)一兩層數(shù)據(jù)表示。
????????深度學(xué)習(xí)算法學(xué)到的表示是什么樣的呢?我們來看一個多層網(wǎng)絡(luò)如何對數(shù)字圖像進(jìn)行變換,以便識別圖像中所包含的數(shù)字。
3.2 神經(jīng)網(wǎng)絡(luò)如何對數(shù)據(jù)進(jìn)行操作?或進(jìn)行怎樣的操作?
????????神經(jīng)網(wǎng)絡(luò)對輸入數(shù)據(jù)的具體操作保存在該層的 “權(quán)重”(weight) 中,每層實(shí)現(xiàn)的變換由其權(quán)重來參數(shù)化。我們前面所說的學(xué)習(xí)的意思就是為神經(jīng)網(wǎng)絡(luò)的所有層找到一組權(quán)重值,使得該網(wǎng)絡(luò)能夠?qū)⑤斎肱c我們的目標(biāo)輸出一一對應(yīng)。
????????那么這就有了一個新的問題,我們怎樣告訴神經(jīng)網(wǎng)絡(luò)它的輸出是不是我們的目標(biāo)輸出?我們又該怎樣更新神經(jīng)網(wǎng)絡(luò)的參數(shù)呢?3.3 告訴神經(jīng)網(wǎng)絡(luò)它的輸出符不符合我們的胃口!
????????要想讓神經(jīng)網(wǎng)絡(luò)知道它的輸出是不是我們所期待的,我們就需要一個衡量標(biāo)準(zhǔn)來衡量該輸出與預(yù)期值之間的距離,我們也叫這個距離為損失。這是神經(jīng)網(wǎng)絡(luò)中損失函數(shù)(loss function)的任務(wù)。損失函數(shù)也叫目標(biāo)函數(shù)。
3.4 進(jìn)行"學(xué)習(xí)"
????????利用我們得到的距離值(損失)作為反饋信號來進(jìn)行參數(shù)微調(diào),以降低當(dāng)前的損失值。這個調(diào)節(jié)由優(yōu)化器(optimizer)來完成,它實(shí)現(xiàn)了所謂的反向傳播(backpropagation)算法,這也是深度學(xué)習(xí)的核心算法。
????????一開始對神經(jīng)網(wǎng)絡(luò)的權(quán)重是隨機(jī)賦值的,然后經(jīng)過不斷的訓(xùn)練循環(huán)(training loop),不斷微調(diào)權(quán)重,使得損失值越來越小,我們的精度也越來越高。這就得到了我們想要的深度學(xué)習(xí)模型~~~
這是一個簡單的機(jī)制,一旦具有足夠大的規(guī)模,將會產(chǎn)生魔法般的效果。
4. 深度學(xué)習(xí)發(fā)展現(xiàn)狀
????????目前深度學(xué)習(xí)在很多領(lǐng)域都取得了巨大的突破,并且很多領(lǐng)域都是機(jī)器學(xué)習(xí)歷史上非常困難的領(lǐng)域。
- 接近人類水平的圖像分類
- 接近人類水平的語音識別
- 接近人類水平的手寫文字轉(zhuǎn)錄
- 更好的機(jī)器翻譯
- 更好的文本到語音轉(zhuǎn)換
- 接近人類水平的自動駕駛
- …
????????希望通過本文大家可以對深度學(xué)習(xí)有一個概念,其實(shí)深度學(xué)習(xí)并不像我們所想象的那么那么那么遙遠(yuǎn)~~~。同時我也希望和大家一起在深度學(xué)習(xí)的海洋里徜徉,分享更多有趣的模型。同時也希望大家可以多多關(guān)注我,讓我們一起進(jìn)步,加油加油!!!
給大家安利一本賊好的書《Deep learning with python》~~~
總結(jié)
以上是生活随笔為你收集整理的一分钟学会神经网络3——图解深度学习原理(有这篇博客就够了)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Taro+react开发(60) 第三方
- 下一篇: 【个人笔记】图解深度学习