logo

딥러닝에서 연속 학습이란 📂머신러닝

딥러닝에서 연속 학습이란

설명

딥러닝에서 연속 학습이란 평생 학습, 점진적 학습과 같은 말로서 인공 신경망이 순차적으로 여러 작업을 학습하는 것을 말한다. 인간의 경우 새로운 지식을 학습한다고 해서 기존의 지식을 잊어버리지 않는다. 물론 시간이 지나면 기존의 지식을 잊기도 하지만 이 원인이 새로운 지식을 학습했기 때문은 아니다. 하지만 인공 신경망의 경우 하나의 작업을 충분히 학습한 후 새로운 작업을 학습할 때 기존의 작업에 대한 성능이 떨어지는 현상이 발생한다.

예를 들어 MNIST를 트레이닝 셋으로 사용하여 0부터 9까지의 손글씨 숫자를 아주 잘 분류하도록 훈련이 끝난 모델이 있다고 하자. 이때 수체계를 16진법으로 바꾸고 싶어서 A, B, C, D, E, F를 추가로 훈련시키는 상황을 가정하자. 그러면 A~F를 훈련하는 과정에서, 혹은 훈련이 끝난 후 기존에 학습했던 0~9에 대한 정확도가 떨어지게 된다. 이러한 현상을 가리켜 catastrophic forgetting[캐터스트로픽 폴겟팅] 이라 한다. catastrophic forgetting이 일어나는 이유는 이미 학습된 가중치가 과도하게 조정되기 때문인데 이를 semantic drift 라고 한다. 어떤 가중치 $w_{j}$가 고양이를 판별하는데 중요한 역할을 하고있을 때, 새로운 작업을 학습하는 과정에서 $w_{j}$가 변하게 되면 인공 신경망이 고양이를 잘 구분할 수 없게 되는 것이다.

따라서 연속 학습에서는 catastrophic forgetting을 최대한 줄여 새로운 과제를 학습하더라도 기존의 과제에 대한 성능이 떨어지지 않도록 하는 것이 주요 관심사이다. 더불어 학습이 누적 될 수록 새로운 과제를 학습하는 속도가 빨라지도록 하거나, 새로운 작업을 학습하면서 파라매터가 많이 늘어나지 않도록 하는 등의 여러가지 방면에 대해서도 연구가 진행되고 있다.