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