用語集 · 機械学習

フレームスタッキング

別名:Frame stacking、stacked history、history window、stacked frames、observation history、フレームスタック、観測履歴、履歴ウィンドウ

直近の数フレーム分の入力を並べてネットワークに与えること。ネットワーク自身に記憶がなくても動きが見えるようになります。

MLPのような単純なフィードフォワード型ネットワークには記憶がありません。今この瞬間の入力しか見えないのです。その入力が一瞬のスナップショットなら、止まっている腕と、動き始めたばかりの腕とを見分けられません。

フレームスタッキングは最も簡単な解決策です。現在のフレームと一緒に、直前の数フレームもネットワークに与えます。時刻 tt の入力は次のようになります。

(ot,  ot−k,  ot−2k,  … )\left(o_t,\; o_{t-k},\; o_{t-2k},\; \dots\right)

それらの差から、ネットワークは速度や加速度を割り出せます。初期の Atari ゲームをプレイするネットワークは、この方法でボールがどちらへ動いているかを見ていました。

ウィンドウの長さは固定なので、最も古いフレームより前のことは忘れられます。ラウンドを通じた対戦相手の癖のような長いパターンには、自前の記憶を持つネットワーク、つまり GRU のような再帰型ネットワークが必要です。それには学習時間も調整の手間も余計にかかるので、ウィンドウで足りるならまずスタッキングを使います。

このプロジェクトでは

ブロックの記事では、対戦相手の各キーポイントに、その速度と、40 ms 前と 80 ms 前の位置が付いています。このウィンドウはパンチの始まりをカバーしており、1回のブロックにはそれで十分です。フェイント、組み立て、試合全体のために、GRU は後で導入する予定です。

関連用語

この用語が出てくる記事

← すべての用語