본문 바로가기

단상/기술

연구의 방법, Principal 과 철학

싱숭생성해져 글 한번 써본다.


일이 있어서 내가 알던 교수님들, 연구실들이 요즘 뭘 하고 있나 싶어서 찾아보았다. 그리고 알았다. 요즘 VLA하는 교수님 거의 없구나...

GPT를 통해 가볍게 서베이 해본거고, 원래 최신 연구가 논문을 통해 나오려면 시간차가 있다. 따라사 당장 논문 공개된 거 (아카이브라도) 없다고 그거 안한다는 보장은 없다. 다만 강화학습조차 불안정하다고 피하는 경우는 뭐...

최신 기술을 꼭 해야하느냐의 문제가 아니다. 그것이 왜 나왔고, 어떤 문제를 풀고자 하는 것이고, 그 과정에서 어떤 것을 지향하는지 이해하는 게 중요하다. 예를 들어, 한두 명이 안 하고 있다면 그 분들은 다른 철학을 가지고 다른 시각에서 기술을 연구하고 있을 수도 있다. 하지만 다 안 하고 있으면...

그럼 의심할 수밖에 없는거다. 국내의 학계 자체가 뒤쳐지고 있는 거 아니야?

철학은 고집이 아니다. 철학은 관점이고 세계관이다. 방법론에 대한 집착이 아니라 방법론을 해석하는 방법이다.

물론 내가 그렇게 느끼는 것 뿐, 뒤에서는 잘 하고 계시리라 믿는다.


일단 배경을 설명하자면, VLA (Vision-Language-Action) 가 무엇인가. 그건 최근 유행하는 RFM (Robot Foundation Model) 의 한가지로, 현재 RFM중에서 가장 활발하게 연구되고 있는 분야 중 하나다. 비전을 통한 환경정보, 언어를 통한 명령과 컨텍스트를 기반으로 액션, 즉 행동을 생성하는 모델이다. 예전에 환경을 그리드 형태로 모델링하고, 명령을 인코딩된 수치 신호와 좌표등으로 제시하여 IK (Inverse Kinematics) 등으로 최적 궤적을 계획하여 행동을 생성하던 과정을 한 모델만으로 End-to-end 방식으로 출력하는 방법론이다.

현재 로봇의 매니플레이션 기술의 핵심이며, 요즘 로봇이 봉지 뜯고 수건 개고 하는 영상들은 대부분 이 방식일 것이다. 구글 딥마인드에서 대대적으로 투자해 개발하고 있기도 하고 다른 빅테크들이나 오픈소스 필드에서도 활발하게 개발중이다.

어머, 대단하네, 라고 넘어가기 전에, 이것의 약점도 분명하다. 하나는 언제나 신경망 모델에 따라오는 일반화 성능. 처음 보는 환경에선, 심지어 작업과는 관계 없는 영역에서 변화가 일어나도 로봇이 대응을 못 할 우려가 있다. 모든 AI모델은 전부 회귀분석 (Regression) 이다. 그리고 회귀분석은 본적 없는 데이터에 대해서는 오류값을 내보낼 가능성이 매우 높다.

고전 방식에선 사람이 환경을 단계적으로 모델링하며 수치적으로 해결한다. 예를 들어 비전이나 라이다 정보를 가지고 충돌 맵이나 상호작용 대상 물체의 위치를 추출하는 식이다. 그런 기능적으로 제한된 모델은 역시 학습을 통해 구축되는 모델이라도 비교적 적은 데이터로 높은 일반화 성능을 달성할 수 있고, 또 학습 기반이 아닌 모델도 많다. 수치 계산이야 기본 전제가 되는 조건들만 정확히 구해졌다면 결과 역시 정확하다. 그래서 고전 방범이 전반적으로 안정적이고 정교한 반면 VLA와 같은 대규모 신경망 모델, RFM은 불안정 할 수밖에 없다.

