動作AI・5-2・緊急ミッション

見分けることから作ることへ — 特徴表の矢印を逆にする

5-1でAIは、棒人間の動きを見て「投棄」だと見分けた。今回はその逆である。「投げる」という言葉を与えたら、棒人間が投げる動作を新しく作り出せるだろうか? 動作は数1,196個の表だ。2つの動作を平均すると腕が折りたたまれ、数ごとにサイコロを振ると体が震える。4つの生成器を審査官の採点表で比べながら、「もっともらしい新しい動作」の条件を探る。

1 → 1,196生成:ラベル1つから埋めなければならない数
99.9%座標平均で混ぜたときの、最も悪い瞬間の骨の長さの誤差
0.0%角度平均で混ぜたときの骨の長さの誤差
44.2%座標ごとにサイコロを振った生成器の骨の長さの誤差(コード2)
5つ審査官の採点項目
2つColabですぐ動かせるコード
1ミッション

2つ目の指令 — 「投げる動作を作り出せ」

投棄犯は捕まえた。しかし、本部からの2つ目の問いが残っている。見分けるのに使ったあの数で、今度は動作を作り出すことができるか。

[SYSTEM] 03:40 · 5-1完了報告を受理。次の指令:棒人間の動作生成。添付:投げる場面100個。
博士
博士識別モデルは動作を受け取ってラベルを出す。今度はその矢印を逆にするんだ。ラベルを受け取って動作を出す生成モデルだよ!
助手
助手投げる場面が100個もあるんだから…全部平均したら「代表の投げる動作」になりませんか?
ショウジョウバエ研究員
ショウジョウバエ研究員やってみなよ。たぶん腕が折れ曲がって、力も抜けるはずだ。数をどう混ぜるかが問題なんだ。審査官に採点もしてもらわないとね。
研究室ロボット生成器を4つ用意しました。平均、サイコロ、コピー、そしてつまみ(潜在変数)の抽出です[注]。審査官の採点項目は5つです。
棒人間の動作カードが壁一面に貼られ、助手が虫めがねでカードを1枚調べ、ショウジョウバエ研究員と箱型ロボットがベルトコンベヤーの上のカードを検査している場面
動作データ倉庫。カード1枚が場面1つ、数1,196個である。
2逆にする

矢印を逆にすると — 識別モデルと生成モデル

同じ3つの箱で、矢印の向きだけが違う。2つの向きを交互に押してみよう。

向き
場面
識別モデル(見分ける)
  • 問い:「この動作は何か?」
  • 情報の向き:多くの数 → 少ない数。減らすのは簡単だ。
  • 答え:1つ。同じ動作ならいつも同じラベル。
  • うまくできたか:正解と合っているかだけを見ればよい。
生成モデル(作る)
  • 問い:「こんな動作を1つ見せて。」
  • 情報の向き:少ない数 → 多い数。空欄を埋めなければならない。
  • 答え:複数。毎回少しずつ違う投げ方が出てこなければならない。
  • うまくできたか:正解がない。本物らしいか、多様か、まねしていないかを別々に測る必要がある(セクション6)。

初心者向けの解説

識別モデルは「入力が与えられたとき、正解が何である確率」を、生成モデルは「データそのものがどのような形をしているかの確率」を学ぶ、とよくまとめられる[R1]。データの形がわかれば、その形に沿って新しいデータを取り出せる。今日の生成AI(GAN[R2]、VAE[R3]、拡散モデル[R5])は、どれもこの「形を学んで新しい点を取り出す」ことを、それぞれ別の方法で解いている。

3動作は表

動作は表である — 46行 × 26列、数1,196個

5-1の棒人間の場面を表に広げた。生成モデルが埋めなければならない空欄が、まさにこの1,196マスである。マスの上にマウスを乗せてみよう。

場面

1,196個の数は互いに結びついている

表のマスはでたらめではない。同じフレームの「右ひじ」と「右手首」はいつも0.16だけ離れていて(骨の長さ)、隣り合う2つのフレームの値はほぼ同じだ(動きはつながっている)。識別モデルはこの結びつきを知らなくても答えを出せるが、生成モデルはこれを守れないとすぐにぼろが出る。次のセクションで実際に壊してみる。

4混ぜる

