[ CS234 ] Lecture 1 - Introduction

🍒ch3rry·2022년 3월 26일
0

CS234

목록 보기
1/1
post-thumbnail

Lecture 1 - Introduction

1. Overview of Reinforcement Learning


강화 학습에서 우리는 배움없이 경험을 통해 행동하는 방법을 배우는 문제를 고려합니다.
강화 학습은 Deep Q-Networks과 같은 주제의 큰 발전으로 인해 최근 몇 년 동안 점점 더 대중화되었습니다. 게다가 인공지능의 다른 영역에서는 강화 학습의 개념을 차용하고 활용함으로써 많은 성공 사례를 보고 있습니다. 예를 들어, 게임 플레이에서 AlphaGo는 바둑에서 초인간적인 성능에 도달하기 위해 강화 학습 방법을 사용했고, 강화 학습 개념은 종종 생성적 적대 네트워크(Generative Adversarial Network)의 훈련에서 차용되었습니다.

많은 사람들은 강화 학습이 다른 유형의 학습과 어떻게 다른지 종종 궁금해합니다. 지도 학습에서는 예제와 레이블로 구성된 데이터 세트가 제공됩니다. 지도 학습 설정에서 우리는 각 예제에 대해 올바른 레이블(분류 문제)/정확한 출력(회귀 문제)이 제공되는 훈련 세트를 받습니다. 대조적으로, 데이터 세트에 레이블이 제공되지 않은 경우 Unsupervised Learning은 각 예제에 대한 레이블이 없을 때 일부 데이터의 기본, 잠재적 구조를 찾는 방법을 나타냅니다. 그러나 강화 학습 환경에서는 예측을 하기보다 결정을 내리고 취할 수 있는 조치를 비교하는 일을 다루고 있습니다. 강화 학습 에이전트는 세계와 상호 작용할 수 있으며, 각 상호 작용에 대해 일반적으로 보상이라고 하는 부분적 피드백 신호를 즉각적이고 부분적으로 받을 수 있습니다. 그러나 에이전트는 자신이 취한 조치가 실제로 선택할 수 있는 '최고'인지 여부에 대한 표시가 거의 없으며 에이전트는 장기적 누적 보상을 최대화할 조치를 선택하는 방법을 어떻게든 배워야 합니다. 따라서 보상 신호에 의해 제공되는 약한/불완전한 피드백 때문에 강화 학습은 레이블이 지정된 데이터로 강력한 피드백을 제공하는 지도 학습과 피드백이나 레이블이 없는 비지도 학습 사이 어딘가에 있다고 생각할 수 있습니다.

Reinforcement Learning Involves (강화학습이 포함하는 개념)

1) Optimization: 최적화

강화학습의 최종 목표는 최적화 문제를 푸는 것입니다. 최적화란, 가장 좋은 결과/결정을 내리기 위한 방법을 찾는 것, 또는 좋은 전략을 찾는 것을 말합니다.

2) Delayed Consequences: 지연된 보상

강화학습에서는 즉각적인 피드백이 아니라, 지연된 피드백을 받게 됩니다. 즉 강화학습이 끝난 이후에 피드백 결과를 알 수 있습니다.

이런 경우에는 알고리즘(정책)을 정할 때 당장의 보상과 함께 먼 미래에 기대되는 보상까지 고려해서 짜야합니다. 이러하 지연된 보상은 인과관계를 정확하게 알 수 없기 때문에 학습이 어려워집니다.

3) Exploration: 탐험

데이터가 사전에 주어지지 않고, 오직 'Agent 가 탐험해본 것'에 대한 결과로만 데이터를 쌓아나갈 수 있습니다. 이 때, 특정 상황에서 주어진 여러 선택지 중 한 가지를 선택했다면 다른 선택지들에 대한 결과는 영원히 알 수 없게 됩니다.

4) Generalization: 일반화

Policy(정책)이란, 과거의 경험을 통해 행동을 결정하는 규칙입니다. 그렇다면, 왜 미리 짜여있는 정책을 사용하지 않을까요?

