<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://dhanushbiligiri.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://dhanushbiligiri.github.io/" rel="alternate" type="text/html" /><updated>2026-10-02T15:16:31+00:00</updated><id>https://dhanushbiligiri.github.io/feed.xml</id><title type="html">Dhanush Biligiri</title><subtitle>Dhanush Biligiri&apos;s academic portfolio</subtitle><author><name>Dhanush Biligiri</name><email>dhanushbiligiri00@gmail.com</email></author><entry><title type="html">Reinforcement Learning: Teaching Machines Through Interaction</title><link href="https://dhanushbiligiri.github.io/blogs/reinforcement-learning/" rel="alternate" type="text/html" title="Reinforcement Learning: Teaching Machines Through Interaction" /><published>2026-10-01T00:00:00+00:00</published><updated>2026-10-01T00:00:00+00:00</updated><id>https://dhanushbiligiri.github.io/blogs/reinforcement-learning</id><content type="html" xml:base="https://dhanushbiligiri.github.io/blogs/reinforcement-learning/"><![CDATA[<p>Reinforcement learning (RL) is one of the areas of machine learning that I find particularly interesting because it changes the way we think about programming intelligent systems.</p>

<p>Instead of explicitly telling a system exactly what action to take in every possible situation, reinforcement learning allows an <strong>agent to learn behavior through interaction with an environment</strong>. The agent observes what is happening, takes an action, receives feedback in the form of a reward, and gradually learns a policy that produces useful behavior.</p>

<p>This idea sounds simple, but it becomes especially interesting when the “agent” is a physical system such as a robot.</p>

<h2 id="the-basic-idea">The Basic Idea</h2>

<p>A reinforcement-learning problem is commonly described using a <strong>Markov Decision Process (MDP)</strong> consisting of:</p>

<ul>
  <li><strong>State</strong> — what situation the agent is currently in</li>
  <li><strong>Action</strong> — what the agent can do</li>
  <li><strong>Transition</strong> — how the environment changes after an action</li>
  <li><strong>Reward</strong> — feedback indicating whether an action was useful</li>
  <li><strong>Policy</strong> — the strategy used by the agent to select actions</li>
</ul>

<p>The goal is not necessarily to maximize the immediate reward. Instead, the agent tries to maximize the <strong>cumulative reward over time</strong>.</p>

<p>For robotics, the situation is usually even more complicated because the robot cannot perfectly observe its complete physical state. Sensors provide measurements rather than perfect knowledge, making many real robotic problems closer to <strong>partially observable decision processes</strong>.</p>

<p>For example, a humanoid robot may observe joint positions, joint velocities, body orientation, previous actions, and a commanded walking velocity. A reinforcement-learning policy can then use those observations to determine its next action.</p>

<hr />

<h2 id="what-does-an-rl-agent-actually-learn">What Does an RL Agent Actually Learn?</h2>

<p>At the center of reinforcement learning is the policy:</p>

<p>[
a_t \sim \pi_\theta(a_t \mid s_t)
]</p>

<p>or, when working with observations rather than complete states,</p>

<p>[
a_t \sim \pi_\theta(a_t \mid o_t)
]</p>

<p>where:</p>

<ul>
  <li>(o_t) is the observation at time (t),</li>
  <li>(a_t) is the action,</li>
  <li>(\pi_\theta) is the learned policy parameterized by (\theta).</li>
</ul>

<p>In robotics, the action could represent many different things.</p>

<p>A policy might output:</p>

<ul>
  <li>desired joint positions,</li>
  <li>joint-position offsets,</li>
  <li>actuator torques,</li>
  <li>footstep locations,</li>
  <li>velocity commands,</li>
  <li>motion references,</li>
  <li>or even high-level skills.</li>
</ul>

<p>This is one reason reinforcement learning is such a broad area. Two systems may both use RL while learning completely different parts of the overall control pipeline.</p>

<hr />

<h2 id="major-types-of-reinforcement-learning">Major Types of Reinforcement Learning</h2>

<p>There are many RL algorithms, but one useful way to organize them is according to how they use knowledge of the environment dynamics.</p>

<h3 id="model-free-reinforcement-learning">Model-Free Reinforcement Learning</h3>

<p>In <strong>model-free RL</strong>, the agent learns directly from experience without explicitly learning a model that predicts how the environment evolves.</p>

<p>The agent essentially learns:</p>

<blockquote>
  <p>“Given what I observe now, what action should I take?”</p>
</blockquote>

<p>Popular model-free algorithms include:</p>

