美文网首页
[監督式]seq2seq

[監督式]seq2seq

作者: RJ阿杰 | 来源:发表于2019-05-12 17:36 被阅读0次

預備知識RNN、LSTM
之前花了一些時間讀了seq2seq+attention,發現沒做筆記過一陣子真的很容易忘,特地重新再讀過一遍做了下筆記。

seq2seq

seq2seq架構
seq2seq一些變形

seq2seq有個明顯的缺點,不容易並行化,所以難以運用GPU的運算能力,因為我們使用非定長的sequence。
decoder的訊息只有經過sequence後的hidden state容易遺忘前面sequence的訊息的問題,且在decoder sequence傳遞中也會遺忘訊息,所以我們將經過sequence後的hidden state作為每個sequence的input,重複複習。

teacher forcing

teacher forcing就是將原先decoder的當前sequence的input為上一個sequence的output,改為上一個sequence的正解而不是預測的word。

attention
  1. attention架構可以自行調整,主要精隨就是改進原先seq2seq的encoder輸入給decoder的訊息只有經過sequence後的hidden state容易遺忘前面sequence的訊息的問題,且在decoder sequence傳遞中也會遺忘訊息,而如果直接以所有的encoder sequence的hidden state作為輸入包含太多不重要的訊息,造成模型不好訓練。
  2. 所以我們就有一個想法,如果能有一組能夠對應每個encoder word(ex.[I,am,a,student]這組input)的hidden state對當前decoder word(ex.Je這個input)的重要程度的vector我們稱\alpha
    然後我們將它與每個對應的encoder word的hidden state相乘後做疊加後我們稱為c,c相當於從前面的記憶個各取一點出來做融合(重要的部分取多,不重要的部分取少)。
    我們以這個c作為當前decoder word的輸入或以c在與decoder word(ex.Je這個input)一起作為輸入,這邊c如何做輸入可以自行調整架構。
    數學表達式為:c = \Sigma_{i=1}^{n1} \alpha_{i} h_{i} = H \alpha
    \alpha \ shape=(RNN \_ layer \_ num,n1) ,H \ shape = (n1,RNN \_ layer \_ num,hidden \_ size)

參數說明:
n1為encoder的sequence長度、n2為decoder的sequence長度
每個encoder word的hidden state我們標記為H=(h_1、h_2....h_{n1}),當前時刻的hidden state為h_t
每個decoder word的hidden state我們標記為S=(s_1、s_2....s_{n2}),當前時刻的hidden state為s_t
encoder word為(e_1,e_2,e_3...e_{n1}),當前時刻為e_t
decoder word為(d_1,d_2,d_3...d_{n2}),當前時刻為d_t

  1. 而這組\alpha是由model學出來的,怎麼學架構也是可以自行調整的,例如我們將[d_t]與[H的flatten]串接在一起得經過1層affine(linear layer)+softmax得到一組長度為n1的vector作為\alpha,也可以用[s_{t-1}]與[H的flatten]。

參考:
詳細圖解RNN及其他變形
attention可以參考李宏毅老師的課程
Attention机制详解(一)
Attention机制详解(二)

相关文章

  • [監督式]seq2seq

    預備知識RNN、LSTM之前花了一些時間讀了seq2seq+attention,發現沒做筆記過一陣子真的很容易忘,...

  • [監督式、非監督]KNN、K-mean

    KNN(K Nearest Neighbor) k鄰近算法可以算是一種監督式學習算法,從部分已知的資料來推測未知的...

  • [監督式]GradientDescent介绍

    以Gradient Descent做回归分析,假设一个监督式学习的预测房价例子:以下X为特征参数(feature)...

  • [監督式]分類

    從上篇GradientDescent延伸,這次要處理的是分類問題,從數據特徵中推斷是屬於哪一類別的標籤,例如:從身...

  • [監督式]Ensemble learning

    Ensemble learning(集成學習) 做法假設我們有多個模型(假設3個),每個模型準確率都大於50%(假...

  • 朋友,說好的日更呢

    那天朋友說,決定日更請監督。而我回覆說,寫就對了,無需監督。因為我也知道,鞭長莫及。監督有用嗎?並沒有。 這是第二...

  • [監督式]PLA(Perceptron Learning Alg

    架構圖 為群體參數,為一個函數輸入得到 (資料)為由群體取出的樣本參數加上雜訊,為一個函數,輸入得到(預測) 為推...

  • [監督式]SVM(Support Vector Machines

    SVM(Support Vector Machines) 建議可以先讀PLA(感知器) 這邊與PLA不同的是,我們...

  • [監督式]Deep learning(深度學習)

    Deep learning Neural Network 每一層都可以使用不同的,sigmoid、ReLU、lea...

  • [監督式]NLP基礎-RNN、LSTM

    RNN RNN常用來處理序列數據,例如我們有10年每月的天氣紀錄要來預測作物收成,我們必須要知道是否有持續好幾天的...

网友评论

      本文标题:[監督式]seq2seq

      本文链接:https://www.haomeiwen.com/subject/nuuboqtx.html