본문 바로가기
AI/Machine Learning

[ML] 강화학습

by 안녕나는현서 2021. 5. 13.
728x90

- 강화학습(Reinforcement Learning)

  • 지도학습처럼 정답이 있지 않고 비지도학습처럼 데이터만을 기반으로 학습하지도 않음
  • 강화학습은 에이전트라는 존재가 환경과 상호작용하며, 이 환경에는 보상이라는 기분이 있어서 다양한 시행착오를 겪어가며 보상을 최대화하는 방향으로 학습 진행
  • 다양한 시행착오를 통해 학습이 가능하며, 비교적 명확한 보상을 설정할 수 있는 문제를 해결하는 데 사용
  • 2016년 3월 구글 딥마인드의 AlphaGo
  • 강화학습이란 보상을 최대화하는 의사결정전략, 즉 순차적인 행동을 알아나가는 기법 → Markov decision process

 

 

- MDP(Markov decision process)

  • 상태, 행동, 보상함수, 상태 변환 확률, 감가율로 구성
  • 에이전트(Agent) : 강화학습에서 의사 결정을 하는 역할
  • 환경 : 에이전트의 의사결정 반영, 에이전트에게 반영된 정보를 주는 역할
    • 상태(State) : 에이전트는 상태를 기반으로 의사결정을 진행, 의사결정을 하기 위해 사용되는 관측값, 행동, 보상을 가공한 정보
  • 행동(Action) : 에이전트가 의사결정을 통해 취할 수 있는 행동, 일반적으로 현재 상태에서 취하는 행동을 A로 표기
    • 이산적 행동 : 에이전트에게 주어지는 행동의 선택지가 있으며 에이전트는 그 중 하나를 선택함
    • 연속적 행동 : 선택지마다 특정 값을 수치로 입력하게 되고 에이전트는 입력된 값만큼 행동
  • 관측(Observation) : 환경에서 제공해주는 정보
    • 시각적 관측 : 현재 상태의 정보를 이미지로 표현한 것
    • 수치적 관측 : 이미지의 형태가 아닌 수치로만 표현한 것
  • 보상함수(Reward Function) : 에이전트가 특성 상태에서 특정 행동을 했을 때 보상을 받게 됨, 에이전트는 이 보상정보를 통해 학습 진행, 일반적으로 현재 상태에서 특정 행동을 했을 때 얻는 보상의 기댓값은 

현재 상태에서 현재 상태의 행동을 취해서 얻을 수 있는 보상의 기댓값

 

 

- 강화학습에서 의사결정은 어떻게 학습할 수 있는 걸까?

  • 에피소드가 끝나게 되면 에이전트가 지나왔던 상태에서 했던 행동에 대한 정보를 기록
  • 그 정보를 이용하여 그 다음 에피소드에 대한 의사결정 진행
  • 에피소드를 통해 얻었던 정보로 기록 업데이트 과정 반복
  • 그렇다면 어떤 정보를 기록했을 때 더 좋은 의사결정을 내릴 수 있을까?
    • 에이전트는 더 나은 의사결정을 위해, 현재 스텝에서 받았던 보상으로부터 에피소드가 끝날 때까지 받았던 보상들을 더한 것을 정보로 이용

 

 

- 감가율

감마

  • 초기 상태에서 에이전트가 미래에 받을 보상을 현재 가치로 환산하여 효율적인 판단을 할 수 있도록 하는 값
  • 0~1 사이의 값
  • 1에 가까울수록 미래의 보상에 더 많은 가중치를 둠
  • 감가율이 반영된 보상 정보 : 현재 스텝부터 받았던 보상부터 에피소드가 끝날 때까지 받았던 보상들에 감가율을 스텝 차이만큼 곱해서 더해줌

반환값 / 현재 스탭에서의 반환 값은 일반적으로 G로 표기

 

 

- 강화학습의 목적 : 에이전트가 많은 보상을 받기 위해 최적의 정책을 학습하는 것

  • 에이전트가 최적의 정책을 찾기 위해서는 여러 상황에서 다양한 행동을 하며 많은 경험을 해보는 것이 필수


