強化学習を使用してトレーニングされ、TensorFlow Lite でデプロイされたエージェントとボード ゲームをプレイします。
始めましょう
TensorFlow Lite を初めて使用し、Android を使用している場合は、開始に役立つ次のサンプル アプリケーションを検討することをお勧めします。
Android 以外のプラットフォームを使用している場合、またはすでにTensorFlow Lite APIに精通している場合は、トレーニング済みモデルをダウンロードできます。
使い方
このモデルは、ゲーム エージェントが「Plane Strike」と呼ばれる小さなボード ゲームをプレイするために構築されています。このゲームとそのルールの概要については、このREADMEを参照してください。
アプリの UI の下に、人間のプレイヤーと対戦するエージェントを構築しました。このエージェントは 3 層 MLP であり、ボードの状態を入力として受け取り、64 の可能なボード セルのそれぞれについて予測スコアを出力します。モデルはポリシー勾配 (REINFORCE) を使用してトレーニングされ、トレーニング コードはここで見つけることができます。エージェントをトレーニングした後、モデルを TFLite に変換し、Android アプリにデプロイします。
Android アプリでの実際のゲームプレイ中、エージェントがアクションを起こす番が来ると、エージェントは人間のプレイヤーのボード状態 (一番下のボード) を調べます。これには、以前の成功したストライクと失敗したストライク (ヒットとミス) に関する情報が含まれています。 、訓練されたモデルを使用して、次にどこを攻撃するかを予測し、人間のプレイヤーがゲームを終了する前にゲームを終了できるようにします。
パフォーマンスのベンチマーク
パフォーマンス ベンチマークの数値は、ここで説明するツールを使用して生成されます。
モデル名 | モデルサイズ | デバイス | CPU |
---|---|---|---|
ポリシーの勾配 | 84KB | ピクセル 3 (Android 10) | 0.01ms* |
ピクセル 4 (Android 10) | 0.01ms* |
※使用糸は1本です。
入力
モデルは、(1, 8, 8) の 3 次元float32
テンソルをボードの状態として受け入れます。
出力
モデルは、64 の可能なストライク位置のそれぞれの予測スコアとして、形状 (1,64) の 2 次元float32
テンソルを返します。
独自のモデルをトレーニングする
トレーニング コードのBOARD_SIZE
パラメーターを変更することで、より大きなボードまたはより小さなボードに合わせて独自のモデルをトレーニングできます。