対話タスクへの、対照学習の応用
はじめに
こんばんは。今回は、次の論文「Contrastive Learning Reduces Hallucination in Conversations」についての記事です。
https://arxiv.org/abs/2212.10400
※本記事にある画像は、当論文より引用しています。
これまでに書いた記事に比べると、今回の記事は全体的に概要寄りの話が中心です。詳細面にはあまり深入りしていませんのでご了承ください。
前置き
hallucination
hallucination自体は、「幻覚」という意味の英単語です。
自然言語処理におけるhallucinationとは、生成系言語タスクにおいて、不正確な記述が生成されてしまうことです。ここでいう生成系言語タスクは、機械翻訳、文書要約、対話などのように、新たに文章を生成するタスクの事です。
生成系言語タスクにおいて、hallucinationは大きな課題となっています。今回の論文による提案手法は、そのhallucinationの対策の1つです。
hallucinationについて、詳しくは例えばこちらのサーベイ論文が参考になると思います。
https://arxiv.org/abs/2202.03629
ちなみに、hallucinationには、intrinsic hallucinationとextrinsic hallucinationがあります。前者は、別の情報と矛盾する記述のことです。後者は、既存の情報から判断のつかない記述のことです。
対話システム(対話エージェント)
対話タスクをこなすモデルや仕組みのことを、対話システム、あるいは対話エージェントなどと呼んだりします。ここでは、それを対話エージェントと呼ぶことにします。
KGDs(knowledge-grounded dialogues)
KGDsを目指すことを考えます。
KGDsとは、相手からの発話に対して、うまく知識データを活用して返答することです。基本的にKGDsでは、知識に関する特別な情報が事前に与えられることはないです。
対照学習(contrast learning)
対照学習とは、同類のもの同士は近くに、異なるもの同士は遠くになるように特徴量を学習することです。詳しくは割愛します。
※画像は次の論文より引用。
https://arxiv.org/pdf/2011.00362.pdf
論文の全体的な構造
まず、論文の全体的な構造を俯瞰します。
章 | 概要 | 備考 |
---|---|---|
1章 | 導入 | ・対話エージェントにおいて、知識をベースとした手法や言語モデルをベースとした手法があるが、これらには問題がある。 ・そこで、MixCLという手法を提唱する。 |
2章 | 先行研究 | ・KGDs(knowledge-grounded dialogues) ・知識のベースとしての言語モデル ・対照学習 |
3章 | 問題定義 | ・知識をベースとした手法の問題 ・言語モデルをベースとした手法の問題 |
4章 | 準備 | ・知識コーパスを用いた事前学習 ・対話データセットを用いたfine-tuning |
5章 | 提案手法「MixCL」 | ・負例のサンプリング ・MixCL ・最適化 |
6章 | 実験(準備) | - |
7章 | 実験(結果) | - |
8章 | 結論 | - |
従来の手法とその問題
次に、従来の手法とその問題を押さえます。具体的には、知識をベースとした手法と、言語モデルをベースとした手法があります。
それぞれの手法の概要図は次の通りです。前者の手法は図中の左側、後者の手法は図中の右側に相当します。
知識をベースとした手法
この手法は、知識のコーパス(言語データセット)、および現在進行中の対話の内容を基にして、関連する知識を探索(retrieval)する手法です。関連する知識を探索したら、あとは返答内容を生成して返答します。
しかしこの手法は、その探索作業に失敗するリスクをはらんでいます。
言語モデルをベースとした手法
この手法は、知識のコーパスを事前学習してモデルを作り、そのモデルを用いて返答を生成する手法です。
しかしこの手法は、hallucinationが起きやすいです。
事前準備
ここから、より具体的な処理に入っていきます。
あらかじめ、前述の「言語モデルをベースとした手法」により、言語モデルを構築します。
その後、対話のデータセットを用いて、そのモデルのパラメータをfine-tuningします。
提案手法の内容
いよいよ提案手法についてです。
提案手法MixCLの全体像は、次のようになります。
ここで重要なのは、Negative sampling(左上)とMixed contrastive learning(右上)です。
負例サンプリング
論文のタイトルにもあるように、今回の提案手法では対照学習を用います。そこで、その対照学習に必要なデータ、特に負例データ(対照学習におけるnegativeのデータ)を収集します。
問題は、負例サンプリングの方法です。負例サンプリングでは、元のデータと異なるデータをただ収集すればいいとは限らないです。当論文によると、収集したいデータは、元のデータと同類のものに見えてしまいやすいデータのようです。
そこで提案されたのは、tf-idf retrievalという手法を用いることです。これの説明は省略します。
また、言語モデルを用いて新たに負例データを生成する方法もあるようです。
Mixed contrastive learning
論文のタイトルからも察せられるように、特にこの箇所が、今回の提案手法の特色と言えます。
この処理は、いくつかのステップから成ります。
span extraction
positiveな各データとnegativeな各データそれぞれのうち、意味のある(meaningfulな)データを抽出します。
抽出の方法の詳細は当論文に書かれていますが、ここでは省略します。
データのmix-up
positiveのデータ群とnegativeのデータ群、それぞれが収集されました。
次に、これらのデータ群からpositiveなデータ(単数または複数)とnegativeなデータ(単数または複数)を抽出し、新たなデータを生成します。つまり新たに作る1つのデータは、positiveなものとnegativeなものがmixされたものになります。イメージとしては、作られるデータは、上の画像の右下にある複数のtokenの集合です。
この要領で、データを1つだけでなく複数作成します。
損失関数
新たに作ったそれらのデータを、損失関数に組み込みます。
あとは、損失関数がなるべく小さくなるようにモデルの各パラメータの値を探索します。各パラメータの値を推定すれば、モデル構築が完了です。
提案手法の性能
詳説は省略しますが、既存の手法やモデルに比べて、諸々の評価指標において高い精度を出しました。
※「Test seen」は、話題が学習用データに含まれている場合です。「Test unseen」はそうでない場合です。
※「F1」や「RL」は各評価指標です。
また、上のような自動的な評価だけでなく、人的評価も行われました。その結果、比較的、今回の提案手法では不当な発話は減っているようです。これはつまり、今回の提案手法によりhallucinationを減らせるということを示唆していると思います。
終わりに
画像処理、computer visionの領域に比べて自然言語処理では、対照学習の活用はまだあまり盛んでないイメージがありました。そんな中で当論文を読み、対照学習の活用について学ばせていただきました。
今回は以上です。お読みいただき、ありがとうございました!
Discussion