beam-search及其torch实现
生活随笔
收集整理的這篇文章主要介紹了
beam-search及其torch实现
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
注: 來源于cs224n2019-a4作業(yè)代碼
NG視頻介紹
我的另一篇博客
beam-search為一種解碼算法,應(yīng)用于test部分,在train中不使用因?yàn)閠rain都會有一個(gè)正確答案,并不需要特地的去選擇。思想~~最短路徑,一定要理解它與維特比算法以及greedysearch之間的區(qū)別,這里不多敘述。
流程
以【seq2seq-attention】為例,beam-size= 3,輸入X首先通過encoder部分形成decoder的初始狀態(tài)(decoder-init-state),decoder還需要初始輸入’(start)’,然后從輸出中選擇3個(gè)概率最高的詞,放入候選列表中,這三個(gè)詞作為下一輪decoder的輸入,每個(gè)詞生成另外3個(gè)概率最高的詞(**也就是說第二輪decoder將生成9個(gè)詞),從這些詞中再次選擇概率最高的三個(gè)詞,以此類推,直至出現(xiàn)‘(end)’或者達(dá)到最大解碼次數(shù)為止
代碼
https://github.com/pcyin/pytorch_basic_nmt/blob/master/nmt.py
總結(jié)
以上是生活随笔為你收集整理的beam-search及其torch实现的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。