
사진: Eric Haines
OpenAI가 사람의 손을 닮은 로봇 손으로 루빅큐브를 맞추도록 한 쌍의 인공 신경망을 훈련했습니다. 인공 신경망은 자동 도메인 랜덤화(ADR)라고 부르는 새로운 기술과 함께 OpenAI Five와 동일한 강화 학습 코드를 사용한 시뮬레이션만을 통해 훈련되었습니다. 이 시스템은 훈련 중에 본 적이 없는 상황, 예를 들어 봉제 기린 인형에게 찔리는 상황도 처리할 수 있습니다. 이는 강화 학습이 단순한 가상 작업을 위한 도구가 아니라 새롭고 특별한 능력이 필요한 현실 문제를 해결할 수 있다는 점을 보여줍니다.
사람의 손은 다양한 일을 해낼 수 있습니다. 지난 60년 동안의 로봇공학에서는 사람의 손으로 완수할 수 있는 복잡한 작업을 위해서는 각 작업(새 창에서 열기)마다 맞춤형 로봇을 설계해야 했습니다. 대신, 사람들은 범용 로봇 하드웨어를 사용하기 위해 수십 년 동안(새 창에서 열기) 애썼지만, 높은 자유도로 인해 성공은 제한적이었습니다. 여기서 우리가 사용하는 하드웨어는 새로운 하드웨어가 아닌 지난 15년 동안 사용해 온 로봇 손이지만 소프트웨어 접근 방식은 완전히 새로워졌습니다.
OpenAI는 2017년 5월부터 루빅큐브(새 창에서 열기)를 맞추는 사람 손 같은 로봇 손을 만들기 위해 노력했습니다. 이 목표를 설정한 이유는 로봇 손이 복잡한 조작을 하는 훈련에 성공하면 범용 로봇을 위한 토대를 마련할 수 있다고 생각하기 때문입니다. 2017년 7월 시뮬레이션에서 루빅큐브를 맞추는 데 성공했습니다. 하지만 2018년 7월 기준, 로봇에서 블록 하나를 조작하는 데 그쳤습니다. 이제 초기 목표는 달성했습니다.
루빅큐브 맞추기. 이 동영상은 맞추는 과정 전체를 보여주는 편집되지 않은 완전한 원본입니다.
한 손으로 루빅큐브를 맞추는 것은 사람에게도 어려운 일이며 어린이가 맞추는 방법을 습득하는 데는 몇 년이 걸리기도 합니다. 우리 로봇은 아직 기술을 완벽하게 익히지는 못했지만 촬영 시점에는 60%의 완성도를 보였습니다(가장 복잡하게(새 창에서 열기) 섞은 경우 20%에 그쳤습니다).
저희는 강화 학습 및 솔루션 단계를 고르기 위한 Kociemba의 알고리즘(새 창에서 열기)을 이용해 시뮬레이션(새 창에서 열기)으로 루빅큐브를 맞추도록 인공 신경망을 훈련했습니다.aA 도메인(새 창에서 열기) 랜덤화(새 창에서 열기)는 시뮬레이션만으로 훈련된 신경망이 실제 로봇으로 전이될 수 있도록 도와줍니다.

