머신러닝

커리큘럼 러닝 (curriculum learning)

김잿빛 2020. 11. 6. 13:27

 

머신러닝 알고리즘에게 뭔갈 가르칠 때는 보통 모든 디테일을 한방에 가르치곤 한다. 예컨데 이미지 식별(image classification)을 가르쳐서 이 이미지가 어떤 종(species)인지 학습시킨다고 하자. 보통은 사진마다 메인쿤 고양이, 포메라니안 강아지 등으로 한방에 가르친다는 것이다.

 

하지만 우리 인간이 아이들을 가르칠 때는 이와 다르다. 훨씬 넓은 개념부터 학습시키는 것인데, 강아지면 그 종과 상관없이 그냥 강아지로, 고양이는 고양이로 크게 가르친다. 그렇게 아이가 강아지와 고양이를 구별하게 된 이후에야 어떤 종인지를 알게 되는 것이다.

 

이렇듯 머신러닝에서 난이도가 쉬운 내용부터 단계적으로 가르치는 방법을 '커리큘럼 러닝'이라고 부른다. 90년대부터 등장했던 꽤나 오래된 개념이다. 기존에는 각 난이도 별 단계(stage)마다 다른 종류의 데이터를 학습시켜왔다. 요즈음 대두되는 방법은 각 단계별로 같은 데이터지만 다른 레이블(label)을 주고 학습시키는 것이다.

 

오늘날 대부분의 딥러닝 연구에는 모델의 사이즈가 중요하다. 만약 이미지 식별 시스템이 제대로 작동을 안한다면 충분한 모델로 훈련을 받지 못해서이다. 같은 사이즈의 모델을 학습했을 때, 그 성능을 높이기 위한 연구 또한 지속되고 있으며 '커리큘럼 러닝' 또한 같은 목적이다.