인간 수준을 뛰어넘는 바둑실력을 가진 알파고가 나온지 5년이 다 되어 간다.
그렇다면 왜 인간 실력을 뛰어넘는 운전실력을 가진 자율주행은
개발되기가 이렇게 어려운 것일까?
문제는 인공지능의 학습세계와 실제세계가 너무 다르다는 것이다.
알파고가 바둑을 둘 뿐만 아니라,
실제로 바둑알을 들어서 바둑판에 놓을 수 있는
로봇팔까지 가지고 있었다면 좋았겠지만 그렇지 못했던 것은
바둑알의 마찰력, 바둑판까지의 이동 등을
모두 고려할만큼 성능이 좋지 못했기 때문이다.
덕분에 아마추어 6단 정도나 하는 사람이
"아 나는 바둑이랑은 안되겠다" 하는 식으로 포기한 뒤
알파고 개발자로 나서서는 알파고 대신 바둑알을 놓게 된 것이다.
그렇다면 그간 SF영화에서 봐왔던
인공지능 로봇을 어떻게 탄생할 수 있을까?
인공지능 학습이 실제 물리세계에 적용하기에는 무리가 있으므로
다른 방법을 찾아야한다.
UC버클리의 Sergey Levine 교수는
인공지능으로 머리만 굴리는 것이 아니라
"실제 로봇으로 학습을 시키면 되겠다!" 싶어서
14대의 로봇팔로 두 달여간 시뮬레이션을 돌린다.
비용이 상당히 많이 들어가면서도
딱히 학문적으로 발전이 없는 실험이었다.
리바인 교수의 명성과 구글의 자금을 힘에 업었기에 가능했을 뿐이다.
로봇팔이 물체를 집을 수 있도록 학습시키는 것이 목표였는데
당연히 평소 인공지능이 하는 정도로 학습 결과가 나왔다.
당연히 학자들은 좀 더 효율적인 학습방법을 찾아나서기 시작했다.
가장 직관적인 방법은 컴퓨터로 인공지능을 학습시킬 때
학습 환경을 최대한 실제와 가깝게 만들어주는 것이다.
학습 환경을 "Domain"이라고 해서
해당 방식을 "Domain Adaptation"이라고 부른다.
하지만 실제 세계를 그대로 시뮬레이션 환경으로 구현한다는 것은
굉장히 손이 많이 가는 작업일 뿐만 아니라, 불가능에 가깝다.
아무리 GTA 환경이 잘 만들어져 있다고 해도,
백날 자율주행을 학습해봤자 실제 세계에서는 바로 사고가 날 것이다.
그래서 학자들이 추가로 개발한 방법이
시뮬레이션 환경을 차라리 굉장히 다양하게 만들어놓은 뒤에
그 모든 변형에서 잘 작동하는 모델을 찾아내는 것이다.
그렇게 된다면, 실제 세계를 만나더라도
"음 또 다른 변형의 일종인가" 하는 식으로 헤쳐나갈 수 있는 것이다.
이 방식을 Domain Randomization이라고 부른다.
위 영상은 일론머스크의 인공지능 연구 기업인 OpenAI에서
큐브를 맞추는 로봇을 개발하려고 한 것이다.
그런데 상자를 돌리는 수준에서 연구가 진전이 되질 않았다.
그래서 그 Domain Randomization[DR]을 다시 한 번 제대로 살펴보기로 한다.
본래 DR이 작동하는 원리를 설명하는 그림은 위와 같다.
일반적으로 시뮬레이션을 돌리는 것은 중앙의 작은 정사각형 정도가 된다.
하지만 실제 세계는 훨씬 복잡하므로 파란색의 괴상한 형체의 Domain을 가지고 있다.
DR은 그 영역을 상당히 넓혀서 학습함으로써
실제 환경이 가지고 있는 영역을 모두 커버할 수 있는 모델을 만들어낸다는 것이다.
하지만 실제로 DR을 적용한 사례를 보면,
아무리 봐도 실제 영역과는 다른 데이터로 학습을 하는데도 불구하고
결과물이 그런대로 잘 나오는 경우가 있었다.
물건을 집어올리는 연구를 할 때
해당 물건에 대한 사진을 정말 말도 안되게 줬음에도
로봇팔이 훌륭하게 물건을 집어올리는 것이다.
그래서 학자들은 깨우친다.
"아, DR은 단순히 실제 영역에서도 잘 작동하게끔 모델을 만드는 것이 아니라
학습을 잘 할 수 있도록 학습을 하는 것이구나!"
말하자면 청소년기에 수학의 정석 같은 책을 보는 학생보다는
자기계발서도 읽고, 여러 매체를 통해 롤모델을 정한 학생이
더 목표를 확실하게 정복해 나가는 것과 비슷하다.
이를 "학습을 학습한다" 라고 해서 'Meta-Learning'이라고 한다.
덕분에 학습 모델을 적당히 수정한 OpenAI는
1년만에 루빅스 큐브를 완성하는 로봇을 발표하게 된다.
이는 컴퓨터 시뮬레이션과 실제 로봇의 학습을 적당히 섞어줌으로써 가능했던 결과이다.
이렇게 시뮬레이션 통해 현실 로봇을 제어하는 영역은
Sim2Real이라는 이름으로
현재까지도 지속적으로 연구되고 있다.
강화학습이 재미있는 것은 실제 사람의 학습과 굉장히 유사하기 때문이다.
시행착오를 통해 배워나가는 것은 인간과 거의 동일하다고 보면 된다.
Sim2Real을 통해서는
왜 우리의 이미지 트레이닝이 효과가 없는지를 알 수 있다.
일반적으로 이미지 트레이닝이라 하면
선수들이 실제 경기에 들어가기 전에
머릿속으로 열심히 상상하는 것을 뜻한다.
하지만 보통의 이미지 트레이닝은
중요한 경기에 나가는 상상을 하고
거기서 우수한 성적을 내는 것으로 끝나 버린다.
Sim2Real이 알려주는 것은
최대한 다양한 방식으로 상상을 해야 한다는 것이다.
정말 생각지도 못한 변수들을 자꾸 집어넣고
그것들을 헤쳐나가는 방법들을 잘 구상할 수 있어야 한다.
또한 상상으로 끝나서도 안되고,
중간 중간 연습경기를 뛰어줘야 해당 학습들을 잘 엮어나갈 수 있다.
그래야만 실제 경기에서 임무를 완수할 수 있는 것이다.
'트렌드 한눈에 보기 > 학계 트렌드' 카테고리의 다른 글
[CS234] Lecture 13: Fast Learning III 정리 (1) (0) | 2021.01.05 |
---|---|
[CS234] Lecture 12: Fast Learning II 정리 (0) | 2021.01.04 |
[CS234] Lecture 11: Fast Reinforcement Learning 정리 (0) | 2020.12.29 |
"Ultra" 칭호를 부여받은 첫 번째 웨어러블 (0) | 2020.12.24 |
기계과 창업이 망하는 이유 - 교수 창업의 예시들 (0) | 2020.12.23 |