만약, Atari 게임을 학습할 때, if-then 과 같은 statement 로 pre-programming 을 한다면 짜야하는 코드의 양이 어마어마해 질 것입니다. 그래서 미리 짜여진 알고리즘을 사용하지 않고, 매 순간 데이터를 입력받으면서 학습하는 방법을 사용합니다. 이 방법을 사용했을 때의 또 다른 강점은, Agent가 마주친 상황이 이전에 학습하지 못한 새로운 상황이더라도 어떤 행동을 취해야 하는지 알 수 있다는 점입니다.

이렇게 이전에 학습하지 않은 상황에 대해서도 지금까지 학습한 것을 바탕으로 문제를 풀어나갈 수 있는 능력을 일반화(Generalization) 라고 합니다. 강화학습은 모든 상황에서 일반화가 가능하도록 학습합니다.

2. Introduction to Sequential Decision making under uncertainty


2.1.1 Sequential Decision Making

Sequential Decision Making이란 위와 같은 Closed Loop에서 Agent와 World가 서로에게 영향을 주면서 연속적인 결정을 만들어 나가는 것을 말합니다. 여기서의 최종 목적은 Agent가 받을 기대 보상을 최대화 하는 것 입니다. 여기서 '기대' 라고 표현하는 것은, Agent는 최대 보상을 얻으려 노력하지만, World는 확률적이고 예측하기 어렵기 때문에 모든 결정이 항상 정답이 아닐 수 있음을 나타냅니다.

여기서 한 가지 중요한 포인트는, Agent는 항상 '지금 당장 받을 수 있는 보상'과 '먼 미래에 받을 수 있는 보상' 두 가지를 함께 고려해서 결정을 내려야 한다는 점입니다. 만약 먼 미래에 더 큰 보상을 받고자 한다면, 지금 당장은 어느 정도 희생을 해야 합니다.

*Check Your Understanding

Q. 학생들이 덧셈이 뺄셈보다 배우기 쉬울 때?

A. Agent는 덧셈 문제만을 출제하여 보상을 많이 받도록 할 것이다.

Agent가 받는 보상 체계에서 허점이 발생하여 보상을 많이 받게 되는 경우를 ‘Reward Hacking’이라고 합니다.

\therefore 좋은 학습을 위해서는 좋은 보상 체계는 필수적

2.1.2 Sequential Decision Process: Agent & the World (Discrete Time)

  • Each time step t:

World가 일정한 time step t로 나누어 Discrete하게 설정합니다. 각 time step 때마다 Agent는 action ata_t를, world는 observation oto_t와 reward rtr_t을 돌려줍니다. 그 oto_trtr_t을 바탕으로 Agent는 새로운 action을 수행합니다.

  • Histroy: Sequence of Past Observations, Actions & Rewards

History란, 과거에 받은 action과 observation의 총 집합입니다. Agent는 과거의 History를 바탕으로 새로운 action을 결정합니다.

Generally a function of the history: st=f(ht)s_t = f(h_t)

  • State

State는 History의 함수입니다. 지금까지의 History가 있었고, 그에 따라 Agent가 특정 행동을 해서 지금의 State가 결정되었다는 관점입니다. 여기서 헷갈리지 말아야 할 점은, State와 Observation은 다르다는 점입니다. Observation은 말 그대로 현재 관찰되는 상황 그 자체이고, State는 Agent가 결정을 내릴 때 사용되는 상황 전체로, 문제 정의를 어떻게 하냐에 따라 달라질 수 있습니다. 예를 들어 현재 관찰되는 Observation만을 State로 설정할 수도 있고, 때로는 현재의 Observation 뿐만아니라 과거 Observation까지 포함해서 Agent가 더 많은 정보를 가지고 결정을 내리도록 할 수도 있습니다.

보통 State에는 다음 두 가지가 있습니다.

  1. World State

이는 'Real World'의 State를 말합니다. 마치 사람의 두 눈은 정해진 각도만 볼 수 있고, 뒤통수의 상황은 분명 존재하지만 인식할 수 없는 것처럼 보통 Agent는 'Real World' 전부를 알 수 없습니다. 또한 'Real World'의 모든 정보는 Agent가 결정을 내리는 데에 필요 없을 수도 있습니다.

  1. Agent State

