分コンピュータープログラムが囲碁や将棋のプロ棋士と対等に戦える時代になりました。囲碁のように,高度な戦略的思考を要するゲームでは,コンピューターが人間のトッププレイヤーに勝つことは難しいと言われていましたが,ついにその常識が変わる時代が来たようです。−⁠−−と,もっともらしく書き始めてみましたが,実は,私は囲碁にはそれほど詳しくありません。囲碁ファンの皆さんからは,喧喧囂囂(けんけんごうごう)の熱い議論が巻き起こりそうですが,コンピュータープログラムの視点で見ると,少し異なった事情が見えてきます。簡単に言ってしまうと,「⁠取り得る盤面の状態」があまりにも多すぎるのです。極端な例かもしれませんが,三目並べ(別名,○×ゲーム)と比較して考えてみましょう。全部で9つのマスがあり,それぞれのマスは,○,×,空白のいずれかを取ります。したがって,単純な組み合わせで計算すると,3の9乗で19,683通りになります。この中には,全部のマスが○と言った,実際にはあり得ない盤面も含まれます。ゲーム中に現れる盤面に限定すると,その数は3,793通りにまで減少します(本当に確認しましたよ!⁠)⁠。囲碁と三目並べの本質的な違いとは?この程度の数であれば,盤面の状態がどのように変化するかというすべてのパターンを「樹形図」として表すことも不可能ではありません。実際にノートに書き表すのは大変ですが,コンピューター上で樹形図全体の情報を構成して,メモリーに記録することは可能です。ちなみに,樹形図の情報を表すデータ構造と言えば......これは試験に出るポイントですね(笑⁠)⁠。冗談はさておき,仮にそのような樹形図がメモリー上に構成できれば,これは,必勝法がわかったも同然です。樹形図をたどっていき,自分が勝利する状態に繋がる手を打ち続ければよいのです。三目並べの場合は,お互いに最善手(その盤面におけるベストな手)を打ち続ければ,必ず引き分けになりますので,「⁠必勝法」というのは誇大広告かも知れませんが......。三目並べの樹形図のイメージそれはさておき,このような三目並べの必勝法をプログラミングする方法は実際に知られており,「⁠動的計画法」と呼ばれる最適化アルゴリズムを適用することで,最強(?)の「三目並べエージェント」を作ることができます。a)(これを「行動-状態価値関数」と言います)が決定できます。aが最善の手になるのです。この方法であれば,毎回,樹形図を最後まで「読み切る」必要もありません。あらゆる盤面に対して,その状況における最善手を示した「チートシート」が用意されていると思えばよいでしょう。原理的には,まったく同様にして最強の囲碁エージェントを作ることができるはずですが,現実にはそうはいきません。囲碁は,取り得る盤面の数が多すぎるのです。一説によると,対局中に現れる盤面のパターンは,10の127乗よりも多いそうです。この時点で破綻するのです。......なんだか残念な感じになりましたが,いえいえ,決してそんなことはありません。コンピューター囲碁プレイヤーや,人間よりも上手にビデオゲームをプレイするエージェントなど,人間と対等に競える力を手に入れるコンピュータープログラムの事例は着実に増えています。ここで利用されるのが「強化学習」の手法です。この強化学習の根本原理は,先ほどの三目並べの例とさほど大きくは違いません。樹形図のすべてを真面目にたどるのではなく,「⁠おそらく勝利に近いだろう」と思われる部分だけを選択的に調べるという方法もあります。このような「強化学習の根本原理」を基礎から丁寧に解説しています。すべての場合を網羅した「厳密解」を求める動的計画法のアルゴリズムから始まり,状態数が多すぎて厳密解が求められない場合の近似法へと段階を追って説明していきます。これらのアルゴリズムをPythonのコードで実装して,「⁠なるほど,だから強化学習はうまくいくのか!」と実感してもらうことが本書のゴールです。私と同世代の方であれば,子供の頃に「パソコン」で遊んだ「あるけあるけゲーム」を覚えているかも知れません。本書の最終章では,ニューラルネットワークを使った強化学習のテクニック「DQN」で,このゲームをプレイするエージェントを実装します。強化学習ライブラリーをブラックボックスとして使うのではなく,「⁠ちゃんと中身を理解して使いたい」というあなたのための一冊です。サーバーと人生を共にする。Architectとして活動。最近は,機械学習をはじめとするデータ活用技術の基礎を世に広めるために,講演活動のほか,雑誌記事や書籍の執筆にも注力。動かしながら学ぶディープラーニングの仕組み』(マイナビ出版)など。5年経過しましたが,AI(人工知能)や機械学習に対しての期待と関心はまったく衰えません。〜昔のAIと現在のAIは違う?2/7PythonはAI開発にしか使えないのか?記事一覧ピックアップヒューマンリソシアのGITサービスが目指す,時代にアジャストするエンジニアチームの作り方アフターコロナにおけるエンジニアチームの作り方,グローバルな視点でのエンジニア獲得と開発とコミュニケーションの在り方について取り上げます。2020」より,注目すべきテクノロジー,エンジニアリングをピックアップし,詳説インタビューを実施しました。みてね」を支えるエンジニアリングについて,開発体制やプロダクトの開発・運用,これからのビジョンについて伺いました。一体型人材紹介から見える,これからの人材エコシステムに迫ります。書店・販売店の皆様へメールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。