2つの動作を混ぜると — 座標平均は腕を折りたたむ

最も簡単な「新しい動作作り」は、既存の2つの動作を混ぜることだ。何を混ぜるかを変えてみよう。下の棒は、いまのフレームの骨10本が元の長さからどれだけずれているかを表す(棒が長いほど大きくゆがんでいる。5%を超えると赤)。

AB
Bの割合50%
混ぜるもの

コード1の結果(50:50で混ぜる)

「投げる」+「手を振る」を座標平均で混ぜると、骨の長さの誤差は平均11.4%、最も悪い瞬間には99.9%になる。2つの手首が反対方向にあった瞬間、その中間点が肩とほぼ重なり、前腕が消えてしまったのである。「入れる」+「通り過ぎる」は1.9%(最悪25.7%)、「投げる」+「拾う」は1.4%(最悪20.4%)だ。角度平均は3組とも0.0%である。同じ「平均」でも、何の平均かが結果を分ける。

5データ

投げる場面100個 — 同じ名前、違う形

生成モデルが学ぶのは場面1つではなく、場面たちの散らばり方である。5-1と同じ方法で速度・位置・大きさを変えた投げる場面100個を広げた。左の点を押して場面を選んでみよう。

6生成器

4つの生成器と審査官の採点表

投げる場面100個から新しい投げる動作を6つ作る。審査官は5つの点を見る。本物らしいか(骨の長さ、揺れ、投げる力)、多様か、まねしていないか。生成器を替えて「作り直す」を押してみよう。

ネクタイを締め、クリップボードとホイッスルを持った審査官の棒人間たちが、星評価のボードを指さして親指を立てている様子
審査官。実際の学習では、損失関数や識別器がこの役割を担う。
生成器

コード2の採点表 — 生成器ごとに20個ずつ

上の画面はブラウザで6個ずつ引き直したものなので、数値が少し違う。下の表はコード2を実際に実行した結果である(学習用の投げる場面100個、生成20個)。「新しさ」は、最も近い学習場面との距離(身長単位、座標ごとの二乗平均平方根)である。

生成器骨の長さの誤差揺れ手首の最大速度多様性新しさ審査官のひとこと
学習データ(参考)4.7%0.02882.550.1260.000ポーズ推定の揺れのせいで、本物のデータでも骨の長さが4.7%ぶれる
A 平均ひとつ1.7%0.00451.360.0000.033なめらかだが毎回同じで、力が半分に落ちた
B 座標ごとにサイコロ44.2%0.265910.000.1490.109多様だが人間ではない。手首が瞬間移動する
C 1つ選んでコピー4.7%0.03002.750.1250.000本物らしいが、まねしただけ
D つまみ3個から抽出0.0%0.01252.710.1230.0225項目すべて合格。ただし、つまみを最初から知っていた

審査官を学習に使うと

この回の審査官は、作り終えたあとで採点するだけだ。実際の生成モデルは、採点結果をそのまま学習に使う。結果が学習データとどれだけ違うかを1つの数で表す損失関数を小さくするように重みを直したり(VAE[R3])、本物と偽物を見分ける識別器を審査官に立てて生成器と競わせたりする(GAN[R2])。5-1の識別モデルが、5-2では審査官として戻ってくるわけだ。

7次のミッション

つまみはどこから来るのか — 次のミッションへ

Dが勝った理由は、1,196個の数の代わりに3つの数(速度・位置・大きさ)から取り出したからである。3つの数はどう変えても、骨格(fk)を通って人の形に広がる。

この回でわかったこと
  • 生成とは分布から取り出すことだ:正解1つではなく、もっともらしい答えたちの形を学ぶ。
  • 何を混ぜ、何から取り出すかで半分が決まる:座標では壊れ、角度(つまみ)では守られる。
  • 採点は3方向から:本物らしさ、多様性、新しさ。1つだけを見ると、A(無難さ)やC(まね)が勝ってしまう。
残った問題
  • つまみを誰が教えてくれるのか:実際の動作データには「速度×1.03、大きさ×0.98」のようなつまみは付いてこない。人が角度モデルを手で組むには、動作はあまりにも多様だ。こうした隠れたつまみを潜在変数という。
  • だから次の問い:データ1,196個だけを見て、つまみ数個を自分で見つけ出せるだろうか? 1,196 → 数個にたたむ側がエンコーダ、数個 → 1,196に広げる側がデコーダである。
