強化学習

強化学習を使用してトレーニングされ、TensorFlow Lite でデプロイされたエージェントとボード ゲームをプレイします。

始めましょう

TensorFlow Lite を初めて使用し、Android を使用している場合は、開始に役立つ次のサンプル アプリケーションを検討することをお勧めします。

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パラメーターを変更することで、より大きなボードまたはより小さなボードに合わせて独自のモデルをトレーニングできます。