機械学習の理論を理解せずに tensorflow で オセロ AI を作ってみた 〜導入編〜
シリーズ目次
この分野では門外漢の私が、「機械学習の理論」をまったく勉強せずに
オセロのAI を作ってみようと思います。
参考にしたサイトはこちら
・ 超シンプルにTensorFlowでDQN (Deep Q Network) を実装してみる 〜導入編〜
概要
構想をざっくり説明しますと
2体の人工知能がひたすらオセロの対決を行い、
後手のAIを保存し私(人間)と戦う。というわけです。
環境条件
私の環境は下記の通りです。
OS
・ubuntu
開発環境
・python 3.5
この環境でも動くと思う
Google Cloud Platform で Ubuntu python 開発環境を構築する
まずは動かしてみよう
はじめにソースコードをダウンロードします。
ソースはここにおいておきます。
$ git clone https://github.com/sasaco/tf-dqn-reversi.git
学習
環境が整ったら、ソースコードのディレクトリに移動して、train.pyを叩くと学習が始まります。
$ cd tf-dqn-reversi
$ python train.py
下記のようなログが出ていれば、正しく学習が行われています。
player:1 | pos:32 | LOSS: 0.0000 | Q_MAX: 0.0041
player:2 | pos:15 | LOSS: 0.0000 | Q_MAX: 0.0009
…
layer:2 is only pos:56
player:2 | pos:56 | LOSS: 0.0000 | Q_MAX: 0.8607
EPOCH: 999/999 | WIN: player2
winner is player2
※LOSS がほとんど 0 なんですけど問題ないのでしょうか.
LOSS が何であるかすら 理解していません ( ̄^ ̄)
どなたか詳しい方、ご教示をお願いいたします。
m(_ _)m
実装は、実装編をご覧ください。
テスト
学習が終わるのに数時間掛かります。
では学習したモデルでテストしてみましょう。
$ python FightWithAI.py
------------- GAME START ---------------
*** userターン○ ***
0 1 2 3 4 5 6 7
8 9 10 11 12 13 14 15
16 17 18 19 20 21 22 23
24 25 26 ○ ● 29 30 31
32 33 34 ● ○ 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
番号を入力してください
[43, 34, 29, 20]
>>>
上記のようにゲームが開始されればば成功です。
きちんと動作しましたでしょうか?
対戦結果は~いざ対戦編~に書きます。
次回は、実装編についてお届けします。
Author And Source
この問題について(機械学習の理論を理解せずに tensorflow で オセロ AI を作ってみた 〜導入編〜), 我々は、より多くの情報をここで見つけました https://qiita.com/sasaco/items/3b0b8565d6aa2a640caf著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .