« MSから2画面のAndroid端末Surface Duoが9月発売へ | トップページ | Oh!MZ、Oh!Xの記事リスト »

2020年8月16日 (日)

”ScratchでAIを学ぼう”を買ってみた

以下の記事を見まして、

「ScratchでAIを学ぼう」はScratchで動かしながら強化学習を理解できる凄い本 - karaage. [からあげ]

つい買ってしまったのがこちら。

Img_4159

はい、タイトルの通り、ScratchでAIを学ぶという本です。

といっても、PythonにScikit-learn、Kerasなどで機械学習系はある程度組める私が、何故Scratchなどという微妙な言語によるAI解説本に手を出したのか?

実はこの本で扱うAIというのが、「強化学習」なんです。

教師あり、なし学習というのはいろいろとやってきましたけど、強化学習って、使う機会がなかったんですよね。

てことで、これに飛びついたというわけです。

Img_4160

いわゆるQ学習のアルゴリズムが書かれてます。ああ、こういう原理なわけねぇ……思わず納得です。

中学生向けの数学で理解できるレベルと書かれてますが、確かにそうですね。中学レベルの数学です。

が、そこはやはり”機械学習”の一種ですから、パラメータチューニングやらの大変さはあります。

なによりも、強化学習の題材が一番の課題。

ところがこの本から3つのサンプルコードにアクセスでき、あらかじめ組まれた強化学習コードを読み込むところからスタートできます。動かしつつ体感でき、理屈を後付けで覚えるという私のスタイルにピッタリな本です。

で、最初のプログラムコードは、2択のゲームです。

Qst04

穴が二つあって、「左」「右」のボタンをクリックすると、ある確率でダイヤが出ます。

ところがその左右の確率が不均質で、20回クリックするうちに当りをつけて、なるべく多くのダイヤを出すというのがこのゲームのルール。

それを、人間、強化学習で交互に行います。

Qst05

で、まずは人間の結果。

20回中、ダイヤは7個でした。案外、ムズイ。

Qst07

で、今度はAIの出番。

Qst06

結果はこちら。倍近い大差をつけられました。あーあ……

この強化学習というのが、学習しながらゲームを解いているわけですが、これが意外と、人間が勝つことが困難なほど上手く学習してくれます。

しばらく、パラメータをいじりながら遊んでみました。

Qst02

このコードの解説と動作原理は、本の中に書かれてます。詳しくは、本をお買い上げください。お値段、2090円。

今のところ、あまり使い道が思いつかない強化学習ですが、いずれはモノにしたいですね。

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

« MSから2画面のAndroid端末Surface Duoが9月発売へ | トップページ | Oh!MZ、Oh!Xの記事リスト »

数値解析系」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« MSから2画面のAndroid端末Surface Duoが9月発売へ | トップページ | Oh!MZ、Oh!Xの記事リスト »

無料ブログはココログ

スポンサード リンク

ブログ村