- 2019년 7월 12일 오후 4:05
- 조회수: 8995
REFERENCES
INFORMATION
- 2019년 7월 19일
- 오후 1시 ~
- 고려대학교 신공학관 218호
TOPIC
OVERVIEW
발표자 후기
이번 세미나는 meta learning과 관련된 논문(Model-agnostic meta-learning for fast adaptation of deep networks)을 리뷰하는 시간을 가졌다. Meta learning은 각종 학회에서 인기있는 주제였고, 최근 skt ai conference에서 이러한 내용을 들으면서 흥미롭다고 생각하여 주제를 선정하게 되었다. 기존의 모델 학습에서 데이터가 부족할 때 극복하기 위한 방안 중 하나로 다른 데이터 셋을 이용한 meta learning 후 부족한 데이터만 이용하여 빠르게 학습하는 방법이 있다.(fast adaption) 구체적인 상황으로는 몇 개의 데이터 포인트 만으로 예측 모델을 학습시켜야 하는 few shot learning 상황이다. 보통 새로운 모델을 사용하여 meta learning process를 구축하는 것 대신, 이 논문에서는 gradient update 과정에서 weight initialization을 재정의하는 것으로 meta learning이 가능하도록 하였다. 새로운 Task에 대하여 빠르게 학습할 수 있는 weight initial point를 meta learning을 통해 찾아내었고, 따라서 Task에 대한 data가 들어왔을 때 몇 번의 update 만으로도 좋은 성능의 예측 모델을 구축할 수 있다. 이러한 방법은 gradient update 기반의 모든 모델(deep networks)에서 사용할 수 있으며 대부분의 과거 meta learning 모델과는 다르게 classification, regression, reinforcement learning 등 다양한 모델에도 사용할 수 있다.(model-agnostic) 광범위하게 사용할 수 있으며 산학 프로젝트나 연구 등에 활용할 수 있을 것 같다는 생각을 하였다. 다른 연구 주제들에 비해 상대적으로는 생소할 수 있겠지만 다른 연구원들의 연구에 도움이 되었으면 좋겠다.
청취자 후기
오늘 전체세미나는 'Model-agnostic meta-learning for fast adaptation of deep networks'라는 주제로 충협이가 진행하였다. Meta learning 이라 함은 적은 학습데이터 상황에서 meta data를 활용하여 예측성능을 보장하기 위한 학습 방식을 일컫는다. 오늘은 Meta learning 중 모델에 대한 지식없이(Model-agnostic) meta data를 이용한 학습으로 새로운 task에 빠르게 적용가능한 gradient 기반 모델을 소개해 주었다.
핵심은 다음과 같이 요약할 수 있다. 개와 고양이를 예측하기 위한 학습데이터가 부족한데, 그 분야의 새로운 데이터(다른 레이블의 이미지: 기린, 말 등)를 확보하여 '예측' 하는 데 유용한 사전지식을 갖게 하는 것이다. 즉, 예측하고자 하는 대상의 학습데이터는 부족하지만, 비슷한 task(동물 범주 예측)을 수행하는데 weight를 참고하여 잘 예측하고자 하는 것이다. 오늘 소개해준 알고리즘은 Optimization 기반 방법론으로 우리가 본래 수행하고자 하는 task(개,고양이 예측) 모델의 파라미터 THETA를 다른 동물들의 범주예측으로부터 학습되는 Pi 1,2...,i를 참고한다.
우리연구실에서 수행하고 있는 다양한 문제상황에 적용할 수 있을 것으로 생각한다. 클래스불균형, 공정 수행 중 실시간 예측 등 관심대상의 패턴이 새롭거나 데이터가 극히 적을 때 다방면으로 활용이 가능할 것이다. 수행했던 연구 중에서 반도체공정 불량설비를 찾는 문제가 있었는데, batch방식, 즉 한번 찾고 끝이였다. 오늘 소개해준 학습방식으로 실시간으로 웨이퍼할당이 이루어지는 반도체공정상황에서 새로운 패턴을 맞이할 때 좀더 빠르고 강건하게 성능을 보장하는 방향으로 연구해보아도 좋을 것 같다.
금일 세미나는 Model-agnostic meta-learning for fast adaptation of deep networks 주제로 충협이가 발표했다. 지도학습은 학습 데이터가 주어졌을 때 최적의 파라미터를 구하는 것이다. 하지만 데이터의 크기가 매우 작거나 라벨이 없는 경우 학습이 불가능한 단점이 있다. 이를 meta-learning으로 해결하게 된다. 오늘은 모델에 대한 지식없이 meta data를 이용한 학습방법을 소개했다. 분류 문제에서 데이터 셋은 n(class 개수) – way, k(example 수)-shot 으로 부르며 우리가 가지고 있는 데이터를 가지고 학습을 시킨 후 최종적으로 하고자 하는 테스트에서는 테스트의 라벨을 학습에 사용하지 않게 된다. 즉 주어진 학습 데이터 셋을 가지고 일반화를 하는 과정으로 볼 수 있다. 새로운 데이터를 활용할 때에 meta-learning 관점에서는 multi-task관점과 달리 task(T1, T2, …) 별 최적의 파라미터 파이가 모두 다르다. 이 때 task 별 파이들을 잘 구할 수 있는 모델의 파라미터 세타를 구하는 것이 목표이며 모델을 학습하는 방법을 학습하는 것이 된다. meta-learning에서 최근 연구되고 있는 분야는 최적화 기반의 meta-learning으로 데이터셋을 이용하여 효율적인 업데이트 방법을 배우게 된다. 이 방법은 데이터 셋과 파라미터 세타를 구하고 이를 이용하여 task의 파라미터 파이를 빠르게 구하는 것이 목적이다. 파라미터 세타를 학습할 떄에는 task 파라미터 파이의 loss를 세타에 대해 미분하며 업데이트를 진행한다. 실제 논문에서는 이러한 방법을 이용하여 다른 모델보다 더 좋은 성능을 보였다. 현재 프로젝트를 진행하고 있는데 데이터의 부족이 이슈가 있어서 적용해볼 수 있지 않을까 고민해봤다. 또한 gradient-based 모델인 강화학습에도 적용할 수 있어서 meta-learning에 대해 공부해서 적용해볼 수 있을 것이라 생각한다.
오늘 세미나는 meta-learning을 주제로 진행되었다. 기존의 transfer learning이나 multi-task learning과 다른 점에 대해서 분명 나 말고도 많은 사람들이 궁금했을 것 같다. 그 가려운 부분을 잘 설명해주었고 또한 제목의 단어 하나하나를 설명해 준 것도 인상적이었다. 세미나 시간에는 자세히 안 다뤄졌지만 RL에 적용된 결과도 논문에 포함되어 있는 것으로 알고있다. RL에 대해서 전반적인 이해가 있었다면 지금 이 저자가 meta-learning을 RL에 어떻게 녹일 생각이었는지 힌트를 얻을 수 있었을텐대 그렇게 못해서 나 스스로에게 아쉬움이 크다. 일반적으로 모델은 학습데이터가 크고 다양할 때 좋은 모델이 학습되며 테스트데이터에서 우수한 성능을 보이게 된다. 하지만 현실 문제에서 필요한 데이터가 부족한 상황은 굉장히 다양하게 발생된다. 그동안 연구실에서 프로젝트로 진행되었던 경우만 보아도 그러하다. 예로 들면 공정 라인 내 새 기계가 들어와서 이제 막 데이터가 수집되어 없는 경우라던가, 신제품 혹은 신차에 관한 데이터가 이제 막 수집되었을 경우 등 말이다. 하지만 이런 경우 공통적으로 보면 지금 풀려는 문제(Task) 비슷한 문제의 데이터는 충분한 경우는 많다. 이때 하나의 해결책을 소개해줬다는 점에서 의의가 있는 세미나였다고 생각이 된다. 현재 진행되고 있는 프로젝트에도 상황이 적합해보이기 때문에 어떻게 적용하면 좋을지 고민을 해보고 적용하여 결과를 빨리 보고싶다는 생각이 들었다. 동서발전공모전부터 지금 같이하는 프로젝트들까지 하면서 많은 토론을 할 때마다 항상 좋은 인사이트를 주었던 충협이에게 고마움을 전하며 후기를 마무리하겠다.
금일 세미나는 충협이가 Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks를 주제로 진행하였다. 최근 딥러닝 분야의 연구 주제로 대세인 메타 러닝, 특히 Gradient-based approach에 대한 소개가 주를 이뤘다. 특히 지난 6월에 다녀온 SKT AI.X 컨퍼런스에서 메타러닝 관련한 세미나를 재밌게 들었던 기억이 있는데, Metric-based approach 관련한 내용에 비해 Gradient-based approach 내용이 이해하기 어려웠어서 기대되는 세미나였다. 다룬 논문은 특정한 모델을 가정하지 않고 적은 수의 Gradient update 만으로도 딥러닝 모델의 Parameter을 최적화 할 수 있는 MAML method 였다. N-way, K-shot 형태의 데이터에서 meta-train 데이터셋을 사용하여 매개 Parameter 역할을 하는 Theta를 계산하고 이를 새로운 Task의 Parameter인 Phi를 업데이트 하는데 사용하는 것이 방법론의 핵심이였다. 걸핏 보면 어려운 아이디어가 아닌 것 같지만 이런 방법론을 생각해내서 데이터 가정의 한계를 극복해낸 것이 대단하다고 생각했다. 그리고 소수의 Data point만으로도 Sine graph의 형태를 예측하는 Regression problem의 실험 결과가 정말 신기했다. 연구실에서 진행하고 있는 프로젝트를 포함하여 연구를 할 때 입맛에 딱 맞는 데이터를 구하는 것은 어려운 일이다. 안그래도 연구실에서 맡은 프로젝트 3개 모두 각기 다른 이유로 데이터가 말썽이여서 데이터를 생성하거나 추가적으로 확보해오는 방안, semi-supervised learning, transfer learning 등을 알아보고 있었는데 이번 세미나로 또 다른 아이디어를 얻을 수 있었다. 분야를 막론하고 인간 수준의 테스크 처리 능력을 보이는 모델이 어느 정도 등장한 가운데 메타러닝 방법이 딥러닝을 연구하는 연구자들의 필수 연구 분야가 되지 않을까 싶다. 앞으로 나도 관심을 갖고 공부를 해야겠다는 생각을 했다.
SKT AI.X에 참가했을 때 충협이가 옆에서 열심히 메타러닝 세미나를 듣고 있던게 기억이 나는데 그 세미나에서 소개했던 MAML 논문을 본인이 관심을 갖고 세미나까지 준비해서 연구원들이 이해하기 쉽도록 설명해준 점이 인상깊었다.요즘에나 연구실에서 하나둘씩 관심을 갖고 공부하고 있는 분야라서 어려웠을텐데도 불구하고 바쁜 와중에 세미나를 잘 준비해준 충협이에게 감사하다는 말을 전한다.
금일 세미나는 충협오빠가 ‘Model-agnostic meta-learning for fast adaptation of deep networks’라는 주제로 진행했다. 전통적인 머신러닝이 갖는 가정은 목적에 부합하는 잘 정제된 데이터가 주어진 환경에서 적합한 모델을 구축하는 것이다. 하지만 현실적인 문제에서는 학습데이터가 부족한 경우가 흔히 발생한다. 오늘 소개된 Meta learning은 앞선 한계점을 보안하기 위해 적은 학습데이터만으로 새로운 테스크를 적용시키는 방법론이다. Meta learning은 Metric-based approach와 Gradient-based approach로 크게 나뉘는데, 오늘은 Gradient-based approach 방법론에 대해 다뤄볼 수 있었다. Meta learning은 새로운 meta task가 주어질 때 initial point값을 도출하는 것을 목표로 하여 task별 최적의 파라미터 phi를 도출하기 위해 theta를 구하는 방식으로 연산이 된다. 이전에는 양질의 데이터로 좋은 모델을 구축하여 예측 성능을 높이는 연구들이 관심을 받았지만, 딥러닝의 성능이 어느정도 보장됨을 보인 이후에는 다양한 가정환경을 고려한 모델, 혹은 예측 성능 뿐만 아니라 모델의 일반화 성능 등 다양한 측도가 중요해지고 있다. 최근에 나도 transfer learning, multi-task learning과 같이 지식 전이를 목표로 현실적인 문제를 모델링에 잘 녹여내어 해결하고자 하는 연구에 관심을 갖고 공부를 하고 있었는데, meta learning또한 관심을 갖고 살펴보아야 겠다. 흔히 접하기 어려운 주제를 잘 선정하여 공유해주고, 이해하기 쉽게 설명하기 위해 끝까지 고민해준 충협오빠에게 감사하다.
금일 세미나는 'Model-Agnostic Meta-Learning for Fast Adaptation of Deep Networks'라는 주제로 충협이가 진행했다. 기존에 내가 알고 있는 Meta Learning의 개념은 아래와 같았다. 예를 들어 스타크래프트 상황을 가정해보자. 게임을 승리하기 위해서, 똑똑한 SCV를 학습시키고, 마린을 학습시키고 , 시즈 탱크를 학습시킨다. 이렇게 잘 학습된 유닛들을 이용해 게임을 승리하기 위한 학습을 다시 진행한다. 하지만 금일 세미나의 내용은 Few Shot Learning과 Meta Learning을 결합하여 설명해주었다. 하고자 하는 Task는 분명히 존재하나, 해당 Task를 수행하기 위한 데이터셋의 크기가 매우 작은 상황이다. 이러한 문제 상황을 해결하기 위해, Task와 유사한 상황을 이용해 학습을 진행하고, 어떻게 학습을 진행했는지에 관한 과정을 학습한다. 학습을 진행하는 과정을 학습함으로써, 원래 하고자 했던 Task를 잘 수행할 수 있도록 해주는 방법이다.
해당 방법론은 수치 예측, 범주 예측 뿐만 아니라 강화학습에도 적용하고 있는 상황이라는 이야기를 해주었다. 나는 특히 수치예측에 많은 관심이 생겼다. 예측하고자 하는 수치 중, 대부분의 값이 0이라면, 예측 대상이 0인지 아닌지를 예측하고(분류), 0이 아닌 수치 값 중 어떤 수치값으로 예측할 수 있을지에 관한 부분을 Meta Learning으로 해결하고 싶어졌다. 또한 Meta Learning은 Deep Neural Network 계열의 알고리즘들을 사용하고 있는데, Loss function을 개발하여 위의 문제 상황(분류와 예측을 한번에 진행해야함)을 하는 것 역시 좋은 연구 주제라고 생각한다. 세미나를 준비하기 위해 많은 노력을 해준 충협이에게 감사하다는 말을 전하고 싶다.
오늘 세미나는 meta-learning을 주제로 진행되었다. 일반적으로 기계학습 모델을 사용하기 위해서는 데이터에 대한 몇 가지 가정이 있다. 클래스별로 데이터가 충분히 있고, 레이블에 대한 구분 및 정의가 비교적 명확해야 모델을 학습시켰을 때 좋은 결과를 기대할 수 있다. 하지만, 실제 상황에서는 그렇지 못한 경우가 많다. 대표적인 예로 few-shot classification이 있는데, 이는 클래스별로 학습데이터가 매우 적은 상황이다. 일반적으로 N-way, k-shot으로 부르며 N개의 클래스별로 k개의 학습 샘플이 존재하는 것을 통칭한다. 이러한 문제 상황을 해결하기 위해 제안된 model-agnostic meta-learning for fast adaptation of deep networks 논문은 제목에 걸맞게 모델의 종류에 구속받지 않으며 gradient 기반으로 학습되는 모든 모델에 전체적으로 적용할 수 있는 프레임워크를 제안한다. 학습하고자 하는 데이터가 적지만 비슷한 task를 가지는 다양한 종류의 데이터셋을 가지고 있을 때, 다른 task들을 통해서 모델의 가중치를 초기화 시키는 방법이다. 세미나에서 예를 들었던 것은 [기존 task] 개와 고양이를 구분하는 모델 구축, [meta-task 1] 그릇과 사자를 구분하는 모델을 구축하는 것이었다. 비슷한 task를 잘 수행하는 모델을 만들면, 학습 데이터에 포함이 되어있지 않는 데이터를 추후에 사용하더라도 좋은 효과를 기대할 수 있다는 의도이다. (여기서 multi-task, transfer learning 등과 차이점이 약간 모호할 수 있는데 multi-task learning은 task별로 최적의 파라미터가 동일하지만 meta-learning은 모두 다르다. 또한, meta-learning에서 meta-task가 1개라면 transfer learning과 동일하다고 정리할 수 있다.) 오늘 소개한 모델은 optimization-based meta-learning approach 중 하나였는데, 여기에서는 각 모델의 파라미터 phi와 전체 mainstream을 결정하며 나중에 기존 task를 수행하기 위한 모델 파라미터 theta가 있다. Task별 학습데이터를 사용해서 theta에 대한 손실함수를 계산하고, 이를 기반으로 phi를 업데이트 한다. 그 이후 task별 검증데이터를 사용해서 모든 phi에 대한 손실함수를 계산하여, theta를 업데이트 한다. 모든 모델의 구조가 동일하기 때문에 사용할 수 있는 방법이며 그만큼 task를 나누는 방법이 중요하다고 생각되었다. 전체적으로 봤을 때 정말 간단한 아이디어로 좋은 효과를 얻어낼 수 있는 개념이라고 생각되었고 매우 인상깊었다. 새로운 개념을 잘 정리해서 공유해준 충협이에게 감사하다.
MAML은 새로운 task에 있어서 적은 경사 하강 step으로도 과적합을 피하며 빠르게 학습을 할 수 있도록 모델 파라미터의 초기화를 최적화하는 알고리즘이다. 다른 Meta-learning과 비교했을 때 특장점은 모델의 구조에 구애 받지 않다(model-agnostic)는 점이다. 달리 말하자면 미분 가능한 loss function을 가져 Gradient-Descent을 적용할 수 있는 문제라면 MAML을 적용할 수 있다. 실제로 논문에서도 supervised/reinforcement learning에 대한 pseudo code를 제시하였다.
먼저 분류 문제에서는 Omniglot이라는 여러가지 문자가 들어있는 meta data로 unseen 문자의 클래스를 분류하였는데, 실험결과 압도적인 정확도를 보여주진 않았다. 그럼에도 불구하고 citation이 높은 것을 보면 MAML은 model-agnostic 하다는 점에서 그 진짜 의의를 갖는 것으로 보인다.
회귀문제에서는 위상과 주기가 다른 삼각함수를 meta data로 주고, 새로운 위상과 주기를 갖는 삼각함수 파동에 대한 sample 점을 제시하고 ground truth와 비교를 했는데, 1 gradient step으로 learner를 업데이트 했는데도 불구하고 pretraining+Fine-tuning을 한 대조군의 결과에 필적하는 좋은 결과를 보여주었다. 이 부분에서 multi-task learning과 차별점을 확실히 알 수 있는데, MAML은 새로운 샘플에 대해서 빠르게 adaptation을 하는 반면, pertaining model을 적응성이 떨어지는 것을 알 수 있었다.
강화학습 문제에서는 비교 알고리즘으로 multi-task에 대한 fine-tuning 모델 / 가중치 랜덤 초기화 모델 / 그리고 oracle(ground truth) 을 추가로 비교하였다. Navigation 문제에서 pretained 모델보다 MAML 모델이 새로운 환경에 더 빠르게 적응(학습)하여 최적 policy로 수렴하는 경향을 보여줬으며, 각종 locomotion 문제에서도 다른 모델들을 압도적으로 뛰어넘었다. Reinforcement learning은 시뮬레이션 환경에서 data(experience)를 얻기에 data가 부족한 상황이 생길까 의문이 있었으나, 하나가 아닌 여러가지 게임 환경에서 generalize 할 수 있는 agent를 만들기 위해서는 MAML이 반드시 필요할 것으로 생각된다.
MAML은 gradient descent을 할 때 hessian matrix가 나오게 되어 computation cost가 높아 실제로 계산할 때 1차 근사값을 사용하는데, 이는 목적 함수인 ReLU 네트워크가 국소적으로 linear, 즉, piece-wise linear하기 때문에 2차 도함수인 hessian matrix 사실상 0으로서 1차 근사로서 충분하여 1차 근사값을 이용해도 무방한 것으로 보인다. 또한, 논문에는 MAML을 이용한 unsupervised learning은 소개되어 있지 않지만 autoencoder 구조를 이용한다면 충분히 supervised learning 문제로 변환시켜서 적용할 수 있을 것으로 보인다.
마지막으로 meta-data의 선별에 대한 생각이다. 기계학습에서 일반적으로 test/train data는 동일분포로부터 나오는 것을 가정으로 하는데, meta data learning data는 ‘meta’ learning을 위해서 train data와는 분명히 달라야 하며, 동시에 앞으로 있을 unseen (test) data set에 대해 일반화해줄 수 있는 다양성을 지녀야 한다. MAML이 model-agnostic한 novel한 아이디어이기는 하나, 앞으로 MAML의 파생 알고리즘을 평가하기 위한 적합한 reference를 구축하는 것이 MAML의 이론적인 강점을 잘 가져가기 위한 선행점이라고 생각된다. 같은 맥락으로 현행 프로젝트에서 맞닥뜨리는 Data imbalance 문제를 푸는 하나의 도구로서 쓰일 수 있으나, 먼저 우리가 가지고 있는 data set이 과연 meta data로서 적합한가를 먼저 평가해야 할 것이다.
연구 주제에 있어서 우리 연구실에서 일반적으로 맞닥뜨릴 데이터에서 접하는 문제들이 무엇일까 생각함에 동시에, 최근 트렌디하게 연구되는 분야가 어딘지 고심하고 있었는데 이렇게나 취향저격인 주제를 소개해준 충협이에게 정말 고맙다.
오늘은 Model-Agnostic Meta-Learning for fast Adaptation of deep Networks를 주제로 진행되었다. 일반적으로 모델이 학습을 잘 하려면 데이터가 크고 다양해야한다. 하지만 현실은 대게 그렇지가 못해서 데이터가 부족하거나, 클래스 불균형이 있거나 레이블간 구분이 모호한 경우가 대부분이다. 이 중 데이터가 부족한 경우에 대하여 적은 데이터를 이용해서 빠르게 학습을 시킬 수 있는 방법 중 하나가 Meta-learning 이다. Meta-learning은 분류하고자 하는 형태의 데이터가 부족하여 학습에 어려움이 있을 때 이와 유사한 다른 형태의 데이터로 모델을 학습한 후 학습된 모델을 베이스로 하여 원하는 데이터의 학습을 진행하는 방법이다. 기존의 transfer learning 과의 차이점은 새로운 데이터의 학습을 위한 베이스 모델을 생성하기 위해 한가지의 데이터로 학습을 하는 것이 아니라 여러가지 형태의 데이터로 학습을 하고 최종적으로는 각각의 모델을 잘 설명할 수 있는 범용적인 모델을 학습하기 때문에 새로운 데이터에 대해서도 적은양의 데이터만 있더라도 빠르게 학습할 수 있게된다. 오늘 세미나를 통하여 meta-learning 에 대한 개념을 확실하게 이해할 수 있었다. 또한 meta-learning 방식을 이용하여 모델의 정규성을 높인다던지, 시계열 변화가 있는데이터에 대해서도 잘 대응할 수 있는 모델을 만들수 있을 것 같은 느낌이 들었다. 연구에 대한 새로운 방법을 많이 생각해 볼 수 있는 좋은 세미나였다.
금일 세미나는 목충협 연구원의 'Model-agnostic meta-learning for fast adaptation of deep networks'라는 주제로 진행 되었습니다.
Meta learning 이란 학습데이터가 현저하게 적거나, 불균형인 경우 비슷한 분야의 다른 데이터를 이용하여 좀 더 나은 예측 결과를 내기 위한 학습 방법 입니다.
보통 인간은 어떤 문제를 해결하고자 할 때 그 문제에 관련된 지식 뿐 아니라 비슷한 분야의 다른 지식들도 활용하여 문제를 해결 하려고 합니다.
하지만 컴퓨터는 주어진 데이터로 학습을 하여 결과를 예측 하려고 하는데 이에 인간이 보통 문제 인식 하는 방법을 모사함으로써 좀 더 나은 결과를 가질 수 있게 한다는 점이 인상 깊었습니다.
최근에 데이터 불균형 문제를 어떻게 해결할 수 있을까 라는 고민을 했었는데 마침 새로운 분야를 알게 되어 제가 분석하고 있는 연구에도 적용 시켜 보면 좋을 것 같습니다.
이 세미나를 위해 많은 준비를 해 주신 목충협 연구원님께 감사 드립니다.
금일 세미나는 "Model-Agnostic Meta-Learning for fast Adaptation of deep Networks" 라는 주제로 진행되었다. 일반적인 모델 학습의 가정하였을때 클래스별로 데이터가 충분하고 레이블에 대한 정확한 구분이 잘 되어 있으며 데이터 셋이 균형을 갖추어야 좋은 학습을 가질 수 있다. 하지만 현실은 그렇게 잘 분류/정리가 되어 있지 않다. 그래서 현실을 반영하여 계속 발전되고 있는것이 적은 데이터만 있어도 잘 학습할 수 있는 방법을 학습 하는 방법인 Meta-Learning 방식이다. 해당 논문을 잘 풀어 말하면 " gradient 기반의 복잡한 모델의 적은 수의 업데이트로 학습이 가능하기 위한 모델에 구속 받지 않는 Meta data 를 이용한 학습" 이라고 표현 할 수 있다.
기존에 개/고양이를 정확히 분류를 하려면 train set 이 많은 상태에서 test 결과가 좋아졌지만 train set 이 매우 적다면 결과는 좋지 않았다. 이때 이와 유사한 다른 형태의 데이터로 모델을 학습한 후 학습된 모델을 베이스로 하여 원하는 데이터의 학습을 진행 하는것이다. transfer learning 과 비슷하나 transfer learning 은 하나의 유사한 다른 형태의 데이터를 가지고 사용한다면 meta-learning은 가능한 많은 유사 데이터를 사용 할 수 있다.
다만 비슷한 task을 이용하는것이 매우 중요하다고 보여졌다. 이 논문에서는 optimization-based meta-learning approach 중 하나이다. 여러 유사한 다른 형태의 데이터에서 나온 '파이' 를 사용하여 효율적인 업데이트 방법인 '세타'를 배우고 이를 이용하여 빠르게 학습을 한다. 미리 학습이 되어있는 값을 이용하기 때문에 적은 데이터라도 좋은 결과가 나오게 된다. 해당 모델이 좋은 점은 추가적인 모델링 과정이 필요없고 dradient-based 로 학습되는 모든 모델에서 사용이 가능한점이다. meta-learning 이 매우 어렵게만 느껴졌는데 이번 세미나를 통해 잘 이해 할 수 있게 되었다.
Meta-Learning 이란 주제는 새로운 문제를 푸는 모델을 1) 적은 데이터로 2) 빠르게 배우는 방법을 다룬다. 하나를 가르치면 열을 아는 모델을 만들고자 하는 것이다. 본 세미나에서 충협이가 소개한 MAML은 이러한 목적을 달성하기 위해 일종의 '배경지식'을 모델에게 훈련시켜 놓음으로써 비슷한 종류의 새 문제를 빠르고 간단하게 학습할 수 있도록 유도하였다.
MAML의 방법론에 따라 모델은 앞으로 풀게 될 시험문제를 빠르게 잘 풀기 위해 그와 비슷한 종류의 다양한 연습문제를 통해 '배경지식'을 쌓게 된다. 이 '배경지식'이라는 개념은 모델이 사용할 네트워크의 파라메터 초기값으로써 표현이 되었다. 즉, 모델은 연습문제를 통해 최적의 네트워크 초기값을 찾음으로써 시험문제에도 적은 데이터만으로 빠르게 훈련되는 모델이 되는 것이다. 논문의 실험 결과만 보아도 이러한 접근법이 매우 타당한 방법이란 것을 알 수 있었지만, '배경지식'을 네트워크 초기값으로 사용하는 것엔 어떤 의미가 있기에 이토록 좋은 실험결과가 나올 수 있었을지 생각해보았다. 내 생각에 이 접근법에는 다음과 같은 가정이 깔려있다고 보여진다. '네트워크의 파라메터 벡터가 존재할 수 있는 고차원 벡터 공간상에서 상대적으로 매우 작은 어떤 부분공간 내에 서로 비슷한 문제를 풀 수 있는 파라메터 벡터들이 존재한다'라는 가정. 연습문제를 통해 그 부분공간의 '중심'을 미리 찾음으로써 그 부분공간 어딘가에 있을 새로운 시험문제에 대한 최적 파라메터를 오직 몇 개의 샘플과 몇 번의 파라메터 업데이트 만으로도 쉽게 찾을 수 있는 것이다.
본 논문의 이러한 가정이 매우 간단하고 강력하지만 논리적으로도 타당하다는 사실이 놀랍다. 어머니의 습관적인 잔소리 같은 '배경지식을 쌓자!' 라는 상식적 아이디어도 논리적인 공학적 표현으로 세련되게 구현되는 순간 큰 학문적 발견이 될 수 있다는 것을 다시 한 번 생각해 보게 되었다.
[세미나주제]
Model-agnostic meta-learning for fast adaptation of deep networks
[세미나를 통해 얻은 지식]
- 학습용 데이터가 부족한 경우 이를 극복하기 위한 방법
- transfer learning과 유사하면서도 약간은 다른 meta-learning의 concept
[세미나 Good Point]
- 논문은 다소 해석하기가 어려운 편이었는데, 발표자료가 다른 논문 참조 및 상세한 설명으로
논문에서 이야기 하고자 하는게 무엇인지 이해할 수 있었습니다.
[세미나 소감]
- 머신러닝에 있어 학습용 데이터의 중요성은 중요하다고 알고 있습니다. 이러부분을 파고 들어 스타트업(https://deepnatural.ai/)도 생기는 것이 현재 시장의 상황입니다. 하지만 대규모 데이터 작업은 많은 비용과 시간을 소요하기 때문에 어려운 것이 현실입니다.
-한 domain에서의 데이터셋을 통해서 유사 domain영역으로의 adaptation을 위한 transfer learning에 대해서는 들은바 있었으나 이번에 meta-learning에 대해서 처음 알게 되었습니다. 강사님 설명을 통해 meta-learning에서 파라미터 파이가 한개인 경우 meta-learning은 transfer learning과 유사하다는 사실도 알 수 있었습니다.
-통상적인 머신러닝이 dataset 학습을 통해 model의 파라미터(weights)를 얻고자 하기 때문에 많은 data가 존재하지 않을 경우 학습이 잘 되지 않는 문제점이 존재하여, 이를 극복하기 위해 meta-learning의 경우 weights의 직접 학습이 아닌 domain<-> weights간의 관계(theta)를 학습한다고 합니다. 이것이 과정상 weight initialization에 해당하는 theta를 통해 각 domain에 해당하는 parameter인 파이로 변환한다는 개념일 듯 싶습니다. 이 파라미터 파이를 통해서 각 domain에 대한 adaptation을 가능하게 하는듯 합니다.
-논문에서는 'small local changes to the parameters can lead to large improvements in the task loss'라고 기술하고 있습니다. meta-learning의 목적이 적은 데이터로 loss값의 gradient의 sensitivity를 증대하여 가능하게 한다는 것을 표현하는 듯 합니다.
-이 논문을 통해 N-way, Few Shot의 개념을 알수 있는 점도 좋았습니다.
[세미나 지식의 활용]
- 논문에서는 Image영역, 강화학습에서의 meta-learning을 experiments에 기술하였는데, NLP 영역에서도 이러한 연구를 응용할수 있지 않을까 싶습니다.
금일 세미나는 'Model-agnostic meta-learning for fast adaptation of deep networks'라는 주제로 목충협 연구원이 진행하였습니다. 해당 주제는 Meta Learning에 대한 내용으로 학습데이터가 적을 때, 최대한 빠르게 학습하는 것이 핵심이라고 생각합니다.
일반적으로 모델은 학습데이터가 크고 다양할 때 좋은 모델이 학습된다고 알려져 있고, 실제로도 그렇습니다. 하지만 필드에 나가게 되면 데이터가 부족하거나, 불균형한 문제가 다양하게 발생됩니다. 뿐만 아니라 저희가 미리 서비스를 제공하고, 각 도메인에 맞춰 미세수정이 이루어져야 할 때도 있습니다. 이러한 상황에서 해결책이 될 수 있는 연구와 함께 관련 분야의 키워드를 알 수 있어 정말 도움이 되었습니다.
해당 분야는 현재 저희가 진행하고 있는 프로젝트에도 적용할 부분이 있을 것 같습니다. 다시한번 좋은 분야의 연구를 소개해주셔서 감사합니다.
금일 세미나는 deep neural network의 meta learning에 대한 주제로 진행되었다. Meta learning은 특정 task를 풀기 위한 데이터는 충분하지 않으나, 유사한 domain의 데이터가 많은 경우에 사용할 수 있는 방법론으로, 유사 domain의 다른 task들로부터 일반화하기에 좋은 모델을 학습한 뒤, target task에 대해 adaptation하는 방식으로 작동한다. 다른 task들을 이용해서 부족한 데이터에도 일반화 성능을 높이려는 방향성은 multi-task learning이나 transfer learning과 유사하다고 볼 수 있다. 세미나에서 소개된 논문은 model-agnostic meta-learning for fast adaptitaion of deep networks로, 기본적으로 neural network에 대한 방법론으로 제안되긴 했지만, gradient를 이용해 학습되는 모든 모델에 적용할 수 있기 때문에 활용도가 높을 것 같다. 기존 multi-task나 transfer learning을 통해 해결하려고 했던 문제에 meta learning을 적용하는 것을 고려해보는 것도 괜찮을 것 같다.