一组图诠释CNN及RNN的区别
CNN和RNN是深度學(xué)習(xí)中運用最多的兩種深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu),可能有些同學(xué)還不太清楚這兩種網(wǎng)絡(luò)的區(qū)別,今天剛好看到了一張圖可以比較清楚的解釋CNN及RNN的區(qū)別。??
首先,CNN對于輸入數(shù)據(jù)的維度約束是比較嚴重的,比如用CNN訓(xùn)練一個圖像識別的model,訓(xùn)練的圖片像素是48*48的,那么在預(yù)測的時候,也需要把所有的預(yù)測圖片轉(zhuǎn)成48*48。這個約束在圖像識別方面可能表現(xiàn)的并不是那么明顯,人們可以說:大不了預(yù)測的時候我做個圖片大小轉(zhuǎn)換不就得了?我們再思考另一個場景,比如用CNN去做一個智能問答系統(tǒng),CNN會需要所有的問答數(shù)據(jù)都是固定的長度,這就很可怕了,這種模型會讓問答變成對對子,必須每句話長短固定。而RNN沒有這種約束。
另外,RNN更多的考慮了神經(jīng)元之間的聯(lián)系,比如我們訓(xùn)練一個翻譯系統(tǒng),那么對于一個短語的翻譯一定要考慮前因后果,這就需要模型對于數(shù)據(jù)輸入的前后因素都要考慮,CNN并不具備這樣的特點。
現(xiàn)在再用一張圖表示CNN和RNN的具體應(yīng)用:
one to one:表示的是CNN網(wǎng)絡(luò)的場景,從固定的輸入到固定的輸出
one to many:RNN的場景,序列輸出,有點像看圖說話,例如固定了輸入的圖片,然后輸出一段序列描述這個圖的意義
many to one:RNN的場景,序列輸入,比如我們做語義情感分析,輸入一串不定長度的話,返回情緒
many to many:RNN的場景,常見的sequence to sequence,比如之前的一個文章到的,通過周杰倫的歌詞數(shù)據(jù),模仿寫出一首周杰倫風(fēng)格的歌詞,這種場景的輸入和輸出的長度都是不定的。
作者微信公眾號:凡人機器學(xué)習(xí)
總結(jié)
以上是生活随笔為你收集整理的一组图诠释CNN及RNN的区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《机器学习实践应用》书中源代码
- 下一篇: TensorFlow Lite+Andr