본문 바로가기
AI & Data

[Data Science] Reinforcement Learning(강화학습)

by Henry Cho 2021. 2. 1.
728x90

Q: 머신러닝 강화 학습이 뭔가요?

 

"머신러닝의 종류"라는 포스트에서 Supervised와 Unsupervised에 차이점에 대해서 살펴보았다.

 

Reinforcement Learning이란?

Reinforcement Learning을 직역한 것이 바로 강화 학습이다.

참고로 Reinforcement Learning은 RL이라고 줄여서 표현된다는 점을 알고 있으면 좋다.

(Machine Learning은 ML이다.)

필자도 Reinforcement Learning를 RL이라고 포스트에서 줄여서 작성할 것이다.

 

RL의 한국어 직역 표현인 강화 학습이라는 표현이 다소 생소할 수도 있는데,

응용학습이라고 이해하면 보다 더 쉽게 머릿속에 남을 것이다.

 

RL은 머신러닝을 통해 컴퓨터를 학습시키는 방법 중에 하나로써 말 그대로

컴퓨터가 스스로 학습하여 더 나은 결괏값을 산출하는 알고리즘 학습 방법을 의미한다.

 

[그림1] 강화학습 시각적 표현 예제

그림을 보면 비교적 이해하기가 훨씬 더 쉽다.

물론 해당 그림은 RL를 최대한 포괄적으로 표현한 그림이다.

Agent에는 다양한 센서와 같은 기기가 존재할 수 있고,

기기들 간의 데이터 송수신 과정을 거치고 최종 데이터 값으로 표현하는 등과 같은 과정을 거친다.

 

Anyway, RL의 큰 프로세스 방식을 살펴보면,

RL이 가지는 중요한 특징은 바로 Environment와 Agent 사이에 Rewards 통해서 개발자가 원하는 방향으로

ML(=Machine Learning)이 이루어진다는 것이다.

 

Rewards란?

Rewards란 한국어로 번역하면 "보상"이라는 사전적 의미를 가진다.

RL에 대한 한국 설명들을 살펴보아도 Rewards를 보상이라고 표현이 되어 있다.

Rewars는 RL를 통해 프로그램이 결과적으로 산출해야 되는 방향성을 지도해주는 코치 같은 역할을 한다고 볼 수 있다.

마치 꼭 채찍과 당근 같은 역할을 하는 셈이다.

 

간단한 예를 들자면, 자동 주차 프로그램을 만든다고 가정해보자.

자동차가 자동 주차하기 위해서는 다양한 경우의 수가 존재한다.

핸들을 돌려서 타각도를 얼마나 줄지, 속도는 얼마로 갈지,

어떤 시점에 후진을 할지, 전진을 할지 등 다양한 조건이 존재한다.

마치 너무나 좁은 골목에서 이중 주차가 되어 있고 처음 운전하는 상황일 때,

다 포기하고 차를 버리고 가거나 그냥 부딪히고 지나가고 싶은 감정이 생긴다.

머신러닝을 통해 자동 주차 프로그래밍을 ML을 통해 테스트를 진행하다 보면

컴퓨터도 화가 나는지 주변 사물을 무시하고 부딪힌 다음 주차를 시켜 버리곤 한다.

 

이런 경우의 수가 잘못되었고 잘못된 경우가 문제가 된다는 걸 알려주고

자동 주차가 잘 된 경우를 프로그램에게 알려준다면 보다 더 효율적인 ML 학습 방법인 된다.

왜냐하면, RL를 통해 Rewards를 적용하지 않을 경우 프로그램은 모든 경우를 시도한다.

하지만 Rewards를 통해 잘못된 경우를 알려주고 잘 된 경우를 알려준다면 최적의 값뿐만 아니라

효율적으로 ML이 가능하다.

이것이 바로 RL의 특징인 것이다.

프로그램에게 RL를 통해 잘한 경우는 상점을 주고 잘못된 경우는 벌점을 줌으로써

프로그램이 스스로 최적의 결괏값을 찾아가는 것이다.

결과적으로 RL을 통해 최적의 결괏값을 찾아내고, 개발자가 원하는 결괏값을 학습을 통해 산출한다.

728x90

댓글