BeamSearch

#NaturalLanguageGeneration #Pocket #NLP
Issue Date: 2023-08-16 Momentum Calibration for Text Generation, Xingxing Zhang+, N_A, arXiv'22 Summary本研究では、テキスト生成タスクにおいてMoCa(Momentum Calibration)という手法を提案しています。MoCaは、ビームサーチを用いた遅く進化するサンプルを動的に生成し、これらのサンプルのモデルスコアを実際の品質に合わせるように学習します。実験結果は、MoCaが強力な事前学習済みTransformerを改善し、最先端の結果を達成していることを示しています。 #DocumentSummarization #NaturalLanguageGeneration #Pocket #NLP #ACL
Issue Date: 2023-08-16 BRIO: Bringing Order to Abstractive Summarization, Yixin Liu+, N_A, ACL'22 Summary従来の抽象的要約モデルでは、最尤推定を使用して訓練されていましたが、この方法では複数の候補要約を比較する際に性能が低下する可能性があります。そこで、非確定論的な分布を仮定し、候補要約の品質に応じて確率を割り当てる新しい訓練パラダイムを提案しました。この手法により、CNN/DailyMailとXSumのデータセットで最高の結果を達成しました。さらに、モデルが候補要約の品質とより相関のある確率を推定できることも示されました。 Commentビーム内のトップがROUGEを最大化しているとは限らなかったため、ROUGEが最大となるような要約を選択するようにしたら性能爆上げしましたという研究。
実質現在のSoTA
#NeuralNetwork #NLP #EMNLP
Issue Date: 2017-12-30 Sequence-to-Sequence Learning as Beam-Search Optimization, Wiseman+, EMNLP'16 Commentseq2seqを学習する際には、gold-history(これまで生成した単語がgoldなものと一緒)を使用し、次に続く単語の尤度を最大化するように学習するが、これには、



1. Explosure Bias: test時ではtraining時と違いgold historyを使えないし、training時には過去に生成した単語に誤りがあるみたいな状況がない

2. Loss-Evaluation Mismatch: training時は単語レベルのlossを使うが、だいたいはsentence-levelのmetrics (BLEUなど)を改善したい

3. Label Bias: 各タイムステップでの単語の生起確率が局所的に正規化され、誤ったhistoryに続く単語がgoldな履歴に続く単語と同じ量(の確率?)を受け取ってしまう



これらを解決するために、targetの"sequence"に対してスコア(確率ではない)を与えるようなseq2seqモデルを提案し、訓練方法として、beam search optimization(training時のlossとしてbeam searchの結果得られるerrorを用いる)を提案。

#Article #Tutorial #Blog Issue Date: 2021-06-24 beam search解説 _ コード付き, jonki, 2020.05 Commentビームサーチについて、コード付きで説明してくれており、大変わかりやすい。

heapqを使って実装している。また、ビームサーチをbatchに対して行う方法についても書いてある(ただ、一部に対してしかbatchでの処理は適用できていない)。

自分もバッチに対して効率的にビームサーチするにはどのように実装すれば良いのかよくわからないので、誰か教えて欲しい。