머신 러닝 분야에서 멀티태스크 학습(MTL)
은 매우 기대되는 연구 개발 방향이 되었습니다. 이 접근법의 핵심 아이디어는 여러 학습 과제를 동시에 해결하고 과제 간의 공통점과 차이점을 활용하는 것입니다. 모델만 학습하는 것에 비해 MTL은 학습 효율성과 예측 정확도를 크게 향상시킬 수 있습니다. 멀티태스크 학습의 초기 버전은 "힌트"라고 불렸으며 1997년 Rich Caruana가 그의 논문에서 MTL이 병렬 학습과 표현 공유를 통해 일반화를 개선하는 방식을 설명하면서 처음 제안했습니다.
“멀티태스크 학습은 관련 작업의 훈련 신호에서 도메인 정보를 추론 편향으로 활용하여 추론을 개선하는 방법입니다.”
분류 맥락에서 다중 작업 학습은 공동 학습을 통해 여러 분류 작업의 성능을 개선하는 것을 목표로 합니다. 예를 들어, 다양한 사용자를 위한 스팸 필터의 경우, 각 사용자는 스팸을 식별하는 데 있어 기능에 대한 분포가 다를 수 있습니다. 영어 사용자에게는 모든 러시아어 이메일이 스팸으로 간주될 수 있지만, 이는 러시아어 사용자에게는 적용되지 않습니다. 그러나 이 분류 작업에는 여전히 자금 이체와 관련된 텍스트 기호 등 공통적인 특징이 남아 있습니다. 각 사용자의 스팸 분류 문제를 MTL을 통해 공동으로 해결함으로써 각 솔루션이 서로 영향을 미쳐 성능을 향상시킬 수 있습니다.
그러나 다중 작업 학습의 핵심 과제는 여러 작업의 학습 신호를 단일 모델로 통합하는 방법에 있습니다. 이 부분은 다양한 작업 간의 일관성이나 모순에 따라 크게 달라집니다. MTL 맥락에서 정보는 작업 관련성에 따라 선택적으로 공유될 수 있습니다.
“작업의 조합과 중첩을 통해 정보를 추출하고, 작업 의존성 구조에 따라 선택적으로 데이터를 공유할 수 있습니다.”
특히, 작업은 일반적인 지표에 따라 그룹화되거나 계층 구조로 존재할 수 있습니다. 예를 들어, 각 작업의 매개변수 벡터는 일부 기반의 선형 조합으로 모델링될 수 있습니다. 관련 작업 중복은 작업 간의 공통점을 보여주며, 이를 바탕으로 특정 기본 요소에 의해 생성된 부분 공간에서 작업 조합을 수행할 수 있습니다. 이러한 구조에서는 여러 작업이 분리되거나 중복될 수 있습니다.
관련 업무 외에도 MTL은 관련 없는 업무의 잠재력을 활용할 수 있습니다. 그 성격에 관계없이 관련 없는 보조 작업을 사용함으로써, 우리는 여전히 응용 프로그램에서 공동 학습의 이점을 얻을 수 있습니다. 그 이유는 작업 간의 상관 관계에 대한 사전 지식이 있으면 각 작업 조합에 대한 더 희소하고 유익한 표현을 얻을 수 있기 때문입니다.
"합성 데이터와 실제 데이터를 모두 사용한 실험에서 관련 없는 작업을 포함하는 모델은 표준 멀티태스크 학습 방법보다 상당히 우수한 성과를 보였습니다."
멀티태스크 학습과 밀접한 관련이 있는 개념이 지식 전달입니다. 기존의 멀티태스크 학습은 여러 작업에 걸쳐 병렬로 공유된 표현을 개발하는 것을 의미하지만, 지식 전수는 순차적인 공유된 표현을 의미합니다. 실제 응용 분야에서는 딥 컨볼루션 신경망인 GoogLeNet과 같은 대규모 머신 러닝 프로젝트를 통해 견고한 표현을 개발할 수 있으며, 이는 관련 작업에 대한 알고리즘을 추가로 학습하는 데 큰 도움이 될 것입니다.
예를 들어, 사전 훈련된 모델은 다른 학습 알고리즘에 대한 전처리를 수행하기 위한 특징 추출기로 사용될 수 있습니다. 또는 사전 훈련된 모델을 사용하여 비슷한 구조의 모델을 초기화한 다음 다양한 분류 작업을 학습하도록 미세 조정할 수 있습니다.
어떤 경우에는 겉보기에 관련이 있는 작업을 동시에 훈련하는 것이 단일 작업 모델에 비해 성능이 저하될 수 있습니다. 이러한 갈등을 해결하려면 다양한 MTL 최적화 방법을 활용하여 이 문제의 영향을 최소화해야 합니다. 일반적으로 각 작업별로 계산된 그래디언트는 다양한 집계 알고리즘이나 휴리스틱 방법을 통해 결국 공동 업데이트 방향으로 병합됩니다.
기술의 발전과 멀티태스크 학습에 대한 심층적인 연구를 통해, 우리는 다음과 같은 질문을 하지 않을 수 없습니다. 멀티태스크 학습은 앞으로 머신 러닝 모델의 정확도와 적용 범위를 어떻게 더욱 개선할 수 있을까요?