봐봐, 구리잖아. 그러니까 안 하지. 라고 생각할지도 모른다. 하지만 정말로?

그건 AI의 연구 흐름을 모르는 사람의 결론이다. 구글이 멍청하고 로봇에 대해 쥐뿔도 몰라 그거 하는 게 아니다. 반대로, 그럼 그렇게 좋은 알고리즘들 잔뜩 있었을땐 왜 지금처럼 로봇이 뜨지 못했나. 반대로, 그럼 지금은 뭐가 얼마나 나아졌길래 로봇이 그렇게 뜨고 있나.

사실 당시에도 로봇은 잘 돌아갔다. 공장에서. 딥러닝과 트랜스포머, LLM이 나오기 전에도 온갖 곳에 AI는 쓰였다. 그거와 마찬가지다. 단지 이런 신기술들이 나오면서 좀 더 불확실한 곳, 전문가를 투입해 매니징하기 어려운 곳들에도 AI가 확산되고 있는 것이다. 그리고 로봇의 경우, 점점 로봇이 다루기 어려운 복잡한 환경에서 동작하도록 진화하고 있다.

현대차가 아틀라스 도입한다고 시끄럽지만, 그럼 그 이전에는 공장에 로봇이 없었을까? 아니다. 하지만 단지 지금은 그 남은 사람의 영역에도 로봇이 들어오려 하고 있을 뿐이다. 그리고 그것이 꼭 새로운 AI모델이 도입되서, 일 필요도 없다. 고도로 튜닝된 고전 알고리즘은 제한된 조건에서는 더 정확하고 신뢰성 있게 작동한다. 그리고 그런 한편, 새로운 알고리즘이 크게 작용할 것은 홈 로봇같은 더 비정형적인 환경이다. 이들의 강점은 유연성이기 때문이다.

다만 거기에서 우리가 봐야 할 것들이 있다. 그건,

그렇다면 지금 변하는 시대에서 우린 어떤 기술을 연구해야 하는가다.


내가 석박사 때는 매우 애송이였던지라 그냥 교수님이 시킨 일을 했다. 이거 연구하자고 하면 그거 하고 과제하라고 하면 과제하고 그게 어떻게 논문이 되고 무슨 의미가 있는지 생각할 줄 몰랐다. 애초에 그 나이대에는 쉽지 않다. 보통은 박사를 거치며 조금씩 눈이 뜨이며 그래서 박사를 높게 쳐 주는 것이다. 그리고 나도 박사 말년 쯤에는, 아, 이런 식으로 해서는 안되겠구나 라는 건 알았다. 다만 그래서, 연구란 게 어떻게 해야하는건지는 알지 못했다.

누구에게 배우지도 못했다. 당장 교수님도 주먹구구식으로, 그때그때 이슈가 되는 걸 연구 주제로 잡았으니까. 그리고 대개는, 연구 주제란 과제를 딸 만한 주제를 말한다. 즉 과제 공고가 나오면 정해진다.

어떤 의미에선 공무원들이 연구주제를 정하는 꼴
... 물론 그런 과제들도 다 교수들 자문 받아서 하겠지만.

그런 속에서 내 첫 연구는 정해져 있는 문제, 정해져 있는 방법론에서 조금 더 성능을 끌어올리기 위해 다른 알고리즘들을 덕지덕지 붙이는 것이었다. 당시 나에게 연구란 건 생소한 것이었고 그게 뭘 하는건지 가르쳐주는 사람도 없었고, 주변에 아는 사람도 없었던 것 같다.

연구실에서 다른 형들이 하던 것들도 남이 한 알고리즘을 가져와 다른 로봇에 적용하는 게 주류였다. 그리고 그때 난 새로운 알고리즘이란 건 해외의 대가들이나 하는 거라고 생각했고 현실적으로 대학원생 따리가 새로운 알고리즘을 제안하는 건 쉽지 않은 일인 것도 사실이었다.

다만 박사 막판쯤에 가자 조금은 감이 왔다.

