강화학습,reinforcement_learning

AKA RL

// KU오승상 https://youtu.be/dkm0RrmnH4s?t=1481
지도학습,supervised_learning은 labeled training data가 있었고,
비지도학습,unsupervised_learning은 unlabeled training data가 있었다.
강화학습환경,environment상호작용,interaction을 해서 학습,learning한다.
(It learns by interacting with the environment, rather than from a sample data set.)
상태,state에서, action을 택하며, action이 얼마나 좋은지에 대한 reward를 받는다. (feedback) 그래서 training하는 동안, total reward를 최대화하기 위한 policy를 adapt한다.
(It chooses an action at each state, and receives a reward indicating how good an action is. Therefore, during training, it adapts its policy in order to maximize the total reward.)
사용되는 곳: robotics, game playing, autonomous cars.

scalar rewards and punishments; expected reward를 최대화하는 action sequence를 선택하도록 배움. not much information in the reward, which is often delayed


// 오승상 https://www.youtube.com/watch?v=HXIbrL-glpU
RL은: 모든 정보를 알 수 없고 sample로 주어진 data에 대해서만 정보를 갖고 있기 때문에 그걸 가지고 정책,policy을 평가하고 update하는 방식.
(즉 정답이 없다?)
reinforcement learning 방법에는
Monte Carlo
Sarsa
Q-learning
deep reinforcement learning (DRL; RL에 심층학습,deep_learning 기법을 활용한 것) 방법에는
DQN
REINFORCE
A3C
policy gradient DRL 방법에는
DDPG
TRPO
PPO
distributed reinforcement learning 방법에는
C51
QR-DQN
IQN


prerequisites (용어)


2022-03-17
용어들
action
policy
action for each state.
강화학습에선 total reward를 최대화하기 위해 policy를 계속 개선시켜나간다.
policy evaluation
policy improvement
reward 보상
total reward - 이것을 maximize(최대화,maximization)하는 방식으로 action을 취하는 policy를 구해나가는 것이 목적 ...(?) - policy는 고정되어 있지 않음, 더 좋은 policy로 update하는 방향으로...
reward_signal 보상신호? 신호,signal http://www.scholarpedia.org/article/Reward_signals
punishment 처벌


결과의 법칙에 의한 학습?
{
손다이크(Thorndike)는 동물의 지능에 대한 실험을 함. 고양이 실험, 문제상자(puzzle box).
관련: 행동주의심리학(behaviorism)

결과의 법칙 (시행착오 학습)
  • 좋은 결과를 안겨준 행동은 반복한다
  • 나쁜 결과를 안겨준 행동은 중단한다

강화학습이 필요한가?
  • 아무도 정답을 가르쳐 주지 않는다.
  • 정답을 알기까지는 상당한 수업료를 지불해야 한다.
  • 내 스스로 시행착오를 겪으면서 학습해야 한다.
    가치(value)를 최대화하는 방법에 대해서.
  • 가장 좋은 전략은 적당한 시행착오를 포함하면서도 학습한 가치에 기반해서 의사결정을 하는 것이다.
    적당한 기준을 결정하는 것을 정책(policy)이라고 한다.
    정책에는 근시안적인 것과 원시안적인 것이 있고, 장기적으로는 원시안적인 정책이 가치를 최대화한다.

바둑을 이기는 방법
  • 지도학습,supervised_learning에 의한 방법
    • 고수들의 기보를 학습한다. 즉 최적의 수를 패턴에 의해 예측한다.
    • 세상에 존재하는 모든 기보를 입수
  • 강화학습에 의한 방법
    • 기보에 없는 수를 두어 보고, 그 결과에 따라, 그 수의 가치를 업데이트한다.
    • 시뮬레이터 속에서 무수히 많은 대국을 경험한다.
  • AlphaGo는 두 가지 방법을 혼용해서 인간의 경지를 넘어섬.

Ref: KU 데이터과학원
}


(Skinner 쥐 box를 생각) WpKo:스키너_상자 WpEn:Operant_conditioning_chamber
에이전트(agent) 행동과 학습의 주체
박스 환경(environment) 에이전트가 처한 환경
먹이 보상(reward)
쥐의 생각 방침(policy) 에이전트가 스스로 수정할 수 있음

자율주행차의 경우,
agent
충돌 마이너스 보상 혹은 penalty

시행착오 끝에 방침을 찾는 방식도 있지만, 시행착오를 줄이는 '스승'을 사용하는 방법이 있다. 스승을 Q라 부른다. Deep neural net으로 만든 스승 Q를 DQN(deep Q network)라 한다.

보상은 받으려고 하고, 처벌은 최소화하려고 하고.
value는 최대화?

문제 : 실제 결과가 레버 누르면 먹이 나오듯 바로바로 나오지 않는 경우, etc.

NN(신경망,neural_network)은 덮어쓰기식으로 학습하는 것에는 뛰어나다. 다만 새로운 지식이 들어와서 과거 지식을 덮어쓰면 곤란하다(ex. 자동차 운전을 배우면 자전거 타기를 잊어버린다던지). 기존 연결을 보호하는 뇌의 방법이 있고(생략) 구현된 방법이 EWC(elastic weight conditioning).[1] 고정된 숫자의 뉴런이 아니라 새로운 일을 배울 때마다 인공 뉴런을 추가하는 방법도 제안됨.[2]
//내용 참고 from: 브레인 이미테이션


관련: 시행착오

----
  • [1] Overcoming catastrophic forgetting in neural networks, James Kirkpatrick et al., 2017
  • [2] Progressive Neural Networks, A. Rusu et al., 2016