最終更新日: 2022-01-30 お気付きの点がありましたらご指摘いただけますと幸いです。
💜

💛

- [1]のアブストラクトは、「セルフアテンションの計算量を削減する既存研究の多くは『内積をとってからソフトマックスする』方式にしか対応できない」と主張しているようにみえます。そして、それだと「相対位置エンコーディング(RPE)に対応できない」と……これまでに提案されているセルフアテンション計算量削減ってそんなに制約があったんですか??
- まず RPE の手続きをちゃんと確認しよう。2節「事前準備」の 2.2 が RPE だからここを確認してみようか。この論文の表記ではセルフアテンション行列は
みたいだね。つまり、
みたいな定義だね(ソフトマックス行列のソフトマックス内の分母にくるのは
の列数のルートのはずだから)。まあ今回はエンコーダ層への入力
が
とされているから
も
みたいだけど、マルチヘッドだったらこれはイコールじゃなくて
になると思うんだけどね。ともかく、セルフアテンション後を
とすると
を求めるのに
かかるから、
を求めるのは
であるといっている。
- ん?
を求めるのが
だから
を求めるのは
といえるんですか? ちゃんと考えてみます。……そうですね、セルフアテンションを1層経るとは単語列内の各単語が異世界転生すると捉えることができるのではないでしょうか。つまり、
の
行目 =
単語目が「異世界ではこんな風に転生したい」というプロフィール
の
行目 =
単語目が異世界転生した場合のプロフィール
の
行目 =
単語目の異世界での遺伝子
の
行目 =
単語目からみて各単語がどれくらい理想の転生姿か
=
の
行目 =
単語目が異世界転生した遺伝子
にかかわってくるのは下図のピンク色のセルですが、これらは全て
以下ですね。しかし、全ての単語の異世界転生した遺伝子
を求めるときは、
の全行が必要になります。これが
になりますね。確認できました。
- そ、そっか……まあそれはともかく、この論文以前の研究でアテンションにカーネルとしての見方が導入されたみたいだね。式 (2) のように。「内積をとって
で割ってエクスポネンシャルをとる」の操作をカーネル関数と考えて、この操作でなくても任意の正定値カーネルでいいのでは? ということなのかな。
- そうですね、「希望プロフィール」と「プロフィール」の類似度を出すのに「内積をとって
で割ってエクスポネンシャルをとる」に拘る必要はないと思います。
- う、うん。それで、式 (3) は式 (2) をカーネル関数
ではなく対応する特徴写像
でかいた形式だね。カーネル法では
は陽に手に入らない(手に入れる必要もない)と思うけどね。それで、セルフアテンションではむしろこちらの形式にすれば計算量が
になるといっている。