Transformer
理解したいblu3mo.icon
理解が生えているうちに、その結晶を書き出しておきたい
一旦単語=tokenとして書く
https://www.youtube.com/watch?v=KlZ-QmPteqM
確率分布の話はまあそうね
GPTの仕組みをアテンションなしにword2vecだけでやるなら、
文章の最後のtokenをベクトルにする
$ W_Uを訓練して、「あるtoken」から「次のtokenの確率分布」を予測するモデルを作る
というかこれがまさにマルコフ連鎖的な「それっぽい文章の生成」かblu3mo.icon*2 ただ、これだと「最後のtoken」しか見ていないので、当然「文脈の中での単語の意味」は拾えない
そのためにアテンション機構
https://www.youtube.com/watch?v=j3_VgCt18fA
GPTというよりは、縦と横でデータが違うアテンション機構に近いな
アナロジーの対応関係を説明してみる
Transformerの各トークン = AbstractMapの各ページや相談事項
トークンから作られる$ Q_n, K_nが、「ページや相談事項を抽象化した質問」
$ \Sigma V_n + E_nが、「相談事項とページの抽象的関係性を説明した文章」
みたいな感じ?
https://www.youtube.com/watch?v=9-Jl0dxWQs8
MLPの部分では、それぞれのtokenは独立して処理される
それはそうblu3mo.icon
「1単語目のためのMLP」~「1024単語目のためのMLP」を全部訓練する意味はあんまりなさそう
positional encodingで一応「何単語目か?」という情報も渡せているから問題ないということかな
ReLUとかの非線形な関数を挟む意味をようやく直感的に理解できたblu3mo.icon*2 マイケルジョーダンの例がわかりやすかった
線形な変換だけやっていると、どう頑張っても他のマイケルや他のジョーダンの可能性でも50%マイケルジョーダン判定が出てしまう
そこを切り捨てるためにReLUとかの平なところをつかって50%マイケルジョーダン判定を潰す、みたいなイメージを持った