내가 석사 때 했던 식의 연구는 매우 쓰레기란 걸. 왜냐하면 도무지 가져다 쓸 수 없는 수준의, 여러 알고리즘이 복잡하게 얽혀있던 누더기였기 때문이었다. 여러 문제에 공통적으로 적용할 수도 없고, 각각의 요소 알고리즘이 뭐 하나라도 안 맞으면 결과도 어긋난다. 실제 동작할때 뻑나는 경우도 많았다.

알고리즘? 갖다쓸 수 있다. 중요한 건 어떻게 문제를 정의하고 그걸 어떤 근거로 풀었느냐였는데 나도 그걸 몰랐고, 아마도 교수님도 그걸 몰랐던 거 같다. 논문은 수식이 매우 더럽고 복잡했지만 컨트리뷰션이 대해 엄청나게 공격받았고, 그래서 박사 때 연구주제를 잡을 때는 교수님도 컨트리뷰션에 대해 엄청나게 지적했다. 근데...

그거 니가 시킨 주제거든...

그리고 그때 가서 알게된 건, 결국 실제 문제에 쓰는 건 매우 기본적인 알고리즘들이지, 특정 문제에서 조금 더 성능 올리겠다고 온갖 것들을 덕지덕지 붙인 누더기가 아니라는 것이다.

classification 문제는 대개 svm과 랜덤 포레스트로 풀린다. 거기에 온갖 트릭을 쓰면 90%를 95%로 올릴 수 있을진 모르지만 거기엔 아무런 의미가 없다. 어차피 조금만 다른 문제에 가도 그 방식 못 쓰니까. classification에 새로운 혁신이 나왔던 건 CNN을 통해 이미지 분류가 획기적으로 변했을 때 였다. 그 사이에 나왔던 온갖 트릭키한 방법들는 전부 의미를 잃었다.

연구에서 Principal이란 건 그런 거다. 현실적인 어떤 문제를 정의하고, 그것에 대한 원리를 분석해 해결책을 내놓고, 그게 일반화될 수 있도록 하는 것. 그렇게 일반화 될 수 있는 뼈대를 만드는 것이다.

무수히 많은 논문이 놔왔지만 의미가 있던 알고리즘들은 모두 수십 년 전에 나왔던 것들이었고,  이후 나온 딥러닝의 시대에서도 정말 중요한 건 CNN이나 디퓨전이나 어탠션이나 트랜스포머같은 극히 일부 논문, 일부 모델들 뿐이었다. 나머지는 대부분 그것이 정말로 다양한 분야에서 효과적으로 작용할 수 있음을 증명하는 논문들이었다.

그래서 후자가 무가치하다는 게 아니라, 후자를 하더라도 명확한 개념을 가지고 해야한다는 것이다. 그러지 못하면 나같이 아무도 못 갖다 쓸 누더기만 만든다.

예를 들어 지금 VLA를 연구하는 이유가 뭘까. 그 전에도 비전처리는 있었고, 언어이해도 있었으며, 모션 제어도 가능했다. 그런데 왜? End-to-end 기법이 가능해져서? 그렇게 따지면 딥러닝이 나오고 이미지 파운데이션 모델들이 나왔을 때 진작에 그게 되었어야지. 근데 왜 지금?

그건 지금 트랜스포머가 '맥락'을 이해할 수 있기 때문이다.

그리고 VLA는 뭔가 혁신적인 새로운 알고리즘을 만든 게 아닌, 그저 있는 걸 짜맞췄을 뿐이지만, 바로 그 '맥락이해'라는 Principal을 로봇에 적용하는 아키텍쳐를 만들었다는 의미가 있다. 그리고 그 후속 연구들을 보면 그 틀 안에서 또다른 작은 문제를 찾아 풀어냄으로서 이후 연구들에 꾸준히 인용되어 쓰이는 연구결과들이 있다. 그런 연구들이 뭐 대단히 어마어마한 참신한 알고리즘을 제안하는 것도 아니다. 하지만 그 논문들은 참신했다. 논리가 명확했기 때문이다. 그래서 이후 연구들에서도 재사용 된 것이고 그렇게 기술이 누적되며 발전되는 것이다.

