배울 줄 아는 사람이 되는 것


나는 컴퓨터가 두렵지 않다. 오히려 컴퓨터가 없는 것이 두렵다. - 아이작 아시모프

최근 인공지능 연구에서 가장 큰 성과를 거두고 있는 분야 중 neural architecture search, pre-training, domain transfer, self-training, semi-supervised learning 등은 그 근본적인 생각들이 굉장히 비슷하다는 생각을 한다.

neural architecture search는 특정 문제풀이에 적합한 인공지능 모델을 찾아내는 상위의 인공지능 모델 또는 알고리즘을 활용하는 방법론이다. 이 ‘상위의 인공지능 모델’은 주어진 데이터를 어떻게 하면 ‘잘 배울 수 있을 지’를 실험을 통해 판단하고 개선한다.

pre-training과 domain transfer는 공유할 수 있는 기초지식을 먼저 예습하고, 예습하였던 지식을 활용해 추후 원하는 문제를 풀기 위해 활용하는 방법론이다. 예를 들자면 한자를 먼저 배워두었더니, 일본어와 중국어를 처음부터 공부하는 것보다 조금 수월하게 배울 수 있었다는 경험에서 시작되는 아이디어이다. 이 방법론은 computer vision 분야에서도, 언어 모델 분야에서도 각광받고 있다. 오히려 이 방법론을 사용하지 않는 연구가 한없이 드물만큼. computer vision 분야에서는 물체가 있는 영역을 인식하는 문제를 잘 풀어내는 것이 굉장히 중요하다. 자율주행 자동차는 사람이나 방해물이 시야의 정확히 어느 구역에 있는 지 정확히 인지하고, 이를 피하거나 기다리는 방식의 정책을 결정한다. 이 ‘물체 인식’을 잘하는 방법을 배우기 전에, 인공지능 모델은 이미지를 1000가지의 카테고리로 분류하는 ‘이미지 분류’ 문제를 먼저 풀어본다. 이미지에 있는 정보 중 가장 중요한 정보가 무엇인지, 그래서 이 이미지는 ‘자동차’의 이미지라고 볼 수 있는 지 먼저 배우고, 나중에야 물체를 인식하는 방법을 미리 배운 지식을 활용해 배우기 시작한다. 언어 모델에서는 주어진 문장에서 다음 단어가 무엇이 될지 예측하는 문제를 먼저 풀게 한다. ‘나는 밥을 먹는다’라는 문장에서 ‘먹는다’를 지우고 ‘나는 밥을’이라는 앞선 단어들의 조합을 통해 ‘먹는다’라는 단어를 예측하도록 말이다. 이렇게 단어들의 조합에서 규칙을, 언어를 발견하는 모델을 ‘언어 모델’이라고 부르며, 이 언어 모델을 활용해 번역기를 만들기도 하고, 대화형 인공지능 (챗봇)을 만들기도 한다.

self-training 또는 semi-supervised learning은 정답이 없는 데이터를 활용해 정답이 정해진 문제를 더 잘 풀 수 있도록 하는 하나의 방법론이다. 인공지능 모델을 먼저 ‘이미지가 자동차인지, 사람인지, 강아지인지 고양인지’ 등을 구별해낼 수 있도록 주어진 데이터를 활용해 학습시킨다. 그러고 난 후에 이 모델에게 한 번도 본 적 없는 이미지가 어떤 이미지인지 예측하도록 한다. 예측은 학습에 활용한 데이터보다 훨씬 더 많은 데이터에 대해 시도해 볼 수 있으므로, 백만장의 이미지를 학습한 인공지능을 수억장의 이미지에 대한 종류를 맞추도록 시도한다. 이 모델을 ‘선생님 모델’으로 두어, ‘선생님 모델’이 나름대로 확신을 가졌던 예측된 이미지들을 ‘학생 모델’에게 가르친다. 백만장이었던 학습 데이터가 수억장까지 늘어나게 된다. ‘선생님 모델’은 완벽하지 않지만, 학생은 때때로 선생님보다 더 뛰어난 역량을 보여주기도 한다. 이 학생을 다시 선생님으로 세워, 다시 학생을 가르친다. 이것이 한동안 이미지 분류 문제에서 가장 좋은 성능을 보였던 Self-training with Noisy Student improves ImageNet classification이라는 논문의 골자다. 한편으론 ‘선생님 모델이 어떻게 하면 학생에게 더 적절하게 가르칠 수 있는 지’ 학생과 함께 선생님의 지도방식을 개선하는 과정 조차 인공지능 알고리즘을 통해서 학습하는 논문이 존재한다. 이 시도 역시 이미지 분류 문제에서 최고의 성능을 보여주고 있다.

최신의 인공지능 연구들은 이처럼 주어진 데이터를 그 한계까지 활용하는 방법에 집중하고 있는 것처럼 보인다. 수십 억개의 문장 정보를 더 잘 활용하는 방법이 무엇인지, 수백만 수천만, 수억장의 이미지 정보를 더 잘 활용하는 방법이 무엇인지 배운다. 그리고 궁극적으로는 어떻게하면 더 잘 배울 수 있을 지에 대해 배우기 시작한다. 하나의 문제를 풀기 위해 배우는 일에서 벗어나, 배우는 방법을 배우는 데에(meta-learning) 집중한다. 이젠 모든 것을 배울 수 있고, 어떤 문제든 풀어낼 수 있다는 자신감을 갖기 시작한다.

너무나 많은 정보가 주어진 세상이다. 때로는 지나칠 정도모두가 연결된 사회다. 이제 우린 하나를 배우는 일로 그치지 않는다. 진정 배울 줄 아는 사람이 되어 한 사람이 더 많은 문제를 해결할 수 있기를 기대받는다. 아니면 하나의 문제를 누구보다 잘 풀어내길 기대한다. 이따금 이러한 기대가 과분하게 느껴지고, 두렵게도 느껴진다.

나에게는 확신이 없다. 무엇을 하는 것이 ‘좋은 것’인지, 확신을 갖는 건 조금 어렵게 느껴진다.

그러나 손이 닿는대로 시도해본다. 책을 읽어보기도 하고, 많이 걸어보기도 하고, 넷플릭스 시리즈를 보기도 하고, 악기를 연주하기도 하고, 게임을 하기도 하고. 좋아하는 일을 하기도 하고, 하기 싫은 일을 하기도 하면서 모든 시도가 헛되지 않았다고 짐짓 생각한다. 부담이 되었던 글쓰기를 이어나가고, 한 발자국이라도 더 남겨보려고 부지런해져본다.

게임은 창의성을 키우는 기반이다 - 놀란 부슈널

어렸을 때 나의 부모님은 내가 컴퓨터, 그리고 게임을 좋아하는 아이라는 사실이 못마땅해 하신 적이 있었다. 그리고 난 어렸을 때부터 게임이 나를 자라게 한다고 생각했다. 나의 창의성의 원천이 된다고, 나의 감정을 추스리고 자신의 주인이 되게 해준다고, 여러가지 구실들을 상상하며 청소년기를 보냈다.

‘이런저런 일들이 결국 도움이 되었을까?’라는 고민을 하는 대신, ‘이런저런 일들이 모두 내게 도움이 되었다. 모든 과정이 나를 자라게 했다.’라는 행복한 확신을 하기로 한다.

성장의 과정을 사랑하는 사람이 되고 싶다. 끊임없이 배울 줄 아는 사람으로 남고 싶다.