Up | [ p_1, ‥‥, p_m ] の導出 | 作成: 2025-06-03 更新: 2025-06-25 |
S → [ t_1, ‥‥, t_m } → [ x_1, ‥‥, x_m ] から出力される NT次元確率分布ベクトルの列 [ p_1, ‥‥, p_m ] が,つぎのようになることである: ・p_ik ( i < m ) が「ほぼ1」ならば,k = ID_(i+1) ・「x_i のつぎは x_(i+1)」 ( i < m) [ p_1, ‥‥, p_m ] は,ここまでの処理の最終出力 [ o_1, ‥‥, o_LEN(S) ] から,以下のようにつくられる。 o_i は D次元で,p_i は NT次元。 そこで先ず, NT×D 行列 W_O を使って,NT次元ベクトル logis_i をつぎのように導く: こうして導いた [ p_1, ‥‥, p_m ] は,学習のはじめのうちは, 「x_i のつぎは x_(i+1)」の表現にはなっていない。 そこでこれを「x_i のつぎは x_(i+1)」の表現になるようにするのが,この後に続く「誤差逆伝播」のプロセスである。 表記「W_O」の意趣は, ・「O」は, 「o_i」の「o → O」 W_O の導入は,無理矢理の導入である。 学習前に,ランダムに初期化してつくっておく。 そして,トークンベクトルや重み行列 W_Q, W_K, W_V と同様に,「成長」させる。 Transformer は,厖大な数の意味不明なパラメータと,これを計算するやたら複雑なアルゴリズム・構造を,導入する。 Transformer の成功は,「厖大で複雑な<意味不明>」にも秘訣がある。 |