子供用Scratchは大人も楽しい AIプログラミングの妙『ScratchでAIを学ぼう ゲームプログラミングで強化学習を体験』より

Scratchブロックだから仕組みが一目瞭然

そして実は、Scratchを使う利点はもう1つあります。Scratchブロックだからこそ、強化学習の仕組みが一目瞭然にわかるということです。日本語の環境でプログラミングできることが大きな強みとなってきます。

先に述べたように、このゲームプログラムには試行錯誤しながら学習するAI機能が組み込まれており、それは、いくつかのルール(ロジック)で形作られています。その中の1つに「報酬予測の学習則」というものがあり、「報酬予測 ← (1 - 学習率) × 報酬予測 + 学習率 × 報酬」という数式で表されます。

この数式の意味については本書に詳しく説明してありますのでここでは割愛しますが、この数式をScratchプログラムで表現すると以下のようになります。

学習則で報酬予測を更新するScratchのコード

画像では見づらいので、文字で再掲すると、上が「左の報酬予測 を ( ( 1 - 学習率 ) * 左の報酬予測 ) + ( 学習率 * 報酬 ) にする」という内容のブロック、下が「右の報酬予測 を ( ( 1 - 学習率 ) * 右の報酬予測 ) + ( 学習率 * 報酬 ) にする」という内容のブロックとなっています。まさに、上に示した数式をそのままScratchブロックに落とし込んでいるというわけです。

他のプログラミング言語でも、変数を日本語にすれば同様のことは不可能ではありませんが、それはあまり一般的ではありません。それに対してScratchは“日本語を使うことが当たり前”なので、日本語で表した数式を、ごく自然にそのままScratchプログラムにできるのです。

AIの強化学習に関する解説書はいくつもありますが、このようにScratchを使ったものは『ScratchでAIを学ぼう』以外にはありません(2020年9月現在)。ただし、本書は初歩レベルの入門書であり、さらに深く強化学習を学ぶには少々難しい専門書に頼ることは避けられません。それでも、“子供もすなるScratchといふものを”、強化学習の入り口を学ぶために“大人もしてみむ”ことは、とても有意義なことだと本書の編集を担当して強く感じました。

(日経BP プログラミング編集部 安井晴海)

ScratchでAIを学ぼう ゲームプログラミングで強化学習を体験

著者 : 伊藤 真
出版 : 日経BP
価格 : ¥2,090 (税込み)

ビジネス書などの書評を紹介
注目記事
ビジネス書などの書評を紹介