問題 No.966
Transformerモデルで採用されているScaled Dot-Product Attentionにおいて、ドット積を計算した後に「スケーリング(定数での除算)」を行う理由は「【 】」である。
【正解の解説】
入力の次元数が増えると値が大きくなり、勾配が飽和するのを防ぐため
単語の数(次元数)が増えると、ドット積の結果が極端に大きくなってしまいます。すると、計算後のソフトマックス関数を通した際に、一部の値だけが「1」に近づき他が「0」に近づくため、学習に必要な「勾配(改善のヒント)」がほぼ無くなってしまう(飽和する)現象を防ぐために除算を行っています。
スポンサーリンク
【その他の選択肢の解説】
計算を簡単にするため
計算を簡単にするためではなく、計算結果の値が大きくなりすぎることによる弊害を防ぐという数学的な意図があります。
メモリ使用量を半分にするため
スケーリングは演算の一部であり、メモリ使用量を減らすことを主な目的としていません。
モデルを軽量化するため
モデル自体の重さやパラメータ数を変えるわけではないため、軽量化とは異なります。