注意機構は本当に解釈として妥当なのだろうか

自然言語処理や画像処理の分野において、注意機構はニューラルネットワークの内部を可視化することができる重要なアーキテクチャであるとされています。今回で紹介する論文は「注意機構は本当にニューラルネットワークの働きを説明しているのか」という疑問に正面から向き合ったというものです。

論文:Attention is not Explanation

Attention is All You Needという機械翻訳に関する有名な論文は、自然言語処理を専門としていなくとも耳にしたことがあるかもしれません。タイトル通り、注意(attention)を用いることで精度の向上や処理の可視化ができるようになると言った主張が含まれる論文です。

自然言語処理や画像処理の分野において、注意機構はニューラルネットワークの内部を可視化することができる重要なアーキテクチャであるとされています。今回取り上げる論文は、特に注意機構の解釈性に焦点を絞り、その信頼性について検証を行っているというものです。

具体的には、「注意機構は本当にニューラルネットワークの働きを説明しているのか」という疑問に正面から向き合い、自然言語処理のタスクにおいて二つの検証を行っています。検証では単語の重要度と注意の重みの関係、意図的に異なる注意を与えたときのニューラルネットワークの挙動について検証を行いました。実験より、注意機構をニューラルネットワーク内部の可視化として用いることは「疑問が残る」と結論付けています。自然言語処理のトップカンファレンスであるNAACL-HLT 2019でも採択されており、ぜひ押さえておきたい論文です。

注意機構によるブラックボックスの可視化

ニューラルネットワークを用いた手法は、自然言語処理や画像処理のタスクにおいて精度の向上に貢献しています。一方で、ニューラルネットワークがブラックボックスであるという問題はたびたび指摘されています。すなわち、「なぜニューラルネットワークを用いると精度が向上するのか」が分かりづらいという問題が存在します。

ニューラルネットワークに注意機構が用いられるようになってからは、注意の度合い(重み)を見ることで、ある程度ニューラルネットワークの内部処理を可視化できると主張されるようになりました。注意機構は様々なタスクにおいて精度の向上に寄与するだけではなく、ブラックボックスの可視化ツールとして一躍注目を浴びています。

例えば弊メディアでは以前、注意機構を用いた文ベクトルの計算手法についてご紹介しました。こちらの論文では、文ベクトルの計算時に注意機構を用いることで、文分類などの主要な自然言語処理タスクにおいて精度の向上が見られたと報告されています。さらに注意の重みを観察することで、ニューラルネットワークの内部処理が部分的に可視化できると主張されています。実際に感情分析における推論では、タスクを解く上で重要となる単語に、強く注意の重みを当てていると確認できます。注意機構を用いた文ベクトルの計算方法は従来手法と何が違うのか

注意機構を用いたニューラルネットワークの可視化は、モデルの性能や働きについて視覚的に訴えることができます。そのため、論文だけではなく機械学習についての説明やプレゼンテーションなどでも、質的な分析として頻繁に用いられています。しかしながら、注意機構がニューラルネットワークの内部処理の説明として妥当なのかという量的な検証は行われてきませんでした。つまり、可視化手法として広く用いられている注意機構の信頼性について、量的に検証した研究はないということです。

本論文では後述する二つの検証を行い、最終的に「注意機構をニューラルネットワークの説明として利用することには疑問が残る」と結論付けています。注意機構を用いた機械学習モデルを取り扱う上で、この論文の存在を認知し、注意機構は必ずしも信頼できるものではないということを理解しておくことが重要です。

注意機構の働きを検証してみる

単語の重要語と注意の関係性

注意機構を組み込んだニューラルネットワークを用いて自然言語処理タスクを学習することで、タスクを解く際に「どの単語を重点的に考慮するか」という注意の重みが学習されます。この注意の重みと、タスクを解く上での「単語の重要度」の関係を見ることで、注意がニューラルネットワークの働きを説明しているかを検証します。注意の重みの大きさが単語の重要度に比例するのであれば、注意機構はニューラルネットワークの働きを説明していると考えることができます。

実験より、感情分析タスクにおける単語の重要度と注意の重みの関係は以下の図のようになると報告されています。図はKendall τという指標を用いた関係性を示しており、0に近いほど関係性が弱く1に近いほど強いと判断されます。オレンジ色、紫色はそれぞれ感情分析におけるポジティブ・ネガティブのラベルを表しています。

SST(BiLSTM)は感情分析をBiLSTMで学習するモデル、SST(Average)は単語分散表現の平均から感情分析を学習するモデルです。結果より、単純なモデルであるSST(Average)では単語の重要度と注意の重みに比較的強い関係があり、複雑なモデルであるSST(BiLSTM)では関係が比較的弱いことが示されました。

論文では他にもQAやSNLIといった複数のデータセットにおける検証を行なっており、タスクや学習に用いるモデルによってこの関係性が強い場合と弱い場合があると示されています。検証の結果として、「注意の重みと単語の重要度に必ずしも強い関係があるとは言えない」と結論付けています。

学習とは異なる注意による検証

前述した通り、タスクによって学習された注意の重みはニューラルネットワークの内部処理を可視化するとされています。一方で、もし「学習されたものとは異なる注意の重み」を用いても出力結果が変わらないのであれば、その可視化の正当性は低くなります。例えば感情分析において、ニューラルネットワークが下図の左側のような注意の重みを学習したとします(青色は注意のを表します)。この時、もし感情分析を解く上で特に重要とは考えられない単語(myselfやwas)に注意を当ててもモデルの予測が変わらないのであれば、モデルは必ずしもaskingやwasteと言った単語に注意を当てる必要がないということになります。すなわち、タスクを解く上での注意機構の役割がこれまで期待されていたほど解釈上重要ではないということになります。

実験では、「モデルの予測を変えずに、どの程度異なる注意の重みを選べるか」という指標で注意機構の役割を検証しています(下図)。図において横軸は実際に学習された注意と「同じ予測をするが異なる注意」との距離を表しています。この距離が大きいほど、「その注意の重みである必要がない」ことを表します。なお、データセットは上で紹介したものと同じ感情分析、学習に用いるモデルはBiLSTMとCNNとなっています。

結果より、多くの場合において「ある程度異なる注意を用いても、モデルの予測結果は変わらない」ということが示されました。このことから、注意機構によって学習される注意の重みには幅があり、必ずしもタスクを解く上で特徴的な単語などに強く注意が当てられるとは限らないということが示されました。

注意機構はどの程度信頼できるのか

本論文では自然言語処理タスクにおける二つの検証を通して、注意の重みをニューラルネットワークの内部処理として安易に解釈することに疑問を投げかけました。検証では、注意が単語の重要度と強い相関を持たないこと、ある程度異なる注意を用いてもモデルの出力が変わらないことを示しています。注意機構そのものの解釈についての量的な検証が行われていないにも関わらず、注意の重みを内部処理の解釈として取り上げる風潮に一石を投じたと言えます。

一方で、本論文では「注意機構を解釈とみなすには疑問が残る」と主張するにとどめています。これは検証に用いた「単語の重要度」の計算方法が正しいとは限らないことや、「異なる注意」による検証が難しいと言った点が研究の課題として残されているためです。本研究は決して注意機構を批判するものではありません。ニューラルネットワークの解釈として注意機構を用いるには慎重な検証が必要であると主張した研究であり、著者は今後さらに注意機構の解釈についての量的な分析が行われることを期待しています。