- 2021년 10월 8일 오후 4:42
- 조회수: 6110
INFORMATION
- 2021년 10월 8일
- 오전 12시 ~
온라인 비디오 시청 (YouTube)

TOPIC
On-Line Video
OVERVIEW
발표자 후기

금일 세미나에서는 Curriculum Learning의 대표적인 4편의 논문을 소개하여 전반적인 연구 흐름을 정리했다. 그동안 알고 있었던 논문들의 내용을 정리할 겸, 세미나 발표를 준비하게 됐는데 개념을 쉽게 풀어서 잘 설명하는 것이 생각보다 어려운 일이었다는 것을 새삼 깨달았다. 또한 발표 준비를 통해 세미나 자료에서는 다루지 못했지만 Curriculum Learning 분야의 최신 논문들을 쭉 훑어볼 기회를 얻었는데 익혀야 할 논문들이 꽤나 많다는 것을 느꼈다. 특히 최근 Curriculum Learning 연구는 강화학습을 접목하여 이루어지고 있는데, 조금 긴 텀을 가지고 강화학습을 공부해서 개인 연구 진행 계획을 세워야겠다는 생각이 들었다.
청취자 후기

금일 세미나에서는 커리큘럼 러닝(curriculum learning)이 다루어졌다. 사람이 학습할 때 쉬운 것부터 이해해서 어려운 것을 배우는 방향, 즉 점차 심화학습하는 방향으로 학습을 할 때 더 적은 시간을 들여 더 높은 성취를 낼 수 있다는 것은 당연한 이치이다. 이러한 사람의 학습 방식을 모사하려는 인공지능 연구 방향이 커리큘럼 러닝이다. 2009년 Yoshua Bengio는 continuation methods를 이론적 배경으로 삼아 쉬운 데이터부터 학습하고 이후 점차 어려운 데이터를 추가하여 학습하게 될 경우 빠른 수렴 속도를 확보하고 local minima에 빠지는 경향성을 감소시켜 모델 성능이 향상됨을 보였다고 한다. 이때 학습 난이도를 사전지식으로 가지고 있기는 어렵다는 당연한 한계점에 봉착하게 되고 self-paced learning에서는 쉽고 어려움의 기준을 손실 함수의 값으로 가정하여 특정 threshold 이하의 손실 값을 가지는 샘플은 쉬운 샘플, 그렇지 않으면 어려운 샘플이라 가정하여 문제를 해결하였다. 2015년 self-paced curriculum learning은 self-paced learning과 curriculum learning의 핵심 아이디어를 결합하였는데, 학습 난이도를 0과 1 이진 값이 아닌 0~1사이의 실수 값으로 변경하고, 데이터에 대한 사전 지식이 있다면 이 또한 제한되도록 하는 curriculum region 아이디어도 제안하였다. 이러한 curriculum learning 핵심 아이디어는 레이블이 잘못 매겨진 corrupted samples이 포함되어있는 상황, 클래스 불균형 등 다양한 상황에 적용되고 있는 추세라고 한다. 본 세미나는 자주 접하지 못했던 커리큘럼 러닝 내용에 대해서 소개해주고, 다양한 논문과 활용 추세까지 알려준 유익한 세미나였다.

