🕹️ ミニゲームゲームズ / AIを騙せ! の遊び方
🤖

AIを騙せ!

AI対戦ジャンル・所要 約5分・ブラウザで無料・インストール不要
▶ AIを騙せ! を遊ぶ

ルール

審判AIには「ちゃんと読める数字だ」と言わせつつ、相手AIには間違えさせる——手書き数字の心理戦バトルです。あなたが数字を手で描くと、大きくて賢い審判AIと、小さくて隙のある相手AIの2つが読み取ります。審判が『これは○だ』と認めた上で、相手AIが別の数字と誤読したら、あなたの勝ち。人間には読めるのにAIだけが騙される、絶妙な崩し方を探します。目玉は『しんかAI』——騙すと、その場でブラウザ内の本物の機械学習で特訓し、同じ技が二度と通じなくなります。

攻略のコツ

やみくもに崩すと審判にも読めなくなって失敗します。コツは『人間には○に見えるギリギリまで、別の数字に寄せる』こと。例えば9の下の棒を短くして8っぽく見せる、といった調整です。しんかAI相手では、一度成功した崩し方は学習されて封じられるので、勝ち続けるには毎回新しい騙し方を発明する必要があります。あなたの騙し技だけを食べて育つ、世界に一体の敵です。

この作品を作った理由

AIの弱点を突く体験を、攻撃側の楽しさとして遊べる形にしたくて作りました。さらに『騙されたAIがその場で学習して強くなる』を加えると、人間とAIの終わりなき創意工夫の競争になります。学習の様子(損失が下がる曲線)が目の前で見えるので、機械学習の入り口にもなります。

技術的な仕掛け

数字認識も学習も、外部ライブラリを使わず素の JavaScript で実装し、勾配計算が PyTorch と一致すること(誤差1e-9)を検証しています。ブラウザ内でリアルタイムに再学習が走り、サーバー通信は一切ありません。英語のインタラクティブ解説記事も用意しています。

4つのモードと、最初にやること

まずは🥊 たいせん(Lv1/Lv2)から。お題の数字を、審判AI(大型・精度99.0%)には読めて、相手AI(小型)には誤答させる形で描けば騙し成功です。スコアは「相手の誤答確信度×コンボ倍率」。0〜9をすべて騙すと図鑑にバッジが付きます。ほかに⏱ 60秒ラッシュ(時間内に何回騙せるか)、🔬 けんきゅうしつ(特徴マップと判断根拠ヒートマップの観察)、そして本命の🔥 リベンジがあります。スマホは指で描けます。

「しんかAI」は本当に学習している

🔥リベンジモードの敵は、騙されるとその場でブラウザ内の本物の機械学習(勾配降下)で特訓し、同じ技が二度と通じなくなります。特訓画面ではライブの損失曲線と確信度メーターが動き、そのあと同じ絵をもう一度判定させて、看破されるところまで見せます。特訓回数に応じて得点倍率が上がり、最大×3。

中身は、畳み込み層を凍結したうえで全結合ヘッド(hidden64+fc10・約5.2万パラメータ)だけを純粋なJavaScriptのSGD(クロスエントロピー)で学習させています。ただ学習させると元の性能を忘れてしまうので、忘却防止としてクリーンMNIST特徴300本のリプレイバッファを同梱し、復習ステップと元の重みへのL2アンカー(長期的な漂流を有界化する)を入れ、さらに過去の騙し技12件を混ぜて再学習しています。確信度95%に達したら早期終了する設計で、1回の特訓は実測53ms——演出のためにわざと2秒に引き伸ばしています。学習した重みはlocalStorageに残るので、この敵はあなたの騙し技だけを喰って育った、世界に一体の個体になります(図鑑から初期化できます)。

仕様上の見どころ——「強くすると弱くなる」

特訓を重ねると、クリーンな数字に対する精度が98.5%から96%台に下がることがあります。これは不具合ではなく、機械学習で実在する現象「頑健性と精度のトレードオフ」です。ゲーム内では「AI学力テスト」として可視化してあり、あえて学習させて隙を作る——いわゆるデータポイズニング——まで戦略として成立します。

数字の裏づけ(すべて自動テスト)

「本物のMLだ」と言い張るだけでは意味がないので、参照実装との一致で確かめています。test_parity.js / test_parity_v2.js は、JSでの推論がPyTorchと一致することを誤差およそ5e-7で確認。test_learn_parity.jsJS側の学習1周がPyTorchのfloat64 autogradと一致すること(同一バッチ・同一学習率・アンカー込み40ステップ)を誤差1e-9台で確認しています。test_learning.js では、自然に騙せたサンプル15件が特訓後にすべて看破される(15/15)こと、10連続で特訓してもクリーン精度96.5%を保ち技の記憶が15/15残ること、速度が53ms/回であることを検査。test_winnable.py ではゲームとして成立するか——審判の可読率98.9%、Lv2の「8」が裏ボス級に難しいこと——まで測っています。

データはどこにも送られません

推論も学習もすべてブラウザ内で完結し、サーバーはありません(依存ライブラリもゼロ)。図鑑の🧪研究データ書き出しでは、自分のプレイログ(手描き画像と判定結果)をJSONとして自分の端末にダウンロードできます。送信は一切ありません。

▶ 実際に遊んでみる
© D-studyLab / ミニゲームゲームズトップへ運営者情報プライバシーポリシー
近いものを遊ぶ
✂️ ヨミキリあなたの癖を学習する限定ジャンケン  └ ヨミキリの解説を読む 🐧 積みバトル先読みAIと崩さず積む  └ 積みバトルの解説を読む