電通生のにこにこ調布日記

自然言語処理を学ぶ大学生のブログ

最近読んだ 強化学習 × 自然言語 論文ざっくりまとめ

自然言語処理の研究室に所属しているのですが、最近強化学習を使用した論文がたくさん出てきているのを見て少しづつ読んでいます。 それを簡単にまとめて公開し、アクセス数を見る事で研究の進捗が全然出ていないことによる不安を軽減しようと思います。 意見交換等する人が周りにおらず、間違った認識のまま論文を読んでいる可能性もあるのであくまで参考程度にしていただけたらと思います。 間違い等ありましたら、コメントなどでご教授いただければ幸いです。

自分用のメモを切りはりしてこの記事を書いたのですが、完成後に見直して見ると 結構わかりずらいことに気づきました。ご了承ください。


  1. Towards Deep Symbolic Reinforcement Learning(link)
    deep reinforcement learningはいろんな成果を出しているが、 deep learningからの欠点もまた継承していて、学習コストやデータ数等がある。 それに加えて、モデルの人間に対する不透明性等がある。 これらを解決するために、neural backendでsymbolic frontendな構造を提案している。 結果として、効率的に学習するし、人間に分かりやすい形のsymbolic rulesを獲得し 複数の簡単なgame環境において精度向上をした。

  2. Task-Oriented Query Reformulation with Reinforcement Learning(link)
    検索エンジンからの検索結果をより良いものにしようとしている論文。 検索エンジン自体はブラックボックスとして扱い、ユーザーからの検索クエリを検索結果の評価スコアを最大化するように変換する。 目的関数はREINFORCE Algorithmを使用し、ネットワークへの入力は、元のクエリとそれで一度検索かけた結果から得られた文字列を使用している。 それらの埋め込み表現をCNNで畳み込み、RNNでdecodeし新クエリとしている。

  3. An Actor-Critic Algorithm for Sequence Prediction(link)
    Actor-Criticを導入することにより、翻訳の精度を強化学習を使用してあげるときの学習の収束速度が速くなることを s2sによる機械翻訳で示している論文。 Criticの方にはground truthの翻訳文を使用して計算を行っている。 この他にも学習を安定させるための工夫が施されており、大きいaction spaceを扱うためにrareなactionに対して制約をかしたり、delayed actorを導入しactionのsamplingをおこなうagentは学習対象のものよりもweightの更新が遅いものにしていたりする。 あと他の類似論文とは違い、文章を生成し終わってから報酬を計算する方法ではreward sparseの問題があることを解決しようとしており、部分的な文字列に対してrewardを随時計算し使用することで問題を軽減しようとしている。

  4. Ask the Right Questions: Active Question Reformulation with Reinforcement Learning(link)
    QAタスク従来のシステムを学習した後に、その重みを固定する。 そこで別のNNをbackendにもつagentをuserとシステムの間に立てて、 userからのquestionのテキストをシステムの正解率を最大化するように変換するように学習している。 reformulationのモデルはone-shot learningにも応用されるような multilingualのMT modelをベースにpretrainされている。 実際にはreformulation modelはN個の新しいquestionをseq2seqで生成して、 それらすべてに対してblock-box化しているQAモデルに答えさせて、 それをbinary-classificationを解くように学習するKimのCNNベースのモデルで回答を(original question, new question, answer)のtripletから選択させている。

  5. Composite Task-Completion Dialogue Policy Learning via Hierarchical Deep Reinforcement Learning(link)
    actionの決定(発話)までのプロセスをsubtaskに切り分けてhierarchicalに定式化している。 応用しているタスクとしてはtask-completion dialogueで この方式をとることでsparse reward problemを軽減することに成功した。 さらにcoherence of the dialogue flowも改善。

  6. Language Expansion In Text-Based Games(link) N個のテキストベースのゲームを解くことのできる 単一のエージェントの学習を N個のteacherを学習し そこからつくったreply bufferからサンプリングして、studentの学習に使用した。 このpolicy distillationを行うことで安定した学習を行うことに成功した。

  7. Hybrid Code Networks: practical and efficient end-to-end dialog control with supervised and reinforcement learning(link)
    対話システムにおけるユーザーからの発話以外の情報等を 適宜埋め込んで発話の生成に役立てる手法を提案している。 domain specificな情報を使用することでデータ数が少ない中でも 安全な発話生成ができるようになっている。

  8. Semi-Supervised QA with Generative Domain-Adaptive Nets(link)
    QAタスクにおいて、文章と回答のみあるデータから 質問文を生成することで、半教師あり学習をしてデータセットが 小さくても精度を維持することに成功している。 質問文の生成にはlabelの付いているものでseq2seqをpretrainし それをさらにunlabeledデータから質問文を生成して answering modelへの入力とした時に、 最終的な精度が向上するようにreinforce algorithmを使用して質問文生成モデルを学習した。

  9. Agent-Aware Dropout DQN for Safe and Efficient On-line Dialogue Policy Learning(link)
    対話モデルのオンライン学習における、学習開始時の挙動の悪さを ruleベースのteacher agentを用意し、適宜メインのstudent agentに 変わってactionをとったりすることで軽減した。 t時点での beliefからN回 DQNからq-valueを計算し それの数え上げからmax(q)から選択したactionに対するuncertaintyを計算し 十分でなければteacherにactionを決定してもらい学習をしている。

  10. A Deep Reinforced Model for Abstractive Summarization(link)
    abstractive summarization taskにおいて、 intra-attentionとRLによる目的関数を新しく設定することで rougeスコアと、長文における生成された要約文章の可読性を上げることに成功している。 intra-attentionは主にdecoderが同じ単語を生成することを回避するための手法で、一回の生成で同じtokenに対してなんども高いattentionをかけないようにpenalizingしている。 さらにすでに生成された文字列に対してもattentionをかけるということもしている。 policy learningに関しては、rougeとmaximum-likelihoodとは相性が悪いので生成結果のcoherentを担保するためにもrougeを最大化するように報酬を設定している。 baselineと予測を一回のfeedforwardの計算で行えるように工夫もしている。

  11. Automatic Text Summarization Using Reinforcement Learning with Embedding Features(link)
    extractive summarizationタスクをDQNを使用して行った論文。 agentはrougeスコアが最も高くなるように、 入力文章から要約に最適な文章を選択することができるよう Q-functionを最適化する。 agentに対する入力としてすでに要約文として選択されている文の情報と、 candidate sentencesの情報が埋め込みベクとして渡される。 結果としてextractiveタスクにおけるbaselineとなるようなモデルはDUC データセットにおいて上回ることに成功している。 入力情報、agent内のネットワークともに比較的シンプルなものでも うまく要約することができることを言っている。

  12. Sequence Level Training with Recurrent Neural Networks(link)
    翻訳、要約等の文章生成タスクにおいて学習時と推論時の指標が異なり 学習が安定しないことを改善しようとした論文。 つまり、学習時は単語の予測問題をMSEで評価しながらおこなるが、 テスト時にはbleuやrouge等の文章全体を見た評価を行っていたのを、 学習時からbleuやrougeを行うことで差異をなくそうとしている。 実際にはいきなりRLを使用してbleu等を最大化するとaction spaceが 大きすぎて学習が困難なので、まずこれまで通りMSEでs2sを学習してから 徐々にlossをRLのものに差し替えていくというcurriculum learningを採用している。 RLに関してはRNNをagentとして、actionは各stepでの単語の選択。 stateはこれまでに生成した単語達、そして 文章生成が完了してらそれをbleu等で評価し、それをrewardとした。 これらの結果、非常に大きなaction spaceでも学習を行うことができ、 greedyに生成をして速度を向上しながら精度でもこの時点での baselineをoutperformすることに成功した。 ただrewardの設定に荒さが残るので、それの改善をfuture workとしている。

  13. Deep Reinforcement Learning for Dialogue Generation(link)
    RLを導入してs2sを制御することによって、 短絡的に条件付き確率の高い発話を返すのではなく、 長期的な見通しを立てた発話を返すモデルを作ろうとした論文。 これまでの短絡的なモデルで問題になっていた点を中心に rewardを設計しそれらを最大化するようにs2sベースのpolicyを学習することで実現しようとした。 さらに実験では二つのvirtual agentsを用意して対話のシミュレーションを 自動的に行うことで学習した。 それに加えて人間を使用した評価も行っている。 開発者が必要だと思ったrewardを設定し外的にs2sを制御することはある程度できた。 それを行うことによって、発話レベルではなく対話レベルで より良い対話を行うようにagentを学習へ促すことにも成功した。 ただ人間設計のrewardで学習の方向を定めているので本当にそれが正しいか 分からないし、agents間の対話がloopに陥ってしまう問題は やはり発生してしまっている。

  14. Deep Reinforcement Learning for Multi-Domain Dialogue Systems(link) multi domain task oriented dialogue systemタスクに対して multi domainに成ると、state, action spaceがどんどん大きくなってしまい 学習が困難になるのを回避するためにdomain特化したagentを 複数用意してnaiiveな学習器で分類器を作成し各agentに 発話を振り分けて学習している。 agentを複数用意したとこ以外にも、同義語等をまとめることでspaceの削減を頑張っている これらの手法の元、学習に必要な時間を大きく減らすことができた。