이번 세미나는 ‘Curriculum Learning’에 관한 주제로 진행되었다.
Curriculum learning의 핵심 아이디어는 ‘쉬운 샘플부터 학습하자’이다. 인간의 학습 프로세스를 모방하여 쉬운 것부터 학습한 후, 난이도에 따라 어려운 것까지 순차적으로 학습하는 프로세스이다. 이를 통해 빠른 수렴 속도를 확보하고, local minima에 빠지는 경향을 감소시킬 수 있다. Curriculum learning을 적용하기 위해서는 데이터의 학습 난이도에 대한 정보가 필요한데, 현실 문제에서 실제 데이터는 학습 난이도에 대한 사전지식이 없다는 문제점이 있다. 이러한 문제를 해결하기 위해 self-paced learning 방법론이 대두되었다. 컨셉은 현재 학습 단계에서 특정 임계값 이하의 손실 값을 가지는 샘플들만 학습에 반영하고, 임계값 이상의 데이터는 학습에서 배제한다. 이후, epoch이 증가함에 따라 임계값을 증가하여 어려운 샘플을 학습에 포함시키는 사전 지식 없이 학습 난이도를 계산하는 구조이다. 이후, Self-paced learning와 Curriculum learning을 결합한 Self-paced Curriculum learning은 데이터에 대한 사전지식을 활용하면서, 학습 과정에서 데이터 학습 난이도를 활용한 방법론이다. 이어 발전된 MentorNet은 Curriculum learning의 아이디어를 통해 잘못 매겨진 레이블의 정보를 식별하여 과적합을 방지는 모델이다.
Curriculum learning이란 주제에 맞게 세미나 구성조차 Curriculum learning 느낌이 물씬 나도록 유익한 내용을 준비해주신 상훈이형께 감사한 마음이다.

이번 세미나는 Curriculum Learning을 주제로 진행되었다. 딥러닝 모델은 데이터가 큰 경우 배치 단위로 나누어서 학습하고, 이 배치는 일반적으로 랜덤한 순서로 학습한다. 이 Curriculum learning의 핵심 아이디어는 이 배치를 랜덤하게 학습하는게 아니라 학습 난이도에 따라 정렬시킨 뒤 쉬운 것 부터 학습하고, 차츰 어려운 것까지 학습하면 빠른 수렴 속도를 얻을 수 있고 local minima에 빠지는 risk를 줄일 수 있다는 것이다.
재밌는 점은 실제로 이러한 아이디어대로 쉬운 배치먼저 학습하면, 처음부터 모든 샘플을 학습한것보다 순서만 바꿨을 뿐인데 더 좋은 성능을 얻을 수 있다는 것이다. 그러나 그전에 이러한 아이디어는 쉬운 샘플을 어떻게 골라내야하는 것에 대한 사전 지식이 필요하단 문제가 있었다. 이러한 문제에 대해서, Self-paced Learning은 학습 과정에서 특정 샘플이 큰 loss를 가진다면 이는 어려운 데이터로 보고 단계가 지나고 나서 학습하도록 한다. 어려운 데이터로 판단하는 threshold를 점점 늘려가며 어려운 데이터들이 나중에 학습되도록 한다. 그리고 이 둘을 합친 self-paced curriculum learning은 난이도에 대한 사전지식의 변수 vi를 최적화하여 0,1사이의 값을 갖게 하여 학습에 반영한다.
MentorNet은 이러한 Curriculum learning의 아이디어를 이용하여 오정보에 대한 과적합을 방지하는데 사용했다. 실제로 연구를 하다보면 레이블이 잘못 매겨진 경우가 상당히 빈번한데, 이 MentorNet은 이러한 위와 같은 curriculum learning에서의 어려운 샘플중에서 오정보를 인식할 수 있도록 하고, 레이블이 정확하게 매겨진 Clean set을 통해 학습한 다음, 남은 샘플의 노이즈를 판별한다.이를 통해서 잘못된 라벨이 많아도 성능 저하가 적게 만들어주었다.
액티브 러닝이 레이블이 없는 샘플에 대해 어려운 샘플을 먼저 골라내서 배우면 빠르게 성능을 획득할 수 있다는 아이디어와 달리 curriculum learning은 쉬운것부터 어려운것을 학습하면 높은 성능을 획득하는데 도움을 준다고 한다. 상황에 따라서 어떤 것을 필요로 하는가에 따라 접근하는 아이디어가 달라서 그런 거겠지만, 결론적으로 모델이 제대로 분류하는데 필요로 하는 feature가 무엇인지에 대한 이해가 많이 필요하다는 생각이 들었다. 세미나를 진행할 때 굉장히 수식이 많았음에도 굉장히 쉽게 이해가 간다고 느껴졌다. 실제 아이디어를 수학적으로 어떻게 접근하고, 어떻게 난이도를 계산해내는지를 보면서 이러한 논리적인 접근에 대해 굉장히 중요하단 생각이 들었다. 알기 쉽게 알려준 상훈이에게 감사의 마음을 전한다.

