Notes from https://www.youtube.com/watch?v=VnpRp7ZglfA

Helps robots learn to walk

trial and error

positive and negative rewards

Atari 2014

AlphaGo 2016

DOTA 2018

RLHF

agent - can directly control

env - interact via agent

action: agent -> env

MDP

Markov property

+++ need to mention credit assignment (he does this later, at 37:30)

s, a, r, s, a, r, …

Aim: maximize future reward, the return

policy π: s -> a policy: π(a|s)

return G_t = r_t + γ r_{t+1} + …

model: p(s’, r s, a)

In a gridworld demo, the agent doesn’t know those p values.

aim: improve the policy

directly adjusting the policy is a policy gradient method

value functions: keep track of expected G_t when following π from a given s: V_π(s)

V_π(s) = Σ p(s’, r s, a) [ r + γ Q_π(s’, a) ]

Optimal: V_(s) and Q_(s, a)

Once we have Q, just use a greedy π. an improvement on the previous version.

But Q depends on π. We need evaluation.

Generalized policy iteration.

For good improvement we need good evaluation

+++ assuming α is a good thing - e.g. why are gradual changes good?

+++ need to marvel at how a tight string solves the problem - or a catenary

+++ my demo needs to display the correct Q for a small grid world.

+++ maybe make the demo choose random dirs when there is a tie. to illustrate the brownian motion.

+++ to show the trouble with MC, just set α to 0.

Sarsa, Expected Sarsa, Q-Learning

DQN allows for cts states but not cts actions. For cts actions, we need policy gradient methods.

Policy gradients. We need some way to evaluate a π.