Programming/머신러닝

[머신러닝] 강화학습의 분류

1code 2022. 1. 24. 20:00
728x90

강화학습(Reinforcement Learning)

  • 학습하는 시스템을 에이전트(Agent)라 부르며 환경(Environment)을 관찰(Observation)해서 행동(Action)을 실행하고 그 결과로 보상을 받는다. 시간이 지나면서 가장 최적의 보상을 얻기위해 정책(Policy)이라 부르는 최상의 전략을 스스로 학습을 진행한다.

강화 학습

1. 배치 학습 & 온라인 학습

  • 입력 데이터의 스트림으로부터 점진적으로 학습할 수 있는지에 따른 분류
  1. 배치 학습(Batch Learning)
    • 시스템을 점진적으로 학습할 수 없고, 가용 데이터를 모두 사용하여 훈련
    • 시간과 자원을 많이 소모하므로 보통 오프라인에서 수행
    • 새로운 데이터에 대한 학습이 필요할 경우 전체 데이터를 사용하여 시스템의 새로운 버전을 처음부터 다시 훈련
    • 많은 컴퓨팅 자원 필요(CPU, 메모리 공간, 디스크 공간...)
    • 데이터 양이 아주 많으면 배치 학습 알고리즘을 사용하는 게 불가능 할 수도 있다.
  2. 온라인 학습(Online Learning)
    • 데이터를 순차적으로 한개씩 또는 미니배치(mini-batch) 단위로 주입하여 시스템 훈련
    • 학습 단계가 빠르고 비용이 적게들며 데이터가 도착하는 즉시 학습 가능
    • 연속적으로 데이터를 받고 빠른변화에 스스로 적응해야하는 시스템에 적합
    • 데이터를 보관하지 않아도 되며, 많은 공간 절약과 컴퓨팅 자원이 제한된 경우에도 사용이 가능

 

2. 사례 기반 학습 & 모델 기반 학습

  • 어떻게 일반화되는지에 따른 분류
  1. 사례 기반 학습(instance-based Learning)
    • 두 샘플 사이의 유사도(Similarity)를 측정하여 새로운 데이터와 학습한 샘플을 비교하는 식으로 일반화

사례 기반 학습

  1. 모델 기반 학습(model-based Learning)
    • 샘플들의 모델을 만들어 예측(Prediction)에 사용하는 것
    • 모델 기반 학습
728x90