| Up | r_t 値の決め方 | 作成: 2026-06-07 更新: 2026-06-07 |
| 4足歩行ロボット > 歩容生成 > 報酬設定 > r_t 値の決め方 |
「報酬」 は,つぎのようなカテゴリーが設定される:: ・姿勢安定 ・エネルギー効率 ・接地・歩容の安定性 ・衝突・転倒ペナルティ ・動作の滑らかさ ・CoM が支持多角形の外に出たら,ペナルティ ただ,基本は: 「エネルギー効率がよい」 には,プラス 「転倒しそう」 には,マイナス しかしここで疑問が。 行動 a_t に報酬 r_t を与えるのは,1/60 秒間隔である。 この時間間隔で,「前進」 , 「エネルギー効率がよい」, 「転倒しそう」 を判定できるのか? 「前進」 , 「エネルギー効率がよい」, 「転倒しそう」 は,結果論ではないのか? r_t の計算は,この点を厳密に考えない。 各種センサー値の変化率を使って,計算する。 例えば,「転倒しそう」 は,つぎの値を見る: ピッチ角(前後倒れ方向) 角速度(回転の勢い) 接地脚の数 重心位置(CoM)の支持多角形からのズレ 即ち,転倒ペナルティは,つぎのように与えられる: しかし,また疑問が。 「瞬間」 と定めても,r_t に与えた報酬値は,続く r_{t +1}, r_{t +2}, ‥‥ の中で引きずるのではないか? その報酬値の累積は,実際と乖離しないか? 「報酬の暴走」 にならないか? 実際,報酬値はセンサー値から機械的に計算されるものなので,「報酬の暴走」 は,問題になる。 そして,対策することになる。 報酬設定,Policy 更新のアルゴリズムには,この対策が含まれている: ① 転倒したら,試行 (「エピソード」) 終了 r_{t+1}, r_{t+2} は存在しない ② 転倒の兆候ペナルティは「小さく」設計されている ロール角が大きい → − 0.1 ピッチ角が大きい → − 0.1 接地脚が少ない → − 0.2 ③ 割引率 γ により,累積報酬は有限値に収束 G_t = r_t +γr_{t+1} +γ^2 r_{t+2} + ⋯ r_t = r_{t+1} = ‥‥ = a とすると, G_t = a +γa +γ^2 a + ⋯ γG_t = γa +γ^2 a +γ^3 a+ ⋯ G_t = a / (1−γ) G_t = a × 20 γ が大きいほど長期的な報酬を重視 γ が小さいほど短期的な報酬を重視 ③ 報酬クリッピング(reward clipping) (クリッピング付き目的関数) ④ 正規化(normalization) |