전이학습 (Transfer Learning)
쉽게 풀면
자전거를 탈 줄 아는 사람이 오토바이를 처음 배운다고 생각해봅시다. 완전히 백지 상태에서 시작하는 것보다 훨씬 빠르게 익힐 수 있습니다. 균형을 잡는 감각, 핸들을 조작하는 요령 같은 것을 이미 몸에 익혔기 때문입니다. 전이학습도 이와 비슷합니다. 이미 수백만 장의 이미지나 방대한 텍스트로 미리 학습되어 선, 모양, 문법 구조 같은 기본적인 특징을 파악하고 있는 모델(사전학습모델)을 가져와서, 내가 풀고 싶은 새로운 문제에 맞게 일부만 다시 학습시키는 것입니다. 처음부터 모든 것을 새로 가르칠 필요가 없으니 데이터가 적어도, 시간이 짧아도 좋은 성능을 낼 수 있습니다.
왜 중요한가
대량의 라벨링된 데이터를 모으기 어려운 의료, 소수 언어, 특수 산업 분야에서 전이학습은 적은 자원으로도 실용적인 성능을 낼 수 있게 해주는 핵심 전략입니다. 대규모 사전학습모델의 등장 이후 대부분의 딥러닝 응용 연구는 처음부터 모델을 학습시키기보다 기존 모델을 어떻게 효율적으로 전이·적응시킬지를 다루는 방향으로 옮겨가고 있습니다.
논문에서는 이렇게 쓰입니다
이 문장은 일반 이미지로 미리 학습된 모델을 가져와 소수의 의료영상 데이터로 추가 학습시켰더니, 처음부터 학습했을 때보다 훨씬 적은 데이터로도 높은 정확도를 얻었다는 뜻입니다.
자연어처리 분야에서 일반 텍스트로 학습된 언어모델을 특정 전문 분야 문제에 재활용한 사례입니다.
음성처리 분야에서 데이터가 부족한 언어를 대상으로 전이학습을 적용한 예시입니다.
조금 더 깊게 보면
전이학습을 구현하는 방식은 크게 사전학습모델의 일부 계층만 새로 학습시키는 방식과, 전체 가중치를 그대로 둔 채 마지막 출력층만 새로 붙이는 방식(특징 추출, feature extraction)으로 나눌 수 있습니다. 어느 계층까지 고정하고 어느 계층부터 다시 학습시킬지는 원본 작업과 대상 작업의 유사도, 가용 데이터 양에 따라 달라지며, 최근에는 전체 모델을 재학습하는 대신 일부 파라미터만 추가로 학습하는 경량화된 방식도 널리 쓰입니다.
주의할 점
전이학습은 파인튜닝과 같은 말로 혼동되기 쉽지만, 엄밀히는 파인튜닝이 전이학습을 실제로 구현하는 대표적인 방법 중 하나입니다. 또한 원래 모델이 학습한 데이터(원본 작업)와 새로 풀려는 문제(대상 작업)가 너무 다르면 오히려 성능이 떨어지는 "부정적 전이(negative transfer)"가 일어날 수 있어, 두 작업 사이의 유사성을 고려해야 합니다.