棒人間のフィルムと数の波が巨大なじょうごに吸い込まれて小さなカプセル1つになって落ち、助手がノギスでカプセルを測り、博士が親指を立てている場面
次のミッション予告・動作をたたむじょうご
博士
博士1,196個の数をじょうごに入れて、数個のカプセルにたたむんだ。そしてそのカプセルからまた広げる。カプセルの数がそのままつまみになるのさ!
助手
助手たたんで広げて元の動作が出てきたら…そのカプセルに動作が全部入ってるってことですね?
ショウジョウバエ研究員
ショウジョウバエ研究員それが5-3、エンコーダとデコーダだよ。5-1の投棄検出もついでに良くなるはずさ。

Colabコード — このページを自分で実行してみる

どちらのコードも、Colabに標準でインストールされているライブラリだけを使う。「ノートブック(.ipynb)をダウンロード」したあと、Colabでファイル → ノートブックをアップロードから開くか、コピーして新しいノートブックのセルに貼り付ける。

コード1・動作は表である、混ぜるとなぜ壊れるのかセクション3・4と連動・numpy, matplotlib・CPUで1秒未満

5-1の場面関数に、骨の長さチェック(bone_error)と混ぜ合わせ(blend)を加えた。3組を座標平均と角度平均で混ぜ、骨の長さの誤差を比べる。自分のデータに置き換えるには、blendの2つの場面の部分に実際の動作座標を入れる(座標平均しかできないという点が、まさにこの回の問題である)。

実行結果(2026-10-05実行、numpy 2.4・matplotlib 3.10・CPU)。乱数を使わないので、いつ実行しても同じになる。グラフ3枚(動作の表、座標平均、角度平均)も一緒に出力される。
コード2・動作生成器4つと審査官の採点表セクション5・6と連動・numpy・CPUで約10秒

投げる場面100個から生成器A~Dを作り、20個ずつ取り出して採点する。セクション6の下の採点表は、この出力からそのまま作られる。新しい生成器を試すには、judge("名前", 結果のリスト)に(46, 13, 2)の形の場面リストを入れる。

実行結果(2026-10-05実行、numpy 2.4・CPU)。シードを固定しているので、いつ実行しても同じになる。

AI応用プロンプト — このコードを出発点にする

ChatGPT、Qwen、ClaudeのようなAIアシスタントに貼り付けるプロンプトである。「コピー」を押すと、プロンプトの後ろに選んだコードが一緒に付く。〔 〕の中を自分の状況に書き換えて使えばよい。

一緒に付けるコード

AIの答えは出発点にすぎない。提案された論文・数値・ライブラリ関数は、必ず原文と公式ドキュメントで確認する。実際の人の動作データを使うときは、撮影の同意とデータセットの利用条件(商用利用の可否など)をまず確認する。

用語集

本文の黄色い点線下線と同じ辞書である。セクション名を押すと、最初に出てきた場所へ移動する。

たとえ集 — そして、たとえが外れるところ

たとえは理解の第一歩だが、誤解の種にもなる。人の知覚と比べたたとえには強さを示した。直接 実際に同じ働きをするという根拠がある · 部分 一部の性質だけが似ている · なし 対応するものが知られていない

概念日常のたとえ人の知覚のたとえたとえが外れるところ
識別対生成テストの採点(答えが合っているか)とテストの出題(もっともらしい新しい問題を作る)部分的人間にとって、顔を見分けることと描くことは別の能力である出題者は意図をもって問題を作るが、生成モデルはデータの形に沿って取り出すだけである
分布クラスの生徒の身長が集まっている形なし身長は1つの数だが、動作は1,196個の数が一緒に動く形なので、目で描くことはできない
座標平均2人の写真を半透明にして重ねるなし写真を重ねると2人とも見えるが、座標平均は2人の中間の1人を作り、その人の腕は折りたたまれている
潜在変数(つまみ)オーディオミキサーの音量・音色のつまみ数個部分的動作を「速く、大きく」のように、ひと言ふた言で覚えることミキサーのつまみには名前が付いているが、学習で見つけたつまみには名前がなく、意味が混ざっている(5-3)
審査官オーディションの審査員なし審査員には好みがあるが、この回の審査官は決められた5つの数だけを見る。数に表れないぎこちなさは見逃す

