12月20日、昭和学院中学・高等学校様にて、早稲田大学 理工学術院総合研究所 准教授 ・加速キッチン合同会社 代表 田中香津生(たなかかづお)先生をお招きして「リバーシAIを作ろう」と題した特別講座が開かれました。
当日の講座のご様子について、本講座を企画された榎本先生にレポートをご執筆いただきました。
はじめに
昭和学院中学校・高等学校にて、早稲田大学 理工学術院総合研究所 田中香津生(たなかかづお)先生をお招きして「リバーシAIを作ろう」と題した特別講座が開かれました。
田中先生の専門は素粒子物理学の研究者です。物理研究において生徒たちには想像も難しいほどの大量のデータを処理する際には、プログラムを上手く書くことが研究推進に欠かせないことだと話します。
参加を希望した中学生10名、高校生7名(1名オンライン含む)が受講しました。参加生徒は2人で1台のChromebook (Acer Chromebook Spin 511)を使いました。今回の講座のためのGoogle Classroomを作成し、資料の配布・生徒の意見集約に活用しました。
リバーシを題材にAIへの興味を喚起する
高校でオセロにハマり、徹夜で学び続けて気付けば世界ランキングに名を連ねた田中先生。6×6リバーシをブラウザで動かせるようにした田中先生自作のブラウザアプリ(JavaScript)を用いての講座スタートとなりました。ブラウザ上で左側の画面にリバーシの盤面、右側に自作AIが作れるJavaScriptのコード領域があります。この講座内で田中先生は一度も生徒に対して「JavaScriptの勉強をします」といった宣言をしていません。リバーシへの興味を原動力に、自然にJavaScriptにおける配列や条件分岐を体験する講座でした。
まずはペアになった生徒同士での対戦を行いました。その際、アプリ上で記録される棋譜を振り返りながら、「どこが勝負の分かれ目だったのか」を考察しました。棋譜をClassroomで共有し、それらを辿りながら生徒本人が考察を発表しました。ある生徒の考察において選ばれた勝負の別れ目の一手、実はその時点ではもう圧倒的に不利になっていたことに気付きました。感覚的にとらえる視点から、目の前の事象を分析的に考えるようになっていきます。次に、田中先生の自作したAIサンプル(レベル1~5)のうち、最強のレベル5と生徒たちが対戦してみました。誰も歯が立たず、なぜその実力の差が生まれるのか考えました。参加生徒たちは、こうして教室の中で意見を交わしながら勝負の分かれ目の一般化を目指しました。コンピュータに何かを命令するためには、それを言語化し、コンピュータに伝えなければなりません。「最初に多く返し過ぎた」「ここに置くと一気に不利になる」といった考察をどうAIに実装していくかを考えます。
パラメータの数値と条件分岐を学ぶ
実際のAIでも使われている基本的な考え方として、今回の講座でも盤面に点数を付ける方法を用いました。自作AIは次の手を考える際に、もっとも点数が高いマスを選択します。例えば、「隅(盤面の4つの角)が取れるのであれば優先して取りにいく」戦略を採用したいのであれば隅の点数を高くします。逆に、そこに置くと不利になるような極力置いてほしくないマスの点数を低くしておくといった考え方です。これは二次元配列で定義する形となっており、数値を編集する中で「カンマを消してしまったら動かなくなる」「数値は半角で入力する」といった基礎基本が自然と身に付きます。さらに、返せる石の数に関わる係数を設定し、AIが石を多く返すようにしてほしいのか、少なく返すようにしてほしいのかを決めることができます。つまり「盤面の点数 + 係数 × 返す石の数」が各マスの得点です。
参加生徒たちは6x6=36の盤面(最初に4つ置かれるので考えるのは32)の得点と、返せる石の数に関わる係数を決定します。その後、サンプルAIと自動で対戦させると1勝負が数秒で終わり対戦成績が蓄積されていきます。こうして自作AIが用意されたサンプルAIのよりレベルが高いものに勝てるよう改良を重ねていきました。
生徒たちはこの時同時にコンピュータというものはこんなに大量の処理を一瞬で終えるものなのだ、ということも改めて実感できたことでしょう。途中経過の設定値を発表する機会には、あるペアでは返せる石の数にかける係数を-50としていました。それに対して盤面の値は1から10程度の数値でした。「なんとなくこうしてみた」と発表する生徒に対して、田中先生はこの値での具体的な計算結果を細かく分析してみせました。彼らの設定した値を言語化すると「どのマスかはほぼ度外視でとにかく返す枚数が少ないところを狙い続ける」という戦略になっていると説明しました。これは-50という極端な値がこのAIの支配的な要素となってしまい、他の要素の意味がなくなってしまう状況となっていたのです。
こうして、ただ闇雲に数値を変えて結果だけを見ていた生徒たちが、だんだんと計算過程を考え、何がどう影響するのかを分析的に思考しながら自作AIの改良を進めました。
参加生徒たちは自作AIの改良を重ねるうちに、AIの融通の効かなさにもどかしさを覚え始めます。具体的には「序盤では回避してほしいけど終盤には積極的に狙ってほしいマス」、といった条件付きの動きをしてもらえないことに気付きます。
そこで、if構文による条件分岐を入れ、「残りの空きマスの数が〇枚以上(以下)のとき」という条件下で別の盤面得点や係数を設定しました。田中先生の用意したお手本のコードをコピーし、その中身を書き替えながら条件分岐入りのAIを用いて、制限時間内に最強のAIを作成しようと生徒たちは夢中になりました。
休憩時間にも殆どの生徒が席を離れず熱中して自作AIの改良を目指しました。なるべくレベルの高いAIサンプルに勝利できるようにと改良を重ねていくと、いつか「サンプル4にだけは強い」というAIが出来上がりつつあるペアがありました。
これはサンプルAIの特徴・戦略ばかりをつかみすぎて、その相手に特化したものになってしまい、サンプル1や2といった弱いはずのAIに負けるものが出来上がっていたのです。これは「過学習」と呼ばれるもので、機械学習の落とし穴であることも実践を通して学びました。
最後に、それぞれが作成したAIをアプリ上で総当たり対戦させて、本日の講座で生み出された最強のAIを決めるコンテストを行いました(図は各AIを1000回ずつ対戦させた結果)。田中先生の用意したサンプルAI(1〜6)のうち、レベル4のAIとは良い勝負ができるようなAIが作れたようです。
ディープラーニングで変わった世界と人がやるべきこと
最後のまとめとして、AIについて最近のゲームを題材に興味深い講義を聴くことができました。
今から30年前にオセロなど比較的盤面が小さく簡単に考えられるゲームから順に人間がAIに敗北を喫するようになってきました。2016年の囲碁の敗北から、人類とAIの役割分担がどうなるのか、参加生徒たちに発問を投げかけ、考える時間となりました。
今回の講座において手作業で設定した盤面の得点を、ディープラーニングの手法では全てコンピュータ自身が行います。一般化し、言語化したものをどう命令するかが鍵だった今回の自作AIを否定するかのごとく、発展したコンピュータの処理により全ての場合の数を記録することが可能になったのです。さらにはchatGPTのようなディープラーニングのサービスでは人間が分かる命令として「リバーシのゲームを作って」と伝えれば、AIがプログラミングを行い、コードが書かれます。田中先生の本業の研究においても、今では日本語で書いた研究内容を「この論文をサイエンスの英語論文に仕上げて」と命令すれば、綺麗な文法の英文に整えてくれます。
AIの進化は目覚ましく、「何十年か先にはこんな未来が」と夢描いていた未来がたった数年で実現される世界になりました。AIに仕事が奪われる、AIがあれば人が不要になるといった悲観的な話をよく聞きますが、田中先生の見据える未来はそんな世界ではありません。将棋や囲碁の世界でもAIと対戦し、分析した棋士が活躍し、新しい定石が次々に見つかっています。
一方でAIの凄さに感嘆しつつも、多くの人はそれを活用できずにいるのも事実です。対話AIとして話題のChatGPTを前にした人の多くは「こんにちは」とだけ挨拶して返事が返ってくるのを見て、感心して満足するものだと話すと生徒たちは笑いながらも、自分自身が何をしたいのかを考えさせられました。
AIを活用できるかどうかの境目は「こういうことがやりたい」という気持ちがあるかどうかだと、田中先生は強調しました。AIによって人は学ぶ機会が増え、自由に学べるようになりつつある今、物事を深く探究し、能動的に学びに向かう姿勢こそが大切な時代になりました。この講座に参加した生徒たちは、新時代の学びに向かう一歩目を踏み出すことができたのかもしれません。
田中先生は加速キッチン合同会社という会社を立ち上げ、このようなICTツールを生かした様々な教育活動を行っています。
加速キッチンの詳細についてはこちらをご参照ください。
https://accel-kitchen.com/
お問い合わせはこちら
本コラムに関するお問い合わせはこちらからよろしくお願いいたします。
Chromebook導入のポイントが分かる資料がダウンロードできます。
資料の内容
〇Chromebookとは?
〇推奨アプリケーションのご紹介
Google Workstation for Education / CEU /
Classroom 等
〇三谷商事オリジナルサービスのご紹介
・導入&保守サービス
・CEUサポート
Google Workspaceサポート
・端末障害サポート 等
上記以外も有益な情報を公開しています。