15
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

機械学習の理論を理解しようとしてから オセロ AI を作ってみた 〜再始動‼〜

Last updated at Posted at 2017-11-17

#シリーズ目次

#前回の反省...
この分野では門外漢の私が、「機械学習の理論」をまったく勉強せずに
オセロのAI を作ってみましたが、結果惨敗でした。強くならない

しかたがないので、機械学習の勉強しようと思います。

#勉強する教材
オセロAIに関して私が理解できる本は唯一これだけでした


この本の 第6章 強化学習ー三目並べに強いコンピューターを育てる
を元にオセロAIを作成します。

この他に参考になる書籍をご存知の方ご教示ください

#まずは教科書通り...と言いたいところですが

この本の 第6章 強化学習ー三目並べに強いコンピューターを育てる
では下記の点を改良したものを 再始動の初期状態とします。

1. RL-Glue という仕組みは、削除する

この本の 例では RL-Glue という仕組みを使って学習しているのですが
私には難しく使いこなせなそうなので、削除してみました

はじめにソースコードをダウンロードします。
$ git clone -b "#1" https://github.com/sasaco/train-chainerai.git

環境が整ったら、ソースコードのディレクトリに移動して、experiment.pyを叩くと学習が始まります。

$ cd train-chainerai
$ python experiment.py

どうやら 改造 RL-Glue なしバージョン も正常に学習できるようです。

2. ゲームが 三目ならべなのでオセロに変更する

とりあえず今回は、中間層の数とか細かいところは この本のままで、下記の修正をしました

  • 入力層と出力層を 3×3 → 8×8 に変更しました。
  • オセロは空白でも置けないマスがある
  • 置けない場合パスする動作を追加
  • 対戦相手は、完全なランダム

まずは動かしてみよう

はじめにソースコードをダウンロードします。
ソースはここにおいておきます。
$ git clone -b "#2" https://github.com/sasaco/train-chainerai.git

学習

環境が整ったら、ソースコードのディレクトリに移動して、experiment.pyを叩くと学習が始まります。

$ cd train-chainerai
$ python experiment.py

実施中.png

結果

ランダム相手に 5000 エピソード学習させても効果見えず
少し勝率が上がっているかな?っといったところ
othe.png

50000 エピソード に変更して再トライアルした結果
Screenshot from 2017-11-24 18-51-04.png

150000 エピソードを超えたあたりで Loss nan になってしまった!!

image.png

勝率も上がらず...失敗です。

次回、機械学習の理論を理解しようとします

15
18
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?