著者紹介と参考文献

E-1 著者紹介 · E-2 学術参考文献 · E-3 図と数字の出典

E-1 著者紹介

アン・サンソン(株式会社M-Robo代表)

韓国電気安全公社、毎日経済新聞を経て、現在は毎日経済の社外ベンチャーである株式会社M-Roboを創業し、代表を務めている。株式会社M-Roboは報道機関の社内ベンチャーとして始まったメディアベンチャーで、国民日報にロボット記者(ストックボット)を提供し、韓国インターネット振興院、韓国言論振興財団、韓国放送通信電波振興院などで多数のプロジェクトを手がけた。その後、自社のAIニュース新聞であるMoney-Roboを提供している。代表在任中にアジアオープンデータハッカソンで優勝し、データ創業分野の功労により行政安全部長官賞を2回受賞した。人工知能およびブロックチェーン分野で5件の特許の発明者・登録者である。著書に『AI犯罪と自己防衛』があり、フィンテック、統計学、人工知能の分野について、韓国技術教育大学校オンライン生涯教育院のeラーニングコンテンツを開発した。最終学位は経済学博士(東国大学校、ミクロ数理経済学)である。国民大学校、湖西大学校など複数の大学で、データおよび人工知能に関する科目を教えている。詳しいプロフィール

講義

  • アン・サンソン(2025)。『ビジネスのためのデータサイエンス』講義案。韓国オープンサイバー大学校 人工知能融合学科。
  • アン・サンソン(2025)。[K-デジタル] 人工知能 自然言語処理。STEP(スマート職業訓練プラットフォーム)、韓国技術教育大学校オンライン生涯教育院。
  • アン・サンソン(2024)。[K-デジタル] フィンテック データ分析の基礎。STEP(スマート職業訓練プラットフォーム)、韓国技術教育大学校オンライン生涯教育院。

STEP講義へのリンク:link.step.or.kr/1qyVoJ · link.step.or.kr/M9na9N · link.step.or.kr/brqEyc
サイトのリニューアルによりアクセスしにくい場合は、www.step.or.krからアクセスしてほしい。

論文と発表

  • アン・サンソン(2025)。国民老後保障パネルデータを活用した世帯支出予測モデルの研究:人工知能モデルに基づくアプローチ。『未来社会』、16(2)。原文
  • アン・サンソン(2025)。国民老後保障パネルデータを活用した世帯支出予測モデルの研究:人工知能アプローチ。国民老後保障パネル学術大会 発表資料(2025.05.13)、国民年金公団 国民年金研究院。発表資料
  • アン・サンソン(2025)。SNSテキストに基づく麻薬疑い取引の検出アルゴリズムに関する研究:パターンおよび文脈分析を中心に。『未来社会』、16(1)。原文
  • アン・サンソン(2024)。金融分野の異常検知モデルのセキュリティのための統計に基づく敵対的データへの対応策:実証分析とシミュレーション結果。『未来社会』、15(3)。原文
  • アン・サンソン(2024)。人工知能を活用した仮想キャラクターの特性に基づくSNS投稿検出ソリューション。2024 Summer Newmedia Party ポスター発表(2024.06.19)、ソウルメディア大学院大学校。
  • アン・サンソン(2024)。産業災害パネルデータを活用した機械学習モデル。第10回労災保険パネル学術大会 ポスター発表(2024.05.17)、勤労福祉公団 勤労福祉研究院。
  • アン・サンソン(2024)。暗号資産の時系列データの分析と予測:時系列モデルおよび人工知能モデルの比較と改善点の提示。『未来社会』、15(1)。原文