금일 세미나는 커리큘럼 학습의 대표적인 방법론 4가지와 최신 연구 트렌드를 상훈이 형이 소개해주었다. 인간의 학습 프로세스를 본따서 딥러닝 학습에도 적용한 것으로, 커리큘럼 러닝은 쉬운 데이터부터 학습을 시작해 점점 어려운 데이터를 포함하여 학습하는 방법론이다. 랜덤한 순서로 데이터를 학습한 모델보다 일반화 성능이 더 높다는 장점을 갖고 있으며, 학습 수렴 속도도 더 빠르다고 알려져있다. 그리고 이론적 배경도 탄탄한 멋진 학문이라는 것을 본 세미나에서 알게 되었다.
커리큘럼 러닝의 핵심이 학습 쉬운 샘플부터 먼저 학습하기이므로 어떠한 데이터가 학습하기 쉬운 샘플인지 판별할 수 있어야 한다. 또한, 어떠한 데이터 샘플이 어려운 것인지 사전에 알려져 있는 소식이 있다면 그것을 적극적으로 활용하는 것도 중요하다.
Self-paced 방법론은 손실함수 값이 클수록 학습이 어려운 데이터라고 간주하는 아이디어를 사용하고 있다. 특정 threshold 값 람다를 활용하여 학습에 쉬운 데이터인지 아닌지를 판별하게 된다. Self-paced-커리큘럼 방법론은 사전에 알려진 데이터 학습 난이도 여부와 데이터 가중치 부여 방법을 이전보다 개선시킨 방법론이다. 데이터에 대한 가중치 자체를 학습하기 위해 제안된 멘토넷, 학생네트워크가 개인적으로 인상 깊은 방법론이였다. 학습에 유리하도록 좋은 웨이트를 멘토넷이 학습하기 위해, 매 에폭별 로스에 대한 변화를 LSTM으로 참고하는 것이 멘토넷의 메인 아이디어였다.
좋은 세미나를 준비해주신 상훈이 형에게 감사의 말을 전하며, 후기를 마치도록 한다!

이번 세미나는 'Curriculum Learning'을 주제로 진행되었다. 일반적인 딥러닝 모델 학습 방식은 사용자가 설정한 배치 단위로 데이터를 랜덤하게 나누어 학습하는 방식을 따른다. 그러나 curriculum learning은 무작위 순서가 아니라, 쉬운 학습부터 점차 어려운 학습까지 수행하는 인간의 학습 방식을 모방하여 빠른 수렴 속도 확보 및 local minima에 빠지는 경향성 감소를 가능하게 한다. Curriculum learning의 실제 학습 진행과정은 다음과 같다. 먼저 학습 전, 학습 난이도에 따라 데이터를 정렬 후 학습 난이도가 낮은 샘플들만으로 여러 epochs 학습한다. 이때, 사전에 정의한 switch epoch 이후에는 학습 난이도가 높은 샘플들로 여러 epochs 학습한다. 따라서 최종 학습 모델을 효율적으로 학습하여 고성능 성과를 확보하게 된다. 그러나 curriculum learning을 적용하기 위해서는 데이터의 학습 난이도에 대한 사전 지식이 필요한데 반해 현실 문제의 실제 데이터는 이러한 사전 지식이 존재하지 않는다는 한계점을 가진다. 이를 극복하기 위해 고안된 'Self-paced learning'은 loss 값이 클수록 학습 난이도가 높은 샘플로 간주하고, 특정 threshold 이하의 loss 값을 가지는 샘플들만을 초기 학습에 반영한다. 이후 점진적으로 threshold 값을 키워 후기 epoch 시에는 모든 샘플들을 학습에 반영한다. 'Self-paced curriculum learning'은 self-paced learning과 curriculum learning을 결합한 방법론이다. 이는 self-paced learning과는 달리 학습 난이도를 0~1 사이의 실수값으로 출력하게 하며, 데이터의 사전 지식을 반영하는 curriculum region을 적용하였다. 마지막으로 소개해준 'MentorNet'은 curriculum learning의 아이디어를 활용해 잘못 매겨진 라벨의 오정보, 즉 loss 값이 큰 데이터를 학습에 작은 가중치로 반영하여 오정보에 대한 과적합을 방지하는 방법론이다. 이는 추가적인 학습 반영 가중치 출력 모델을 통해 잘못 매겨진 라벨을 인식하고, 결과적으로 오정보에 의한 성능 저하가 적다는 장점을 가진다.
이전에 진행된 open set recognition 세미나부터 이번에 진행된 curriculum learning 세미나까지, 상훈오빠 특유의 차분하고 꼼꼼한 설명으로 낯선 개념들을 잘 잡아나갈 수 있었다. Curriculum learning의 큰 맥락을 쏙쏙 짚어줌과 동시에 여러 방법론들의 디테일을 알기 쉽게 전달해준 상훈오빠께 감사의 말씀을 전하고 싶다.

