강화학습이면 강화학습이지, '심층 강화학습'이란 무엇일까요? 인공지능, 머신러닝, 딥러닝, 그리고 심층 강화학습에 대해 살펴봅니다. 각각의 개념적 차이를 정리하고, 심층 강화학습을 시작하기에 앞서 고려해야 할 점까지 짚어봅니다. 인공지능을 이루는 세부 기술적 개념이 보다 뚜렷하게 머릿속에 그려지길 바랍니다.
심층 강화학습(deep reinforcement learning, DRL)은 머신러닝 기법 중 하나로, 지능이 요구되는 문제를 해결할 수 있도록 인공지능(artificial intelligence, AI) 컴퓨터 프로그램을 개발하는데 사용합니다. 심층 강화학습의 독특한 특징은 시행착오를 통해 얻은 반응을 학습한다는 것인데, 보통 그 반응은 순차적이면서 동시에 평가가 가능합니다.
인공지능은 지능을 보여줄 수 있는 컴퓨터 프로그램의 생성과 연관된 컴퓨터 과학입니다. 전통적으로 추론이나 탐색, 계획, 학습과 같이 인지 능력을 보여줄 수 있는 소프트웨어들을 인공지능의 한 부분이라고 여겨왔습니다. 인공지능이 만든 기능이 반영된 소프트웨어의 예시를 몇 가지 들자면 다음과 같습니다.
● 검색 엔진으로부터 반환된 여러 웹사이트
● GPS 앱에서 생성된 경로
● 음성 인식과 스마트 보조 소프트웨어의 합성 음성
● 상업 사이트에서 추천된 상품들
● 드론에 탑재된 추적 기능
[인공지능의 세부분야]
지능을 보여줄 수 있는 모든 컴퓨터 프로그램들을 인공지능으로 간주하긴 하지만, 그렇다고 인공지능의 모든 예시들이 학습을 할 수 있는 것은 아닙니다.
머신러닝은 얻은 데이터로부터 학습을 통해 지능이 요구되는 문제를 해결할 수 있는 컴퓨터 프로그램과 관련된 인공지능 영역을 나타냅니다. 보통 머신러닝에는 3가지 큰 맥락이 있습니다. 지도학습(supervised learning, SL), 비지도학습(unsupervised learning, UL) 그리고 강화학습(reinforcement learning, RL)이 그것입니다.
[머신러닝의 주요 분류]
지도학습은 라벨이 있는 데이터로부터 학습합니다. 지도학습에서는 인간이 어떤 데이터를 수집하고, 그 데이터에 대한 라벨을 어떻게 설정할 것인지를 결정합니다. 지도학습의 목표는 일반화입니다.
지도학습의 일반적인 예시로 '필기체 숫자 인식'을 들 수 있습니다. 이때 사람은 필기체로 작성된 숫자 이미지를 모아 각 이미지에 대한 라벨을 만들고 이미지에 적힌 숫자를 정확하게 인식해 분류할 수 있도록 모델을 학습시킵니다. 이 학습된 모델은 새로운 이미지에 대해서도 필기체 숫자를 일반화하고 정확하게 분류할 수 있습니다.
비지도학습은 라벨이 없는 데이터로부터 학습합니다. 데이터 라벨을 지정하는 작업이 없지만, 여전히 컴퓨터가 데이터를 모으는데 사용하는 방식은 인간이 구현해야 합니다. 비지도학습의 목표는 압축하는 것입니다.
비지도학습의 일반적인 예시는 '고객 분류'입니다. 이때 사람은 고객 각각의 데이터를 수집하고, 고객들이 특정 군집으로 묶일 수 있도록 모델을 학습시킵니다. 각각의 군집은 고객들 간의 관계가 내재된 정보를 압축하게 됩니다.
강화학습은 시행착오를 통해서 학습합니다. 이런 종류의 학습에서는 사람이 데이터에 대한 라벨링을 할 필요가 없고, 데이터를 수집하거나 이와 관련된 작업을 할 필요도 없습니다. 강화학습의 목표는 그저 행동하기입니다.
강화학습의 일반적인 예시로는 '퐁(Pong)' 게임 에이전트를 들 수 있습니다. 에이전트는 반복적으로 '퐁' 에뮬레이터와 상호작용하며, 행동을 취하고, 이에 대한 효과를 관찰하며 학습합니다. 이때 학습된 에이전트는 '퐁' 게임을 성공적으로 진행할 수 있는 방향으로 행동을 취하게 됩니다.
최근에 머신러닝 분야의 강력한 접근 방식은 딥러닝(deep learning)이라고 불리는데, 이는 보통 신경망이라고 표현되는 여러 층으로 구성된 비선형 함수 근사법을 사용합니다. 딥러닝은 머신러닝의 별개 분야로 분류하지 않기 때문에, 앞에서 설명했던 방식들과 크게 다르지 않습니다.
[강화학습과 딥러닝의 사이에 심층 강화학습]
딥러닝은 지도학습이나 비지도학습 그리고 강화학습을 가리지 않고 머신러닝 문제를 해결합니다. 신경망을 사용하는 기술과 방법론의 집합이라고 할 수 있습니다. 심층 강화학습은 단순하게 강화학습 문제를 푸는 데 딥러닝을 사용한 것을 말합니다.
심층 강화학습은 강화학습과 딥러닝 사이의 교차점에 있습니다.
여기서 내릴 수 있는 결론은 심층 강화학습이 '문제에 대한 접근법'이란 것입니다. 인공지능 분야는 '지능적인 기계를 만드는 문제'를 '정의'합니다. 이런 문제를 해결하기 위한 방법 중 하나가 바로 심층 강화학습입니다.
기술적인 비교를 넘어서서, 다음 프로젝트를 위해서라도 심층 강화학습을 사용했을 때의 장점과 단점에 대해 생각해볼 것을 권합니다. 풀고자 하는 문제의 종류에 따라 어떤 부분이 장점이고 단점이 될지 알게 될 것입니다.
예를 들어 해당 분야가 기기를 조종하는 것이라고 해봅시다. (컴퓨터가 실제로 기기를 조종하는 것이) 좋을까요? 나쁠까요? 컴퓨터가 의사를 결정하도록 할 건가요? (이런 이유로 심층 강화학습 연구 대부분이 연구 환경으로 '게임'을 선택합니다.)
실제 환경에서 직접적으로 에이전트를 학습시키는 것은 비용이 많이 들고 위험합니다. 충돌을 통해서 충돌하지 않는 방법을 배우는 자율주행 에이전트를 상상할 수 있을까요? 심층 강화학습에서 에이전트는 실수를 해야만 합니다.
그 실수를 감당할 수 있을까요? 실제로 인간에게 해가 될 수 있는 부정적인 결과를 감수할 수 있을까요? 심층 강화학습과 관련된 프로젝트를 시작하기에 앞서서 이런 질문들을 고민해보기 바랍니다.
또한 에이전트가 환경을 어떻게 탐색할지도 고려해볼 필요가 있습니다. 예를 들어, 대부분의 가치 기반 방법론들은 행동을 임의로 선택하며 탐색합니다. 하지만 다른 방법들은 조금 더 전략적인 탐색 방법을 가지고 있습니다. 심층 강화학습에 대한 장단점을 알았다면, 트레이드-오프에 익숙해져야 합니다.
이 글은 <그로킹 심층 강화학습> 도서 내용 일부를 발췌 편집하여 작성되었습니다. 심층 강화학습에 대한 보다 자세한 정보는 하기 책에서 만나볼 수 있습니다.
최신 콘텐츠