E-2 学術参考文献

  1. [R1] Ng, A. Y., & Jordan, M. I. (2002). On discriminative vs. generative classifiers: A comparison of logistic regression and naive Bayes. Advances in Neural Information Processing Systems 14. — セクション2
  2. [R2] Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., Courville, A., & Bengio, Y. (2014). Generative adversarial nets. Advances in Neural Information Processing Systems 27. arXiv:1406.2661 — セクション2・6
  3. [R3] Kingma, D. P., & Welling, M. (2014). Auto-encoding variational Bayes. ICLR 2014. arXiv:1312.6114 — セクション2・6、次回5-3
  4. [R4] Holden, D., Saito, J., & Komura, T. (2016). A deep learning framework for character motion synthesis and editing. ACM Transactions on Graphics, 35(4), Article 138. doi:10.1145/2897824.2925975 — セクション7(動作をたたむ表現学習)
  5. [R5] Ho, J., Jain, A., & Abbeel, P. (2020). Denoising diffusion probabilistic models. Advances in Neural Information Processing Systems 33. arXiv:2006.11239 — セクション2

E-3 図と数字の出典

  • 場面のイラスト(動作データ倉庫、生成の学習、審査官、エンコードのじょうご)は、著者が自作したピクセルアートである
  • すべての動作場面は5-1と同じ合成データである。セクション4の下の数値とセクション6の下の採点表は、コード1・2を実際に実行した結果である
  • セクション5・6の画面はブラウザで同じ方法で引き直したもので、コード2とは乱数が異なるため、数値が少し違う

E-4 注釈

  • [注] つまみ(潜在変数) — このシリーズで潜在変数(latent variable)をわかりやすく呼ぶためのたとえである。回すとデータ全体が一緒に変わる、少数の数という意味だ。英語圏の解説でも、潜在空間の各次元をたとえとして「knob(つまみ)」「dial(ダイヤル)」「slider(スライダー)」と呼ぶことがある。論文での正式な用語は潜在変数であり、5-3でデータが見つけるつまみの一つ一つは主成分(principal component)である。本物のつまみと違い、1つに複数の意味が混ざることがある。

教育者向けTIP

講師、実務OJT担当者、チューター向けの運営ガイドである。時間は目安なので、実際の授業に合わせて調整する。

対象5-1を終えた大学生・社会人。生成AIが「何を学ぶのか」の感覚をつかみたい企画者・実務者
前提知識5-1の棒人間13点と6種類の場面、平均と標準偏差
学習目標① 識別モデルと生成モデルの違いを、矢印の向きと「答えの数」で説明する ② 座標平均が骨の長さを壊す理由を例を挙げて示す ③ 生成結果を本物らしさ・多様性・新しさの3方向から評価する
目安時間読む30~40分・アニメーションの実演20分・Colab実習25分(コード1 10分、コード2 15分)

3つの運営案

講義型50分

概念中心

導入5分(セクション1・2 逆にする)→ セクション3 動作の表8分 → セクション4 混ぜる実験12分 → セクション5 データの雲7分 → セクション6 生成器4つ13分 → 確認問題5分。

実務OJT 90分

評価基準を中心に

セクション2 15分 → セクション6の採点表を自分たちの業務の生成物(文書・画像・動作)に当てはめ、「本物らしさ・多様性・新しさ」の基準を作る30分 → セクション4で「表現選び」について討論15分 → コード2を実行し、新しい基準を追加30分。

1対1チュータリング

レベル別の進度

入門者はセクション2・4・6だけ。中級者には、コード2に生成器E(学習場面2つを角度平均で混ぜる)を自分で作らせ、採点表に加えさせる。

セクションごとの運営ポイント

セクション立ち止まって問いかける質問操作のコツ
2 逆にする「作る場合の正解はいくつあるだろう?」見分ける → 作るを交互に押す
3 動作は表「この表で、勝手に変えてはいけないマス同士の約束は?」投げる動作で、0.8~1.2秒の列にマウスを乗せる
4 混ぜる「半分ずつ混ぜたのに、なぜ腕が消えたのか?」「投げる」+「手を振る」の座標平均で、赤い棒が長くなるフレームを探す
5 データ「この雲から新しい点を取り出すと、どんな投げ方が出てくるだろう?」赤い点と緑の点の境目あたりを押してみる
6 生成器「A・B・Cは、それぞれどの採点項目で落ちるか?」生成器ごとに「作り直す」を2、3回押す

よくある誤解 Top 5

