Django Girls and Boys 備忘録

Python、Selenium、Django、java、iPhoneアプリ、Excelマクロなどで気付いたこと、覚えておきたいことなどを載せていきます。

【Unity】ML-Agentsにおけるエピソード完了

 Unity ML-Agentsでは、エピソードの完了を定義することで、エージェントがどのタイミングで学習をリセットするかを制御できます。

 

エピソードは次の2つの主な方法で完了します。

 

1. EndEpisode関数でのエピソード完了

 


EndEpisode() 関数は、エージェントが特定の条件を満たした場合にエピソードを終了させたいときに使用します。

 

例えば、エージェントが目標に到達したり、衝突した場合に呼び出されます。以下は、エージェントが特定の条件を満たした際にエピソードを終了するサンプルコードです。

 

 

public override void OnActionReceived(ActionBuffers actions)
{
    // 行動が評価されるたびに呼ばれる
    if (goalReached)
    {
        SetReward(1.0f); // ゴールに到達した場合の報酬
        EndEpisode(); // エピソード終了
    }
    else if (hitObstacle)
    {
        SetReward(-1.0f); // 障害物にぶつかった場合のペナルティ
        EndEpisode(); // エピソード終了
    }
}

 

このように、エージェントが特定の目標に到達したり、障害物にぶつかるなどの事象が発生したときにエピソードを終了させることが可能です。

 

 

2.Max Stepに到達した際のエピソード完了

 

Unity ML-Agentsでは、MaxStep プロパティを使用して、1つのエピソードが最大何ステップまで続くかを定義することができます。

 

この設定により、エージェントが定められたステップ数に到達すると、自動的にエピソードが終了します。エージェントが目標を達成できない場合でも、学習が止まらずに進行するために有効です。

 

以下は MaxStep の設定例です。

 

MaxStep設定例

MaxStep設定例

 


エージェントが最大ステップ数(例では10000ステップ)に到達した場合、自動的にエピソードが終了し、次のエピソードが開始されます。

 

これらの機能を適切に活用することで、エージェントの学習プロセスを効率的に制御することができます。

 

 

 

 

 

 

 

 

 

 

関連記事:

【Unity】Unityで親オブジェクトにアクセスする方法 - Django Girls and Boys 備忘録

 

【Unity】Unityで背景を設定する方法 - Django Girls and Boys 備忘録

 

【Unity NavMesh】NavMeshObstacleを追加する方法 - Django Girls and Boys 備忘録

 

【Unity】NavMesh、NavMeshAgentの使用方法 - Django Girls and Boys 備忘録

 

【Unity】オブジェクトの影をなくす方法 - Django Girls and Boys 備忘録

 

【Unity】オブジェクトの影(シェイド)を消す方法 - Django Girls and Boys 備忘録

 

【Unity】「Unityの教科書」 初心者から中級者まで、ゲーム開発の頼れるガイド - Django Girls and Boys 備忘録

 

【Unity】ML-Agents でCollectObservationsの観察数とBehavior Parametersなどで設定があっていない場合に「NullReferenceException: Object reference not set to an instance of an object RollerAgent.」のようなエラーが発生した時の対応方法 - Django Girls and Boys 備忘録

 

【Unity ROS ロボットプログラミング実践入門】「UnityException: Tag: t4u_Magnet is not defined.」のエラーが発生した時の対応方法 - Django Girls and Boys 備忘録

 

【Unity】ML-Agents でモデル側とBehavior Parametersなどで設定やタイプがあっていない場合にエラーが発生した時の対応方法 - Django Girls and Boys 備忘録

 

【Unity】「ML-Agents 実践ゲームプログラミング」でPyTorchのインストール時にエラーが発生した時の解決方法 - Django Girls and Boys 備忘録

 

【Unity】ML-Agentsにおけるエピソード完了 - Django Girls and Boys 備忘録

 

【Unity ROS ロボットプログラミング実践入門】ロボットプログラミング実践入門で「error CS0234: The type or namespace name 'Robotics' does not exist in the namespace 'Unity'」などのエラーが発生した時の解決方法 - Django Girls and Boys 備忘録

 

【Unity ROS ロボットプログラミング実践入門】ロボットプログラミング実践入門で「UnityException: Tag: t4u_Magnet is not defined.」というエラーが発生して実行できなかった時の解決方法 - Django Girls and Boys 備忘録

 

【Unity ROS ロボットプログラミング実践入門】ロボットプログラミング実践入門で「rosrun my_mobile_robot goal_pose.py」を実行しようとした時にエラーが発生して実行できなかった時の解決方法 - Django Girls and Boys 備忘録

 

【Unity】『UnityではじめるML-Agents実践ゲームプログラミング』について - Django Girls and Boys 備忘録