背景
編碼器-解碼器 的結(jié)構(gòu)效果比較好。這種結(jié)構(gòu)望蜡,把輸入序列編碼成為一個(gè) 固定長(zhǎng)度 的向量表示。這樣做對(duì)于 較短的輸入序列而言拷恨,能夠?qū)W習(xí)出對(duì)應(yīng)合理的向量表示脖律。但是,輸入序列非常長(zhǎng)時(shí)腕侄,模型難以學(xué)到合理的向量表示小泉。
1. 長(zhǎng)輸入序列帶來(lái)的問題
傳統(tǒng)使用 編碼器-解碼器 的 RNN 模型先用一些 LSTM 單元來(lái)對(duì)輸入序列進(jìn)行學(xué)習(xí)芦疏,編碼為固定長(zhǎng)度的向量表示;然后再用一些 LSTM 單元來(lái)讀取這種向量表示并解碼為輸出序列微姊。
存在的一個(gè)問題在于:輸入序列不論長(zhǎng)短都會(huì)被編碼成一個(gè)固定長(zhǎng)度的向量表示酸茴,而解碼則受限于這個(gè)固定長(zhǎng)度的向量表示。
上面的問題限制了模型的性能兢交,尤其是輸入序列比較長(zhǎng)薪捍,模型的性能變得很差。
“一個(gè)潛在的問題是配喳,采用編碼器-解碼器結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)模型需要將輸入序列中的必要信息表示為一個(gè)固定長(zhǎng)度的向量酪穿,而當(dāng)輸入序列很長(zhǎng),難以保留全部的必要信息(因?yàn)樾畔⑻啵┣绻绕涫钱?dāng)輸入序列的長(zhǎng)度比訓(xùn)練數(shù)據(jù)集中的更長(zhǎng)時(shí)被济。”
2. 使用 Attention 機(jī)制
基本思想就是涧团,打破了 傳統(tǒng)編碼器-解碼器結(jié)構(gòu) 在編解碼 時(shí)都依賴于內(nèi)部一個(gè)固定長(zhǎng)度向量的限制只磷。
Attention 的實(shí)現(xiàn)是 通過保留 LSTM 編碼器 對(duì)輸入蓄力的中間輸出結(jié)果,然后訓(xùn)練一個(gè)模型來(lái)對(duì)這些輸入進(jìn)行選擇性的學(xué)習(xí)并且在模型輸出時(shí) 將 輸出序列與之進(jìn)行關(guān)聯(lián)少欺。