<ul>
  <li><strong>Q-Learning</strong></li>
  <li><strong>Deep Q-Networks (DQN)</strong></li>
  <li><strong>Proximal Policy Optimization (PPO)</strong></li>
  <li><strong>Soft Actor-Critic (SAC)</strong></li>
  <li><strong>Deep Deterministic Policy Gradient (DDPG)</strong></li>
  <li><strong>Twin Delayed DDPG (TD3)</strong></li>
</ul>

<p>For high-dimensional continuous-control problems such as robotic locomotion, algorithms such as <strong>PPO and SAC</strong> are particularly common.</p>

<p>I use both of these families in my own robotics research.</p>

<p>PPO is an <strong>on-policy</strong> algorithm. It improves the policy using data collected from the current policy while constraining how aggressively the policy is updated.</p>

<p>SAC is an <strong>off-policy actor-critic</strong> algorithm. It can reuse previously collected experience and includes an entropy objective that encourages exploration.</p>

<p>Both approaches can learn complex behaviors, but their training characteristics and data requirements are different.</p>

<hr />

<h2 id="model-based-reinforcement-learning">Model-Based Reinforcement Learning</h2>

<p>In <strong>model-based RL</strong>, the system either knows or learns a model of the environment dynamics.</p>

<p>Conceptually, the system learns something like</p>

<p>[
\hat{s}<em>{t+1} = f</em>\phi(s_t,a_t),
]</p>

<p>where the model predicts what will happen after taking an action.</p>

<p>The agent can then use this model to reason about future outcomes before acting.</p>

<p>This can potentially make learning more <strong>sample efficient</strong>, which is particularly important when interaction with the real system is expensive.</p>

<p>For robotics, however, accurately modeling phenomena such as:</p>

<ul>
  <li>contact,</li>
  <li>friction,</li>
  <li>impacts,</li>
  <li>actuator dynamics,</li>
  <li>deformable surfaces,</li>
</ul>

<p>can become difficult.</p>

<p>This is one reason model-free reinforcement learning combined with physics simulation has become so common in modern legged robotics.</p>

<hr />

<h2 id="hybrid-reinforcement-learning">Hybrid Reinforcement Learning</h2>

<p>There is also an important middle ground: <strong>hybrid approaches</strong>.</p>

<p>Instead of asking reinforcement learning to control everything, a system can preserve reliable classical robotics components and use learning only where adaptation is needed.</p>

<p>For example,</p>

<p>[
u_t = u_t^0 + \Delta u_t
]</p>

<p>can be used, where:</p>

<ul>
  <li>(u_t^0) is the command produced by a conventional controller,</li>
  <li>(\Delta u_t) is a correction learned using reinforcement learning.</li>
</ul>

<p>This is often called <strong>residual reinforcement learning</strong>.</p>

<p>Similar architectures can combine RL with:</p>

<ul>
  <li>PD controllers,</li>
  <li>model predictive control,</li>
  <li>whole-body control,</li>
  <li>trajectory optimization,</li>
  <li>inverse kinematics.</li>
</ul>

<p>I find this direction particularly interesting because it does not require choosing between “classical control” and “machine learning.” The two can complement each other.</p>

<hr />

<h2 id="other-ways-rl-systems-are-structured">Other Ways RL Systems Are Structured</h2>

<p>The distinction between model-free and model-based RL describes how dynamics are handled, but RL systems can also be organized according to their architecture.</p>

<h3 id="imitation--reinforcement-learning">Imitation + Reinforcement Learning</h3>

<p>Sometimes it is inefficient to ask a robot to discover a complicated behavior entirely through random exploration.</p>

<p>Instead, demonstrations can provide examples of useful behavior.</p>

<p>The robot may first imitate human motion or reference trajectories and then use reinforcement learning to improve robustness and adapt the behavior.</p>

<p>This approach is widely used for humanoid locomotion and whole-body motion.</p>

<hr />

<h3 id="hierarchical-reinforcement-learning">Hierarchical Reinforcement Learning</h3>

<p>A complicated task can also be split into multiple levels.</p>

<p>For example:</p>

<p>```text
High-level policy
        ↓
“Walk to the table”
        ↓
Locomotion policy
        ↓
Joint targets
        ↓
Robot</p>]]></content><author><name>Dhanush Biligiri</name><email>dhanushbiligiri00@gmail.com</email></author><category term="reinforcement learning" /><category term="robotics" /><category term="machine learning" /><category term="control" /><summary type="html"><![CDATA[Reinforcement learning (RL) is one of the areas of machine learning that I find particularly interesting because it changes the way we think about programming intelligent systems.]]></summary></entry></feed>