본문 바로가기
컴퓨터공학/AI

강화 학습 1.기본 개념

by Jinger 2023. 3. 11.

서론

 강화학습은 머신러닝과 다른 길로 발전을 하다, AI라는 큰 분야로 통합이 되면서 합쳐진 분야이다. 그렇기에 대충 이야기할 때는 머신러닝이 강화학습의 일부분처럼 말한다.(물론 머신러닝은 데이터에 대한 모델 교육을 위한 다양한 기술을 포함하는 광범위한 분야이며 강화 학습은 이러한 기술 중 하나입니다.) 하지만 실제 공부를 하게 되면 따로따로 공부하게 된다. 머신러닝의 대부분의 분야와 차이가 있기에 무엇을 우선 공부해도 상관은 없지만 보통은 머신러닝을 먼저 공부를 한다. 


머신러닝(기계학습, Machine Learning, ML)

 머신러닝이란 데이터에서 자동으로 프로그램 학습하는 프로그램이다.  ML 알고리즘은 샘플 데이터를 기반으로 예제를 일반화하여 중요한 작업을 수행하는 방법을 파악하여 수학적 모델을 구축한다.

머신러닝의 알고리즘

1. Supervised Learning(지도 학습): 입력(input)과 원하는 출력(output)을 모두 포함하는 데이터들로 수학적 모델을 구축하는 방법이다. ex) Regression

2. Unsupervised Learning(비지도 학습): 결과(output)가 포함되어 있지 않은 입력(input)로 구조를 찾거나 그룹화하는 학습 방법이다. ex) Classification, Clustering

3. Reinforcement Learning(강화 학습): 누적 보상(reward)의 개념을 최대화하기 위해 수행원(Agent)이 해당 환경(environment)에서 조치를 취해야 하는 방법이다. ex) 알파고

강화학습(Reinforcement Learning, RL)

 RL 환경에서는 에이전트에게 무엇을 해야 하는지 또는 어떻게 해야 하는지 가르치지 않고 에이전트가 수행한 각 행동에 대해 보상(reward)을 제공한다.(보상은 좋은 보상일 수도 있고, 나쁜 보상일 수도 있다.) 이때 보상은 각 단계마다 실수를 했는지 확인하기 위해 받을 수도 있고 작업 완료 후에 제공되기도 한다. 에이전트도 두 가지 전략을 사용할 수 있다. 좋은 보상을 제공할 수 있는 다양한 작업을 탐색(explore)하거나, 좋은 보상을 가져온 이전 작업을 악용(exploit, 사용, 착취)하는 방법이 있다.  이때 항상 탐색한 모든 작업이 최선의 작업이 되지는 않기 때문에 다른 작업을 탐색하는 경우 에이전트가 좋지 않은 보상을 받을 가능성이 크다. 반대로 알려진 최상의 조치만 악용하는 경우에는 더 나은 보상을 제공할 수 있는 최선의 행동을 놓칠 가능성이 크다. 즉, 탐색과 착취 사이에는 항상 상충 관계이다.(동시에 수행할 수 없다.)

일반적인 RL 알고리즘 단계

- 먼저 에이전트는 작업을 수행하여 환경과 상호 작용
- 에이전트는 한 상태에서 다른 상태로 이동
- 에이전트는 수행한 작업에 따라 보상을 받는다.
- 보상에 따라 에이전트는 행동이 좋은지 나쁜지 이해한다.
- 행동이 좋은 경우(= 에이전트가 긍정적인 보상을 받은 경우) 에이전트는 해당 행동을 수행하는 것을 선호하거나(=착취) 그렇지 않으면 에이전트는 긍정적인 보상(=탐색)을 초래하는 다른 행동을 수행하려고 시도한다.


