ある特許翻訳会社は、Attentionを備えたSeq2Seqモデルで日本語の文を英語に翻訳している。ある1文について、縦軸に出力した英単語、横軸に入力した日本語の単語をとり、注意の重みの大きさを色の濃さで表したヒートマップを作った。このヒートマップの読み方として、最も適切なものを1つ選べ。
正解と解説を見る
解説
正解 A
この問題の論点:注意の重みのヒートマップ
ポイント
注意の重みは、出力の時刻ごとに入力に応じて計算し直される値です。訳語と原語の対応を読み取る手がかりになります。
選択肢ごとの解説
- A
適切 正解
デコーダは出力の各時刻で、そのときの状態と入力の各単語との関連度から重みを求め直します。そのため行ごとに濃い位置が変わり、訳語と原語の対応(アラインメント)を読み取る手がかりになります。
- B
不適切
学習で決まるのは、重みを計算するためのパラメータです。注意の重みそのものは、入力文とデコーダの状態から翻訳のたびに計算されるため、文が変われば分布も変わります。
- C
不適切
重みはソフトマックス関数で求めるため、入力のすべての単語に0より大きい重みが付き、1行の合計は1になります。複数の単語に重みを分けて参照できます。
- D
不適切
日本語と英語は語順が大きく異なり、たとえば動詞は日本語では文末、英語では主語の直後に来ます。正しい訳でも濃い位置は対角線から外れるため、それだけで誤訳とは判断できません。
補足
Bahdanauらの2014年の研究は、このような可視化を使い、モデルが求めた単語の対応が人の直感とよく合うことを示しました。ただし、重みが大きい単語が、そのまま予測の理由だとは限りません。判断の根拠の説明に使うときは、ほかの方法と合わせて慎重に読む必要があります。
試験での狙われ方
注意の重みを学習済みの固定パラメータと取り違える誤りや、語順の違う言語どうしでの対応の読み方を問う形が考えられます。