과정 중 가장 어려웠던 점은 실제 물리학을 포착할 만큼 충분히 다양한 시뮬레이션 환경을 만드는 것이었습니다. 루빅큐브 또는 로봇 손만큼 복잡한 객체의 마찰, 탄력성, 역동성과 같은 요소들을 측정하고 모델링하는 것은 무척 어려운 일이며, 도메인 랜덤화만으로는 충분하지 않다는 것을 깨달았습니다.
이를 극복하기 위해 시뮬레이션에서 점점 더 어려운 환경을 끊임없이 생성하는 자동 도메인 랜덤화(ADR)라고 부르는 새로운 방법을 개발했습니다.B 이를 통해 정확한 실제 모델을 사용해야 할 필요성을 없애고 시뮬레이션에서 학습한 신경망을 실제에 적용할 수 있었습니다.
ADR은 랜덤화되지 않은 단일 환경에서 시작합니다. 이 환경은 인공 신경망이 루빅큐브를 맞추는 방법을 학습하는 환경입니다. 인공 신경망의 능력이 나아지고 성공에 가까워질수록 도메인 랜덤화의 양도 자동으로 증가합니다. 이로 인해 작업이 더 어려워지는데, 인공 신경망이 더 랜덤화된 환경에 일반화하도록 학습해야 하기 때문입니다. 신경망은 성공 한계선을 넘어설 때까지 학습을 계속하며 성공하면 랜덤화가 증가하고 과정이 반복됩니다.
랜덤화한 파라미터 중 하나는 루빅큐브 크기입니다(위). ADR은 고정된 크기의 루빅큐브로 시작하며 훈련 과정에 따라 랜덤화 범위를 점차 늘립니다. 큐브의 질량, 로봇 손가락의 마찰, 손의 시각적 표면 재질 등의 다른 모든 파라미터에도 동일한 기술을 적용합니다. 따라서 인공 신경망은 점점 더 어려워지는 조건에서 루빅큐비를 맞추는 방법을 학습해야 합니다.
도메인 랜덤화는 직접 랜덤화 범위를 지정해야 하는데, 너무 많은 랜덤화는 학습을 어렵게 만들지만 너무 적은 랜덤화는 실제 로봇으로의 전이를 방해하기 때문에 어려운 일입니다. ADR은 인간의 개입 없이 자동으로 랜덤화 범위를 확장하여 이러한 문제점을 해결해 줍니다. ADR은 도메인 지식의 필요성을 없애주며 새로운 작업에 우리 방법을 쉽게 적용하게 해줍니다. 또한 수동 도메인 랜덤화와 비교하면, ADR은 훈련을 다각화하여 작업의 난도를 항상 어렵게 유지합니다.
저희는 이미 어려운 기준선을 가지고 있는 블록 뒤집기 작업에서 수동 도메인 랜덤화와 ADR을 비교했습니다. 초기에는 ADR이 실제 로봇에서 성공 횟수 측면에서 성능이 떨어졌습니다. 하지만 ADR이 환경의 복잡도를 측정하는 엔트로피를 증가시킬수록 전이 성능은 사람의 튜닝 없이도 기준선의 두 배로 향상합니다.
ADR을 이용하여 실제 로봇 손에서 루빅큐비를 맞추는 시뮬레이션에서 신경망을 훈련할 수 있었습니다. 이는 ADR이 신경망을 다양한 랜덤화된 시뮬레이션 환경에 신경망을 끊임없이 노출하게 때문에 가능한 것입이다. 훈련 과정에서 이렇게 복잡성에 노출되면 신경망이 직면하는 모든 실제 세계를 빠르게 식별하고 조정하는 방법을 배워야 하기 때문에 시뮬레이션에서 실제 세계로 적용할 준비를 갖추게 됩니다.
저희는 이 방법의 한계를 테스트하기 위해 손이 루빅큐브를 맞추는 동안 다양한 변화를 실험합니다. 제어 신경망의 견고함을 테스트할 뿐만 아니라, 큐브의 위치와 방향 추정에 사용하는 시각 신경망도 테스트합니다.
그리고 ADR로 훈련된 시스템이 변화에 대해 훈련되지 않았음에도 변화를 훌륭히 대응하는 것을 발견했습니다. 로봇은 테스트를 거친 변화 조건에서 대부분의 뒤집기와 면 회전을 성공적으로 수행할 수 있지만, 최고 성능은 아닙니다.
저희는 메타 학습(새 창에서 열기), 또는 학습을 위한 학습이 범용 시스템 구축의 중요한 전제 조건이라고 생각합니다. 이를 통해 변화하는 조건을 환경에 빠르게 적용할 수 있기 때문입니다. ADR의 가설은 메모리 증강 신경망이 충분히 랜덤화된 환경과 결합하면 새로운 메타 학습으로 이어지고, 이 신경망은 자신이 배포된 환경에 행동을 빠르게 적응시킬 수 있는 학습 알고리즘을 구현한다는 것입니다.
이 가설을 체계적으로 테스트하기 위해 신경망의 메모리 초기화, 역학 초기화 또는 조인트 파손 등과 같은 다양한 변화에서 인공 신경망이 큐브를 뒤집는(다른 색이 나오도록 회전하는) 데 걸리는 성공 시간을 측정합니다. 시뮬레이션에서 이러한 실험을 수행하며, 이를 통해 통제된 환경에서 10,000번의 시도에 걸쳐 성능을 평균화할 수 있습니다.
처음에는 인공 신경망이 더 많은 뒤집기를 성공적으로 달성할수록 신경망이 적응하는 법을 배우기 때문에 성공까지 걸리는 시간이 점차 줄어듭니다. 변화가 적용되면(위 그래프에서 수직 회색 선) 성공까지 걸리는 시간이 급증하는 것을 확인할 수 있습니다 이는 신경망이 사용 중인 전략이 변화된 환경에서는 작동하지 않기 때문입니다. 이어서 신경망 새로운 환경에 대해 다시 학습하고, 성공까지 걸리는 시간이 이전 기준선으로 다시 감소하는 것을 볼 수 있습니다.
이에 더해 실패 확률을 측정하고 면 회전(상단 면을 시계 방향 또는 반시계 방향으로 90도 회전)에 대해서도 동일한 실험을 수행했으며, 같은 적응 패턴을 발견했습니다.D
신경망의 시각화를 통해 메모리에 무엇을 저장하는지 파악할 수 있습니다. 이는 신경망의 복잡성이 증가함에 따라 더욱 중요한 일이 되었습니다.
우리 인공 신경망의 메모리는 위와 같이 시각화되었습니다. 저희는 이 고차원 벡터를 6개 그룹으로 압축하고 각 그룹에 고유한 색상을 할당하기 위해 비음수 행렬 분해라고 부르는 해석 가능한 도구 상자의 빌딩 블록(새 창에서 열기)을 사용합니다. 그리고 시간 단계마다 우세한 그룹의 색상을 표시합니다.
이를 통해 각 메모리 그룹이 의미론적으로 의미 있는 행동과 관련되어 있다는 점을 발견했습니다. 예를 들어, 신경망 메모리의 우세한 그룹만 보고도 동작을 하기 전에 큐브를 돌릴지, 상단 면을 시계 방향으로 회전할지 알 수 있습니다.
로봇 손으로 루빅큐브를 맞추는 것은 여전히 쉽지 않은 일입니다. 저희 방식은 26회의 면 회전이 필요한 가장 복잡하게 섞인(새 창에서 열기) 루빅큐브를 맞출 때 20%의 성공률을 보입니다. 15회의 면 회전이 필요한 더 단순하게 섞은 루빅큐브의 경우, 성공률은 60%입니다. 루빅큐브가 떨어지거나 제한 시간에 도달하면 시도가 실패한 것으로 간주합니다. 하지만 우리 신경망은 루빅 큐브가 어떤 상태이든 모두 맞출 수 있습니다. 그래서 큐브가 떨어지면 다시 주워서 계속 맞출 수 있습니다.
저희는 인공 신경망이 일반적으로 최초 몇 회의 회전 및 뒤집기에서 실패할 가능성이 높다는 점을 발견했습니다. 이는 인공 신경망이 초기 회전과 뒤집기를 하는 동안 루빅큐브를 푸는 것과 실제 세계에 적응하는 것 사이에서 균형을 맞춰야 하기 때문입니다.
진행 상황을 벤치마크하고 문제를 추적 가능하게 만들기 위해, 일반 루빅큐브를 풀 수 있는 목표를 달성하기 위한 단계적 조치로 맞춤형 큐브를 설계하고 만들었습니다.E