중요한 건 당장 땜빵해서 돌아가게 만들고 성능 점수 올리는 게 아니라 방향성이다. 이렇게 하면 된다는 증명이다.

그런 관점에서 볼 때, 신기술을 안 한다는 것이 단순히 방법론을 보는 견해의 차이가 아닌 철학 자체로 부재로 보이는 것이다. 왜냐하면, 요즘 나오는 RFM이 추구하는 Principal은 이전 그 어떤 다른 모델들도 하지 못했던 것이라 당장은 대체 불가능하고, 그거 말고 다른 문제를 풀기에는 로봇 연구의 큰 흐름의 중심에 있기 때문이다. 따라서 이 문제를 풀려면 당장 따라갈 수 밖에 없다. 그리고 그것을 보는 관점과 해석에서 철학이 나온다.

방법론을 고집하는 게 철학이 아니다. 방법론을 고집하더라도 결국 여기에 답을 해야 할 것이다.

일반화(Generalization) 과 확장성(Scalability) 을 어떻게 해결하려고 하는 건가.

그거 없어도 되는 로봇은 이미 전부 도입되었다. 저게 필요한 로봇은 저게 아직 해결이 안 되어 못하고 있다. 학계가 풀어줘야 하는 문제가 저거인데 저걸 안하겠다는 건 철학의 영역이 아니라 안주의 영역이다.


딥러닝이 처음 나왔을 때, 학계에서는 이에 대해 비판적인 의견들이 대단히 많이 나왔다. 이론도 없고 진지한 고찰도 없이 단지 데이터 때려박고 된다고 논문낸다는 것이다. 실제로 그런 수준의 논문도 많았으니 틀린 말도 아니다. 딥러닝에 쓰이는 신경망 모델이 별로 새로울 것도 없고, 심지어 블랙박스라 오류가 나와도 분석할 수 없으니 쓸모없다는 주장도 있었다. 맞는 말이고, 그래서 XAI라는 연구분야가 나왔지만 여전히 이놈은 대책없는 블랙박스이다.

근데 된다. 근데 실제로 쓰이기 시작했다. 기존의 머신러닝 모델들이 할 수 있던 것도, 딥러닝이 나오면서 본격적으로 현실에 확산되기 시작했다. 왜 딥러닝만?

가장 큰 거 하나가 바로 일반화다. 이전의 ML모델은 딱 그 정해진 문제에 맞춰 모델을 설계하고 필요한 데이터의 특징(Feature)를 선별하여 시스템을 만들어야했다. 그걸 유사한 다른 문제에 적용하려면 아예 통째로 재설계해야하고, 기존 영역에서도 데이터의 분포가 바뀌면 전문가의 튜닝이 많이 필요하며, 그 방법론도 모델마다, 도메인마다 천차만별이었다. 매번 전문가 다수가 분석해야하는 기술이다. 도입비용이 일단 비싸다.

하지만 딥러닝이 나오고 나서는 어지간한 건 데이터만 잔뜩 넣어주면 알아서 된다. Feature는 모델이 자동으로 뽑아낸다. 도메인이 바뀌든, 데이터 분포가 바뀌든, 새 데이터로 업데이터만 해주면 된다. 이걸 일반화라고 한다.

예를 들어 개와 컴퓨터를 구분하는 건 거기에 눈이 있나를 찾으면 될 것이다. 하지만 그 방법으론 개와 고양이는 구분 못한다. 그 시절은 A와 B를 구분하는 것 중 A, B에 따라 방법이 다 달랐다. 하지만 딥러닝은 그 방법을 하나로 만들었다.그런 구분하는 특징도 대량의 데이터로 알아서 뽑아내게 하는 방법으로 바뀌었다. 대략 그런 느낌으로 보면 된다.

