1. 程式人生 > >RNN系列之三 RNN簡單應用

RNN系列之三 RNN簡單應用

1.語言模型

    將以語言模型進行分析。建立語言模型所採用的訓練集是一個大型的語料庫(Corpus)。建立過程中,需要先建立一個字典,之後將語料庫中每個詞表示為對應的one-hot向量。此外需要額外定義一個標記EOS(End Of Sentence)表示一個句子的結尾,也可以將其中的標點符號加入字典後也用one=hot向量表示。對於語料庫中部分(英語)人名、地名等特殊的不包含在字典中的詞彙,可在詞典中加入再用一個UNK(Unique Token)標記來表示。以讓RNN學習生成新的同風格語言為例。

2.訓練過程

    將標誌化後的訓練集輸入網路中,如下圖所示:

    

                                                                                 --來源http://binweber.top/2018/02/20/deep_learning_9/

損失函式為:

    

3.測試過程

    對一個以訓練好的模型,需要通過取樣來了解模型學到的東西。

                                                                                                              ---來源Andrew Ng深度學習課件

第一個時間步中輸入的a0x1為零向量,依據softmax預測出的字典中每一個詞作為第一個詞出現的概率,選取一個詞ŷ 1作為第二個時間步的輸入。後面與此類似。