CNN與RNN比較與組合
CNN和RNN幾乎占據(jù)著深度學(xué)習(xí)的半壁江山,所以本文將著重講解CNN+RNN的對比,以及各種組合方式。
一、CNN與RNN對比
1. CNN卷積神經(jīng)網(wǎng)絡(luò)與RNN遞歸神經(jīng)網(wǎng)絡(luò)直觀圖
2. 相同點:
- 傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的擴展。
- 前向計算產(chǎn)生結(jié)果,反向計算模型更新。
- 每層神經(jīng)網(wǎng)絡(luò)橫向可以多個神經(jīng)元共存,縱向可以有多層神經(jīng)網(wǎng)絡(luò)連接。
3. 不同點
- CNN空間擴展,神經(jīng)元與特征卷積;RNN時間擴展,神經(jīng)元與多個時間輸出計算
- RNN可以用于描述時間上連續(xù)狀態(tài)的輸出,有記憶功能,CNN用于靜態(tài)輸出
- CNN高級100+深度,RNN深度有限
二、CNN+RNN組合方式
1. CNN 特征提取,用于RNN語句生成圖片標注。
2. RNN特征提取用于CNN內(nèi)容分類視頻分類。
3. CNN特征提取用于對話問答圖片問答。
三、具體應(yīng)用
1. 圖片標注
基本思路:
- 目標是產(chǎn)生標注的語句,是一個語句生成的任務(wù),LSTM?
- 描述的對象大量圖像信息,圖像信息表達,CNN?
CNN網(wǎng)絡(luò)中全連接層特征描述圖片,特征與LSTM輸入結(jié)合。
具體步驟:
(1) 模型設(shè)計-特征提取
全連接層特征用來描述原圖片
LSTM輸入:word+圖片特征;輸出下一word。
(2) 模型設(shè)計-數(shù)據(jù)準備
- 圖片CNN特征提取
- 圖片標注生成Word2Vect 向量
- 生成訓(xùn)練數(shù)據(jù):圖片特征+第n單詞向量:第n+1單詞向量。
(3) 模型訓(xùn)練:
- 運用遷移學(xué)習(xí),CNN特征,語句特征應(yīng)用已有模型
- 最終的輸出模型是LSTM,訓(xùn)練過程的參數(shù)設(shè)定:梯度上限(gradient clipping), 學(xué)習(xí)率調(diào)整(adaptivelearning)
- 訓(xùn)練時間很長。
(4) 模型運行:
- CNN特征提取
- CNN 特征+語句開頭,單詞逐個預(yù)測
2. 視頻行為識別 :
視頻中在發(fā) 生什么?
常用方法總結(jié):
(1) RNN用于CNN特征融合:
- CNN 特征提取
- LSTM判斷
- 多次識別結(jié)果分析。
不同的特征不同輸出。
或者:所有特征作為一個輸出。
(2) RNN用于CNN特征篩選+融合:
- 并不是所有的視頻 圖像包含確定分類信息
- RNN用于確定哪些frame 是有用的
- 對有用的圖像特征 融合。
(3) RNN用于目標檢測:
- CNN直接產(chǎn)生目標候選區(qū)
- LSTM對產(chǎn)生候選區(qū)融合(相鄰時刻位置近 似)
- 確定最終的精確位置。
(4) 多種模型綜合:應(yīng)用中,為了產(chǎn)生***結(jié)果,多采用多模型ensemble形式。