강화학습의 요소

  1. Agent: RL에서 지능적인 의사결정과 학습자를 만드는 소프트웨어 프로그램, 에이전트는 환경과 상호 작용하여 행동을 취하고 행동에 따라 보상을 받는다.
  2. Policy function: 정책은 환경에서 에이전트의 행동을 정의하고 에이전트는 정책에 따라 수행할 작업을 결정한다.(정책은 기호 π로 표시됨, 정책은 조회 테이블 또는 검색 트리 형식일 수 있다.)
  3. Value function: 가치 함수는 에이전트가 어느 특정 상태에 있는 것이 얼마나 좋은지를 나타낸다. 행동하는 에이전트가 받는 총 기대 보상과 동일하며 정책에 따라 다르므로 가치 함수는 정책에 따라 다를 수 있다.(가치함수는 v(s)로 표시하며 이때 s는 상태를 의미한다.)
     최적 가치함수는 다른 가치함수에 비해 모든 state(상태)에 대해 가장 높은 값을 가지는 함수이다. 최적의 정책은 최적의 가치함수를 가지는 정책이다.
  4. Model: 모델은 에이전트가 환경을 표현한 것이다.
    1. Model-based learning: 에이전트는 모델을 사용하여 에이전트의 작업에 따라 상태가 변경되는 방식을 알고 있다. ex) 지도를 사용하여 사무실에 더 빨리 도착하는 방식의 모델
    2. Model-free learning: 에이전트는 추적 및 오류 경험에만 의존한다. ex) 지도를 사용하지 않고 다양한 경로를 모두 시도한 후 사무실로 가는 더 빠른 경로를 선택하는 방식의 모델

Agent Environment Interface

 에이전트는 한 번에 𝐴𝑡 한 상태에서 𝑆𝑡 다른 상태로 𝑆𝑡+1 이동하는 작업을 수행하는 소프트웨어 에이전트이다. 행동에 따라 에이전트는 환경으로부터 수치적 보상 R을 받는다.

강화 학습의 환경(Environment) 종류

  1. Deterministic & Stochastic environment
    1. Deterministic environment: 현재 상태를 기반으로 행동의 결과를 알 경우 ex) 바둑
    2. Stochastic environment: 현재 상태로 액션의 결과를 판단할 수 없을 경우 ex) 주사위
  2. Fully observable & Partially observable environment
    1. Fully observable environment에이전트가 시스템의 상태를 항상 파악할 수 있는 경우 ex) 체스
    2. Partially observable environment에이전트가 시스템의 상태를 항상 확인할 수 없는 경우 ex) 포커
  3. Discrete & Continuous environment
    1. Discrete environment: 한 상태에서 다른 상태로 이동할 수 있는 동작 상태가 유한한 경우 ex) 오목
    2. Continuous environment: 한 상태에서 다른 상태로 이동할 수 있는 동작의 상태가 무한한 경우 ex) 운전
  4. Episodic non-episodic environment
    1. Episodic environment(non-sequential environment): 에이전트의 현재 작업은 향후 작업에 영향을 미치지 않는 경우
    2. non-episodic environment(equential environment): 에이전트가 독립적인 작업을 수행하지만 비 에피소드 환경에서는 에이전트의 모든 작업이 관련되어 있는 경우
  5. Single & multi-agent environment
    1. Single environment: 에이전트가 단 하나이다.
    2. multi-agent environment: 에이전트가 여럿이다.(복잡한 작업을 수행하는 동안 다중 에이전트 환경이 광범위하게 사용됨)

RL Platforms

활용

  • 개인에 맞춘 콘텐츠 제공
  • 지능형 로봇
  • 재고 관리(공급망 관리, 수요 예측 및 여러 창고 운영 처리)
  • 금융
  • 자연어 처리 및 컴퓨터 비전

참고

cmd창에 아래를 입력하여 환경을 구축해 보자

pip3 install box2d box2d-kengz

pip3 install jupyter-tensorboard

OpenAI Gym에 대해

 

8.모듈

서론 파이썬에는 기본 탑재된 함수나 다른 사람이 만든 함수나 변수들을 불러 사용할 수 있다. 이런 기능들이 있기에 파이썬이 다재다능해질 수 있는다. 모듈 모듈이란 함수나 변수 등을 모아

jinger.tistory.com

 

기계 학습 1.기본 개념

서론 머신 러닝(Machine Learning)은 데이터로부터 학습하는 컴퓨터 과학의 한 분야이다. 최근에 AI가 많은 관심을 받고 있다. 이 기술은 최근에 만들어진 개념이 아니라, 과거부터 존재했던 개념이다

jinger.tistory.com

반응형

댓글