<그로킹 심층 강화학습> 한빛미디어

최근 OpenAI와 구글에서 강화학습을 이용해 GPT-3를 한 단계 더 발전시켰다는 이야기를 들었다. 강화학습 필드는 인공지능 연구를 하다보면 소식을 자주 접하게 되면서도 NLP와는 접점이 많지 않았기에 생소하게 느껴졌는데, 이번 8월 서평단 활동으로 강화학습과 친해질 기회를 만들어보았다. 이번 포스팅에서는 먼저 강화학습이 무엇인지 간단하게 알아본 후 강화학습 연구자이자 엔지니어인 미겔 모랄레스 (Miguel Morales)의 <그로킹 심층 강화학습> 책의 서평을 작성해보고자 한다.

강화학습에 대한 간단한 소개

일반적으로 인공지능 입문 단계에서부터 다루는 지도학습 (Supervised Learning)이나 비지도학습 (Unsupervised Learning)처럼, 강화학습 (Reienforcement Learning, RL)은 또 다른 하나의 머신러닝 맥락으로 볼 수 있다. 강화학습의 목표는 “행동하기”이다. 지도학습에서처럼 “라벨”이라는 정답 데이터를 활용하지도, 비지도학습에서처럼 데이터의 특징과 정보를 배워나가려고 하지않는다. 그저 시행착오를 통해 학습하며, 최대한 많은 보상을 얻기 위한 행동을 취하는 것이 목표이다.

강화학습의 포지션

강화학습을 알려면 두가지 객체를 알고 있어야 한다. 바로 에이전트와 환경이다. 에이전트는 컴퓨터 프로그램, 즉 의사를 결정하는 객체 그 자체이며, 환경은 에이전트와 반대되는 개념으로 에이전트 이외의 모든것을 뜻한다. 예를 들어 어떤 사물을 집는 로봇을 학습시킨다고 할 때, 의사를 결정하는 로봇 프로그램이 에이전트이며, 주변에 부는 바람, 사물이 놓여진 책상, 바닥의 마찰력과 같은 로봇을 제외한 모든것들이 환경에 속한다. 재미있는 것은 로봇의 팔 또한 환경의 일부라고 볼 수 있다는 것인데, 이는 비록 에이전트가 팔을 어떻게 움직일지 결정하더라도 실제 로봇 팔의 움직임에는 잡음이 더해지기 때문이다.

강화학습에서 에이전트와 환경의 인터렉션

강화학습 모델은 에이전트와 환경의 상호작용을 통해 학습한다. 그렇다면 에이전트와 환경은 어떻게 상호작용을 할까? 에이전트는 의사결정하는 객체로, 현 상태에서 어떠한 행동을 취할지 결정해야한다. 에이전트가 어떠한 결정을 내리고 행동을 취했을 때, 환경으로부터 그에 해당하는 피드백 (보상)을 받게 된다. 가령 현 시점에서 A라는 행동을 취했을 때 100이라는 보상을 받고, B라는 행동을 취했을 때 -10이라는 보상을 받았다면, 에이전트는 자신의 이를 관찰하여 현 시점 (로봇의 위치)에서는 B가 아닌 A라는 행동을 취하도록 학습될 것이다. 물론, 이는 간단한 설명을 위해 든 예시로, “순간 목표”만을 바라볼 때 이야기다. 대부분의 경우 장기 목표와의 균형을 이루는 것이 중요하다.

이 책에서 기대할 수 있는 것

<그로킹 심층 강화학습> 은 강화학습을 연구적으로 이해할 수 있게 도와준다. 연구적이라 함은, 강화학습의 이론과 본질에 포커스를 맞추어 설명하기 때문에 강화학습을 실무에 빠르게 적용하고자 하는 현업자보다는 이론적으로 접근하고자 하는 학생을 위한 책에 가깝다는 뜻이다. 가령, 많은 “빠른 실무를 위한” 서적에서 high-level 위주의 직관적인 그림과 현업에 바로 적용 가능한 코드를 보여줄 때, 이 책에서는 수식적인 설명과 연구적 논의가 많이 등장하며 코드 예제는 최소화 되어있다.

“트위터에서 만나요!”
다리가 부러진 것이 좋은 소식인지, 나쁜 소식인지 어떻게 아나요?