- 탐험

  • 에이전트가 다양한 경험을 할 수 있도록 에이전트의 행동을 결정하는 기법
  • 무작위 탐색 방법(Random Exploration)
    • 에이전트가 취할 수 있는 행동 중 하나를 임의로 선택하는 단순한 기법
    • 에이전트가 좀 더 다양한 경험을 할 수 있도록 유도
  • 장기적으로 보상의 총합을 키우기 위해 좋음


- 하지만 에이전트가 너무 다양한 경험만을 추구하는 것도 그리 좋은 방향은 아님, 엄청 다양한 상태와 행동이 존재하는 환경에서 모든 경험을 다 해보려면 너무 많은 시간이 필요 → 어느 정도는 에이전트가 학습한대로 행동하는 것도 필요

 

 

- 활용

  • 학습된 결과에 따라 에이전트의 행동 결정하는 기법
  • 탐욕적 방법(Greedy method)
    • 주어진 시점에 에이전트가 가장 큰 보상을 줄 것이라고 기대하는 행동만을 선택하는 것
    • 단 한 번의 행동에 대해 최대의 보상을 원한다면 바람직


- 불확실하다는 건 비탐욕적 행동 가운데 적어도 하나는 탐욕적 행동보다 좋을 것 같지만 정확히 어떤 행동이 그러한지를 모르는 경우를 의미

  • 그래서 미래에 남아있는 많은 단계에 대해 행동을 선택해야 한다면 비탐욕적 행동을 탐험하여 어떠한 것이 탐욕적 행동보다 좋은 것인지를 찾아내는 것이 더 좋음
  • 탐험을 하는 동안 단기적으로는 보상이 적을 지라도 탐험을 통해 더 좋은 행동을 찾아내고 그것을 많이 활용함으로써 장기적으로는 더 큰 보상을 누릴 수 있게 됨

 

 

- 활용과 탐험의 딜레마 (혹은 갈등)

  • 하나의 행동을 선택할 때, 활용과 탐험을 동시에 할 수 없음
  • 어떠한 특정 경우에 활용을 하는 것이 좋을 지, 탐험을 하는 것이 좋을 지는 정밀한 가치 추정 값과 불확실성, 앞으로 남아있는 단계의 개수에 따라 복잡한 방법으로 결정됨
  • 활용과 탐험 사이의 균형을 맞춰 적절히 분배하는 것이 중요 → 강화학습에서만 나타나는 독특한 어려움

 

 

- 행동가치방법(action-value-method)

  • 행동의 가치를 추정하고 추정값으로부터 행동을 선택하도록 결정하는 방법
  • 어떤 행동이 갖는 가치의 참값 : 행동이 선택될 때의 평균 보상
  • 참값을 추정하는 방법 : 실제로 받은 보상의 산술평균을 계산

조건 서술어가 참이면 1, 거짓이면 0 / 만약 식의 분모가 0이어서 계산을 할 수 없을 때는 0과 같은 어떠한 기본값으로 정의 / 만약 분모가 무한으로 커지게 된다면 큰 수의 법칙에 따라 행동의 실제 가치로 접근

 

 

- 가장 간단한 행동 선택 규칙 : 추정 가치가 최대인 행동 중 하나를 선택

  • 탐욕적 행동 중 하나를 선택하는 것
  • 탐욕적 행동을 선택하는 과정에서는 즉각적인 보상을 최대화하기 위해 현재의 지식 사용하는 것이 항상 포함됨
  • 누가봐도 열등한 행동으로 표본을 구성하는 일은 탐욕적 행동 선택에서 결코 일어나지 않음

argmax는 바로 이어지는 수식의 값이 최대가 되도록 하는 행동 a를 나타냄

 

 

- 입실론-탐욕적 방법(ε-greedy)

  • 탐욕적 행동을 대체할만 한 대안
  • 대부분의 시간 동안에는 탐욕적 선택을 수행
  • 상대적 빈도수를 작은 값으로 유지하면서 탐욕적 선택 대신 모든 행동을 대상으로 무작위 선택
  • 모든 행동이 선택될 확률은 균등
  • 행동 선택은 행동 가치 추정과는 무관하게 이뤄짐
  • 효용성은 미지수
728x90

댓글