이것이 Agent가 진짜로 인식하는 State입니다. 즉, Agent State는 World State의 부분집합입니다. Agent가 결정을 내릴 때에 실제로 사용되는 State를 말합니다.

  • State와 Observation의 차이

    외줄타기 그림으로 예를 들어보겠습니다. 여기서,

    Observation: 균형잡는걸 도와주는 작대기의 각도, 사람의 상체 각도, 하체 각도 등

    Action: 작대기를 오른쪽으로 기울이거나 왼쪽으로 기울이는것, 상체를 움직이는것 등

    Reward: 는 평행을 잡으면 +100, 기울어져있지만 넘어지지 않으면 +30, 넘어지면 -100

    등으로 설정할 수 있을 것입니다.

    State는 Action을 선택 할 수 있는 판단으로, Observation 뿐만이 아니라 Action, Reward도 포함되어 이런 정보들이 모여 다음 Action으로 어떤 것을 선택할지 결정하는데 쓰이게 됩니다.

    그리고, 이런 State는 결국 History를 바탕으로 나오는 것이므로, 각각의 State는 일종의 History의 함수이다. ( st=f(ht)s_t = f(h_t))

    History ht=(a1,o1,r1,...,at,ot,rt)h_t = (a_1,o_1,r_1,...,a_t,o_t,r_t)

2.2.1 Markov Assumption

State가 과거의 모든 History를 충분히 반영하고 있다면, 그 State만으로 미래를 예측하거나 새로운 결정을 내릴 수 있다는 가정을 말합니다. 이 가정이 중요한 이유는, 이 가정을 만족해야 Agent가 주어진 State 만으로 효과적으로 학습을 하고 있다는 것이 성립하기 때문입니다.

예를 들어, 만약 현재 관찰한 Observation 이 Markov 가정을 만족한다면, state가 observation이 되고, 지금 선택해야 하는 최적의 결정은 현재에만 의존합니다. 즉, 미래는 과거와 독립적인 것이 되며 이 경우 Agent는 이전의 모든 History를 볼 필요 없이, 현재의 Observation 만으로 최적의 결정을 내릴 수 있게 됩니다. 이는 연산의 비용, 메모리 사용량 등과도 연결되기 때문에 이것이 가능하냐 아니냐(현재 Observation 만으로 최적의 결정을 내릴 수 있느냐 아니냐) 는 학습이 이루어짐에 있어 중요한 문제가 됩니다.

이를 수식으로 나타내면,
p(st+1st,at)=p(st+1ht,at)p(st+1 | st, at) = p(st+1 | ht, at)

즉, Markov 가정이 성립한다면 t시간(현재)의 state와 현재 취한 action으로 결정된 t+1시간의 state는 모든 History와 action으로 결정된 state와 같습니다. 현재의 State가 History를 충분히 반영하고 있기 때문입니다. 이렇게 될 경우 모든 History를 사용하지 않고도 현재의 State만으로 최적의 결정을 내릴 수 있다는 것이 됩니다.

Markov Assumption은 왜 유명한가? 왜 중요한가?

State를 어떤 것으로 설정하냐에 따라 Markov 가정은 언제나 성립할 수 있기 때문입니다. 예를 들어, 만약 State를 Full of History로 설정한다면 Markov는 항상 성립합니다. 하지만 Full of History를 State로 사용하는 것은 앞서 말했듯 비용 상의 문제가 있을 수 있으므로, 일반적으로 현재 Observation만 사용하거나, 또는 몇 단계 이전까지의 데이터만 State로 설정합니다. (State에 얼만큼의 정보를 담아야 충분하냐는 문제마다 달라질 수 있습니다.)

2.2.2 Markov Decision Process (MDP)

Full Observability: MDP

MDP는 Agent가 모든 상황을 다 관찰할 수 있는 경우를 말합니다. 즉, Agent State와 World State가 같고

서로 놓을 수 있는 경우의 수를 모두 알고 있는 바둑과 같은 상황이 해당됩니다.

  • Environment and world state sts_t = oto_t

Partial Observability: POMDP

POMDP는 Agent가 관찰할 수 없는 부분이 있는 경우입니다. Agent State는 World State과 같지 않고, 이 때의 State는 현재 Observation만으로 부족할 수 있기 때문에 더 많은 정보를 State에 포함시킵니다.

