記事についてのディスカッション

 

新しい記事「ニューラルネットワークが簡単に(第10回): Multi-Head Attention」はパブリッシュされました:

ニューラルネットワークにおける自己注意のメカニズムについては、以前に検討しました。実際には、最新のニューラルネットワークアーキテクチャは、いくつかの並列した自己注意スレッドを使用して、シーケンスの要素間のさまざまな依存関係を見つけます。このようなアプローチの実装を検討し、ネットワーク全体のパフォーマンスへの影響を評価しましょう。

Self-Attentionアルゴリズムでは、3つの訓練済み重み行列(Wq、Wk、Wv)を使用します。行列データはQuery、Key、Valueの3つのエンティティを取得するために使用されます。最初の2つのエンティティはシーケンスの要素間を組とした関係を定義し、最後のエンティティは分析された要素のコンテキストを定義します。 


状況が必ずしも明確であるとは限らないことは周知の事実です。それどころか、ほとんどの場合、状況はさまざまな観点から解釈できるようです。したがって、選択した視点によっては、結論が完全に反対になる可能性があります。このような状況で考えられるすべてのバリエーションを検討し、慎重に分析した後でのみ決定を下すことが重要です。Multi-Head Attentionメカニズムはこのような問題を解決するために提案されています。それぞれの「頭」には独自の意見がありますが、決定はバランスの取れた投票によって行われます。 

Multi-Head Attentionアーキテクチャは、異なる重みを持つ複数のSelf-Attentionスレッドを並行して使用することを意味し、状況の多様な分析を模倣します。自己注意スレッドの操作の結果は、単一のテンソルに連結されます。アルゴリズムの最終結果は、テンソルにW0行列を乗算することによって求められます。この行列のパラメータは、ニューラルネットワークの訓練プロセス中に選択されます。アーキテクチャ全体が、TransformerアーキテクチャのエンコーダおよびデコーダのSelf-Attentionブロックに置き換わります。

作者: Dmitriy Gizlyk