AIに「写させる」だけで正答率が17%から94%に

画像の問題を生成AIに解かせると正答率17%でした。AIには図の書き写しだけをさせ、規則の探索は端末側のコードに任せる構成に変えたところ94%になりました。実測値と、この分け方が効く条件を書きます。

カメラで写した問題をAIに解かせるアプリを作っています。 図形の規則性を問う問題(法則性・暗号・命令表)で、どうしても正答率が上がりませんでした。

原因を切り分けたところ、AIは規則を推理できていないのではなく、図を正しく読めていなかったことが分かりました。

そこで、AIに求める仕事を変えました。

変更前と変更後

変更前変更後
AIの仕事図を見て答えを出す図を構造として書き写す
規則の探索AI端末側のコードが総当たり
答えの決定AI規則が全ての例を説明できたときだけ確定

つまり、知覚はAI、推論はコードに分けました。

測った結果

経路正答率平均時間
写して端末で解く17/18(94%)46〜65秒
AIに直接解かせる2/12(17%)147〜210秒

正答率が5.5倍、速度も3倍近く違いました。

注目すべきは17%という数字そのものです。この問題は5択なので、 当てずっぽうに選んでも期待値は20%です。 つまりAIに直接解かせる経路は、ランダムに選ぶより悪いという結果でした。

なぜ「写させる」と強いのか

規則性の問題は、実は2つの異なる作業に分かれています。

  1. 図を正確に読み取る(知覚)
  2. 読み取った内容から規則を見つける(推論)

このうち2は、候補が有限なら総当たりで確実に解けます。 コードで全パターンを試して、読み取った例をすべて説明できる規則が1つだけ残れば、それが答えです。

一方1は、コードには難しく、AIが得意です。

それぞれの得意な仕事だけをやらせると、両方をAIに任せるより強くなります。 AIが1を間違えると2も連鎖して壊れますが、分ければ1の失敗を検出できるようになるからです。

分けたことで「わからない」が言えるようになった

この構成の一番の効能は、正答率よりむしろこちらかもしれません。

端末側で規則を探索すると、次の3つの状態を区別できます。

後ろ2つのとき、当てずっぽうを返さず「読み取れませんでした」と答えられます。

AIに直接解かせていると、この区別ができません。 自信がなくても何かしらの答えが返ってきて、外部からは正解と区別が付かないからです。

実装では、ここで「とりあえず一番ありそうな選択肢」を返さないことを設計上の約束にしています。 それをやると、せっかく分けた意味がなくなります。

読み取り結果を画面に出す

もう一つ入れたのが、AIが読み取った図を利用者に見せる仕組みです。

読み取りがずれたまま、たまたま辻褄の合う規則が見つかる可能性は消せません。 確率は低くても、起きたときに誰も気付けない設計は危険です。

そこで読み取った図を画面から開けるようにし、選んだ選択肢に印を付けました。 利用者が「AIはこう読んだのか」を確認できれば、誤読に気付けます。

ソルバの出力を画面から見えなくしない。 これは実装ルールとして明文化しています。

この分け方が効く条件

万能ではありません。次の条件がそろったときに効きます。

3つ目が意外に重要でした。詳しくは 「わからなければ諦めろ」と指示したら、全体の正答率が下がったに書きます。

適用範囲の限界も測っておく

正直に書いておくと、この構成で全部が解けるわけではありません。

「法則性」の問題は形式が発散していて、マス目・自由配置・入れ子と矢印・ 3Dのサイコロ写真まで出ます。実物8問のうち、構造化して端末側で解けたのは4問程度でした。

ここは上限があると理解したうえで手を入れています。 どこまでが守備範囲かを測っておくと、無駄な改善に時間を使わずに済みます。

まとめ

関連する記事

最終更新日: