지난 3월 LG AI연구원 Applied AI Research Lab에 합류한 홍성훈 님은 강화학습 연구로 유명한 KAIST 김기응 교수 연구실에서 연구했습니다. 김기응 교수 연구실에서는 강화학습 중에서도 핵심 이론, 자연어와 결합한 연구를 다수 수행하고 있으며 확률적 추론 연구에도 주력하고 있습니다. 홍성훈 님은 그중에서도 강화학습과 그래프 신경망을 함께 다뤄 현실의 복잡한 데이터를 표현하는 연구를 수행했습니다.
홍성훈 님은 “머신러닝에 관심을 가지면서부터 강화학습에 특별히 집중하게 됐습니다. 데이터 표현에 있어 기존 방식은 제약이 있다고 느껴 유연하게 표현하기 위해 그래프 신경망을 연구했습니다.”라며 연구 분야에 관심을 갖게 된 배경을 소개했습니다.
홍성훈님은 등장과 함께 AI 업계에 붐을 일으킨 알파고(AlphaGo)가 공개된 2016년, 처음 머신러닝에 관심을 가지게 되었습니다. 당시 컴퓨터과학부 3학년에 재학중이던 홍성훈 님은 졸업 후의 진로를 고민하던 차에 알파고를 주목했고, 알파고를 구현하는 기술이 본인의 전공과 밀접한 연관이 있다는 것을 알게되어 관련 분야에 대해 공부하기 시작했습니다.
비록 홍성훈 님이 머신러닝 분야 중에서도 특히 강화학습에 집중하게 된 것에 알파고를 빼놓을 수 없는 것은 사실이지만, 무엇보다도 홍성훈 님이 강화학습을 연구하기로 결정한 것은 이 분야가 미래 강인공지능에 가장 가까운 기술이라고 생각했기 때문입니다. 강화학습에서 순차적으로 의사결정을 하는 것이 기존의 다른 머신러닝 방법과는 차별화되면서도 인간이 학습하는 방법과 가깝다는 점에 매력을 느꼈습니다.
강화학습에 빠진 홍성훈 님이 김기응 교수 연구실에 들어가게 된 것은 필연적인 결과였습니다. 본격적으로 AI를 연구하기 위해 국내 대학원 연구실을 찾아보던 홍성훈 님은 오랫동안 강화학습을 중점적으로 오래 연구해온 김기응 교수 연구실이 제격이라고 판단했습니다.
김기응 교수 연구실에서 홍성훈 님은 강화학습을 그래프와 잘 접목시키는 연구를 주로 진행했습니다. 상태 정보와 같이 연구를 위해 잘 정제된 데이터가 아닌 현실에 가까운 그래프 데이터에 대한 연구는 많이 이뤄지지 않았습니다. 때문에 이를 강화학습과 접목시킨 연구를 찾아보기는 더욱 어렵습니다. 홍성훈님이 그래프와 같이 복잡한 데이터를 강화학습을 이용해 처리하는 연구를 진행하는 이유입니다. 데이터 표현을 개선하기 위해 홍성훈님은 그래프를 구성하는 노드와 엣지로 만들어진 신경망인 그래프 신경망을 사용합니다. 그래프 신경망에는 노드 간의 연결관계, 상관관계들이 신경망 구조 자체에 잘 녹아있기 때문입니다.
ICLR 2022에 채택된 '효과적인 단일 범용 정책을 위한 딥 강화학습 기술' 연구도 그 연장선상에 있습니다. 해당 연구에서는 그래프 신경망을 단순히 사용하는 것을 넘어 주어진 문제를 풀기 위해 보완해야할 지점을 다룹니다.
이 포스팅에서 소개드릴 연구 내용은 홍성훈 님이 입사 전 KAIST 김기응 교수 연구실에서 진행한 내용으로 ICLR 2022에 등록된 논문입니다.
강화학습은 연속적 의사 결정 문제를 해결하는 방법 중 하나로, 문제 환경에서 인공지능 에이전트가 결정한 행동(action)에 따라 다음 상태(state)와 보상(reward)이 주어지는 경우, 보상합을 최대화하는 방향으로 학습 시키는 방법입니다. 최근에는 딥러닝 기술과 결합해 널리 알려진 바둑의 AlphaGo, 컴퓨터 게임의 AlphaStar 등 다양한 문제에서 좋은 성능을 보여주고 있습니다. 하지만, 기존의 방법들은 주로 한 개의 문제를 풀 수 있는 단일 정책만 학습 시킨다는 점에서 데이터 효율이 낮은 것과 같은 문제가 있습니다. 그래서 대두된 것이 여러가지 문제를 동시에 학습하고 풀 수 있는 단일 범용 정책(single general-purpose policy)입니다. 예를 들어, 그림 1과 같이 다양한 형태의 로봇들을 제어할 수 있는 범용 정책을 생각해 볼 수 있습니다.

(그림 1) (왼쪽) 3개의 로봇을 제어하는 정책 신경망(Policy Neural Network)을 따로 학습하는 경우. (오른쪽) 3개 로봇을 모두 제어하는 단일 범용 정책 신경망을 학습하는 경우
본 논문은 그림 2에서와 같이 사람이나 동물처럼 다수의 관절로 구성된 형태의 로봇들이 각 관절의 회전력(torque)을 제어하여 앞으로 나아가도록 학습 시키는 것이 목표인 과제에서 단일 범용 정책에 대해 다루었습니다[1].

(그림 2) 다관절 로봇의 구성 및 다양한 로봇들을 제어하는 문제 소개. 다관절 로봇은 몸체와 관절의 쌍으로 구성되는 노드들이 연결된 그래프로 볼 수 있음. 각 몸체에 현재 상태를 표현하는 센서 정보가 주어지면, 관절에 적절한 힘을 주어 앞으로 나아가는 것이 목표.
문제는 에이전트가 환경으로부터 얻은 정보인 ‘상태와 제어를 위한 행동’의 데이터 표현(representation)이 로봇에 따라 다른 크기나 구조적 형태를 가지게 된다는 점입니다. 이러한 문제에 대해서 기존 연구는 크게 두 가지 방법으로 접근했습니다.
첫 번째는 다수의 관절로 구성된 로봇을 그래프로 표현하고, 그래프 신경망(Graph Neural Network)을 활용하여 로봇 상태 정보를 표현 했습니다.[2,3] 그래프 신경망은 노드와 노드의 연결을 입력으로 받는데, 로봇의 경우 각 관절이 노드가 됩니다. 이 때 각 노드의 물리적인 위치나 움직이는 속도 등은 벡터로 표현하는데 이런 데이터 표현(data representation)을 ‘메시지’(message)라고 합니다. 각 노드와 해당 노드에 인접한 노드들의 메시지 합으로 메시지를 업데이트하는 것을 메시지 패싱(message passing)이라고 하는데, 그래프 신경망은 메시지 패싱을 반복하는 신경망입니다.
이 연산은 한 개의 노드를 처리하는 신경망 하나로 모든 노드들에 대해 병렬적으로 작업을 수행할 수 있기 때문에 임의의 노드의 개수도 문제없이 처리할 수 있습니다. 동시에 그래프의 연결 관계를 반영하여 메시지 패싱이 이루어지기 때문에 로봇의 형태 정보를 반영 시킬 수 있습니다. 그러나, 메시지 패싱이 반복될수록 주변 노드들 간의 메시지가 섞이며 결국 모든 노드가 비슷한 데이터 표현을 가지게 되는 오버스무딩(over-smoothing) 문제가 발생해 제한적인 성능을 가집니다.[4]
두 번째는 초거대 AI의 뼈대이자 여러 딥러닝 분야에서 효과적이라고 알려진 트랜스포머(Transformer) 모델을 이용하는 방법입니다. 그래프의 연결 관계는 고려하지 않고, 대신 모든 노드들이 서로 연결되어 있다고 가정한 후, 셀프 어텐션(self-attention) 연산을 활용합니다.[5] 트랜스포머의 기반이 되는 셀프 어텐션 연산은 주어진 노드와 나머지 모든 노드 사이에 계산된 유사도에 따라 가중합하는 메시지 패싱입니다. 이 방법은 강력한 트랜스포머 모델 덕분에 좋은 성능을 보였지만, 그래프의 연결 관계, 즉 로봇의 형태 정보는 고려하지 못한다는 한계가 있습니다.
기존 방법의 공통적인 한계는 주어진 그래프의 연결 관계, 즉, 로봇의 형태 정보를 충분히 활용하지 못하고 있다는 것입니다. 그래서 저희는 트랜스포머 모델에 형태 정보를 표현하는 구조 임베딩(structural embedding)을 더해 이를 고려할 수 있게 만들었습니다. 구조 임베딩은 노드의 위치를 표현하는 위치 임베딩(positional embedding)과 노드 사이의 관계를 표현하는 관계 임베딩(relational embedding)으로 구성됩니다. 문장에서 단어의 순서로 위치를 표시하듯이, 그래프에서도 노드의 위치를 표시하고 위치 임베딩을 표현하려면 그래프 상의 임의의 노드를 루트로 하는 트리를 가정하고 트리 순회를 생각해볼 수 있습니다. 트리는 중위 순회를 포함한 다른 순회가 조합되면 특정된다는 점에 착안하여, 노드의 위치 임베딩은 각 트리 순회에서의 위치로부터 학습된 임베딩들의 결합으로 표현됩니다. 그리고, 관계 임베딩은 두 노드 사이의 관계를 표현하는 라플라시안 행렬, 최단거리, 개인화된 페이지랭크(personalized PageRank)로부터 학습됩니다. 이렇게 학습된 구조 임베딩은 셀프 어텐션 연산에 더해져 형태 정보를 잘 반영하도록 합니다.
저희는 이 구조 임베딩을 활용한 단일 범용 정책 모델을 SWAT(Structure-aWAre Transformer Policy)라고 명명했습니다. SWAT 모델은 그림 3에서와 같이 ‘인코딩 – 메시지 패싱 – 디코딩’으로 이어지는 총 3단계의 과정을 거쳐서 에이전트의 현재 상태를 보고 수행할 행동을 결정합니다. 먼저 인코딩 단계에서는 각 노드가 가지는 센서 정보로 구성된 노드 피처(node feature)를 노드 임베딩(node embedding)으로 변환합니다. 다음으로, 메시지 패싱 단계에서는 노드 임베딩에 형태 정보로부터 얻은 위치 임베딩을 더하고, 노드 간의 유사도를 의미하는 어텐션 스코어(attention score)에 관계 임베딩을 더하는 셀프 어텐션 연산을 수행하며 노드 임베딩을 업데이트합니다. 이때 위치 임베딩과 관계 임베딩으로 인해 형태 정보가 반영된 데이터 표현을 얻을 수 있습니다. 마지막으로 디코딩 단계에서는 최종적으로 얻어진 노드 임베딩이 주어졌을 때 각 노드가 수행해야 하는 행동(action vector)을 출력합니다. 본 에이전트는 대표적인 강화학습 알고리즘인 소프트 액터크리틱(Soft Actor-Critic)을 통해 학습됩니다[6].

(그림 3) 본 논문에서 제안한 방법인 SWAT의 전체적인 작동 과정.
저희는 이 방법으로 사람, 동물 등 다양한 형태의 로봇들을 포함하는 로봇 보행 시뮬레이션 환경에서 서로 다른 형태의 로봇들을 조합해 실험군을 구성하고, 그림 4와 같이 실험을 진행했습니다 저희가 제안하는 방법인 SWAT과 대표적 그래프 신경망 방법인 SMP, 트랜스포머 모델 방법인 AMORPHEUS를 베이스라인으로 하여 성능을 비교했습니다. 학습 중에 봤던 로봇들의 보행 성능(multi-task learning)과 학습 중에 본 적이 없는 새로운 형태의 로봇에 대해 이어서 학습 시킨 경우의 보행 성능(transfer Learning)을 비교했습니다.

(그림 4) 사람, 동물 등 다양한 형태의 로봇 형태[7]
그 결과 그림 5와 같이 저희가 제안한 방법이 기존 방법들에 비해 전체적으로 빠른 학습 속도와 높은 최종 성능을 가진다는 것을 확인하였습니다 특히, 완전히 다른 종류의 로봇들이 섞인 경우에는 성능의 격차가 더욱 큽니다. 에이전트의 형태 정보까지 고려하여 트랜스포머 모델이 더욱 효과적인 데이터 표현을 학습하고, 이를 통해 복잡한 로봇 보행에 대해 좋은 단일 범용 정책을 학습할 수 있는 것으로 해석할 수 있습니다.
(그림 5) 본 논문에서 제안한 방법(SWAT)과 기존 방법(SMP, AMORPHEUS)의 성능 비교 결과. 그래프 상단은 로봇의 종류(Hopper는 외발 로봇, Humanoid는 두발 로봇 등)이고 ++는 해당 로봇의 집단을 대상으로 실험한 결과임을 뜻한다. Walker-Humanoid++은 Walker와 Humanoid 집단의 합집합을 의미. X축은 학습 시간, Y축은 보행 성능(값이 클수록 많이 전진)을 뜻함.
저희는 더 자세히 분석하기 위해 그림 6과 같이 외발로 점프하며 전진하는 Hopper 로봇과 두 다리로 걷는 사람 형태의 Humanoid 로봇을 함께 학습한 경우에 대해 에이전트의 행동을 관찰했습니다. 그 결과 형태 정보가 반영되지 않은 트랜스포머 모델인 AMORPHEUS는 두 다리가 있음에도 불구하고, Hopper 로봇과 같이 점프하며 앞으로 나아가는 비효율적인 행동을 보였습니다. 반면, 본 논문의 SWAT은 사람이 두 다리를 교차하며 앞으로 달려나가듯이 달리는 행동을 학습했습니다.
(그림 6) 형태 정보의 유무에 따라 다르게 학습된 사람 형태의 로봇 (Humanoid) 보행 방식. 첫번째 행: Hopper 로봇의 보행 방식, 두번째 행: 형태 정보 없이 학습한 AMORPHEUS 경우, 로봇이 마치 Hopper 로봇처럼 뛰고 있음. 세번째 행: 형태 정보를 반영시켜 학습한 경우 SWAT 경우 사람처럼 달리는 법을 학습함.
일반적으로 여러 문제에 대해 하나의 모델을 학습 시키는 경우, 유사한 문제들 사이에 공유되는 지식을 활용해 모델의 학습 능력을 높이는 것을 기대할 수 있습니다. 그러나 데이터 표현 학습이 제대로 되지 않는다면 위의 경우와 같이 오히려 학습에 방해가 될 수도 있습니다. 여러 문제를 푸는 단일 범용 정책을 학습 시킬 때 적절한 데이터 표현을 연구하는 것이 중요하다는 사실을 이러한 점에서 알 수 있습니다.
이번 글에서는 여러가지 문제를 효과적으로 풀 수 있는 단일 범용 정책을 위한 강화 학습 방법에 대한 내용을 소개 드렸습니다. 단일 범용 정책 기술이 발전한다면 하나의 에이전트가 하나의 일만 잘하는 현재 수준에서 벗어나 다양한 일을 동시에 잘하는 에이전트를 만들어 낼 수 있을 것입니다. 청소로봇이 설거지도 잘 하고 빨래도 잘 하듯이 말입니다. 모든 연속적 의사 결정 문제(단일 결정으로 끝나는 것이 아니라 바둑을 두듯 의사 결정을 연속해서 내려야 하는 문제)를 풀 수 있는 초거대 범용 정책 강화 학습은 아직 먼 미래지만, LG AI연구원은 원대한 목표를 향해 꾸준히 나아갈 것입니다.
▶Structure-Aware Transformer Policy for Inhomogeneous Multi-Task Reinforcement Learning(Link)