本文轉(zhuǎn)載自AI部落聯(lián)盟(id:AI_Tribe) 作者:滄笙踏歌 今天更新關(guān)于常見深度學(xué)習(xí)模型適合練手的項(xiàng)目。這些項(xiàng)目大部分是我之前整理的,基本上都看過,大概倆特點(diǎn):代碼不長,一般50-200行代碼,建議先看懂然后再實(shí)現(xiàn)和優(yōu)化,我看基本上所有的實(shí)現(xiàn)都有明顯可優(yōu)化的地方;五臟俱全,雖然代碼不長,但是該有的功能都有,該包含的部分也基本都有。所以很適合練手,而且實(shí)現(xiàn)后還可保存好,以后很多任務(wù)可能就會用到。 本文包括簡介、練手項(xiàng)目和我的建議(建議最好看看這部分)。 1. 簡介本篇是深度學(xué)習(xí)最常見的 26 個(gè)模型匯總 的姐妹篇,建議先看那篇再看本篇。本篇新增了 26 個(gè)模型的練手項(xiàng)目。 2. 練手項(xiàng)目2.1 Feed forward neural networks (FF or FFNN) and perceptrons (P) 前饋神經(jīng)網(wǎng)絡(luò)和感知機(jī),信息從前(輸入)往后(輸出)流動(dòng),一般用反向傳播(BP)來訓(xùn)練。算是一種監(jiān)督學(xué)習(xí)。 對應(yīng)的代碼: 2.2 Radial basis function (RBF) 徑向基函數(shù)網(wǎng)絡(luò),是一種徑向基函數(shù)作為激活函數(shù)的FFNNs(前饋神經(jīng)網(wǎng)絡(luò))。 對應(yīng)的代碼: 2.3 Hopfield network (HN) Hopfield網(wǎng)絡(luò),是一種每個(gè)神經(jīng)元都跟其它神經(jīng)元相連接的神經(jīng)網(wǎng)絡(luò)。 對應(yīng)的代碼: 2.4 Markov chains (MC or discrete time Markov Chain, DTMC) 馬爾可夫鏈 或離散時(shí)間馬爾可夫鏈,算是BMs和HNs的雛形。 對應(yīng)的代碼: Markov chains: DTMC: 2.5 Boltzmann machines (BM) 玻爾茲曼機(jī),和Hopfield網(wǎng)絡(luò)很類似,但是:一些神經(jīng)元作為輸入神經(jīng)元,剩余的是隱藏層。 對應(yīng)的代碼: 2.6 Restricted Boltzmann machines (RBM) 受限玻爾茲曼機(jī),和玻爾茲曼機(jī)以及Hopfield網(wǎng)絡(luò)都比較類似。 對應(yīng)的代碼: 2.7 Autoencoders (AE) 自動(dòng)編碼,和FFNN有些類似,它更像是FFNN的另一種用法,而不是本質(zhì)上完全不同的另一種架構(gòu)。 對應(yīng)的代碼: 2.8 Sparse autoencoders (SAE) 稀疏自動(dòng)編碼,跟自動(dòng)編碼在某種程度比較相反。 對應(yīng)的代碼: 2.9 Variational autoencoders (VAE) 變分自動(dòng)編碼,和AE架構(gòu)相似,不同的是:輸入樣本的一個(gè)近似概率分布。這使得它跟BM、RBM更相近。 對應(yīng)的代碼: 2.10 Denoising autoencoders (DAE) 去噪自動(dòng)編碼,也是一種自編碼機(jī),它不僅需要訓(xùn)練數(shù)據(jù),還需要帶噪音的訓(xùn)練數(shù)據(jù)。 對應(yīng)對應(yīng)的代碼: 2.11 Deep belief networks (DBN) 深度信念網(wǎng)絡(luò),由多個(gè)受限玻爾茲曼機(jī)或變分自動(dòng)編碼堆砌而成。 對應(yīng)的代碼: 2.12 Convolutional neural networks (CNN or deep convolutional neural networks, DCNN) 卷積神經(jīng)網(wǎng)絡(luò),這個(gè)不解釋也都知道。 對應(yīng)的代碼: CNN: DCNN: 2.13 Deconvolutional networks (DN) 去卷積網(wǎng)絡(luò),又叫逆圖形網(wǎng)絡(luò),是一種逆向的卷積神經(jīng)網(wǎng)絡(luò)。 對應(yīng)的代碼: 2.14Deep convolutional inverse graphics networks (DCIGN) 深度卷積逆向圖網(wǎng)絡(luò),實(shí)際上是VAE,且分別用CNN、DNN來作編碼和解碼。 對應(yīng)的代碼: 2.15 Generative adversarial networks (GAN) 生成對抗網(wǎng)絡(luò),Goodfellow的封神之作,這個(gè)模型不用解釋也都知道。 對應(yīng)的代碼: 2.16 Recurrent neural networks (RNN) 循環(huán)神經(jīng)網(wǎng)絡(luò),這個(gè)更不用解釋,做語音、NLP的沒有人不知道,甚至非AI相關(guān)人員也知道。 對應(yīng)的代碼: 2.17 Long / short term memory (LSTM) 長短期記憶網(wǎng)絡(luò),RNN的變種,解決梯度消失/爆炸的問題,也不用解釋,這幾年刷爆各大頂會。 對應(yīng)的代碼: 2.18 Gated recurrent units (GRU) 門循環(huán)單元,類似LSTM的定位,算是LSTM的簡化版。 對應(yīng)的代碼: 2.19 Neural Turing machines (NTM) 神經(jīng)圖靈機(jī),LSTM的抽象,以窺探LSTM的內(nèi)部細(xì)節(jié)。具有讀取、寫入、修改狀態(tài)的能力。 對應(yīng)的代碼: 2.20 Bidirectional recurrent neural networks, bidirectional long / short term memory networks and bidirectional gated recurrent units (BiRNN, BiLSTM and BiGRU respectively) 雙向循環(huán)神經(jīng)網(wǎng)絡(luò)、雙向長短期記憶網(wǎng)絡(luò)和雙向門控循環(huán)單元,把RNN、雙向的LSTM、GRU雙向,不再只是從左到右,而是既有從左到右又有從右到左。 對應(yīng)的代碼: BiRNN: BiLSTM: BiGRU: 2.21 Deep residual networks (DRN) 深度殘差網(wǎng)絡(luò),是非常深的FFNN,它可以把信息從某一層傳至后面幾層(通常2-5層)。 對應(yīng)的代碼: 2.22 Echo state networks (ESN) 回聲狀態(tài)網(wǎng)絡(luò),是另一種不同類型的(循環(huán))網(wǎng)絡(luò)。 對應(yīng)的代碼: 2.23 Extreme learning machines (ELM) 極限學(xué)習(xí)機(jī),本質(zhì)上是隨機(jī)連接的FFNN。 對應(yīng)的代碼: 2.24 Liquid state machines (LSM) 液態(tài)機(jī),跟ESN類似,區(qū)別是用閾值激活函數(shù)取代了sigmoid激活函數(shù)。 對應(yīng)的代碼: 2.25 Support vector machines (SVM) 支持向量機(jī),入門機(jī)器學(xué)習(xí)的人都知道,不解釋。 對應(yīng)的代碼: 2.26 Kohonen networks (KN, also self organising (feature) map, SOM, SOFM) Kohonen 網(wǎng)絡(luò),也稱之為自組織(特征)映射。 對應(yīng)的代碼KN/SOM: 3. 后續(xù)建議我個(gè)人感覺能力提升最快的方式是:先橫向?qū)W習(xí)一個(gè)領(lǐng)域,做到全面的認(rèn)識;然后從頭到尾一項(xiàng)一項(xiàng)去突破,做到有深度。如果今天學(xué)點(diǎn)這個(gè),明天學(xué)點(diǎn)那個(gè),水平提升很慢,建議順著技術(shù)發(fā)展的主線從頭到尾學(xué)完。技術(shù)是無止境的,積累很重要,但有量遠(yuǎn)遠(yuǎn)不夠,還得講究方法。 對應(yīng)到本文,學(xué)會并實(shí)現(xiàn)和優(yōu)化這些模型,遠(yuǎn)遠(yuǎn)不夠。我建議還可以有如下嘗試:
|
|