[일기] 최근에 강화학습 공부하면서..

안녕하세요. 제이콥입니다.

최근에 회사에서 강화학습 (reinforcement learning)을 공부, 적용해볼 시간이 있었습니다.

강화학습을 제가 이해한대로만 설명해보자면 이렇습니다. 목표가 있는데, 그 목표를 이루기 위해 행동과 상태가 있습니다. 목표를 이루기 위해 당근과 채찍을 주면서 최적의 행동을 할 수 있도록 한다. 이게 바로 강화학습입니다. 이 강화학습은 바둑두는 알파고에도 적용됐었죠. 수많은 바둑 기보를 알파고에게 보여주면서 이렇땐 이렇게 하는게 최고의 선택이란걸 가르칩니다.

로봇으로 예를 들어보겠습니다. 장애물을 만나면 로봇을 멈추도록 교육하고싶습니다. 이걸 위해선 몇가지 정의가 필요합니다. 로봇의 목표, 액션, 상태. 너무 복잡하게 해도 안됩니다. 최대한 단순하게 정의해보겠습니다. 여기서 목표는 앞에 장애물이 있으면 멈춰, 그리고 장애물이 없으면 움직여 입니다. 로봇이 할 수 있는 액션은 속도를 늘리는 것과 줄이는 것이고요. 로봇의 상태는 앞에 장애물이 있다와 없다. 그리고 현재의 속도입니다. 로봇을 가르치는건 이렇게 합니다. 로봇이 앞에장애물있을때 속도를 줄이는 행위를 하면 상을 주고요. 장애물이없을 때 속도를 늘려도 상을 주고요. 만약 장애물이없을때 속도를 줄이면 채찍질을 하는 것입니다. 당근과 채찍이 리워드에요.

프로그래밍, it쪽이 아니여도 이미 많이 사용되고 있다고도 생각이 듭니다. 강아지를 교육한다던가, 아이를 교육한다던가요. 강화학습을 공부, 프로젝트에 적용해보면서 인생에도… ㅋㅋ 적용해볼만한 내용이다.

사람도 인생의 목표를 정하고요. 나의 현재 상태를 파악하고 할 수 있는 실천이 무엇인지 확인합니다. 그리고 할 수 있는 가장 최고의 액션를 선택해서 실천합니다. 그리고 내가 한 행동이 잘했는지, 못했는지를 평가합니다. 잘했다면, 다음에도 그 행위를 하면 되고요. 잘못했다면 그걸 안하면 됩니다. 사람이야말로 강화학습으로 학습이 잘됐다고봅니다. 하면 안되는 것, 해도 되는 것, 해야하는 것 등등..

최근에 하도 강화학습만 봤더니 제가 잠꼬대로 이렇게 말했다고 하네요. 너가 할수 있는 액션은 4가지다. ㅋㅋ

감사합니다.


This page is synchronized from the post: ‘[일기] 최근에 강화학습 공부하면서..’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×