그렇게 되니 하나의 모델이 다양한 문제에 전부 적용 가능하게 되었다. 확산이 빠를 수밖에 없다.

그렇게 되니, 내가 지금 구분하려는 대상 말고도 죄다 학습시켜놓고, 필요한 게 있으면 갖다 쓰자는 발상이 나왔다. 그게 확장성의 개념이며, 그렇게 나온 게 파운데이션 모델이다.

그 파운데이선 모델의 방법론을 썼기에 RFM이 나왔다. 다른 영역, 언어 이해와 이미지 해석을 위한 모델을 그냥 로봇에 가져다 썼는데, 어라? 생각외로 꽤 되네? 하는 게 RFM의 시작이다. 그럼 로봇 영역에도 로봇 활동에 맞는 다양한 정보들을 미리 다 때려박아두면, 실제 로봇이 어떻게 생겼든 그 로뱃이 무슨 작업을 하게 되든 써먹을 수 있게 되는 거 아니야? 라는 게 바로 RFM이 지향하는 방향이다.

매번 로봇 모델이 새로 나올 때 마다 다수의 전문가들이 달라붙어 튜닝하고, 시스템을 새로 짜며, 알고리즘들도 다시 조율할 필요 없이, 그 로봇에 맞는 소량 데이터로 추가 튜닝만 해 주면 될 테니까.

매번 새로운 작업 시작하려면 그 작업에 대한 심도있는 분석부터 전문가 여럿이 달려들어 머리싸맬 필요 없이 그냥 데이터만 따면 될 테니까.

그리고 이렇게 설계된 기본 틀은, 그 데이터가 누적되면 누적될 수록 더욱 강력해진다. 왜냐하면 당장 돌아가는 시스템을 만드는 게 목적이 아니라 계속 새로운 정보를 통일된 방식으로 축적하는 방법론이 마련되었기 때문이다.

일반화 없이는 로봇의 도입비용이 감당이 안 되는 걸 알았다. 확장성 없이는 장기적이고 지속적인 성능 고도화가 안되는 걸 알았다. 당장 고전 방법론에 비해 성능이 안 나와도 이미 다른 영역에서는 시간이 지나면 기존 방법론을 뛰어넘을 것이 증명되었다. 그리고 저 두 능력이 없는 모델은 수도없이 현장에 적용하는 것을 시도했다 실패했다.

철학의 차이일까? 글쎄.


고전 알고리즘들이 필요없다는 게 아니다. 특히 강화학습은 마치 LLM에 RLHF가 적용되었듯이 당연히 합쳐질 방법론이다. 신경망 기반의 RFM은 항상 확실한 동작을 보장 못하는 그레이 존이 있을 것이고 결정론적 방법론이 이를 보완해 줘야 할 것이다.

하지만 휴리스틱들을 룰 베이스로 조합한 방법은 사전에 예상하지 못한 문제에 대처할 수 없으며, 사후 수습을 하려해도 시스템 전체를 재설계해야 한다. 현재 2족보행에서 획기적인 성능을 보여주는 강화학습 기반 로코모션 방법론도 걷는 동작이 이상해지는 케이스 바이 케이스로 리워드 설계를 다시 해줘야 한다. 걷기만 겨우 하던 그 이전세대 알고리즘들에 비해선 뛰어난 일반화, 확장성을 가졌지만 설계의 영역이 여전히 크다.

내가 로봇 연구를 시작한 2010년 즈음부터 로봇에 도입된 큰 트렌드 하나가 바로 Learning by Demonstration이다. 모방학습이라고 한다. 로봇이 해야 할 작업 종류마다 매번 그 작업을 하는 방법을 설계해 적용하려니 끝이 없으니, 데이터로부터 기능을 습득하자는 트렌드가 나왔다. 그게 10년이 넘어서 지금에 와서야 RFM으로 가시화된 것이다.

세계는 그 방향으로 변하고 있다.