루빅큐브 프로토타입, 왼쪽에서 오른쪽: 잠긴 큐브, 면 큐브, 풀 큐브, Giiker(새 창에서 열기) 큐브, 일반 루빅큐브.
프로토타입 | 위치 + 방향 | 내부 자유도 단계(센서) |
잠긴 큐브 | 비전 | 0(센서 없음) |
면 큐브 | PhaseSpace | 2(PhaseSpace) |
풀 큐브 | PhaseSpace | 6(PhaseSpace) |
Giiker 큐브 | 비전 | 6(내장 센서) |
일반 루빅큐브 | 비전 | 6(비전) |
OpenAI는 인간 수준으로 손을 다루는 기술을 완성하는 것이 범용 로봇을 만들기 위한 필수 과정이라고 믿으며, 앞으로 달성할 성과에 대해서도 많은 기대를 하고 있습니다.
로봇이나 가상, 어떤 분야든 범용 AI 시스템의 발전을 돕는 데 관심이 있으시다면 OpenAI 채용에 지원해 보세요!
각주
- A
OpenAI는 현재 기계가 숙달하기 어려운 문제, 즉 인지와 능숙한 조작에 중점을 둡니다. 따라서 Kociemba의 알고리즘으로 생성된 대로 필요한 면 회전과 큐브 뒤집기를 달성하도록 인공 신경망을 훈련합니다.
- B
이 작업은 자동으로 2D 환경을 생성하는 POET(새 창에서 열기)과 관련이 높습니다. OpenAI의 작업은 모든 환경에 걸쳐 공동 정책을 학습하며, 이는 새로 생성된 어떤 환경으로든 전이됩니다.
- C
더 구체적으로 말하면, 무한한 복잡성을 가진 환경에서 훈련된 유한한 용량의 신경망이 개별 환경에 대한 해결책을 암기할 수 없고 모든 랜덤화에서 작동하는 단일하고 견고한 정책이 존재하지 않기 때문에 특수 목적의 학습 알고리즘을 학습하도록 강제한다고 가정합니다.
- D
전체 결과는 저희 논문(새 창에서 열기)을 참조하세요.
- E
저희가 적용한 유일한 수정은 각 큐브 중앙의 컬러 스티커를 작게 잘라낸 것이었습니다. 이는 회전 대칭성(새 창에서 열기)을 깨기 위해 필요한 작업이었습니다.
저자
감사의 말
이 게시물과 논문의 초안에 대한 피드백을 주신 분들께 감사드립니다. Josh Achiam, Greg Brockman, Nick Cammarata, Jack Clark, Jeff Clune, Ruben D’Sa, Harri Edwards, David Farhi, Ken Goldberg, Leslie P. Kaelbling, Hyeonwoo Noh, Lerrel Pinto, John Schulman, Ilya Sutskever과 Tao Xu.
동영상: Peter Jordan(감독), Yvette Solis(제작), Brooke Chan(제작)
편집: Ashley Pilipiszyn
디자인: Justin Jay Wang과 Ben Barry
사진: Eric Haines