2.2.3 Types of Sequential Decision Processes

Bandits

밴딧 문제는 가장 간단한 Sequential Decision Process 중 하나입니다. 밴딧이란 action이 그 다음 observation에 영향을 전혀 주지 않는 것을 말합니다. Markov 가정의 관점으로 봤을 때, 현재 Observation 자체가 결정을 위한 모든 조건을 포함하고 있는 State가 되므로 보상도 지연되지 않습니다.

MDPs and POMDPs

이 두 가지는 현재 취하는 action이 그 이후의 state와 action에 영향을 줍니다. 즉, State의 범위를 설정할 때 이전의 action들이 world에 영향을 준 점을 감안해서 설정해야 합니다. 만약 현재의 Observation만을 State로 설정하면 결정을 내리는 데에 정보가 부족할 수 있습니다

How the World Changes

World가 변해가는 것도 Sequential Decision들의 과정으로 볼 수 있는데, 여기에는 두 가지가 있습니다.

  1. Deterministic

어떤 action을 취했을 때, 그에 따른 결과는 단 한가지로 그 action으로 인해 결정되는 State, Observation, Reward 모두 한 가지만 존재합니다. Robotics나 Control 과 같은 경우에 해당됩니다.

  1. Stochastic

특정 State에서 어떤 action을 취했을 때 어떤 결과가 나올지가 확률적이고 보통의 현실 문제들이 모두 이에 해당됩니다. 훨씬 복잡하고, 많은 잠재적인 변수들이 있기 때문에 같은 결정을 내려도 나올 수 있는 결과의 경우의 수가 다양해집니다.

2.3 Components of an reinforcement learning agent

이번 강의에서는 RL을 구성하는 개념들을 Mars Rover 문제로 알아보고 있습니다.

1) Model

Agent가 어떤 action을 하냐에 따라 world가 어떻게 바뀔지에 대한 예측 결과를 출력하는 함수입니다.

  • Transition / Dynamics Model : Agent의 다음 State를 예측
  • Reward Model : 그 순간의 즉각 보상을 예측

2) Policy

정책 π\pi는 Agent가 State를 입력받으면 그 입력값에 따른 action을 출력하는 함수라고 볼 수 있습니다.

  • Deterministic Policy: 입력된 state에 따른 출력값, action이 단 하나로 결정
  • Stochastic Policy: action을 선택할 확률값으로 계산, 각 확률에 대한 확률분포라고 할 수 있다.

3) Value

현재 상태에서 받을 수 있을 것이라고 기대되는 보상의 총합을 말합니다. 현재 보상만 고려하는 것이 아니라, 미래의 모든 보상까지 모두 고려해 합산한 값으로 Waiting의 개념을 포함한다고 할 수 있습니다.

여기서 γ\gamma는 Discount Factor로 0~1 사이의 값을 갖는데, 미래의 보상에 대한 비중을 얼마나 줄 것이냐를 결정합니다. 만약 γ\gamma가 0이라면 미래 보상은 전혀 고려하지 않은 것이고, γ\gamma가 커질수록 미래 보상에 더 큰 가중치를 주는 것입니다. 가치함수는 각 행동이 얼마나 가치있는 행동인지 판별하는 척도가 됩니다.

2.4 Taxonomy of reinforcement learning agents

강화학습에서 사용되는 Agent는 다음 두 가지가 있습니다.

1) Model Based Agent

Model Based Agent는 World가 어떻게 돌아가는지를 직접적으로 표현합니다. Model이 정책, 가치함수 등을 포함하고 있다면 명시된 정책 함수나 가치 함수는 없을 수 있습니다.

2) Model Free Agent

Model은 없고 정책함수와 가치함수가 존재하는 경우를 말합니다.

Model을 갖는 것의 장점은 Planning(계획)을 가능하게 한다는 것입니다. 즉, 자신의 action에 따라서 environment가 어떻게 바뀔지 안다면 실제로 행동하기 전에 미리 변화를 예상해보고 최적의 행동을 계획하여 실행할 수 있습니다. 이와 같은 계획이 가능하다면 agent는 훨씬 효율적으로 행동할 수 있을 것입니다.

