Up 出力指標ベクトル p 作成: 2026-03-21
更新: 2026-03-23


    チャットAI,画像認識AI は,DNN の一種。

    DNN は,出力のときに,つぎの2つを使う:
      ・ID 表 U = { U(1), ‥‥,U(N) }
      ・N次元ベクトル p = ( p(1), ‥‥, p(N))

    即ち,出力はつぎのようになる:
      p は,ほぼ one-hot になっている
      p( k ) ≈ 1 のとき,U( k ) を出力。

    ここで 「p はほぼ one-hot になっている」は,しくみはわからぬが,訓練 Training の賜。


    チャットAI,画像認識AI は,ともに DNN ということで,この流れは同じ。
    即ち,つぎの2つは同型:
     ・チャットAI が,入力テクストに対しトークンを出力
     ・画像認識AI が,入力画像に対しカテゴリーを出力

       テクスト       画像
         ↓         ↓
       レイヤー処理    レイヤー処理
         ↓         ↓
        p参照       p参照
         ↓         ↓
       トークン      カテゴリー


    強調するが,チャットAI と画像認識AI の 「入力から出力までの流れ」 の同型は,トークンがチャットAI の出力である。
    チャットAI のテクスト出力は,チャットAI がつぎのループを気の済むまで続ける様である:

       テクスト ←──┐
         ↓     │追加
       レイヤー処理  │
         ↓     │
        p参照    │
         ↓     │
       トークン ───┘


    ○ チャットAI
     ・U : トークンID 表
     ・N : 登録トークン数

     ・ユーザの入力テクストを,トークンベクトル列に翻訳 :
        [ x_1, x_2, ‥‥, x_n ]
     ・最後のレイヤー処理の結果を,
        [ o_1, o_2, ‥‥, o_n ]
      とする。
      これに対し,つぎの計算:
        logits_i = o_i W_out
        p_i = softmax( logits_i )

     ・訓練時は,これに逆伝播処理が続く。
      製品では,トークンの出力となり,
        p_n が p として使われる。
      即ち,p_nk ≈ 1 のとき,ID が k のトークンを出力。


    ○ 画像認識AI
     ・U : カテゴリー ID 表
     ・N : 登録カテゴリー数

     ・ユーザの入力画像を,パッチに分け,
      パッチ列を特徴ベクトル列に翻訳 :
        [ x_1, x_2, ‥‥, x_n ]
     ・最後のレイヤー処理の結果を,
        [ o_1, o_2, ‥‥, o_n ]
      とする。
     ・これは,特徴ベクトルの列 なので,
        画像全体を表す1個のベクトル:o ∈ R^d
      に変換する (Pooling):
       Global Average Pooling(GAP, 平均)
         o(i) = ∑ { o_j(i) | j ∈ r(i) } / n
       Global Max Pooling
         o(i) = max{⁡ o_j(i) | j ∈ r(i) }
       ここで,
         r(i) : 局所近傍(例:3 × 3)
     ・この o = ( o(1), ‥‥, o(d) ) に対し,
        logits = o W_out
        p = softmax( logits )

     ・訓練時は,これに逆伝播処理が続く。
      製品では,カテゴリーの出力となり,
      p(k) ≈ 1 のとき,ID が k のカテゴリーを出力。