이번 세미나는 Curriculum Learning에 대한 주제로 진행되었다. Curriculum learning의 핵심 아이디어는 일반적인 딥러닝 모델의 학습 방식과는 달리, 입력 데이터의 학습 순서를 고려하여 쉬운 샘플부터 학습하고 점차 어려운 샘플을 학습한다는 것이다. 마치 인간이 학습하는 형태를 따르는 것으로써, 빠른 수렴 속도와 Local minima에 빠지지 않는 성능을 확보할 수 있다고 한다. Curriculum learning의 간단한 실험으로 동그라미, 삼각형, 사각형을 분류하는 실험이 소개되었는데, switch epoch까지 쉬운 샘플을 먼저 학습하고, 이후 어려운 샘플을 학습하는 실험을 해본 결과, switch epoch이 증가할수록, 즉 쉬운 샘플을 충분히 학습한 후에 어려운 샘플을 학습할수록 성능이 향상되는 것을 확인할 수 있었고, 굉장히 흥미로웠다. 하지만 여기서 가장 중요하고 어려운 문제는 학습 데이터를 쉬운 샘플과 어려운 샘플로 사전에 구분을 해야 하는데 이를 위해서는 사전지식이 꼭 필요하다는 점이다. 따라서 이 부분에 대한 해결을 위해 후속 연구들이 진행되었는데, Self-paced learning은 사전지식 없이, 학습 과정에서 학습 난이도를 계산하여 쉬운 것부터 학습하는 아이디어를 제안하였다. Self-paced curriculum learning은 Self-paced learning과 Curriculum learning을 결합하여 사전지식을 활용하면서 학습 과정에서의 학습 난이도도 활용하는 형태의 방법론이다. 마지막에 소개된 MentorNet은 Curriculum learning의 개념을 활용하여 잘못된 정보를 가진 데이터를 구분하고 이에 대한 과적합을 방지할 수 있는 방법론이다. Curriculum learning은 이외에도 클래스 불균형 문제나 강화학습 분야에서도 적용할 수 있어 다양한 형태로 적용될 수 있음을 알 수 있었다. 즉, 어떤 분야에서도 모델을 학습할 때 Curriculum learning의 개념이 적용될 수 있겠다는 생각이 들었고, 특히 쉬운 샘플과 어려운 샘플을 사전지식으로 쉽게 구분할 수 있는 경우라면 분명한 효과를 낼 수 있는 방법론일 것 같다. 많은 부분에 적용될 수 있는 유익한 내용으로 세미나를 준비해준 상훈이에게 감사의 말을 전한다.

