Tensorflow深度學習算法整理(二)

Tensorflow深度學習算法整理

循環神經網絡

序列式問題

  • 爲什麼需要循環神經網絡

首先我們來看一下普通的神經網絡的樣子

這裏紅色部分是輸入,比如說圖像;綠色部分是網絡部分,比如說卷積部分和全連接部分;藍色部分是輸出,比如說最終得到的分類概率。這樣的網絡結構很適合做圖像的分類,圖像的檢測,這種數據都是固定的數據。如果是變長的數據,比如說文本,它的長度是不一定的,這個時候我們該怎麼做呢?

這個時候其實就需要循環神經網絡,循環神經網絡是專門用來處理序列式問題的。循環神經網絡可以解決一對多問題,如上圖所示,我們的數據集是一個輸入,但是我們要形成多個輸出,多個輸出卷積神經網絡是做不了的,它只能給出來一個輸出。一個基本的場景就是給定一張圖片,去生成一個描述,這個描述就是一個文本,文本是不定長的。我可以說這個圖片風景優美,也可以說這個圖片有一條小河,有一個孩童等等。

然後就是多對一的,多對一有一個很經典的問題就是文本分類(文本情感分析),分本分類的輸出也只有一個,但是它的輸入是不定長的。這種情況下卷積神經網絡也無法處理。如果實在要處理的話,可以讓輸入強行變的對齊,這樣纔可以處理。但是在不定長情況下,只有循環神經網絡可以做到。

然後就是多對多,多對多有一個經典的問題就是機器翻譯,比如說我知道一箇中文的句子,想把它翻譯成英文,在這個時候就需要用到循環神經網絡去解決。可以通過把中文信息都編碼到一個數據中去,再依據這個數據去生成新的英文句子。但是這種翻譯不是一種實時翻譯,實時翻譯是一個詞一個詞的翻譯。

實時多對多,如視頻解說。比如說世界盃解說,現在一般都是人力解說,但其實也可以用機器來解說,雖然用機器解說還不能達到生動有趣的效果,但是生成基本的描述是沒有問題的。視頻解說的輸入是視頻中一幀一幀的圖片,每一個輸出都是一個不定長的句子。這就達到了一個視頻解說的目的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章