誤解正しい説明見せる場面
生成モデルは正解を1つ作るもっともらしい答えたちの分布から1つを取り出す。毎回違うのが正常であるセクション2、セクション6「作り直す」
平均が最も安全な生成である平均は多様性0であり、タイミングの違う動作を平均すると力が抜ける(手首の速度 2.55 → 1.36)セクション6 生成器A
数が多いほど表現として優れている1,196個の数は互いに結びついている。結びつきを守る少ない数(角度、つまみ)のほうが生成には向いているセクション4 角度平均、セクション6 生成器D
学習データとまったく同じなら最高の生成であるまねは新しさが0である。データの中の個人をそのまま出してしまう危険もあるセクション6 生成器C
本物らしく見えれば評価は終わりである本物らしさ、多様性、新しさを合わせて見る必要がある。1つだけを見るとAやCが勝ってしまうセクション6の下の採点表

確認問題(解説は押すと開く)

Q1. 3秒(15fps)の場面を関節13個で表すと、数はいくつになるか? 5秒に延ばすと?

3秒は46フレーム(0秒を含む)× 26 = 1,196個。5秒は76フレーム × 26 = 1,976個。

Q2. 肩(0, 1)に付いた長さ0.33の腕が、ある場面では左の水平方向(−0.33, 1)を、別の場面では右の水平方向(0.33, 1)を指している。手の座標を平均すると、腕の長さは?

手 = (0, 1)となり、肩と同じ点になる。腕の長さは0、骨の長さの誤差は100%である。セクション4の「最悪99.9%」はこのような瞬間だ。角度を平均すると(−90°と+90°の平均は0°)、腕は下に垂れた長さ0.33の腕になる。

Q3. 生成器C(1つ選んでコピー)は本物らしさと多様性の両方に合格する。なぜよい生成器とはいえないのか?

新しさが0だからである。学習データを覚えて出しているだけで、新しい動作を作れない。実際の人の動作や顔が含まれたデータなら、個人情報をそのまま出してしまう問題も起こる。

Q4. 生成器Aの手首の最大速度(1.36)が学習データ(2.55)より低いのはなぜか?

場面ごとに投げる瞬間(タイミング)が違うので、座標を平均すると、速く振る区間が複数のフレームに薄く広がる。ピークがつぶれて、力の抜けた投げ方になる。

Q5. 生成器Dは5項目すべてに合格したのに、「実際には使いにくい」とされたのはなぜか?

Dは場面を作ったつまみ(速度・位置・大きさ)を最初から知っていた。実際の動作データには、こうしたつまみは付いてこない。データだけを見てつまみを見つけ出すのが、5-3のエンコーダ・デコーダの仕事である。

Colab課題

基本

コード1で混ぜる割合を0、0.25、0.5、0.75、1に変え、「投げる」+「手を振る」の座標平均による骨の長さの誤差を表にまとめる。誤差が最も大きい割合とその理由を2文で書く。

挑戦

コード2に、生成器E「学習場面を2つ選んで座標平均」とF「つまみ3個を学習範囲の外(大きさ×1.6)から抽出」を加えて採点する。Fの結果が本物らしさには合格しても、どんな問題があるか(缶はどこへ飛んでいくか)を報告する。

難易度の調整と発展学習

入門者セクション4の「座標平均対角度平均」1つだけをしっかり見れば、この回の半分は得られる
発展GANとVAEが「審査官」を学習にどう組み込んでいるかを調べて発表させる。論文は原文で確認する
次回5-3 エンコーダ・デコーダ — データだけを見て、つまみ(潜在変数)を自分で見つける

ミッション5-2完了!

『5-2 見分けることから作ることへ』を最後まで読みました。研究室の仲間たちがひとことずつまとめます。

脳の神経網の模様が映るゴーグルをかけたディープラーニングエンジニアの棒人間が、キーボードを打ち、ダイヤルを回し、ニューラルネットワークの図を指さす6つのポーズ
博士
博士矢印を逆にしてみました。
  • 作るとは、正解ではなく分布から取り出すこと
  • 座標を混ぜると腕が折りたたまれる
  • 採点は本物らしさ・多様性・新しさ
助手
助手平均の投げ方があんなに力がないなんて…つまみ3つが答えでした。
ショウジョウバエ研究員
ショウジョウバエ研究員そのつまみをデータから見つけ出すのが次のミッションだよ。じょうごの準備を!