ExperienceBufferLength in Reinforcement Learning Toolbox

19 ビュー (過去 30 日間)
qun wang
qun wang 2021 年 11 月 15 日
コメント済み: Francisco Serra 2024 年 5 月 2 日
Hello, everyone,
I found a problem with the 'ExperienceBufferLength' property in 'rlDDPGAgentOptions' when specifying options for rl agents.
Usually this property is set as 1e6 in the examples of the Help documentation, such as here.
In this example, every episode has 600 (60/0.1) steps. Does the agent start to train when the experience buffer is filled up with the experiences (S,A,R,S'). If so, it would take at least 1667 (1000000/600 ) episodes before the agent starts to improve.
So I want to know how to determine this value.

採用された回答

Ari Biswas
Ari Biswas 2021 年 11 月 17 日
The agent will train until at least one minibatch can be sampled from the buffer. If your mini batch size is 64, then the first learn step will occur after the buffer has stored 64 experiences. The experience buffer is circular, i.e., it removes older experiences when full. The size of the buffer is hence important. You may lose important experiences if the buffer size is too small.
  4 件のコメント
Arman Ali
Arman Ali 2022 年 9 月 27 日
How about if we want to fill our buffer first and then start taking minibatches?? how to implement this in matlab?
Francisco Serra
Francisco Serra 2024 年 5 月 2 日
For that you can set:
agent.AgentOptions.NumWarmStartSteps=experience_buffer_length
As default, this is set to the minibatch size, but changing to the experience buffer size will force the algorithm to wait until the buffer is full.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeReinforcement Learning についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by