《Scikit-Learn與TensorFlow機器學習實用指南》第14章 循環神經網路
來自專欄信數據得永生
來源:ApacheCN《Sklearn 與 TensorFlow 機器學習實用指南》翻譯項目
譯者:@akonwang @alexcheen @飛龍校對:@飛龍
擊球手擊出壘球,你會開始預測球的軌跡並立即開始奔跑。你追蹤著它,不斷調整你的移動步伐,最終在觀眾的一片雷鳴聲中抓到它。無論是在聽完朋友的話語還是早餐時預測咖啡的味道,你時刻在做的事就是在預測未來。在本章中,我們將討論循環神經網路 – 一類預測未來的網路(當然,是到目前為止)。它們可以分析時間序列數據,諸如股票價格,並告訴你什麼時候買入和賣出。在自動駕駛系統中,他們可以預測行車軌跡,避免發生交通意外。更一般地說,它們可在任意長度的序列上工作,而不是截止目前我們討論的只能在固定長度的輸入上工作的網路。舉個例子,它們可以把語句,文件,以及語音範本作為輸入,使得它們在諸如自動翻譯,語音到文本或者情感分析(例如,讀取電影評論並提取評論者關於該電影的感覺)的自然語言處理系統中極為有用。
更近一步,循環神經網路的預測能力使得它們具備令人驚訝的創造力。你同樣可以要求它們去預測一段旋律的下幾個音符,然後隨機選取這些音符的其中之一併演奏它。然後要求網路給出接下來最可能的音符,演奏它,如此周而復始。在你知道它之前,你的神經網路將創作一首諸如由谷歌 Magenta 工程所創造的《The one》的歌曲。類似的,循環神經網路可以生成語句,圖像標註以及更多。目前結果還不能準確得到莎士比亞或者莫扎特的作品,但誰知道幾年後他們能生成什麼呢?
在本章中,我們將看到循環神經網路背後的基本概念,他們所面臨的主要問題(換句話說,在第11章中討論的消失/爆炸的梯度),以及廣泛用於反抗這些問題的方法:LSTM 和 GRU cell(單元)。如同以往,沿著這個方式,我們將展示如何用 TensorFlow 實現循環神經網路。最終我們將看看及其翻譯系統的架構。
閱讀全文
推薦閱讀:
※tensorflow的『端到端』的字元型驗證碼識別源碼整理(github源碼分享)
※無縫整合PyTorch 0.4與Caffe2,PyTorch 1.0即將問世
※深度學習對話系統實戰篇--新版本chatbot代碼實現
※卷積的發展歷程,原理和基於 TensorFlow 的實現
※TensorFlow on a GTX 1080
TAG:深度學習DeepLearning | Python | TensorFlow |