Model을 갖는 것의 단점은 environment의 정확한 model은 보통 알아내기가 어렵거나 불가능하다는 점입니다. 혹시라도 Model이 environment를 제대로 반영하지 않는다면 이 오류는 그대로 agent의 오류로 이어지게 됩니다. 정확한 model을 만드는 것은 좋은 agent를 만드는 것만큼 또는 더 어려울 수 있습니다.

  • Value-Based vs Policy-Based 강화학습 알고리즘의 두번째 구분은 value function과 policy의 사용 여부입니다. 만약 value function이 완벽하다면 최적의 policy는 자연스럽게 얻을 수 있습니다. 각 state에서 가장 높은 value를 주는 action만을 선택하면 되기 때문입니다. 이를 implicit policy라고 합니다. Value function 만을 학습하고 policy는 implicit(암묵적)으로만 갖고 있는 알고리즘들이 있습니다. 이를 value-based agent라고 부릅니다. DQN 등이 여기에 해당합니다. 반대로 Policy가 완벽하다면 value function은 굳이 필요하지 않습니다. 결국 value function은 policy를 만들기 위해 사용되는 중간 계산이기 때문입니다. 이처럼 value function이 없이 policy만을 학습하는 agent를 policy-based라고 부릅니다. Policy Gradient 등이 여기에 해당합니다. Value-based agent는 데이터를 더 효율적으로 활용할 수 있다는 장점이 있습니다. 이에 비해 policy-based agent는 원하는 것에 직접적으로 최적화를 하기 때문에 더욱 안정적으로 학습된다는 장점이 있습니다. 그림에서 Policy Optimization는 policy-based를 뜻하고 Q-Learning은 value-based를 뜻합니다. 두 극단적인 케이스만 있는 것은 아닙니다. Value function과 Policy를 모두 갖고 있는 agent도 있습니다. 이를 Actor-Critic agent라고 부릅니다. Actor-Critic 알고리즘에 영향을 받은 가장 유명한 예로는 딥마인드의 AlphaGo가 있습니다. 여기에서 actor 에 해당되는 policy network 와 critic 에 해당되는 value network 를 학습시켜서 주어진 환경(바둑판)에서 최적의 행동(착수)를 찾도록 했습니다. 그림에서는 A2C 등이 여기에 해당합니다.

Summary


Planning(AI 계획이라고도 불리는)는 world가 어떻게 구성되어 있고 상황을 인지하고 시작합니다. 또한, exploration 하는과정이 불필요하고 world와의 상호작용 없이 연산만을 통해 높은 보상을 받기 위한 선택지를 결정하게 됩니다.

하지만 Reinforcement learning의 Agent는 어떤 action이 가장 best action인지를 학습해야할 뿐만 아니라 더 많은 정보를 얻기 위해서는 어떤 action을 취해야 하는지 고려해야 합니다.

\because 더 큰 보상을 얻는 것이 목적이긴 하지만 학습 초기에는 world에 대한 정보 자체가 너무 없기 때문에 world를 이해하는 것이 우선이기 때문입니다.

\therefore 횟수를 줄이는 것보단 어떤 수든 놓아보면서 world 자체를 이해하는 것이 중요합니다. 또한 여러 exploration을 거쳐 상황을 이해하고 난 후 그 다음 최적의 수를 찾게 된다면 훨씬 성능이 좋아지게 됩니다.

강화학습은 잘 분류된 데이터가 아닌 환경과의 상호작용을 통해 얻은 보상으로부터 학습한다는 점에서 지도학습과 차이가 있습니다. 또한, 비지도학습은 데이터의 숨겨진 규칙을 찾는 것이 목표라면 강화학습은 보상을 최대화하는 것이 목표입니다. 이 중에서 어떤 것이 ‘최적의 방법’이라고는 말할 순 없겠지만 새로운 룰까지 창조해낼 수 있는 탐험(exploration)이라는 특성으로 인해 강화학습 방법은 앞으로 많은 응용 분야에서 활용될 수 있는, 잠재력이 높은 기술이라고 생각됩니다.☺️

notion : https://skinny-cream-a75.notion.site/Lecture-1-Introduction-19dfefcd67a2456396749131ecb1187f

profile
Security + AI

0개의 댓글