
reward가 매우 중요함 !!
state가 주어지면 어떤 actio을 할 지 policy 세우기
벡터 두 개를 합치면 x = [s a]라는 벡터를 얻을 수 있음!!

Bellman’s equations을 사용하면 되겠다! 🪄🪄 <매우 중요>

Q(s',a')은 현재 network에서 얻어옴 (지금은 최선이 아닐지라도, 이후에 계속해서 학습하면 이후의 network는 정확해질 것임)
DQN algorithm라고 한다
# initial random guess of 𝑄(𝑠, 𝑎)
Initialize a neural network 𝑄 randomly
# improves to get a better estimate of 𝑄(𝑠, 𝑎)
Repeat {
Take actions and get (𝑠, 𝑎, 𝑅(𝑠), 𝑠')
Store 10,000 most recent (𝑠, 𝑎, 𝑅(𝑠), 𝑠') tuples
Train the neural network:
Create a training set of 10,000 examples using
(𝑥, 𝑦) = ((𝑠, 𝑎), 𝑅(𝑠) + 𝛾 max(𝑄(𝑠',a))
Train 𝑄𝑛𝑒𝑤 such that 𝑄𝑛𝑒𝑤(𝑠, 𝑎) ≈ 𝑦
Set 𝑄 = 𝑄𝑛𝑒𝑤
}

처음에 s만 있음 (a가 없음)
장점
# initial random guess of 𝑄(𝑠, 𝑎)
Initialize a neural network 𝑄 randomly
# improves to get a better estimate of 𝑄(𝑠, 𝑎)
Repeat {
Take actions and get (𝑠, 𝑎, 𝑅(𝑠), 𝑠')
Store 10,000 most recent (𝑠, 𝑎, 𝑅(𝑠), 𝑠') tuples
Train the neural network:
Create a training set of 10,000 examples using
(𝑥, 𝑦) = ((𝑠, 𝑎), 𝑅(𝑠) + 𝛾 max(𝑄(𝑠',a))
Train 𝑄𝑛𝑒𝑤 such that 𝑄𝑛𝑒𝑤(𝑠, 𝑎) ≈ 𝑦
Set 𝑄 = 𝑄𝑛𝑒𝑤
}
Take action에서 어떻게 학습하면서 그러한 행동을 선택하나요?
(우리는 모든 상황에서 취할 최선의 행동을 정확히 알지 못합니다)
옵션 1
옵션 2 (일반적인 선택)
만약 점점 진행될 수록, 입실론값을 천천히 줄여봄 (random값을 점차 줄임)
처음에는 𝜖를 높게 설정하고 점차적으로 감소시킵니다 (예: 1.0 → 0.001)
• 처음에는 무작위로 많은 행동을 취합니다.
• 시간이 지남에 따라 무작위로 행동을 취할 확률은 낮아지고, 𝑄(𝑠, 𝑎)의 향상된 추정치를 사용하여(Q(s,a)를 믿고 가끔 랜덤하게 움직임) 좋은 행동을 선택할 가능성이 더 커집니다.
강화 학습 알고리즘은 초매개변수 선택 측면에서 지도 학습에 비해 까다로움
이것이 더 강화학습을 더 어렵게 만듦
# initial random guess of 𝑄(𝑠, 𝑎)
Initialize a neural network 𝑄 randomly
# improves to get a better estimate of 𝑄(𝑠, 𝑎)
Repeat {
Take actions and get (𝑠, 𝑎, 𝑅(𝑠), 𝑠')
Store 10,000 most recent (𝑠, 𝑎, 𝑅(𝑠), 𝑠') tuples
Train the neural network:
Create a training set of 10,000 examples using
(𝑥, 𝑦) = ((𝑠, 𝑎), 𝑅(𝑠) + 𝛾 max(𝑄(𝑠',a))
Train 𝑄𝑛𝑒𝑤 such that 𝑄𝑛𝑒𝑤(𝑠, 𝑎) ≈ 𝑦
Set 𝑄 = 𝑄𝑛𝑒𝑤
}
// Set 𝑄 = 𝑄𝑛𝑒𝑤
이는 𝑄에 매우 급격한 변화를 일으킬 수 있습니다.
만약 새로운 𝑄가 우연히 이전 𝑄보다 나쁘다면, 당신은 잠재적으로 더 나쁜 노이즈가 있는 신경망 𝑄𝑛𝑒로 덮어쓸 수 있습니다.

이는 𝑄(또는 𝑄(𝑠, 𝑎))에 더 점진적인 변화를 일으킵니다.
😎 Limitations of Reinforcement Learning
강화 학습에는 약간의 과대포장이 있습니다.
그럼에도!!
현재 강화 학습 분야에서는 매우 흥미로운 연구들이 진행되고 있습니다.
▪ 강화 학습의 미래 응용 가능성은 매우 큽니다.
▪ 강화 학습은 여전히 기계 학습의 주요 요추 중 하나로 남아 있습니다.
▪ 여러분이 자신의 기계 학습 알고리즘을 개발하는 과정에서 이를 프레임워크로 사용한다면, 기계 학습 시스템을 구축하는 데 더욱 효과적일 수 있습니다.
지금까지 정리!
Supervised Learning: Regression and Classification
– Linear regression
– Logistic regression
– Gradient descent
Advanced Learning Algorithms
– Neural networks
– Advice for applying ML
Recommenders, Reinforcement Learning
– Collaborative filtering
– Content-based filtering
– Reinforcement learning