top of page
  • Yesle Cha

Sutton 교수님, 데이터가 적으면 어떡하나요? 전이학습? 메타학습?!


How to deal with data sparsity


첫 번째 블로그 글(링크)에서는, 인공지능 모델 학습에 필요한 데이터가 매우 많이 주어진다는 가정 하에, 많은 데이터로부터 학습한 모델이 거의 언제나 inductive bias를 준 복잡한 모델의 성능을 뛰어 넘게 마련이라는 Sutton 교수의 글에 대해 살펴보았습니다. 저희 알세미 인공지능 팀에서는 정밀한 반도체 소자 모델링을 위한 인공지능 모델을 개발하고 있습니다. 모델링을 위한 측정 데이터가 많으면 많을수록 Sutton교수의 주장과 결을 함께하여 모델 성능을 높이는 데에 기여할 수 있겠으나, 저희는 현실적으로 측정 데이터가 일정 개수 이상 주어지지 않을 수 있다는 가정 하에 모델 개발에 임하고 있습니다.

이와 같이 목표하는 모델링에 충분하지 않은 데이터가 주어졌을 때, 어떻게 인공지능 모델을 학습하고 정확도를 높일 수 있을까요? 이는 이미 인공지능 학계에서 활발하게 논의되어 온 바 있고, 저희도 관심있게 살펴보는 주제이기 때문에 이번 블로그 글에서 한 번 다뤄보고자 합니다.


전이학습 : Transfer Learning


다양한 카테고리의 이미지를 모델이 인식하도록 학습하는 Image Vision분야와, 구술 및 서술 언어를 모델이 이해함과 동시에 이로부터 의미있는 정보를 추출하는 Natural Language Processing 분야에서 많이 쓰이는 기법 중 하나로 전이 학습이 있습니다. 전이 학습은, 주어진 학습 데이터는 적은데 모델의 정확도와 학습 속도를 높이고 싶을 때 흔히 사용하며, 학습하려는 데이터와 유사한 데이터의 양이 많을 때, 혹은 유사한 데이터로 학습한 모델이 이미 존재할 때 이를 이용하는 방식입니다. 예를 들어 고양이와 개 사진을 구분하는 모델을 학습하고 싶은데 고양이와 개 사진이 얼마 주어지지 않았다고 가정해 봅시다. 그런데 다른 사진, 개미와 벌 사진은 엄청나게 많은 양이 있다면, 먼저 개미와 벌을 인식하여 구분하는 모델을 충분히 학습시켜 이 모델이 이미지 기저에 있는 공통의 특징 – 선, 윤곽 등 – 을 배우게 한 후, 고양이와 개를 구별해 보도록 학습 시켜 볼 수 있습니다 ([1]). 이렇듯 많은 양의 데이터로 먼저 모델을 학습시켜 (pretraining), 데이터 기저에 있는 feature, 혹은 representation을 모델이 먼저 배우도록 하여, 비록 상대적으로 적은 양이지만 비슷한 유형의 학습 데이터로 모델을 재학습 (finetuning)함으로서 학습 데이터에 대한 모델의 성능을 높일 수 있도록 돕는 방식이 전이 학습입니다.



출처: A Comprehensive Survey on Transfer Learning, F.Zhuang et al., 1911.02685.pdf (arxiv.org)



메타학습 : Meta Learning


이번에는 좀 더 극단적인 경우에 대해 생각해 보도록 하겠습니다. 여러 종류의 동물 사진을 보고 구분짓는 모델을 학습하고 싶은데, 동물 사진이 몇 장 없습니다. 고양이, 개, 코끼리, 벌 각 다섯장 정도가 전부입니다. 각 동물 별로 다섯장 씩 모델에게 학습시킨 후, 새로운 동물 사진을 보여 줬을 때 과연 모델이 어떤 동물인지 맞출 수 있을까요? 이런 문제를 푸는 인공지능 학습 방식이 최근 각광받는 Few shot learning이라고 불리며, 대표적인 예로 메타 학습 (meta learning)을 들 수 있습니다. 메타 학습은 흔히 “Learning to Learn”, 혹은 “Learning to Generalize”([2])이라고 불립니다. 즉, 학습하는 법을 학습한다고 생각하면 됩니다.

일반적인 인공지능 모델은 매우 많은 양의 데이터로 모델을 학습시켜 하나의 task를 잘 푸는 데에 목적을 두고 있습니다. 예를 들어 다섯 종류의 동물을 구별하는 것이 task이면, 이 다섯 종류의 동물 사진을 수만 장 확보하여 모델로 하여금 다섯종류의 동물의 feature를 충분히 배워 각각을 구별해보도록 학습시키는 것입니다. 위에서 말씀드린 전이 학습의 경우에는 풀고 싶은 task 하나, 이를 위해 이용한 task 하나, 합해서 서로 다른 task가 두 개 등장합니다. 메타 학습의 경우에는, 서로 다른 task가 수천개 등장합니다. 그리고 이 주어진 여러 task를 모두 잘 풀 수 있는 공통적인 학습 방법을 모델이 학습하게 하는 것입니다. 위 예를 활용하여 말씀드리자면, 우리가 풀고 싶은 task는 각기 다른 동물 사진을 5장씩만 보고 새로운 사진을 보았을 때 구분짓는 것이므로 (5 shot learning), 우리의 task는 각 동물 종류 (class)별 사진 5장과 새로운 사진 몇장으로 구성될 수 있습니다. 이러한 task를 수천번 풀어본 모델이면, 학습을 마친 후 새로운 동물 사진 각 5장씩만 보여줘도 이 동물들을 잘 구분지을 수 있게 된다는 것입니다.

