- 2019년 7월 19일 오후 6:23
- 조회수: 8829
INFORMATION
- 2019년 7월 26일
- 오후 1시 ~
- 고려대학교 신공학관 218호
TOPIC
OVERVIEW
인공신경망 기반의 모델링 기법 중 Continual learning은
Online multi-task learning방식으로, 데이터와
테스크가 순차적으로 주어지는 환경에서 최종적으로 모든 테스크를 수행하는 단일 모델링을 구축하고자 한다. Continual
learning의 목적은 크게 세가지로써, (1)효과적인 테스크 간 지식 전이(knowledge transfer), (2)효율적인 네트워크 및 연산 용량(network
capacity)구축 그리고 (3)새로운 테스크에 대한 모델 가중치 업데이트 과정에서 이전
테스크에 대한 학습 내용 유실 방지(catastrophic forgetting)를 고려하는 것 이다. 이번 세미나를 통해 Continual learning의 배경과 필요성에
대해 소개하고, Catastrophic forgetting문제를 해결하기 위해 제안되어온 접근법들을
공유하고자 한다.
- 참고 논문 및 서적
[1] Parisi, G. I.,
Kemker, R., Part, J. L., Kanan, C., & Wermter, S. (2019). Continual
lifelong learning with neural networks: A review. Neural Networks.
[2] Chen, Z., &
Liu, B. (2016). Lifelong machine learning. Synthesis Lectures on Artificial Intelligence and Machine Learning, 10(3), 1-145.
[3] Yoon, J., Yang,
E., Lee, J., & Hwang, S. J. (2017). Lifelong learning with dynamically
expandable networks. arXiv preprint arXiv:1708.01547.
[1],[2]: Continual learning의 개념과 배경에 대한 참고 문헌
[3]: Continual learning의 접근법 중 인공신경망의 구조적 특성을 활용한 dynamic architecture approach의 대표 연구
청취자 후기
오늘 세미나는 'Continual Lifelong Learning and Catastrophic Forgetting' 주제로 지윤이가 진행하였다. Continual Lifelong Learning은 여러 예측 Task가 순차적으로 주어졌을 때, 과거의 Task 뿐만아니라 앞으로 맞닥뜨린 Task도 잘예측하는 모델을 구축하는 데 목적을 둔 학습방식을 일컫는다. Catastrophic Forgetting라 함은 이러한 Multitask 상황에서 이전 task 예측성능을 보장하지 못하는 문제로, Continual Lifelong Learning은 이를 극복하기 위한 연구다. 오늘 소개해준 논문은 'Life learning with Dynamically Expandable Networks'라는 논문으로 Life Learning 및 Dynamic Architecture를 기반으로 (1) selective retraining, (2) Dynamic network expansion, (3) Network split/duplication 이 세가지 기법을 핵심으로 전개한 모델을 제안하였다. 인공신경망 모델을 사용하였으며 (1) selective retraining: t시점 수행한 task 에서 중요했던 뉴런을 알 수 있는 단계, (2) Dynamic network expansion: 만약 좋은 성능이 보이지 않을 때 dynamic하게 임의적으로 k개 뉴런을 추가하는 단계, (3) Network split/duplication: 마지막으로 task에 따라 학습을 진행하며 파라미터 변화값이 큰 뉴런을 새로 학습하는 단계를 고려한 목적식으로 이루어진다. 그 결과 다양한 task를 순차적으로 처리하는 예제에서 좋은 성능을 보임을 확인하였다.
Online learning, Transfer learning, Meta learning 등 우리연구실에서도 몇 차례 세미나가 진행된 만큼 세간의 관심이 뜨거운 것 같다. 더불어 오늘 발표는 FeiFei 발표를 보는 듯 했다. 지윤이도 FeiFei 발표가 인상적이었다는 점을 말해줬는데 나 역시 그랬다. 청중들에게 새로운 분야를 소개하며 핵심을 전달할 때 바빠보이지 않았다. DMQA에서 열린 세미나였지만 발표 자체가 TED급으로 재미있었고, 본인 연구 확장에 도움이 되어 좋은 연구결과로 이어지기 바란다.
금일 세미나는 지윤이가 'Continual Lifelong Learning and Catastrophic Forgetting' 이라는 주제로 세미나를 진행하였다. Continual learning은 지속적으로 데이터 뿐만 아니라 테스크 역시 추가되는 상황에서 모든 테스크를 한번에 처리할 수 있는 하나의 모델을 구축하는 방법론이다. Catastrophic forgetting은 모델이 새로운 테스크를 학습함에 따라 기존 테스크에 대한 학습 정확도가 떨어지는 현상을 의미한다. 오늘 세미나는 이런 문제 상황에서 단일 모델을 잘 구축할 수 있는 Dynamically Expandable Networks(DEN)에 대한 소개가 핵심이였다. DEN 모델의 아이디어는 기존 모델의 아키텍쳐에서 새로운 테스크가 추가되었을 때 새로운 테스크와 관련 있는 노드와 파라미터를 Loss에 L1, L2 regularization term을 추가하여 업데이트할 파라미터를 선정하고, 네트워크를 확장해가면서 Catastrophic forgetting을 방지하자는 것이다. 세미나를 들으면서 아이디어 자체에 대해서는 흥미로웠지만, 진짜 이 방법론이 working할까라는 생각이 계속 들었는데, 역시나 실험 세팅 자체가 실제로 현업에서 발생하는 데이터와는 조금 차이가 있는 세팅인 것 같아서 아쉽기도 했다. 지윤이가 세미나 끝에서도 언급해줬지만 일정 수준 이상의 양질의 데이터가 있다고 가정했을 때 Vision / NLP / RL 등 연구 분야에서의 테스크들을 인간 수준, 또는 그 이상으로 처리할 수 있는 방법론들은 어느 정도 정립이 되어있다고 생각한다. 그래서 데이터의 양과 질이 불충분할 때, 새로운 데이터가 지속적으로 쌓여 실시간으로 처리해야 할 때, 이전에 트레이닝 데이터셋에서 볼 수 없는 클래스가 테스트셋에 등장했을 때 등 딥러닝 모델이 가져야 할 데이터에 대한 가정들이 깨지는 상황에서 어떻게 모델 성능을 확보할 것인지에 대한 연구들에 대한 관심을 가져야 할 것 같다. 지금 진행하고 있는 3개의 프로젝트 모두 데이터로부터 겪는 이슈들이 많은데 지윤이가 오늘 소개해준 방법론을 적용해 볼 수 있을 것 같다. 특히 물류 공정에서 과거에 발생하지 않았던 이상 패턴들이 새롭게 나타날 때 이를 어떻게 탐지할 것인지, 일부 공정의 데이터로 이상 탐지를 한 모델로 유사 공정의 이상패턴을 탐지를 할 수 있을지에 대한 아이디어를 얻어갈 수 있었다.
최근 핫한 연구 분야인 만큼 내용도 재밌었고 PPT 구성과 발표 능력은 내가 정말 배워야할 점이 많은 좋은 세미나였다. 발표자가 세미나 내용을 200% 이해하고 연구원들에게 내용을 쉽게 설명해주기 위해 정말 많은 고민을 한 흔적이 고스란히 느껴지는 세미나였다. 연구실 선배로서, 프로젝트 PI로서, 같이 공부하는 동료로서 지윤이는 정말 배울게 많은 친구라는 걸 다시한번 느꼈다. 어려운 내용을 쉽게 전달하기 위해 열심히 공부하고 잘 소개해준 지윤이에게 감사하다는 말을 전한다.
이번 세미나 주제는 Continual Lifelong Learning이라는 주제였다. 세미나에서 처음 다뤄진 주제이기 때문에 생소했지만 초반에 연구원들이 친히 들어 익숙한 단어들을 정의하면서 Continual lifelong learning이란 무엇인지 설명되어 유익한 세미나 시간이 되었다. Continual lifelong learning에서 현재 연구의 방향이 Regularization approach, Complementary Learning Systems and Memory Replay, Dynamic Architecture로 진행되어 있고 Dynamic architecture 관련 논문 Lifelong Learning with Dynamically Expandable Networks (DEN)이 핵심적으로 다뤄졌다. 하지만 결국 자세히 살펴보면 개인적으로는 Dynamic architecture와 Regularization approach가 복합적으로 사용된 아이디어라고 생각이 되었다. DEN모델은 continual lifelong model로 online multi-task 상황의 문제를 우수하게 푼다. 하지만 그 과정에서 모델의 capacity가 너무 커지지 않도록 또한 online으로 들어오는 새로운 task를 우수하게 해결하며, 이전 task 성능이 저하되는 catastrophic forgetting문제를 방지하려 노력하였다. 사람이 그동안 아무렇지 않게 할 수 있던 일들을 모델이 할 수 있도록 하기 위해 이렇게 복잡하고 어려운 가정을 두어야만 하는구나 놀라웠다. DEN 모델은 총 세가지의 프로세스로 이루어져있다 [(1) Selective retraining, (2) Dynamic network expansion, (3) Network split/duplication]. 일단 모델은 DNN, 단순 fully connected layer로 가정하면 첫 Task (t1)에 대해서 우수한 성능을 내도록 학습된다. 이때 L1 penalty를 사용하여 모델의 파라미터를 줄여 경량화 하였다. 그 다음 task가 확보되어 모델의 update를 위해 Selective retraining 방법이 사용된다. DNN 모델의 마지막 레이어의 노드와 새로운 task (t2)를 위한 노드를 연결하는 파라미터를 생성한 뒤 이를 L1 penalty를 주어 sparse하게 t2를 잘 풀도록 학습한다. 이때 마지막 레이어 이외 파라미터는 고정되어 있다는 점이 중요하다. 따라서 t2를 잘 푸는 마지막 layer 노드가 선택되면 그 노드들과 연결되어 있는 모든 파라미터와, 마지막 레이어와 t2노드에 연결된 파라미터를 이제 학습한다. 이때 L2 penalty를 주어 파라미터가 크게 변하지 않도록 하여 이전 task t1의 catastrophic forgetting 문제를 예방하였다. 이로써 학습이 완료가 되었음에도 불구하고 새로운 task t2에 대해서 성능이 부족하면 모델의 크기를 늘이게된다. 이때 크기를 매 새로운 task마다 동일하게 증가시키는 것이 아니라 기존의 task들과 현 task의 유사한 정도에 따라 Dynamic하게 모델을 늘인다는 것이 이 논문의 핵심이 아닐까 싶었다. 이때 regularization term으로 Sparse group lasso가 사용되면서 뉴런(incoming 파라미터)이 제거되면서, 제거되지않은 뉴런에 연결된 파라미터들도 sparse하게 선택하여 모델 경량화에 힘을 쓰게 된다. 마지막 단계에서 기존 task를 풀기 위해 학습되었던 파라미터와 새로운 task를 위해 업데이트된 파라미터가 너무 크게 바뀐 것들에 한해서 기존 노드와 파라미터를 그대로 복사하여 사용하면서 catastrophic forgetting이 다시 한번 방지된다. 사람이 장기기억을 활용하고 새롭게 변형되어 저장하고 이 과정을 모사하려 저자들이 굉장이 고군분투했겠구나 생각이 들었다. 이번 세미나 뿐 아니라 지윤이를 보며 디테일을 챙기는 것을 많이 배운다. 항상 고맙게 생각한다는 말을 전하며 이만 글을 마친다.
금일 세미나는 이지윤님께서 'Continual Lifelong Learning and Catastrophic Forgetting' 이라는 주제로 세미나를 발표해주었다. 'Continual Lifelong Learning은 새로운 DATA가 업데이트 되었을 때 처음부터 학습을 하는 것이 아닌 기존의 학습 내용을 이어받아 손 쉽게 학습하는 방법을 말하며, Catastrophic Forgetting은 새로운 DATA가 업데이트 되었을 때, 기존의 학습을 잊어버리는 현상을 말한다. 즉, 인공지능을 인간의 뇌와 같이 활용하기 위해 지속적으로 추가 학습을 하는 과정에서 발생 하는 기억의 망각을 어떻게 되살릴 수 있을까? 라는 주제이다. 세미나에서는 그 대안책으로 Dynamically Expandable Networks(DEN)을 소개해 주었다. DEN은 Neural Network 모델에서 사용된 많은 파라미터 외에 새로운 학습을 위한 파라미터를 추가하여, 추가된 파라미터를 이용하여 새로 입력된 DATA를 학습하는 방법을 제시하였다. 하지만 이 방법은 지속적으로 Update되는 DATA가 늘어남에 따라 모델의 복잡성이 늘어나게(Node가 기하급수적으로 증가)되는 단점을 가지고 있다. 세미나에 소개된 논문은 이를 개선하기 위해 Regularization Term을 활용하여 Node의 중요도를 가려내 추가되는 파라미터의 개수를 최소화하고 기존 및 추가된 DATA에 대한 학습력을 높게 유지할 수 있게 하였다. AI의 발전을 위해 꼭 해결해야하는 주제지만, 굉장히 어려울 수 있는 주제를 적절한 얘시와 호소력있는 발표를 통해 전달하고자 하는 지식을 잘 전달하였던 세미나였다. 세미나를 듣는 내내 발표자의 노력을 느낄수 있었던 세미나였다. 완벽한 준비로 뜻 깊은 시간을 만들어준 이지윤님에게 감사한 마음을 전한다.
이번 세미나는 continual lifelong learning and catatrophic forgetting이라는 주제로 진행되었다. Continual learning은 데이터와 태스크가 순차적으로 주어지는 문제 상황에서 하나의 모델을 지속적으로 학습하여 모든 태스크를 성공적으로 수행하는 것을 목표로 한다. 이런 문제 상황에서는 기존 태스크와 새로운 태스크 간 knowledge transfer를 효과적으로 수행하는 것이 중요하며, 이와 동시에 기존 태스크에 대한 성능을 잃는 문제(catastrophic forgetting)가 발생하서는 안된다. 또한 위 두 조건을 만족하면서도 모델의 용량(layer 또는 weight 개수)가 크지 않도록 만들어야 하는 제약 조건 역시 존재한다. 이번 세미나에서는 continual learning을 수행하기 위해 제안된 dynamically expandable networks(DEN) 알고리즘을 리뷰했다. 해당 알고리즘은 새로운 태스크가 주어질 때 마다 selective retraining, dynamic network expansion, 그리고 network split & duplication이라는 세 단계를 수행함으로써 continual learning을 수행하고자 하였다. 문제 상황이 복잡하고 현실에서 정확하게 일치하는 상황을 찾기는 어려울 것 같지만, 흥미로운 연구주제인 것 같다. 특히 구체적으로 리뷰한 DEN에서 사용된 아이디어들은 다른 문제상황에서도 잘 적용될 수 있을 것 같다.
금일 세미나는 지윤이가 'Continual Lifelong Learning and Catastrophic Forgetting' 이라는 주제로 발표를 진행하였다. 해당 문제 상황은 아래와 같다. '개와 고양이'를 잘 분류하는 모델을 만들면서, '호랑이와 사자'를 잘 분리하는 방식이다. 또한 해당 Task 2가지 전부 예측 성능이 좋아야한다. 또한 현재의 모델이 알고 있는 사전에 정의된 범주가 아닌 새로운 범주가 추가되었을 때도 이를 다른 범주 이름을 가진 것으로 예측 할 수 있어야 한다. 해당 문제 상황은 현실에 반드시 필요하다. 예를 들어 자율 주행 상황에서, 사전에 정의된 범주에 사슴이 없다고 가정하자. 하지만 주행에 방해되는 요소임에는 틀림이 없다. 그래서 이를 추가해야하는데, 기존의 방식(Offline Learning) 방식이 아닌 Online Learning 방식으로 업데이트를 진행해야한다. 이러한 상황들을 해결하고자 하는 알고리즘에 관한 내용이었다.
내용만 들었을 때는 매우 참신한 아이디어였다. 그래서 분류문제 3가지를 잘 예측하고, 다음 Task가 회귀문제가 들어왔을 때의 상황에 대한 나의 질문이 있었다. 문제 상황을 정의하고 해결을 잘한다는 가정하에, 나의 질문과 같은 상황에도 적용이 가능 할것이라고 생각했지만, 코드 상에서는 그렇지 않았다는게 아쉬운 부분이었다. 현재 논문의 필자는 분류문제가 연속해서 들어오는 상황만을 가정한 것 같다. Task에 맞는 Loss function도 변화가 가능하다면, 실제 상황에 적용 가능성이 높을 것이라 생각한다.
지윤이에게 발표장표 구성에 관해 많은 점을 배웠다. 청취자들이 알기 쉽게 예시를 들어주는 부분과, 뒷 부분에서 혼동을 가져올 수 있는 어휘들에 대한 사전 요약 및 선행 학습과정을 통해 뒷 부분의 이해를 쉽게 도와주었다. 기존에 프로젝트를 진행하는 부분중에 Multi class classification 문제가 있다. 해당 문제에서 개수가 작은 경우, 이를 제외하고 분석을 진행하였지만 해당 발표와 지난주의 발표를 논리적으로 잘 조합한다면 개수가 작은 범주에 대해서도 예측을 진행 할 수 있을 것이라는 생각이 들었다. 현재의 트렌트를 이해하기 쉽게 설명해준 지윤이게 고맙다는 말을 전하고 싶고, 앞으로 PPT 작성 스타일도 배우고 싶다는 말을 전하고 싶다.
현재 지배적인 기계학습 패러다임은 ML 알고리즘을 주어진 데이터에 대해 돌려서 모델을 먼저 생성한 후에 실제 도메인에 적용하는 offline learning이기 때문에 새로 생성되는 데이터에 대해서 새로운 모델을 학습해야하는 한계점이 있다. 반면, 사람의 학습은 과거 경험을 어떠한 form으로 간직해 나감과 동시에 현재 데이터에서도 학습을 하는 유연하고도 지속성 있는 online-learning의 양상을 띤다. 이러한 사람의 학습 방식을 모방하는 방식을 Lifelong Learning이라고 하며, 최근 들어 데이터 량이 기하급수적으로 증가함에 따라 그 중요성이 높아지고 있다. Lifelong learning scenario에서 나오는 catastrophic forgetting 문제/ 기존 데이터 직접 접근 불가 / multi-task 문제를 해결하기 위해서 1.memory replay / 2.regularization approach 그리고 3.dynamic architecture 방식이 소개되었다. Memory replay 방식은 기존 데이터에 직접 접근 불가하다는 점에 초점을 맞춰서 아예 기존의 데이터 분포를 생성할 수 있는 generator를 품음으로써 문제를 해결하고자 했다. 다음은 Regularization approach였는데, 다음 Task에서의 NN parameter 업데이트 방향을 정규화 항을 추가함으로써 원하고자 하는 방향으로 업데이트를 시킨다는 아이디어였다. 하지만, 이 두 모델들은 네트워크의 구조가 추가적으로 확장되지는 않기 때문에 마지막으로 제시된 해결책인 Dynamic architecture보다 Catastrophic Forgetting 문제에 다소 취약해 보였다. 이번 발표에 중점적으로 설명된 논문인 ‘Lifelong learning with dynamically expandable networks’. 에서는 선택적으로 네트워크로 동적 확장하는 방식을 취함으로써 지나치게 네트워크 구조가 바뀌는 것을 방지하였다. 기존 Task로 학습된 네트워크 중 그 서브 네트워크를 새로운 Task에 대해서 선택적으로 학습시킨 뒤 그 loss가 일정 threshold보다 낮게 평가되면 네트워크를 확장시키는 방식이다. 위 과정에서 중요한 weight parameter(군)를 골라내기 위해서 L1 norm 형태로 정규화를 시키는데, 기본적인 L1 norm 아이디어도 잘만 쓰면 이렇게도 응용해서 쓸 수 있다는 점에 놀랐다. 첨부자료로 넣어준 Review 논문을 보면 리뷰된 paper가 한 둘이 아니고 읽을거리가 산더미 같았었을 텐데, 바쁜 와중에 방대한 내용을 차분하게 요약해서 설명해준 지윤이에게 고맙다는 말을 전하고 싶다.
금일 세미나는 지윤이가 ‘Continual Lifelong Learning and Catastropoc Forgetting’ 이라는 주제로 발표를 진행하였다. 주제에 들어가기 앞서 먼저 Multi-task learning이란 개념을 먼저 설명해 주었다. Mulit-task learning는 여러가지의 task를 동시에 진행하는 학습방법이다. 예를 들면 한개의 X값을 가지고 여러개의 Y값을 예측하거나 여러개의 X값을 가지고 하나의 Y값을 예측하는 모델이다. 여기서 더 나아가서 Online Mulit-task learning이라는 모델이 있다. 말 그대로 Online Learning과 Multi-task Learning이 합쳐진 개념인데 task가 순차적으로 들어오는 상황에서 모든 task를 잘 풀이하는 모델이다. 빠르게 변화하는 세상속에 데이터도 시간의 흐름에 따라 끊임 없이 생성되고 없어지기 마련이다. 새로운 class와 data가 생겨나면 새로운 task가 주어지게 된다. 이러한 task도 쉽게 학습을 할 수 있는 방법이 ‘Continual Lifelong Learning and Catastrophic Forgetting’이라는 방법이다. 하지만 새로운 data가 들어오게 되면 Catastrophic Forgetting이라는 문제가 발생하여 기존의 학습데이터를 사용하지 못한다. 이러한 문제를 해결하기 위하여 DEN이라는 개념이 나오게 되었다. data의 증가로 인하여 네트워크의 증가를 개선하기 위해서 중요한 노드만을 찾아서 네트워크의 확장을 최소화 할 수 있게 된다. 처음 지윤이의 발표를 들었을때 과연 실제상황에 적용이 가능할지 의문이 들었다. Data의 종류에따라 regression문제와 classification문제로 구분이 되는데 앞의 task에서 학습된 상황에 따라서 그 뒤에 들어오게 되는 task를 잘 해결할 수 있는지에 대한 의문이였다. 이러한 문제만 해결이 가능하다면 대부분의 상황에 적용할 수 있을 것이라고 생각한다. 이번 세미나를 들으면서 발표에대해서 많은 점을 배울수 있었다. 먼저 익숙하지않은 개념이나 용어를 먼저 정리해 주고 넘어가서 뒤에 다소 어려운 내용이 나와도 보다 빨리 이해를 할 수 있었고 발표자의 관점뿐만아니라 듣는 사람들의 관점에서도 잘 준비해준 발표였다. 좋은 발표 진행해준 지윤이에게 고맙다는 말을 전하고 싶다.
이번 세미나는 'Continual Lifelong Learning and Catastrophic Forgetting' 라는 주제로 진행 되었다. 세미나를 들어가기 앞서 중요한 단어나 자주 나오는 용어들을 미리 알려주었는데 이로 인해서 세미나가 진행 될때 빨리 이해 할 수 있어서 참 도움이 된것 같다. Continual Lifelong Learning은 다양한 Task(목적, 이루어야 할 성과) 순차적으로 주어졌을 때, 과거의 Task 뿐만아니라 앞으로 맞닥뜨린 Task도 잘예측하는 모델을 구축하는 데 목적을 둔 학습방식을 일컫는다. 예를 들어서 인간의 학습을 기준으로 세미나를 진행 해 주었는데 어떤 목적을 잘 해결 하도록 학습 하다가 약간 다른 목적을 학습해서 잘 해결 하게 되었을 때 인간의 경우는 그 이전에 목적도 여전히 잘 해결하면서 추가적으로 새롭게 학습한 목적도 잘 해결 하는것이라고 설명을 해주었다. 해당 설명이 "Continual Lifelong Learning" 에 대해 잘 이해가 와 닿았다. catastrophic forgetting 은 하나의 모델에서 multitask 상황에서 이전의 task 에 대한 예측 성능이 좋지 않은것이다. 이를 해결하기 위해 'Life learning with Dynamically Expandable Networks' 라는 논문으로 (1) selective retraining, (2) Dynamic network expansion, (3) Network split/duplication 이 세가지 기법을 핵심으로 전개한 모델을 제안하였다. 기존 모델에서 새로운 task 를 실행 시켜 거기에 예측 성능이 좋도록 중요한 노드를 변경 하고 여기에서 기존 노드에서 크게 변한( 선정 기준 필요) 노드는 이전 노드를 그대로 copy 해와서 (Dynamic network expansion and split/duplication) 기존과 새로운 Task 모두 높은 예측 성능이 나오도록 설정 하는것이다. 이로 인해 불필요한 노드 증가를 제한 할 수 있고 높은 기대 성능을 확인 할 수 있다. 이는 새롭게 모델을 만들 필요 없이 계속적인 추가가 가능한 모델로써 빠르게 변화하고 요청사항이 많은 세상에서 큰 모델 변화 없이 추가되고 생성되는 데이터를 이용하여 새로운 task를 해결 할 수 있는 매우 큰 변황점이 될것으로 느껴졌다. 어려운 세미나 내용을 잘 설명해주어서 참 도움이 되었다.
금일 세미나는 'Continual Lifelong Learning and Catastrophic Forgetting' 라는 주제로 이지윤 연구원이 진행하였습니다. 해당 주제는 Multi Task Learning과 online Learning이 결합된 내용으로 연속적으로 들어오는 데이터를 이용하여, 순차적으로 이루어지는 여러가지의 Task를 하나의 모델로 처리하는 방법을 연구하는 분야였습니다.
세미나의 도입부분에서 중요한 단어 및 개념에 대해 미리 짚고 넘어가주셨는데, 이로 인해 후술되는 설명을 이해하는 데 많은 도움이 되었습니다. 제가 이해한대로 해당 주제를 가볍게 요약하자면 데이터가 stream형태로 들어올 때 지금 주어지는 데이터로 학습을 진행하지만, 과거에 학습했던 내용을 잊지 않도록 하기 위한 online learning의 문제점을 해결하는 방법론적인 분야가 첫번째 목적이었습니다. 두번째 목적은 이렇게 학습하는 모델이 하나의 Task를 해결하는 것 뿐만 아니라, 순차적으로 이루어지는 Multi Task 또한 해결하고자 함으로써, 이 두개를 결합하면 결국 사람이 평소에 하는 일을 최대한 모방해보자 함이 아니었을까 싶습니다.
금일 주제를 들으면서 해당 논문이 계획했던 대로 학습이 되고, 이를 활용할 수 있다면 현재 저희가 진행하고 있는 챗봇 플랫폼 프로젝트 - 다양한 Task들이 존재하며, 지속적으로 학습을 해야 한다는 점을 고려해야 한다는 점을 고려할 때 - 에 많은 도움이 될 것으로 예상됩니다. 다시한번 좋은 분야의 연구를 소개해주셔서 감사합니다.
Continual Lifelong Learning and Catastrophic Forgetting이라는 제목으로 진행된 세미나를 청취하였다. 일반적으로 우리가 특정 데이터에 대해서 문제(task)를 해결하기 위해 모델을 구축하기 위해서는 다음과 같은 몇가지 가정을 하게 된다: 1) 고정된 하나의 문제를 해결하며 2) 학습 이전에 완전한 데이터가 제공되며 3) 데이터와 모델의 구조는 학습을 하는데 있어서 변하지 않는다. 하지만 현실문제에서 데이터는 시간의 흐름에 따라 지속적으로 변화한다. 새로운 클래스가 추가될 수도 있으며, 이에 따라 분석의 목적이 변할 수도 있다. Continual learning이라는 이렇게 데이터와 태스크가 순차적으로 변화하면서 주어질 때, 모든 태스크를 단일 모델을 기반으로 성공적으로 수행하는 것을 목표로 한다. 여기에서 핵심이 되는 부분은, 새롭게 주어지는 태스크에만 너무 집중을 하여 모델을 업데이트 하다보면 기존 태스크의 성능이 저하가 일어날 수 있다는 점이다. Continual Lifelong은 발표자가 언급한 것처럼 다양한 태스크에 대해서 예전의 일도 잘하고 새롭게 주어진 일도 잘하는, 마치 욕심쟁이 같은 approach라고 생각된다. Memory replay, regularization approach, dynamic architecture 3가지로 접근 방식을 구분할 수 있는데 금일 다룬 논문은 dynamic architecture에 집중하여 해결 방법을 제안한 연구였다. 시점에 따라, 이전 태스크를 위해 구축한 네트워크가 새로운 태스크를 수행하기에 충분하지 않으면 확장을 해야 하는데, 불필요한 확장은 오히려 성능 저하를 야기할 수 있다. 소개한 논문에서는 L1-regularization을 이용하여 네트워크를 충분히 sparse하게 학습한 다음에, 새로운 태스크가 들어왔을 때 L1-regularization을 다시 사용하여 관련된 파라미터 (연결된 weight)를 탐색한다. 상당히 cost가 높고 하나하나 찾아야 하는 단점이 있지만 컨셉 자체는 lifelong learning에 알맞다는 생각이 들었다. 마지막 발표자의 말처럼, 실제로 연구를 진행하고 논문을 작성하기 위해서 benchmark 데이터를 사용하다 보니 실험 데이터와 셋팅들이 거창한 연구 배경과는 상당히 동떨어져 있어서 아쉬움이 남았다.
금일 세미나의 주제는 Continual Lifelong Learning and Catastrophic Forgetting이었다. Continual lifelong learning이란 지속가능한 학습으로 새로운 task가 생겼을 때 새로운 모델을 사용하지 않고 기존의 모델에 계속 학습하여 사용할 수 있는 개념이다. 또한 Catastrophic Forgetting은 동일한 네트워크에서 새로운 task를 학습할 때 기존의 task의 성능이 감소하는 개념이다. 즉 forgetting을 최대한 줄이면서 새로운 task도 학습시킬 수 있는 개념이며 multi task learing 개념과 비슷한 면이 있다. 새로운 task를 학습시킬 때 처음에는 기존의 네트워크에 재학습을 성능이 감소하게 될 때 새로운 node를 추가하게 된다. 새로운 node 중에서도 regularize term을 통해 최소한의 노드만 추가되며 필요하지 않은 node는 제거된다.
최근 smart한 ai에 대한 관심이 늘어나고 있으며 이러한 방법론도 그 중 하나인 것 같다. 스스로 새로운 task에 대하여 학습하며 성능을 유지하기 위해 node를 추가/제거해 나가는 개념 자체가 상당히 흥미로웠다. 현실 문제에서는 기존의 학습시킨 task와 다른 문제들이 계속 발생하는 경우가 많다. 이러한 경우 기존의 machine learning 관점에서는 데이터의 특성이 변했기 때문에 새로운 데이터만 갖고 학습시키는 것이 맞지만, multi task, meta learning, transfer learning등 기존의 데이터를 이용하려는 방법들이 많다. 점점 쌓여가는 데이터를 잘 활용할 수 있는 시도이며 이번 세미나의 주제도 현실 문제에 잘 적응할 수 있는 ai를 만드려는 시도인 것 같아 흥미로웠다.
금일은 Continual Lifelong Learning에 대한 주제로 세미나가 진행되었다. 세미나는 먼저 Multi-task에 대한 정의로 시작되었다. Multi-task란 여러 개의 task를 동시에 학습하는 방법론으로, Task 간의 지식을 서로 공유해서 단일 Task에 비해 성능이 향상되는 것을 목표로 한다. 이어서 Online Learning에 대한 설명이 이어졌는데 Online Learning은 데이터가 순차적으로 주어지는 상황에서 모델을 학습시키는 방법으로 한번 사용한 데이터는 재사용하지 않는 것이 특징이다. 이후 Continual Lifelong Learning에 대한 설명이 이어졌다. Continual Life Learning은 모델이 새로운 task에 대해 학습하면서 이전 task로 배운 네트워크를 까먹는 현상인 Catastrophic forgetting 문제를 해결하기 위해 제안된 모델이다. 대표적으로 진짜 같은 가짜 학습 데이터를 잘 생성하는 Generator를 구축하는 Memory Replay 방법과 모델의 파라미터를 업데이트할 때, 조금씩 변경되도록 Regularization term을 추가하는 방식, 네트워크의 구조를 동적으로 변경할 수 있도록 하는 Dynamic architecture방식 등이 있다. 개인적으로 이번 세미나를 진행한 지윤이의 마지막 말이 인상 깊었다. 과거에 비해 예측 성능이 좋은 모델이 많이 등장하면서 추후에 연구자로서 무엇을 더 할 수 있을 것인가에 대한 고민이 많이 있었다는 말이다. 생각해보면 데이터가 생성 되는 장소도 다양하고 데이터를 사용 할 수 있는 곳도 다양하며, 문제를 푸는 방식을 정의하는 방법도 다양하다. 또한 모델의 예측 성능뿐 아니라 해석도 요즘은 중요한 논제로 떠오르고 있어 이를 해결하는 방식도 많이 연구되고 있다. 나 또한 머신러닝, 딥러닝을 공부하는 사람으로써 어떤 분야를 더 깊이 있게 연구해야 하는가에 대한 고민이 많았다. 지윤이의 이야기를 들으며 이 고민에 대해 다시 한번더 생각해 볼 수 있는 좋은 세미나였다.