自然言語処理の深層学習においてshortcut learningを減らすには
はじめに
こんばんは。今回は、OODやshortcut learningというものを説明します。さらに、次の論文を紹介します。
https://arxiv.org/abs/2208.11857
論文の構造
章 | 概要 | 備考 |
---|---|---|
1章 | 導入 | - |
2章 | shortcut learningという現象 | ・shortcut learningとは |
3章 | shortcut learningをしているかの判定 | - |
4章 | shortcut learningの要因 | ・学習用データセットの偏り ・大規模言語モデル ・fine-tuning |
5章 | shortcut learningを減らすには | ・データセットの調整 ・敵対的学習 |
6章 | 今後の研究 | - |
7章 | 関連分野 | - |
8章 | 結論 | - |
今回の論文紹介の意図
背景は、自然言語処理において、後述するOOD(out-of-distribution)を考慮することの重要性を最近だんだんと感じてきたことです。そう感じた理由や、今回の論文とOODとの関係性についても後述しています。
OODとは
OODを理解するには、まずIID(independently and identically distributed)を理解するといいです。
IID
IIDは元々、確率論や統計学における概念です。
例えば、1つのサイコロを振る試行を何度か行うことを考えます。この試行の特徴を考えてみると、次の通りです。
- ある試行の結果(どの目が出るか)は、他の試行の結果に影響しない
- 特定の目が出る確率は、何度試行しても同じ(1の目が出る確率は、何度やっても同じ1/6)
…というのが、IIDの最も簡単な例です。IIDは、そういう性質や状態を指します。
IIDの由来である1つ目のI(independently)は、「互いに独立」という意味です。これは上の特徴の1つ目に相当します。
2つ目のI(identically)は、「特定の結果になる確率は同じ」という意味です。これは上の特徴の2つ目に相当します。
最後のD(distributed)は、「特定の確率分布にしたがう」という意味です。確率分布についての説明は省略します。
今は単純な1次元データの例を出しましたが、多次元データの場合も同様に考えることができます。
例えばこの前の記事に書いた例を使うと、
「『カメラに移った人は不審者であり、かつその不審者が泥棒である確率』は××。この確率はいつも同じだし、ある結果(一般人か不審者か、そしてどんな人か)は他の結果に影響しない」
という考え方をすることもできます。
https://zenn.dev/ty_nlp/articles/15da4dbff9b70d
OOD
OODは、IIDではないということです。
現実のほぼすべては、OODと言ってもいいと思います。
「カメラに移った人は不審者であり、かつその不審者が泥棒である確率」は、状況によって変わるでしょう。また、過去にカメラに映った人が未来の結果に影響する場合もあります。不審者が、身を潜めていた共犯者を招き寄せるとか。
そういう、IIDでない性質や状態を、OODと呼びます。
IIDとOODの意味合いについて、この記事ではひとまず前述のようにします。
ただ、ひと言にOODと言ってもその程度は様々であり、IIDからほど遠いもあれば、ほとんどIIDに近いものもあります。
ちなみにIIDとOODとでは、それぞれの由来は意味だけでなく文法も異なります。ですが、そこは特に気にしないことにします。IIDに対してOODは、パッと見で表記が分かりやすいです。
OODを加味することの重要性
機械学習関係のタスクにおいてOODを加味することは大事かと問われたら、多くの人は大事と答えると思います。なぜなら、OODは現実的だからです。
ただ、これは私も戒める必要がありますが、タスクに取り組む際にIIDを前提とすることが多いです。
実際の取り組み
例えば、ホールドアウト法です。1つのデータセットをランダムに、学習用データセットとテスト用データセットに分けます。
このやり方だと、両者のデータセット間の関係はIID的になります。independentlyかどうかはともかくとしても、少なくともidenticallyではあります。
ホールドアウト法の発展版的存在であるクロスバリデーション法も、似たようなものです。
AIが世間レベルで話題になり出して以降数年は、とにかく何かを予測や推論できること自体に高い価値を感じる様相があった気がします。その際、IIDばかりを想定していたり、そもそもOODという概念自体を持ち合わせていなかったりした場合もあったかもしれません。OODにまで視野を広げる余裕があまりなかったと考えられます。
念のために述べると、IIDを前提とした取り組み方も有益です。統計学や機械学習のモデルなどは、何らかの前提を置くことで初めて機能します。たとえ、それが多少現実離れした前提であってもです。
また、OODの加味までするのは、それこそむしろ非現実的であるケースもあると思います。例えば、持っているデータセットのデータ件数が少なすぎるととか、将来の動向の予測が極めて難しいといった場合です。
今後目指したい取り組み
ですが、そろそろOODの想定も積極的に考えたいと思うようになってきました。
その理由の1つは、IIDを前提としたデータセットなら、定番の機械学習タスクをもはやかなりの精度でこなせるようになったことです。そうなったことの要因としては、機械学習アルゴリズムの研究開発の発展や、技術周り(クラウドや深層学習ライブラリなど)の発展が考えられます。
そしてIIDに比べると、OODを前提とした取り組みはまだ少なそうですし、OODへの対策も容易ではありません。
しかも、OODは現実的な性質や状態です。ある程度はその現実面を加味できていないと、現実的な価値をもたらすAIを作るのが難しくなります。
以上のことから、OODを加味することの重要性を感じるようになりました。それで今回は、そのOODと関係のある当論文の紹介をしようと考えました。
shortcut learningについて
ここから、より本題であるshortcut learningについて論じていきます。
shortcut learningとは
日本語だと「短絡的学習」と言ったところでしょうけど、現時点ではあまり日本語化されていないようです…。
「shortcut learningとは何か」の前に、「shortcut learningによりどういう問題が起きてしまうか」を説明します。これは例を出すと、牛の画像を学習したのに、ある種の牛の画像データを正しく推論できなくなる出来事です。
ある種の牛の画像データとは、例えば次の画像です。牛の画像を学習したはずなのに、なぜこの牛を認識できないのか。
※この画像は、次の論文「Shortcut Learning in Deep Neural Networks」から引用したものです。
https://arxiv.org/abs/2004.07780
この画像の場所を見ると、海辺という、ふつう牛が通らない場所になっていることに気づきます。これがヒントです。
どういうことかというと、学習した牛の各画像は、牛がいそうな場所(牧場や草原など)の画像でした。そして学習の際、牛だけでなく牛のいる場所も併せて学習しました。これによって、「場所が牧場や草原なら、牛の可能性が比較的高い」という学習のしかたをしてしまいました。
…というのが、shortcut learningです。
こういう学習のしかたをしたために、牧場や草原でない場所にいる牛を牛と認識するのが困難になってしまったのです。
ある意味、疑似相関が形成されてしまったとも言えます。
上の牛の画像のある論文は、Shortcut Learningについてよく引用や紹介される論文のようです。ただ、今回は自然言語処理におけるShortcut Learningに興味があったので、冒頭に挙げた論文を紹介することにしました。
shortcut learningにより作られたモデルは、必ずしも無益なわけではないです。どんなふうにshortcut learningをしてしまったかを把握したうえで使いどころを選べば、実際に役立てることができると思います。牛が海辺にいることは滅多にないと割り切って使う手もあります。
shortcut learningの問題点
ですが、できることならshortcut learningをするのは避けたいと思っています。なぜなら、shortcut learningを起こした分だけ、OODのデータに対してうまく予測や推論ができなくなってしまうからです。
shortcut learningを起こしたということは、画像データのうち本質的でない部分の特徴をわざわざ学習してしまったということです。本質的でない部分というのは、上の例で言うところの、牛のいる場所のことです。
すると、同じ牛でも場所が変わるだけで、牛を推論しづらくなってしまいます。OODのデータに対して、うまく予測や推論ができなくなるということです。
そうなっても構わないのなら、それでもいいと思います。ですが私としては、前述のようになるべくOODを加味していきたいと考えています。
自然言語処理におけるshortcut learning
ここからは、自然言語処理に特化してshortcut learningについて論じていきます。
大規模言語モデル(Large Language Model)の問題
当論文によると、事前学習済みのBERTやT5など大規模言語モデルは、OODのデータに対しては予測や推論の精度が落ちるそうです。それも、IIDのデータに対する予測や推論の精度に比べて総じて20%以上も落ちるそうです。
(ただ、これにも諸説あるようですが…)
ということなので、そのようなモデルはshortcut learningを起こしている可能性があります。
自然言語処理におけるshortcut learningの例
当論文によると、shortcut learningに関するバイアスとして次の種類があります。
バイアス | 概要 |
---|---|
lexical bias | ストップワードや否定語に起因するバイアス |
overlap bias | 2種類のテキストの特徴の重複に起因するバイアス |
position bias | テキスト内の特徴的な単語の位置に起因するバイアス |
ここでは、lexical biasだけを取り上げます。
例えば、感情分析モデルを作る際に、lexical biasが発生する可能性が考えられます。感情分析モデルは、感情の極性、つまりポジティブかネガティブかを推論できるモデルです。
もし、ポジティブラベルのデータにはnotやneverなどの否定語がほとんどなく、逆にネガティブラベルのデータには否定語がたくさんあるとします。そのようなデータから成るデータセットを単純に学習すると、否定語があるだけでネガティブ判定をしやすいモデルになりがちだということです。そうなると、ポジティブな意味合いの「It's not bad.」みたいなテキストをネガティブ判定するようなことが起こりえます。
文書分類モデルでも、似たようなことは起こりえます。
特定のラベルのデータに「would」が大量に含まれたデータセットを単純に学習したら、「would」のあるテスト用データに対する判定が偏りそうです。「would」という単語自体、あまり意味をなさない単語であるにも関わらずです。(ただ、これは深層学習モデルでないモデルにおいても言えそうですが)
shortcut learningの要因
shortcut learningの要因として、当論文は次のものを挙げています。
データセットの偏り
先ほど論じたバイアスに近いですね。前述したので、これ以上は省略します。
大規模言語モデルに関する要因
学習用データのサイズを増やすことで、OODのデータセットに対する予測や推論の精度を底上げできるようです。なので逆に言えば、学習用データが少ないとOODへの対応力は弱いものになってしまいます。
また、同程度の学習用データのサイズでも、アルゴリズム(モデルの型)によってOODへの対応力は異なるとのことです。例えば、BERTよりも、RoBERTaやELECTRAのほうがOODへの対応力があるそうです。
今述べた「OODへの対応力がある」は、別の表現をするなら「頑健性がある(robust)」ということです。
fine-tuningに関する要因
これは特に注目に値しそうですね。
自力で事前学習して大規模言語モデルを作るのは大変なので、どうしても他の方々の作成したモデルを拝借することが多いです。以前、自力で大規模言語モデルの作成を検討したことがありましたが、すぐにあきらめました。
それに比べると、fine-tuningはまだ自力でもなんとかなります。やり方の調査やエラー対応はそれなりに大変ですが、多くの方がやり方の解説をしてくださっています。Google Colabを使えば、GPU利用でのfine-tuningも可能になります。
話を戻すと、fine-tuningに問題があると、shortcut learningが起こりやすいようです。
具体例としては、調整用データの件数が不十分だったり、パラメータ調整の繰り返しの回数が不十分だったりすることです。
shortcut learningの対策
それでは、shortcut learningの対策についてです。いくつか紹介されているうちの一部を述べます。
データセットの洗練
これが最重要でしょうか。結局、新しい学習アルゴリズムがどれだけ開発されても、学習するデータの質が低いと、適切な学習は難しいです。近年言われるようになったdata-centric AIや、データ中心の考え方に近いですね。
ただ、それは今さら言うまでもないという気もしますし、何よりも実際にやるのが大変なのですよね…。データセットの洗練といっても、具体的にどうすればいいかは明確ではないですし。
特に、事前学習で大規模言語モデルを作ろうとする場合だと、かなりのデータ量の準備が必要です。一応、データ拡張手法を用いる手もありますが、偏りすぎることなく大量のデータを生成するのはかなり困難だと思います。
ですが、大規模でないデータセットの学習や、事前学習済みモデルのfine-tuningの際には、データセットの洗練に取り組む意義は大きいと思います。
PoE(Product-of-Expert)
PoEというものがあるようです。初めて知りました。
これは、一種のアンサンブルな手法です。といっても、ただ複数のモデルを作り、各モデルによる予測や推論の結果の多数決を採るのとはまた違うものです。
しかしながら、あまり理解できなかったので詳しい説明は省略します…。
その他
他には、敵対的学習や対照学習も取り上げられていました。
まとめ
まず、IIDとOODという概念を取り上げました。今後は、OODを積極的に加味していきたいと考えました。
さらに、shortcut learningという学習のしかたの問題を取り上げました。この問題は、牛のいる場所みたいな、あまり本質的でない要素を少なからず学習してしまうことです。このような学習により作成されるモデルは、OODに弱くなりがちです。
そして、自然言語処理において、shortcut learningの要因、それから対策を述べました。やはり最も重要なのは、データの質の見直しと改善ではないかとの考えに至りました。
終わりに
最後まで読んでいただき、ありがとうございました。
Discussion