이러한 메타 학습의 방식은 크게 optimisation based, blackbox based, metric based 등으로 구분될 수 있습니다([2]). 이 중 optimisation based 메타 학습의 가장 대표적인 논문으로 C. Finn교수의 “Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks” ([3])을 꼽을 수 있는데, 이 논문에서는 위와 같은 Few shot learning 문제가 주어졌을때, 모델이 주어진 task를 빠르게 풀 수 있도록 돕는 좋은 initialisation을 학습하는 방식을 다룹니다. 전이 학습에서도 결국 적은 데이터를 학습하는 모델의 initialisation 을 데이터가 많은 모델로부터 배워온다는 면에서, 궤를 같이 하는 측면이 있습니다. 메타 학습을 마친 모델은, 새로운 데이터를 보여주는 메타 테스트 (meta test)단계에서 이렇듯 좋은 initialisation으로 시작하기 때문에, 매우 짧은 학습 단계를 거쳐도 뛰어난 성능을 보여줍니다 ([4]).


출처 : [3] Model Agnostic Meta Learning for Fast Adaptation of Deep Networks, C. Finn et al., ICML2017



메타 학습 응용 및 이 외 학습 방식

이러한 메타 학습은 데이터가 따르는 물리 법칙을 배우는 데에 효과적으로 사용할 수도 있습니다. 역학에서 시간의 변화에 따라 변함없이 보존되는 양인 총 에너지는 Hamiltonian으로 나타낼 수 있으며, 이 양은 운동량과 위치에 대한 함수로 나타낼 수 있고, Hamilton’s equation 을 만족해야 합니다. 인공 지능 영역에서도 이 Hamiltonian을 보존하는 data를 학습시켜 Hamilton’s equation을 만족하는 데이터를 정확히 예측하는 방식을 구현해 낸 알고리즘이 있고 ([5]) 이후 활발한 연구가 이루어지고 있습니다. 다만 이와 같은 학습 방식은 같은 계를 따르는 수많은 데이터를 학습시켜 예측하는 방식이었다면, 최근 메타 학습을 응용하여 동일한 물리 법칙 하에 있으나, 서로 다른 물리적 매개변수로 정의된 각 계에서 추출된 비교적 소수의 데이터를 학습시켜, 공통적으로 적용되는 물리 법칙을 추출해내는 학습 방식이 소개된 바 있습니다 ([6]).

알세미에서도 매개변수는 다를 수 있지만 공통된 하나의 물리 법칙을 따르는 소자 데이터를 학습하고 있으므로, 이러한 학습 방식을 주의 깊게 살펴 여러 방향으로 응용해 보고 있습니다. 물론 이 외에도, 주어진 물리 법칙을 최대한 활용하여 직접적으로 학습에 적용시켜 소수의 데이터만으로도 복잡한 물리 법칙을 따르는 데이터를 정확하게 예측하는 모델을 학습시킬 수 있는 방식 등이 매우 활발하게 연구되고 있습니다 ([7]). Sutton 교수가 예측한대로, 우리가 반도체 소자 모델링에 쓸 수 있는 데이터가 항시 매우 많이 존재한다면 어쩌면 이러한 고민들은 할 필요가 없을지도 모릅니다. 다만 발을 디딘 현실에서는 당장 데이터의 양에 한계가 있기 때문에, 현재 알세미에서는 이를 극복하기 위한 다양한 알고리즘을 개발 중이며, 이 여정에 동참하실 분들을 기다리고 있습니다. 😊


Reference

Recent Posts

See All

반도체 산업의 발전 자율 주행 자동차, 빅데이터, 그리고 사물 인터넷과 같이 수많은 반도체 제품을 필요로 하는 시장의 수요를 충족시키기 위해, 반도체 제품을 구성하는 트랜지스터는 그림 1과 같이 나노 단위의 작은 크기 그리고 더 높은 성능을 가지는 구조로 발전해 왔습니다. 그 결과, 동일한 면적의 웨이퍼 위에 수 십, 혹은 수 백 억 개에 달하는 트랜지스

현재 미국 전기차 업체 테슬라는 상당한 수준의 자율주행 능력을 보여주는데 그 배경에는 Multitask-learning의 개념이 뒷받침 되어있습니다. 자율주행 자동차는 부착된 카메라를 통해 받아오는 실시간 도로 상황의 이미지를 이용해 사물분류, 차선감지, 표지판 탐색, 그리고 도로 마크인식 등등 여러 문제를 동시에 풀어야 합니다. (Andrej Kapath

지난 십수년 동안, AI 모델은 거대한 양의 데이터로 보다 정확하고 정밀하게 주어진 임무를 수행하는 방향으로 발달해 왔습니다. 지난 수차례 이 블로그에서도 언급된 바와 같이, 빅 데이터로부터 학습된 neural network는 학습 데이터 뿐 아니라 unseen 영역에서도 뛰어난 성능을 보임이 밝혀져 (generalisation) 이에 대한 연구가 활발히

bottom of page