brunch

You can make anything
by writing

C.S.Lewis

by This is HNZN Sep 06. 2023

심층 강화학습에 도전해 보자.

강화학습의 기본 of 기본부터 시작하자.

인공신경망이란 무엇일까.

마치 생물이 갖고 있는 신경망처럼, 수많은 파라미터들이 다른 파라미터로부터 값을 전달받고, 적절한 연산을 진행한 후 이 값을 또 다른 파라미터에게 전달하는 과정을 반복하며 원하는 임무를 수행할 수 있는 알고리즘이라고 할 수 있다. 하나의 인공신경망은 수많은 파라미터로 이루어져 있지만 이들의 합성성을 이용하여 마치 하나의 번들처럼 동작할 수 있으며 데이터들 사이에 숨어있는 암시적인 특성 또한 식별할 수 있게 된다.

음 거북이 귀엽다.

사람의 사진을 넣었을 때 0이 나오고 거북이의 사진을 넣었을 때 1이 나오는 인공신경망이 있다고 생각해 보자. 그 안에 들어있는 파라미터들 하나하나가 매우 적절한 값을 갖고 있다면 이 인공신경망은 분명 우리가 원하는 출력을 만들어내는 이상적인 함수가 될 것이다. 하지만 갓 만들어진 인공신경망의 파라미터들이 완벽할 리가 없다. 완벽해질 때까지 파라미터들의 값을 조정하는 과정을 트레이닝이라고 부른다.

트레이닝을 마친 인공신경망은 실제 문제 상황에 도입되어야 하므로 처음 보는 거북이의 사진을 입력하였을 때도 1이라는 값이 제대로 나와야 한다. 이를 확인하는 문제를 회귀라고 부른다.

동물은 밥을 먹는 것처럼 생존에 적합한 행동을 하면 만족감을 얻는다. 불을 손으로 만지는 것처럼 생존에 불리한 행동을 하면 통증을 느낀다. 사회적 관계가 틀어지는 것은 사회적 동물인 인간에게 있어 매우 생존에 불리한 행동 중 하나다. 말실수를 하였을 때 불쾌한 감정이 드는 것 또한 당연한 학습을 위한 음의 보상이라고 할 수 있다.


강화학습이란 무엇일까.

강화학습은 양과 음의 보상을 통해 학습하는 기작을 프로그래밍으로 구현한 것이라고 할 수 있다. 긍정적인 보상이 최대가 되고 부정적인 보상은 최소가 되도록 인공신경망을 계속 다듬어가는 과정을 반복하며 정답이 주어지지 않음에도 불구하고 정답을 스스로 찾아가도록 만들 수 있다는 아이디어다.

이 강화학습에 필요한 알고리즘 자체를 에이전트라고 부른다. 그리고 결국 에이전트의 목적은 하나다. 장기적으로 기대할 수 있는 보상을 최대화하는 것이다. 이를 위해 에이전트는 액션을 취하고 그에 따른 보상을 받아 신경망을 수정하고 다시 액션을 취하는 피드백을 반복한다.




이 글을 기점으로 심층 강화학습을 통해 로봇에게 걷는 법을 학습시키기까지의 여정을 시작하려 한다. 우선 심층 Q 신경망, 액터-크리틱과 같은 이론적인 부분과 OpenAI Gym의 사용법, 멀티코어를 사용하는 다중 에이전트 강화학습과 같은 기술적인 부분을 차례대로 정리해가려 한다. 그 후에는 MuJoCo를 사용하여 로봇에게 걸음마를 가르쳐주고 데이터 시각화 이론을 정리해 가는 것이 목표다.

로봇공학자가 되기까지, 앞으로 배워야 할 것도, 풀어나가야 할 이야기도 너무 많다. 차근차근 정리해 보도록 하겠다.

작가의 이전글 글 쓰고 싶어졌다. 과학고에서.
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari