How we extended the River stats module with Rust using PyO3

Motivation River is a Python library for online machine learning. One of the main features of River is its support for data streams, which are continuous streams of data that are produced and consumed in real-time. This makes it well-suited for handling large volumes of data, as well as for handling data that is generated continuously. I started contributing to the project in February 2019, mainly in the stats and time_series modules.

Read More

Masking in Deep Reinforcement Learning

Introduction I worked on an environment where specific actions are not available at every timestep \(t\) when I started deep reinforcement learning. Let’s illustrate the concept of impossible or unavailable action concretely: Suppose you want to develop an agent to play Mario Kart. Next, assume that the agent has an empty inventory (no banana 🍌 or anything). The agent can’t execute the action “use the object in the inventory”. Limiting the agent to a meaningful choice of actions will enable it to explore in a smarter way and output a better policy.

Read More