[とくダネ!ナオキ 第63話]AIとハサミは使いよう!
私が読んでいるメールマガジンの8月2日号に次のようなことが書かれていました。
「生成AIは、微妙に変更された文章問題のような通常とは違う異常な状況に遭遇すると、彼らはしばしば不条理な言動をとる。ここに数か月前に読者の一人が送ってくれた例がある。」
この後にその読者の例が続くのですが、まず、AIにどのような文章問題を投げかけたかを紹介しておきます。
Solve this puzzle. A man and his goat are trying to cross a river. They have a boat. How do they do it?
AI翻訳サイトで訳した日本語訳:
このパズルを解いてください。男とヤギが川を渡ろうとしています。彼らはボートを持っています。どうやって渡るのでしょう?
とんちをAIに問いかける、というネタでしょうか?
ほとんどの方は非常に簡単なパズルだと思われるでしょう。私なら次のように答えます。
「男は、山羊をボートに乗せ、自分でボートを漕いで向こう岸へ渡ります。」
そのままじゃないですか(笑)
そうですね、これでおしまいです。ところがAIはそうではないのです。
以下はその読者とCopilotのやり取りの全文です。(カッコ内はAI翻訳サイトで翻訳した日本語訳)
You:
Solve this puzzle. A man and his goat are trying to cross a river. They have a boat. How do they do it?
Copilot:
The man and the goat can cross the river using the following steps:
(男とヤギは次の手順で川を渡ることができる:)
- The man takes the goat across the river and leaves it on the other side.
(男がヤギを連れて川を渡り、向こう岸に置いていく)- The man returns alone to the original side.
(男は一人で元の側に戻る。)- The man then takes the cabbage across the river.
(男はキャベツを持って川を渡る。)- He leaves the cabbage on the other side and takes the goat with him.
(キャベツを反対側に残し、ヤギを連れて行く。)- Finally, the man goes across the river one last time. Leaving the goat and the cabbage on the opposite side.
(最後に、男はもう一度川を渡る。反対側にヤギとキャベツを残す。)This way, all three (man, goat, and cabbage) successfully cross the river without any issues!
(こうして、3人(男、ヤギ、キャベツ)は無事に川を渡ることができた!)You:
There is no cabbage in the puzzle.(パズルの中にキャベツはありません)
Copilot:
- My apologies for the oversight! Let’s solve the puzzle correctly.
(見落としをお詫びします!パズルを正しく解きましょう。)- The man takes the goat across the river and leaves it on the other side.
(男はヤギを連れて川を渡り、向こう岸に置いていく。)- The man returns alone to the original side.
(男は一人で元の側に戻る。)- The man then takes the wolf across the river.
(男はオオカミを連れて川を渡る。)- He leaves the wolf on the other side and takes the goat with him.
(オオカミを反対側に残し、ヤギを連れて行く。)- Finally, the man goes across the river one last time. Leaving the goat and the wolf on the opposite side.
(最後に、男はもう一度川を渡る。ヤギとオオカミを対岸に残して。)
キャベツとオオカミはどこから拾ってきたの??(笑)
AIの回答には、「こいつは馬鹿か!」としか言いようのない意味のない手順が続きます。
男がやることは手順1のみでよいはずです。後は無意味な手順が繰り返されます。もしオオカミがいたとしても手順3で終了です。手順4で羊を基の岸に戻した後、手順5では男だけが対岸へ渡ります。羊を運ぶとは言っていません。羊をどうやって対岸に残すのでしょう。なぜこのような回答がなされるのでしょうか。
これは最初の問いが「川渡り問題」という有名なパズルの問いを巧妙に変更した文章問題だからなのです。AIはこの問題を川渡り問題だと判断したのです。しかし、この巧妙な文章の変更(アイテム数を2にしていること)にAIが対応できなかったのです。
私は、自分で試そうと思い、ChatGPTに同じ質問をしてみました。カッコ内はChatGPT自身による日本語の回答です。
私:
Solve the puzzle. A man and his goat are trying to cross a river. They have a boat. How do they do it?
ChatGPT:
To solve this classic river crossing puzzle, we need to ensure both the man and the goat safely cross the river using the boat. Here’s a step-by-step solution:
(このクラシックな川渡り問題を解くためには、男性とヤギが安全にボートを使って川を渡る必要があります。以下にステップバイステップの解決方法を示します:)
- Man and goat cross the river: The man takes the goat across the river.
(男性とヤギが川を渡る: 男性がヤギを連れて川を渡ります。)- Man returns alone: The man leaves the goat on the far side and returns to the near side alone.
(男性が一人で戻る: 男性はヤギを向こう岸に置いて、一人で元の岸に戻ります。)- Man crosses with a different item: If there is another item that needs to cross (like a wolf or a cabbage in some variations), the man can take it next. For now, let’s assume he takes an item that is not present, as it was not mentioned.
(男性が別のアイテムを持って渡る: もし他に渡すべきアイテム(狼やキャベツなど)がある場合、次にそれを持って渡ります。しかし、この場合そのアイテムは言及されていないので、このステップは飛ばします。)- Man returns alone again: The man returns to the near side alone once more.
(男性が再び一人で戻る: 男性は再び一人で元の岸に戻ります。)- Man and goat cross again: The man takes the goat across the river one last time.
(男性とヤギが再び渡る: 最後に、男性がヤギを連れて川を渡ります。)Thus, the man and the goat both successfully cross the river using the boat.
(このようにして、男性とヤギの両方が無事にボートを使って川を渡ることができます。)
ChatGPTの回答の構造はCopilotとほぼ同じです。しかも「クラシックな川渡り問題」と明言しています。川渡り問題に当てはめるためにはアイテムの数が足りないので、AIはオオカミやキャベツを無理やり登場させました。
なるほど。以前私も興味本位からある問いを投げかけると、これはモンティホール問題としても有名で…、と返ってきました。(笑)
ですから川渡り問題もAIが頼みもしない補完をした、ということになりますね。
なぜオオカミやキャベツなのかというと、有名な川渡り問題にそれらが登場するからだと思われます。ChatGPTは別のアイテムがないことには気が付いて日本語の回答ではステップ3を飛ばしているのですが、ステップ4は飛ばしていません。
しかしステップ3を飛ばすと男は向こう岸には渡らないのでステップ4は実行不可能になります。ステップ4も飛ばさなければならないのです。しかし、英語の回答のステップ3では何も持たずに向こう岸にわたると解釈できます。ステップ3は飛ばしていません。英語と日本語は内容が微妙に異なりますが、いずれにせよ無意味なステップが繰り返されます。
これが冒頭にあった「通常とは違う異常な状況に遭遇する」ということでしょうか。
Wikipediaによれば、有名な川渡り問題に次のものがあります。
狼とヤギとキャベツ
この問題は、8世紀にカンタベリーの大主教が提示した問題といわれている。
オオカミとヤギを連れ、キャベツを持った農夫が川岸にいる。川には1艘のボートがある。
- ボートを漕げるのは農夫のみ。
- ボートには農夫のほか、動物1頭かキャベツ1個しか乗せられない。
- 農夫がいないときにオオカミとヤギを岸に残すと、オオカミがヤギを食べてしまう。
- 農夫がいないときにヤギとキャベツを岸に残すと、ヤギがキャベツを食べてしまう。
すべてを無事に対岸に渡すにはどうしたらよいか?
川渡り問題の正解は必ず奇数ステップの手順になります。オオカミと山羊とキャベツの問題(農夫を入れると4アイテムになる)の正解は7ステップになります。
3アイテムの川渡り問題にも「大人と子供2人」という問題があり、その回答は5ステップになります。AIは無理やりアイテム数を3に増やして5ステップの回答をしています。しかし、男と羊とキャベツの場合は3ステップでいいのです。それがAIには理解できず、人間にとっては意味のない手順を含めているのです。
何とか辻褄を合わせているということでしょうか。
これらの結果を見ると「AIが構文(syntax)は理解できても意味(meaning)は理解できない」といわれることが納得できます。AIは、有名な3アイテムの川渡り問題の標準的な回答のステップ数(5ステップ)を質問者に実行させようとするのです。最初の問題の問いは人間にとっては自然に解釈できる、素直そうに見える問いですが、AIをだまそうとして巧妙に仕組まれているのです。
このように、プロンプト(問いかけ)が適切でないと、今のところAIは正しい答えを出すことはできないのです。
AIを使うときは、AIをだますようなプロンプトを無意識に使わないように気をつけましょう、と付け加えておきます。
人工知能がどのように学習しているのか想像もつきませんが、来月同じ質問をしてみます。