AI 와 아이 학습 과정의 공통점은?
29개월 우리 아들은 자동차파이다. 아니 자동차파였다. 아기들은 자동차를 선호하느냐, 공룡을 선호하느냐에 따라 자동차파 혹은 공룡파로 나뉜다고 한다. 우리 아들은 불과 며칠 전까지는 자동차, 특히 버스, 트럭, 포크레인을 좋아했다. 그러던 우리 아들이 갑자기 구석에 치워놓은 공룡 장난감을 가지고 놀기 시작했다. 그러다 갑자기 나에게 질문을 던졌다.
아빠, 이 공룡은 이름이 뭐야?
두둥! 우리 아들의 질문은 큰 충격을 주었다. 먼저 "이름"이라는 것에 대해 인지하고 있다는 것. 지금까지 우리 아들에게 공룡은 단지 크고, 무섭고, 초록색 혹은 까끌까끌하지만 미끄러울 것 같은 피부를 가진 동물의 집합에 불과하였다. 수많은 공룡들의 집합, 공룡 군집에 시큰둥한 반응을 보이던 녀석이 갑자기 공룡의 개체에 관심을 가지기 시작한 것이다. 그리고 개체에 대한 관심을 넘어 그 개체를 무엇이라고 부르는지 이름에 대한 존재를 알고, 이름이 무엇인지 궁금했던 것이다. 그러면서 제일 멋있어 보이는 공룡 피규어를 잡고 이름을 물어본다. 그 공룡의 이름이 티라노사우르스라는 것을 알고는 어디선가 들어본 노래를 흥얼거린다.
"티나노따우르스, 넥스, 난 태고샤댱꿍!"
이름이라는 개념을 인지했다는 것은 이제 새로운 학습의 장이 열렸음을 의미한다. 단순히 눈에 보이는 사물을 개체 자체로 보는 것을 넘어, 사물과 그것을 지칭하는 대명사 이름의 관계를 연결시키는 고리가 생겼다는 것. 주어진 개체의 눈에 보이는 특성만을 학습하는 것이 아니라, 개체에 붙어있는 이름표를 보고 이름표와 개체의 특성을 함께 학습하는 지도학습(Supervised Learning)을 우리 아들도 시작한 것이다.
지도학습, 영어로 Supervised Learning 은 인공지능의 대표적인 기법인 머신러닝과 딥러닝에서 널리 활용되는 학습 방법이다. 용어에서 알 수 있듯이 "지도" 누군가가 지도를 해준 상황에서 기계가 학습을 하는 것은 우리는 지도학습이라고 한다. 간혹 지도학습이라는 용어 대신에 교사학습이라는 용어를 쓰기도 한다. 이는 지도를 해주는 "교사", 선생님이 있다는 의미로 지도학습과 교사학습은 같은 것을 의미한다고 볼 수 있다.
지도학습이 누군가의 지도로 기계가 학습을 하는 것이면, 지도가 없는 학습도 있지 않을까? 우리는 지도가 없는, 교사가 없는 학습 방법을 비지도학습, 영어로는 Unsupervised Learing이라고 한다. 머신러닝과 딥러닝 알고리즘들을 지도학습을 주로 활용하긴 하지만 상황에 따라 비지도학습을 사용하는 경우도 상당히 많다. 그리고 최근에는 강화학습(Reinforcement Learning)을 활용하는 경우도 많이 볼 수 있다.
자, 그럼 지도학습에서 기계가 지도를 받는 것은 무엇일까? 인공지능 알고리즘, 우리가 알고 있는 머신러닝이나 딥러닝 알고리즘은 데이터를 학습하고, 데이터의 모델을 만들게 된다. 이렇게 만든 모델을 이용하여 분류, 예측, 군집화 등을 수행하게 된다. 앞서 설명한 지도학습은 머신러닝/딥러닝 알고리즘이 데이터를 학습할 때 정답이 표시되어 있는 데이터를 활용하는 것이다. 선생님이 학생들에게 정답을 알려주며 수업을 하듯이, 학습 데이터를 준비할 때 전문가가 데이터 하나하나에 대한 정답을 표시하고, 기계는 정답이 완벽하게 갖춰져 있는 데이터셋을 학습하게 된다.
예를 들어보자. 강아지와 고양이를 구분하는 인공지능 모델을 만들고자 한다. 가장 쉽게 생각할 수 있는 방법은 아래 그림과 같이 강아지 사진과 고양이 사진을 인공지능에게 학습을 시키는 것이다. 이때 지도학습을 활용할 경우 인공지능이 학습하는 강아지와 고양이 사진에는 정답이 붙어 있다. 이렇게 데이터에 붙어있는 정답을 인공지능에서는 레이블(Lable)이라고 한다. 레이블 혹은 라벨이라고도 부르는 정답은 데이터의 여러 가지 특성들을 대표하는 하나의 "이름"이라고 볼 수 있다. 이렇듯, 지도학습에서는 정답 라벨링을 달아주는 전문가, 혹은 선생님의 도움을 받아 데이터셋을 만들고 이를 학습하게 되면 우리의 인공지능은 고양이와 강아지를 잘 구분할 수 있게 된다. 마치 부모가 "이건 고양이야.", "저건 강아지야."를 알려준 내용을 학습한 어린아이처럼.
우리가 아이들을 가르칠 때, 부모 혹은 교사가 옆에서 가르쳐 주는 경우를 가장 많이 보게 된다. 물론 아이가 스스로 공부할 때 성과가 더 좋을 수도 있지만 일반적으로는 부모나 선생님이 옆에서 지도를 해주는 경우를 많은 사람들이 더 선호하게 된다. 이는 학습의 성과가 지도가 있을 때 더 높기 때문이다.
인공지능도 마찬가지다. 지도학습의 경우와 같이 전문가가 라벨링 된 데이터를 다 준비를 하고 기계는 이를 학습하게 될 경우 인공지능 모델의 정확도는 높아지게 된다. 따라서 많은 머신러닝과 딥러닝 알고리즘들은 기본적으로 지도학습을 기반으로 하는 경우가 많다. 우리 사람이 지도학습을 통해 다양한 학문들과 사회적 관습을 배워가듯이, 인공지능 역시 지도학습을 통해 자신만의 모델을 만들어 가는 것이다.
하지만 지도학습은 치명적 단점을 가지고 있다. 우리 인간이 지도학습을 할 때 따라오는 문제점과 비슷한 단점이다. 바로 돈이 든다는 것이다. 학문적으로는 이를 코스트라고 하는데, 정답이 달린 데이터를 만드는 과정 자체에서 코스트가 많이 들게 된다. 여기서 코스트는 정말로 돈이 될 수도 있고, 데이터를 만드는 데 걸리는 시간, 데이터를 구하기 어려운 정도 등 다양한 관점을 내포한다. 정말 사람의 학습 과정과 비슷하지 않은가? 우리도 지도학습을 하기 위해서는 책이 필요하고, 선생님이 필요하고, 이 과정에서 적든 크든 비용이 발생하게 된다. 좋은 선생님을 모시기 위해서는 더 많은 돈이 필요하듯, 인공지능도 더 좋은 데이터를 만드는 지도학습을 위해서는 많은 코스트가 필연적으로 요구가 된다. 그래서 자의 반, 타의 반으로 지도학습이 아닌 비지도학습을 시도하는 인공지능이 나올 수밖에 없는 것이다. 마치 우리가 선생님의 도움 없이 자습으로 공부를 해야 하는 경우가 있듯이.
사실 글 서두에 29개월 우리 아들이 이제 막 지도학습을 한 것처럼 적긴 했지만, 이는 글의 흥미도 유발을 위해 약간 과장을 한 것이다. 앞선 지도학습 사례에서 알 수 있듯이 많은 아이들은 말문이 트이고 나면 무엇이 강아지인지, 고양이인지를 자연적으로 학습을 하게 된다. 이러한 기초적인 지도학습은 누가 알려주지 않아도 자연적으로 아이들이 습득을 하고, 이를 통해 세상을 바라보게 된다. 우리 아이도 마찬가지로 예전부터 기본적인 동물 구분, 무엇이 강아지이고 무엇이 고양이인지는 구분을 할 수 있었다. 다만, 본 글을 적게 된 이유 중 하나는 단순 구분을 넘어 "이름"이라고 하는, 데이터 사이언스에서 "레이블"이라고 하는 개념을 깨닫기 시작한 모습이 신기하면서도 대견스러워서 지도학습이라는 주제와 연관을 시켜본 것이다.
이처럼 인공지능을 학습시키는 과정은 아이를 학습시키는 과정과 상당한 유사점을 가지고 있다. 앞으로 인공지능을 학습하며, 그리고 아이를 육아하며 벌어지는 에피소드들을 흥미 위주로 다뤄보고자 한다. 인공지능과 육아의 만남! 많은 기대 부탁드린다.
PS) 갑자기 우리 아들이 29개월이 되었는데, 이는 개월 수를 디테일하게 적기 위함이다. 향후 글 스레드가 쌓이고 먼 훗날 아들과 함께 글을 보게 되면 정확한 개월 수를 명기하는 것이 더 좋을 것이라 판단했기 때문이다.