AIの解説を読むと、だいたい「ベクトルの内積を計算する」って出てくる
掛けて足すだけの計算で、何がわかるんや
【疑問】AIの説明に毎回出てくる「ベクトルの内積」って、結局何を測ってるん?【AI】
>>1
ベクトルは数の並び。、 なら、内積は成分どうしを掛けて足したもの
>>2
その5に意味はあるん?
>>3
図形で見ると、長さと向きのそろい具合の掛け算になってる
、 やから、 で、2本のなす角 は45度
>>4
マイナスになることもあるやろ
>>5
ある。符号で向きの関係がわかる
正なら同じ側(90度より小さい)、0なら直角、負なら反対側
、
向きを見たいなら だけでええやん
長さが混ざる内積をわざわざ使う意味ある?
>>7
長さを1にそろえたベクトル同士なら、内積がそのまま (コサイン類似度)になる。長さを残すかどうかは、使う場面で選んでる
Attention のように、長さも含めた内積をそのまま使う計算もある
>>8
長さが残ると何か困るん
>>9
長いベクトルが有利になる。質問を 、文書を 、 とすると
内積は 、 で が勝つ
向きだけ見ると、 は (同じ向き)、 は約0.707 で、順位が逆になる
ニューラルネットの中では、内積はどこで出てくるん
>>11
いちばん基本のところ。1個のニューロンは、重みベクトル と入力 の内積にバイアス を足してる
、、 なら、
>>12
層になると行列が出てくるやろ。あれは別物?
>>13
同じもの。行列とベクトルの掛け算は、行列の各行とベクトルの内積を並べたもの
1行目が1個目のニューロン、2行目が2個目のニューロン。層の計算は、内積をまとめてやってるだけ
実際のモデルやと、ベクトルは何次元くらいなん
>>15
BERT(Devlin ら、2018年)の基本モデルは768次元
内積1回で、768回の掛け算と767回の足し算をしてる
>>16
そんなに次元が多いと、たまたま似た向きになるベクトルも増えて、区別がつかんようになるんちゃうの
>>17
逆で、次元が多いほどランダムなベクトル同士はほぼ直角になる
成分を標準正規分布からランダムに選んだベクトルの組を2万組作って の平均を計算したら、2次元で約0.63(理論値 )、768次元で約0.029
768次元で になったのは約0.5%。高い次元で が0.3もあれば、偶然ではまず出ない
長さ1のベクトルとの内積には、別の意味があるって聞いた
>>19
その向きの成分を取り出す計算になる(射影)
なら で、 の横方向の成分そのもの
モデルの中で「この向きの特徴がどれだけ入ってるか」を読み取る計算、と見ることもできる
>>20
統計の相関係数も、似た形やった気がする
>>21
そう。 と からそれぞれ平均を引いたベクトルを作って、その2本の を計算すると、相関係数そのものになる
内積は「長さ×向きのそろい具合」。ニューロンも層も、内積をまとめて計算してるだけなんやな
管理人のひとこと
- 内積は成分どうしを掛けて足したもの。 で、長さと向きのそろい具合の掛け算になる。、なす角は45度。
- 符号は向きの関係を表す(正なら同じ側、0なら直角、負なら反対側)。長さを1にそろえると内積はコサイン類似度と同じ。長さが残ると長いベクトルが有利になる。
- ニューロンは 、層の計算(行列×ベクトル)は各行との内積を並べたもの。
- 高い次元ではランダムなベクトル同士はほぼ直角になる(768次元で の平均は約0.029)。長さ1のベクトルとの内積はその向きの成分(射影)。平均を引いたベクトルの は相関係数。