이 책의 저자가 강화학습을 대하는 태도는 각 챕터의 시작만 봐도 어느정도 엿볼 수 있다. 예를 들어 3장은 “전투를 준비하면서 항상 느낀 것은 계획은 쓸모 없는 것이지만, 계획하는 것 자체는 없어서는 안될 중요한 것이었습니다. – 드와이트 D. 아이젠하워” 라는 문구로 시작하는데, 강화학습에서 중요한 문제이면서도 철학적인 고민거리를 던져주는 것이 상당히 흥미로웠다. 또한, 각 챕터의 마지막은 언제나 “트위터에서 만나요!” 라는 소제목의 텍스트 블록으로 마무리한다. 공부한 것에 대해 트위터를 작성하고 저자 본인을 태그하면 리트윗할것이라는 약속을 하며, 각 챕터와 관련된 해시태그를 사용하길 부탁한다. 예를 들어, 제 2장의 관련 해시태그로는 “#gdrl_ch02_tf01” 등을 제안한다. 이 부분에서 저자의 강화학습 필드에 대한 적극성과 열정 또한 느낄 수 있었다.

수식 예시

저자의 설명 스킬 또한 돋보인다. 어떤 개념도 이해시키고야 말겠다 라는 집념이 있는 것처럼 다양한 그래프, 예시를 사용하며 수식도 대충 설명하고 넘어가지 않는다. 사실 개인적으로 “수식은 몰라도 됩니다” / “실전에선 수식이 별로 쓰이지 않습니다” 와 같은 이야기를 하는 책을 선호하지 않는데, 수식 없이 high-level에서만 이해하고 코드를 사용하는 것은 지식 확장에 별로 도움이 되지 않기 때문이다. “잘” 써먹으려면 바닥부터 이해해야 하고, 그러려면 수식을 짚고 넘어가야 한다. 예를 들어 딥러닝 네트워크의 back-propagation을 수식 없이 그림으로만 알고 있다면 back-propagation이 무엇인지 동료에게 설명해야할 때 상당히 곤란할 것 같다. 딥러닝 관련 논문을 이해하기는 물론이고, 간단한 코드 수정도 힘들것이다. 저자는 연구자로서 그것의 중요성을 알기에, 수식을 넘기지 않고 잘 설명하고자 공을 많이 들인 것 같다. 수식 뿐만 아니라 강화학습 개념들이 잘 설명되어있다. 개인적으로 많은 부분의 설명을 빠져들면서 읽었다.

끝으로, 마지막 챕터에서 인상깊었던 저자의 일과 연구에 대한 마음가짐을 이야기하는 부분을 아카이빙하며 이 포스팅을 마치도록 하겠다.

“한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다.”

Avatar

Jaein Kim

I'm a Computer Science PhD candidate from South Korea, currently based in Beijing, China. My academic journey is dedicated to pioneering research in Natural Language Processing and Knowledge Graphs, striving to break new ground in these dynamic fields.

Recommended Posts

생물을 사랑하는 AI 박사생 이야기

요즘 듣고 있는 Coursera 뇌과학 강좌에 대해 쓰려다가 에세이가 되버린 생물을 사랑하는 AI 박사생의 이야기입니다. 🙃 지금 NLP를 공부하는 AI 박사과정 학생이지만, 제 관심사는 언제나 다른 곳을 향해 있었습니다. 어릴 때부터 지금까지 살아오면서 언제나 무언가를 키우고 있을 정도로 생물에 대한 관심이 참 […]

Entity Alignment 태스크 및 벤치마크, 데이터셋 알아보기

오늘은 Knowledge Graph (KG) 관련 태스크 중 Entity Alignment (EA)에 대해 보다 자세히 알아보겠습니다. KG 개념에 익숙하지 않으시다면 지난 글을 읽고 오시면 도움이 됩니다. 지난 글에서 간단히 소개했듯, EA는 다른 두 개 (혹은 그 이상의) KG가 가진 엔티티들 중, 실세계에서 같은 객체를 […]

지식 그래프 (Knowledge Graphs) 개념과 관련 태스크, 그리고 NLP와의 관계성

이번 글에서는 지식 그래프의 기본 개념에 대해 알아보고, 관련된 대표적인 태스크로 어떤 것들이 있는지 간단하게 알아보겠습니다. 또 KG와 NLP와의 관련성에 대해서도 간단히 소개하며 마무리하겠습니다. Knowledge Graph (KG) 기본 개념 KG는 real-world의 객체 (entity) 사이의 관계 (relation)를 그래프 형태로 모델링한 것으로, 구조화된 데이터의 […]

AI 박사생의 연구 삽질 여정 (현재 진행형)

이번 글은 한탄과 다짐이 섞인 근황 이야기입니다. 개인 웹사이트에서는 처음 쓰는 사적인 이야기인 것 같습니다. 저는 베이징 소재 공대의 컴퓨터 공학부에서 AI를 공부하고 있는 박사 과정 학생입니다. 저는 언제나 AI를 “연구”한다고 표현하지 않고 “공부”한다고 표현하는데 그건 제가 아직도 한참 삽질의 여정을 보내고 […]