Comments (3)
@JacobHanouna ,
Does working with longer episode affect the policy updates frequency?
No, policy updates frequency controlled by rollout_length parameter:
https://github.com/Kismuz/btgym/blob/master/btgym/algorithms/aac.py#L80
Is there a better way to view it or some trick on how to to make it high resolution?
render_size does affect image size, but doesn't affect it's presentation in tensorboard; one possible way to get it bigger is to hack rendering module and use functionality to save image to disk along with passing it to tensorboard (this is builtin backtrader feature; it has been disabled due to execution time concerns):
https://github.com/Kismuz/btgym/blob/master/btgym/rendering/plotter.py#L26
from btgym.
policy updates frequency controlled by rollout_length parameter
Can you hypothesizes what would be the impact of learning when choosing different rollout_length
values? I'm trying to understand how to best use the long 1-day 'data as info'? or maybe with some form of 'long term auxiliary' reward?
from btgym.
@JacobHanouna ,
The impact is two-fold: first is related to bellman update and value estimation and second about algorithm implementation:
-
Theoretically bellman update should be insensitive to rollout length; in practice it does - should be at least several (4-5) steps to get real reward until we append recursive tail value based on our current V estimation;
-
Policy update frequency: we run SGD step once rollout is finished. If we set rollout about 100 lngth - our estimate of V would be very accurate but convergence (optimisation ) speed will be at least 10x slower vs 10 step rollout. Really even worse considering the fact that in 10 step rollout experiences starting form 11 will be collected under already updated policy (and improved) after first roll, and so on; while in longer case one hundred experiences will be collected under same policy.
-
Estimator implementation. When we use RNN-based estimators on should remember than we actually (and silently) use truncated version of BPTT (we pass rnn state from rollout to rollout but do not allow backward gradient flow between rolls) winch is known to be biased: it favors short-length dependencies in expense of long-range ones.
Roll of size 5 if ok for atari games but can be insufficient to learn more complex patterns. 20 is a good starting point.
from btgym.
Related Issues (20)
- Is there any real-life cases of successful application of reinforcement learning in trading / asset management? HOT 4
- Overestimated Value Function in Actor Critic Framework HOT 7
- signal.pause() - workers exit, but signal never received -- software issue? (debian linux) HOT 16
- loading multiple features - question ? HOT 3
- Amazing project <3
- PR Request for Docker addition HOT 2
- Train Test routine sampling - IndexError HOT 2
- BTgymMultiData - Sync between different data stream HOT 5
- Tutorial: Integration with TF-Agents RL Framework HOT 4
- Erroneous static_RNN policy behavior explanation.
- 2020
- BTGym Slack Join Link Broken HOT 1
- Problem with dependencies in installation on window HOT 1
- Examples that do more that randomly selects an action?
- Support Tensorflow 2 HOT 14
- ValueError: Axis limits cannot be NaN or Inf HOT 1
- INFOS
- Use btgym custom environment
- _pickle.PicklingError: Can't pickle <class 'pandas.core.frame.Pandas'>: attribute lookup Pandas on pandas.core.frame failed HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from btgym.