이번 세미나는 "Curriculum Learning"이라는 주제로 진행됐다. Curriculum Learning은 모델을 학습할 때 쉬운 데이터를 먼저 학습하고 어려운 데이터를 학습하도록 하는 학습 전략으로 이러한 학습 전략을 활용했을 때 학습의 안정성이 향상되고 모델의 성능이 올라간다고 알려져 있다. 처음으로 소개된 논문은 Curriculum Learning을 최초로 제안한 논문으로 해당 논문에서는 데이터를 난이도에 따라 나누고 쉬운 샘플만을 학습하다 일정에폭 이후에 어려운 샘플을 학습시키게 된다. 이때 쉬운 샘플에 대해 충분히 학습한 후 어려운 샘플을 넣어준 모델이 그렇지 않은 모델에 비해 성능이 향상됨을 확인할 수 있다. 하지만 이러한 방식은 데이터의 난이도에 대해 사전에 알고 있어야 하지만 대부분의 경우는 데이터의 난이도를 알기 어렵다. 따라서 Self-paced Learning에서는 모델의 loss 값을 활용하여 일정 threshold 이하의 loss 값을 갖는 데이터에 대해서만 학습을 진행하여 데이터의 난이도를 구분한다. Self-paced Curriculum Learning에서는 단순히 데이터를 모델의 학습에 반영할지 여부를 binary로 설정하지 않고 가중치를 활용해 loss가 높을 수록 학습에 반영되는 정도를 작게 만들게 된다. 마지막으로 소개된 MentorNet에서는 Curriculum Learning의 아이디어를 차용해 잘못 레이블 된 데이터가 있는 상황에서도 잘 학습되는 모델을 구축하는 것을 목적으로 한다. 실제 학습시키고자 하는 모델을 StudentNet이라고 하고 일정에폭에 다다르면 clean data로 MentorNet을 학습해 각 데이터의 가중치를 산출해주는 모델을 학습시키게 된다. StudentNet은 MentorNet의 출력값인 각 데이터의 가중치를 반영해 학습하게 되며 이를 통해 노이즈가 있는 레이블의 가중치를 줄어든 채로 학습을 진행하게 되어 레이블에 노이즈가 있어도 좋은 성능을 낼 수 있게 된다. 이번 세미나를 통해 Curriculum Learning의 전반적인 내용에 대해 알게 되어 의미 있는 세미나였다. 세미나를 위해 고생해준 상훈이형에게 감사 인사를 전한다.

이번 세미나는 curriculum learning에 대한 큰 흐름에 대해 상훈이형이 발표해주었다. Curriculum learning이란 2009년 유명한 머신러닝 연구자인 yoshua bengio가 "Curriculum learning"이라는 논문을 발표하며 연구가 시작되었다.
Curriculum이라는 말에서도 알 수 있듯이 모델을 학습시킬 때 어떠한 교육과정을 제공한다는 것인데 curriculum learning에서는 batch의 구성을 쉬운 문제에서 어려운 문제로 난이도를 순차적으로 구성하여 모델에 Local minima에 빠지는 것을 방지하고 좀 더 빠른 수렴을 할 수 있도록 한다. 실제 학습단계에서는 쉬운 난이도의 관측치로 여러 에폭을 학습한 뒤, 특정 에폭 이후 어려운 관측치를 학습하게 된다.
여기서 가장 큰 문제는 관측치에 대한 난이도를 정의하기 매우 어렵다는 것이다. 이 문제를 해결하기 위해서 self-paced learning이라는 방법론이 등장한다. 이 방법론은 배치마다 loss를 계산하고 특정 값 이하의 loss가 쉬운 관측치에 대한 배치라고 가정한 뒤 이 loss 만을 이용하여 모델을 업데이트한다. 이 방법으로 사전에 관측치에 대한 난이도 분류 문제를 해결하였다. 이 때, 에폭이 지날수록 loss의 임계값을 증가시킨다.
MentorNet은 이러한 curriculum learning을 활용하여 mismatched data를 학습에서 제외시키는 방법론이며 오정보에 대한 과적합을 방지한다.
이번 세미나에서는 curriculum learning에 대한 중요한 연구 흐름을 알 수 있었고, 이 개념은 통해 mismatched sample 문제를 해결하는 연구 동향까지 알 수 있었다. 좋은 세미나를 준비해준 상훈이형에게 감사를 전하며 세미나 후기를 마친다.