본문 바로가기

Enginius/Robotics

Robot with deep learning

생각

기계 학습은 매우 재밌는 방법론이다. 컴퓨터(기계)로 하여금 어떤 문제를 학습해서 풀게한다니!

하지만 개인적인 경험으로는 조금만(난 아직 깊게 보지는 못함..) 들여다보면 크게 두 가지 원인때문에 실망을 하였다. 

첫 번째 이유는 제약 조건이다. 굉장히 제약적인 상황에서밖에 돌아가지 못한다. 예를 들어서 고양이 얼굴을 열심히 학습시켜놨더니 조금만 다른 종이 들어가거나 조금만 회전이 있거나, 가려지만 잘 동작을 하지 않는다. 사실 이러한 문제를 해결하기 위해서 robust 어쩌구, sparseness, low-rank 등등이 제안되곤 했다. 두 번째는 연산량이다. 최근 컴퓨터 비젼쪽이나 기계 학습, 특히 심도 학습,에 관련된 연구는 개인 PC로는 못하는 경우가 많다. 학습에 필요한 시간과 저장해야하는 메모리가 엄청나기 때문이다. 
각설하고, 아래 글에서 나온 방향은 매우 긍정적이다. 결국 아래 글에서 말하는 unsupervised learning은 특징을 찾아내서 더 적은 데이터로 표현하려는 것이다. 다시 말해서 이미지 한장이 들어왔을 때, 해당 이미지의 픽셀 값을 그대로 쓰는 것이 아니라 한번 가공해서 다른 처리를 하겠다는 것이다. 

Robots helped inspire deep learning and might become its killer app 

다음번에 로봇이 어떤 사람에게 커피 한 잔을 주거나, 간단한 질문을 하거나, 혹시나 자동차를 운전하더라도, 너무 비평하지 마십시오. 


사실 지능과 학습이란 이름으로 로봇이 할 수 있는 일들은 매우 간단하다. 그 중 일부분은 (대부분은) 반복적이고 일상에서 있는 일들이지만, 사실 로봇들은 사람의 뇌를 가지고 일하고 있지 않다. 문제의 근원은 기계 학습이 매우 어렵다는데 있다. 게다가 사람과 로봇 사이의 옳바른 교류를 하는 것은 더욱 더 어렵다. 


하지만, 기계 학습은 이러한 문제점들을 해결할 수 있는 방법이 될 수 있다. 나는 Robotics: Science and Systems라는 학회에 몇 일 참석을 했었고, (Google, Facebook, Microsoft가 열심히 연구한) 심도 학습을 통해서 다뤄질 수 있는 문제가 정말 많다는 것에 놀랐었다. 


그것에서는 기계 지능에 대한 거의 대부분이 다뤄졌었다. 예를 들면 가정일을 하는 로봇을 학습하기 위한 crowdsource에 대한 것이나, A에서 B로 이동시키는 방법들에 대해서 다루고 있었다. 자율 주행 자동차에 대한 연구도 많이 진행되었는데, 땅의 종류를 분석해서 오프로드 자동차의 성능을 향상시키고, 낮과 밤, 비와 눈 등을 구분할 수 있는 연구들이 진행되었다. 


가장 흥미로웠던 talk 중 하나는 가구를 스스로 조립하는 로봇 Ikeabot에 대한 것이었다. 이들은 사람과 로봇 사이의 최적의 소통에 대해서 연구를 해왔다. 그리고 이러한 소통은 단순히 어떤 일을 하라고 명령하는 것보다 더 많은 작업을 필요로했다. 예를 들어서 로봇이 어떻게 질문하는가에 따라 일의 효용이 올라가고, 같이 일한다는 느낌을 받을 수 있다. 


로봇을 더 똑똑하게 만들려는 이러한 모든 시도를 이어주는 것은 바로 데이터이다.  입력이 무엇이던 간데 로봇은 데이터에 의존해서 결정을 내린다. 더 많고, 더 좋은 데이터가 있을 수록, 로봇은 더 똑똑해진다. 


좋은 소식은: 우리에게 많은 데이터가 주어졌다. 나쁜 소식은: 학습하는 것은 어렵다. 


근본적으로, 기계 학습 연구자들은 주어진 데이터에서 기계 학습에 사용되는 모델에 적합한 데이터를 찾기 위해서 수많은 시간을 들인다. 컴퓨터 비젼 문제를 위해서는 수 천장의 이미지가 필요로 한다. 예를 들어서 의자를 찾는 알고리즘 하나 구현을 위해서도 수많은 일이 필요로 한다. 


바로 이러한 부분에 심도학습을 포함한 새로운 인공 지능 방법론들이 역할을 할 수 있다. 주어진 데이터에서 알고리즘이 필요로 하는 데이터를 찾는 것은 매우 어려운 일이다. 알고리즘을 작성하고, 튜닝하는 것은 쉽지 않다. 하지만 한번 작도을 하기 시작하면 기존에 수동으로 하던 지루하고, 시간이 많이 드는 작업은 필요가 없어진다. 


Andrew Ng 가 키노트에서 말했듯이 심도 학습은 많은 양의 데이터를 처리하는데 최적화된 방법이다. 그는 기계 학습의 세계적 귄위자이다. 하지만 Ng는 로봇에 대해서도 잘 알고 있다. 사실 그가 2002년에 스탠포드에서 연구를 시작했을 때 그는 로보틱스에 기계학습을 적용했고, 많은 성과를 냈었다. 그리고 그 과정에서 로보틱스의 한계에 대해서 알았고, 이것이 그를 심도학습에 전념하게 만들었다. 


“I came to the view that if I wanted to make progress in robotics, [I had] to spend all my time in deep learning,” he said.


Ng가 심도 학습에 대해서 깨달은 것은 그것은 라벨된 데이터를 처리하는데도 적합하지만 unsupervised learning에도 매우 적합하다는 것이었다. 그는 구글과 함께 고양이 얼굴을 찾는(?) 논문을 발표한 적이 있다. (이건 구글의 엄청난 cluster를 심도 학습에 맞게 구현한 것이 더 큰 contribution으로 보인다.) 


뒤는 별 내용이 없다. 

이건 번역이 아니라 오역임을 미리 밝히는 바이다. 

원본: http://gigaom.com/2014/07/29/robots-helped-inspire-deep-learning-and-might-become-its-killer-app/

'Enginius > Robotics' 카테고리의 다른 글

[ROS] ROS의 구조와 패키지 만드는 방법  (0) 2014.08.21
Installing ROS  (0) 2014.08.04
ROS - Pioneer control using Gazebo simulator  (0) 2014.07.21
ROS 사용하기  (0) 2014.07.21
Pedestrian motion modelling papers  (0) 2014.05.19