🔥

対話タスクへの、対照学習の応用

2023/01/19に公開

はじめに

こんばんは。今回は、次の論文「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