상위 목록: 하위 목록: 작성 날짜: 읽는 데 8 분 소요

레이블의 비용

지금까지 다룬 신경망은 대부분 지도 학습(Supervised Learning)으로 학습했습니다. 입력마다 정답 레이블이 붙은 데이터를 대량으로 준비하고, 예측이 정답과 가까워지도록 가중치를 갱신하는 방식입니다. 합성곱 신경망이 이미지 분류에서 큰 성공을 거둔 것도 사람이 직접 레이블을 붙인 100만 장 이상의 이미지 데이터 세트가 있었기 때문입니다.

그러나 레이블을 만드는 일은 비용이 큽니다. 의료 영상에 질병 여부를 표시하려면 전문의가 한 장씩 판독해야 하고, 이미지 분할처럼 픽셀 단위의 레이블이 필요하면 이미지 한 장에 수십 분이 걸리기도 합니다. 실제 현장의 문제는 대부분 레이블이 붙은 데이터는 적고, 레이블이 없는 데이터는 많은 상황입니다. 공장 카메라는 매일 수많은 사진을 찍지만, 그중 불량 여부가 확인된 사진은 일부뿐입니다.

데이터가 적으면 과대적합과 정칙화에서 다룬 것처럼 모델이 학습 데이터를 외워 버립니다. 정칙화는 과대적합을 늦출 수는 있지만, 데이터에 없는 지식을 만들어 내지는 못합니다. 이 문제를 해결하는 두 가지 방향이 이번 강좌의 주제입니다. 하나는 다른 문제에서 이미 배운 지식을 가져오는 전이 학습(Transfer Learning)이고, 다른 하나는 레이블 없이 데이터 자체에서 학습하는 자기 지도 학습(Self-Supervised Learning)입니다.



전이 학습(Transfer Learning)

사람은 새로운 일을 배울 때 처음부터 시작하지 않습니다. 자전거를 탈 줄 아는 사람은 오토바이를 더 빨리 배우고, 영어를 아는 사람은 프랑스어 단어를 더 쉽게 익힙니다. 이전에 배운 지식 중 새 문제에도 통하는 부분을 가져와 쓰기 때문입니다.

전이 학습(Transfer Learning)은 이 방식을 신경망에 적용합니다. 데이터가 풍부한 문제로 먼저 모델을 학습시키고, 그 모델을 데이터가 적은 새 문제의 출발점으로 사용합니다. 먼저 학습하는 단계를 사전 학습(Pre-training), 사전 학습한 모델을 새 문제에 맞게 조정하는 단계를 미세 조정(Fine-tuning)이라 합니다. 사전 학습에 사용한 문제를 원천 과제(Source Task), 실제로 풀고 싶은 문제를 목표 과제(Target Task)라 부릅니다.

전이 학습이 가능한 이유는 신경망이 학습하는 특징의 성질에 있습니다. 합성곱 신경망에서 다룬 것처럼, 이미지 분류 신경망의 앞쪽 층은 가장자리, 색의 변화, 질감 같은 어떤 이미지에나 나타나는 단순한 특징을 학습합니다. 고양이와 개를 구분하도록 학습한 신경망의 앞쪽 층도, 의료 영상이나 공장 부품 사진을 보는 데 똑같이 유용합니다. 뒤쪽 층으로 갈수록 원천 과제에 특화된 특징을 학습하므로, 새 과제에서는 주로 뒤쪽 층을 바꾸거나 다시 학습합니다.



특징 추출과 미세 조정

사전 학습한 모델을 새 과제에 적용하는 방법은 어디까지 다시 학습하느냐에 따라 나뉩니다.

특징 추출(Feature Extraction)은 사전 학습한 모델의 가중치를 모두 얼려 두고, 마지막 출력층만 새 과제에 맞게 바꾸어 학습합니다. 가중치를 갱신하지 않는 것을 동결(Freezing)이라 합니다. 사전 학습한 모델은 입력을 좋은 특징 벡터로 바꿔 주는 고정된 함수 역할만 하고, 새로 추가한 출력층이 그 특징으로 분류하는 법을 배웁니다. 출력층이 하나의 선형 계층이라면 선형 탐침(Linear Probing)이라 부르기도 합니다.

이미지 분류 모델로 널리 쓰이는 ResNet-50을 예로 들어 보겠습니다. ResNet-50의 매개변수는 약 2,556만 개이며, 그중 1,000개 범주를 분류하는 마지막 출력층이 약 205만 개를 차지합니다. 출력층을 10개 범주용으로 바꾸면 새 출력층의 매개변수는 \(2048 \times 10 + 10 = 20{,}490\)개입니다. 특징 추출에서는 이 20,490개만 학습하므로, 전체 매개변수 약 2,353만 개 중 0.087%만 갱신합니다. 학습이 매우 빠르고, 적은 데이터로도 과대적합이 잘 일어나지 않습니다.

미세 조정(Fine-tuning)은 출력층을 바꾼 뒤 사전 학습한 가중치까지 함께 학습합니다. 모델 전체가 새 과제에 맞게 조정되므로 특징 추출보다 성능이 높은 경우가 많지만, 데이터가 적으면 사전 학습한 좋은 특징이 오히려 망가질 수 있습니다. 그래서 미세 조정에서는 몇 가지 원칙을 지킵니다.

  • 작은 학습률 : 사전 학습한 가중치는 이미 좋은 상태이므로, 처음부터 학습할 때보다 10분의 1에서 100분의 1 정도의 작은 학습률을 사용합니다. 학습률이 크면 첫 몇 번의 갱신만으로 사전 학습한 지식이 사라질 수 있습니다.
  • 층별 학습률 : 범용적인 특징을 담은 앞쪽 층은 더 작은 학습률로, 과제에 특화된 뒤쪽 층과 새 출력층은 더 큰 학습률로 학습합니다.
  • 단계적 해제 : 처음에는 출력층만 학습하고, 이후 뒤쪽 층부터 차례로 동결을 풀어 함께 학습합니다. 무작위로 초기화된 출력층이 처음에 만드는 큰 기울기가 사전 학습한 층으로 흘러 들어가는 것을 막기 위해서입니다.


어느 방법을 쓸지는 목표 과제의 데이터 양과 원천 과제와의 유사성으로 판단합니다. 데이터가 매우 적다면 특징 추출이 안전하고, 데이터가 충분하다면 미세 조정이 대체로 유리합니다. 원천 과제와 목표 과제가 비슷하면 적은 층만 바꿔도 되지만, 많이 다르면 더 많은 층을 다시 학습해야 합니다.

  • Tip : 사전 학습한 모델을 사용할 때는 입력도 사전 학습 때와 같은 방식으로 전처리해야 합니다. 이미지 크기, 픽셀 값의 정규화 평균과 표준 편차가 다르면, 모델은 학습 때와 전혀 다른 분포의 입력을 받게 되어 사전 학습한 특징이 제대로 동작하지 않습니다.



전이가 실패하는 경우

전이 학습이 항상 도움이 되는 것은 아닙니다. 원천 과제와 목표 과제의 데이터 분포가 다른 것을 도메인 변화(Domain Shift)라 하며, 차이가 클수록 전이의 효과가 줄어듭니다. 자연 사진으로 사전 학습한 모델은 흑백 X선 영상이나 현미경 사진, 위성 사진처럼 성질이 크게 다른 이미지에서 기대만큼 성능을 내지 못할 수 있습니다.

극단적인 경우에는 사전 학습한 모델에서 출발하는 것이 처음부터 학습하는 것보다 오히려 나쁜 결과를 내기도 하며, 이를 부정적 전이(Negative Transfer)라 합니다. 원천 과제에서 배운 특징이 목표 과제에서는 잘못된 단서가 되는 경우입니다. 그래서 전이 학습을 적용할 때는 처음부터 학습한 모델과 비교해 실제로 도움이 되는지 확인해야 합니다.

도메인 변화를 줄이는 방법도 있습니다. 목표 과제와 비슷한 분야의 데이터로 사전 학습한 모델을 고르거나, 목표 분야의 레이블 없는 데이터로 사전 학습을 한 번 더 진행한 뒤 미세 조정하는 방법입니다. 이때 레이블 없는 데이터로 학습하는 방법이 바로 다음에 다룰 자기 지도 학습입니다.



자기 지도 학습(Self-Supervised Learning)

전이 학습은 사전 학습에 사용할 대량의 레이블 데이터가 있다는 것을 전제로 합니다. 그러나 이미지 분류처럼 큰 레이블 데이터 세트가 있는 분야는 드물고, 그것을 만드는 데도 막대한 비용이 듭니다. 반면 레이블이 없는 이미지와 텍스트는 인터넷에 거의 무한히 있습니다.

자기 지도 학습(Self-Supervised Learning)은 데이터 자체에서 정답을 만들어 학습합니다. 사람이 레이블을 붙이는 대신, 데이터의 일부를 가리거나 변형한 뒤 원래 모습을 맞히게 하는 식으로 문제를 만드는 것입니다. 정답이 데이터 안에 이미 있으므로 레이블 비용 없이 얼마든지 많은 데이터로 학습할 수 있습니다.

비지도 학습(Unsupervised Learning)도 레이블 없이 학습하지만, 군집화나 차원 축소처럼 데이터의 구조를 찾는 것이 목적입니다. 자기 지도 학습은 레이블 없는 데이터에 지도 학습과 같은 예측 문제를 만들어 푼다는 점에서 다르며, 그 목적은 주로 다른 과제에 전이할 좋은 표현을 학습하는 것입니다.

이렇게 일부러 만든 문제를 구실 과제(Pretext Task)라 합니다. 구실 과제 자체를 잘 푸는 것은 목적이 아닙니다. 구실 과제를 풀려면 데이터를 깊이 이해해야 하고, 그 과정에서 얻은 표현을 실제로 풀고 싶은 다운스트림 과제(Downstream Task)에 전이하는 것이 목적입니다.

초기의 구실 과제는 사람이 직관적으로 설계했습니다. 이미지를 0도, 90도, 180도, 270도 중 하나로 회전시키고 회전 각도를 맞히게 하거나, 이미지를 아홉 조각으로 잘라 섞은 뒤 원래 순서를 맞히게 하는 방식입니다. 회전 각도를 맞히려면 하늘이 위에 있고 사람의 머리가 몸 위에 있다는 것을 알아야 하므로, 모델은 물체의 모양과 구조를 학습하게 됩니다.



대조 학습(Contrastive Learning)

2020년 무렵부터 이미지의 자기 지도 학습을 이끈 방법은 대조 학습(Contrastive Learning)입니다. 아이디어는 같은 이미지에서 나온 두 변형은 비슷한 표현을, 다른 이미지에서 나온 변형은 다른 표현을 갖도록 학습하는 것입니다.

2020년 구글의 첸(Ting Chen) 연구진이 발표한 SimCLR을 예로 들어 보겠습니다. 이미지 하나에 무작위 자르기, 색 변화, 흐림 같은 데이터 증강을 두 번 따로 적용해 두 장의 변형 이미지를 만듭니다. 두 변형은 겉모습이 꽤 다르지만 같은 물체를 담고 있으므로 양성 쌍(Positive Pair)이 됩니다. 같은 배치의 다른 이미지에서 나온 변형들은 음성 쌍(Negative Pair)이 됩니다. 신경망은 양성 쌍의 표현은 가깝게, 음성 쌍의 표현은 멀게 배치하도록 학습합니다.

이 학습의 손실 함수는 검색 증강 생성의 문장 임베딩에서 다룬 InfoNCE 손실과 같은 형태입니다. 여러 후보 중에서 양성 쌍을 골라내는 분류 문제로 보고 교차 엔트로피를 적용하는 것입니다. 문장 임베딩이 같은 의미의 문장을 가깝게 모았듯, 이미지의 대조 학습은 같은 물체를 담은 이미지를 가깝게 모읍니다.

대조 학습이 잘 동작하려면 어떤 증강을 쓰느냐가 매우 중요합니다. 증강은 모델에게 “이 정도의 변화는 무시해도 같은 것이다”라고 알려 주는 역할을 하기 때문입니다. 색을 크게 바꾸는 증강을 쓰면 모델은 색에 흔들리지 않는 표현을 배우고, 대신 색 자체가 중요한 과제에서는 불리해집니다. 또한 음성 쌍이 많을수록 학습이 잘 되므로 큰 배치가 필요하며, 이 점을 완화하기 위해 음성 쌍 없이 양성 쌍만으로 학습하는 방법들도 등장했습니다.



마스크 모델링(Masked Modeling)

또 하나의 큰 흐름은 입력의 일부를 가리고 복원하는 마스크 모델링(Masked Modeling)입니다. 이 방식은 자연어 처리에서 먼저 큰 성공을 거두었습니다. 사전 학습 언어 모델에서 다룬 BERT는 문장의 토큰 일부를 가리고 원래 토큰을 맞히도록 학습했고, GPT는 앞의 토큰으로 다음 토큰을 맞히도록 학습했습니다. 둘 다 사람이 레이블을 붙이지 않은 텍스트만으로 학습하므로 자기 지도 학습입니다.

이 아이디어는 이미지로 확장되었습니다. 2021년 허카이밍(Kaiming He) 연구진이 발표한 MAE(Masked Autoencoder)는 이미지를 \(16 \times 16\) 픽셀 크기의 조각으로 나눈 뒤, 조각의 75%를 무작위로 가리고 남은 25%만으로 가려진 부분의 픽셀을 복원하도록 학습합니다. \(224 \times 224\) 이미지는 \(14 \times 14 = 196\)개의 조각으로 나뉘므로, 모델은 49개의 조각만 보고 나머지 147개를 그려 내야 합니다.

텍스트에서는 15% 정도만 가렸는데 이미지에서는 75%나 가리는 이유는, 이미지의 정보가 훨씬 중복적이기 때문입니다. 텍스트의 단어 하나는 많은 의미를 담고 있어 몇 개만 가려도 어려운 문제가 되지만, 이미지는 이웃한 픽셀이 매우 비슷해 조금만 가리면 주변 픽셀을 이어 붙이는 것만으로 쉽게 복원할 수 있습니다. 대부분을 가려야 비로소 모델이 물체가 무엇이고 어떤 모양인지 이해해야만 풀 수 있는 문제가 됩니다. 인코더가 보이는 25%의 조각만 처리하므로 학습이 빠르다는 장점도 있습니다.



사전 학습과 파운데이션 모델

자기 지도 학습과 전이 학습이 결합되면서 인공지능을 만드는 방식이 바뀌었습니다. 예전에는 과제마다 레이블 데이터를 모아 모델을 처음부터 학습시켰지만, 이제는 레이블 없는 대규모 데이터로 하나의 거대한 모델을 사전 학습하고, 이를 여러 과제에 맞게 조정해 사용합니다.

이렇게 다양한 과제의 출발점이 되는 대규모 사전 학습 모델을 파운데이션 모델(Foundation Model)이라 합니다. 대규모 언어 모델이 대표적인 예이며, 이미지와 텍스트를 함께 학습한 모델도 여기에 속합니다. 사진과 그 사진의 설명 문장을 짝지어 대조 학습으로 학습하면, 이미지와 문장이 같은 표현 공간에 놓여 “고양이 사진”이라는 문장으로 고양이 이미지를 찾는 일이 가능해집니다.

파운데이션 모델을 활용하는 방법도 다양해졌습니다. 모든 가중치를 미세 조정하는 대신 효율적인 미세 조정에서 다룬 LoRA처럼 일부만 학습하기도 하고, 아예 학습 없이 프롬프트나 예시만으로 새 과제를 수행하기도 합니다. 출발점이 되는 모델이 충분히 많은 것을 알고 있다면, 목표 과제를 위해 새로 배워야 할 것은 그만큼 줄어듭니다.

  • Tip : 공개된 사전 학습 모델을 사용할 때는 사용 조건(라이선스)과 사전 학습에 쓰인 데이터를 확인해야 합니다. 상업적 사용이 제한된 모델도 있고, 사전 학습 데이터에 포함된 편향이 미세 조정한 모델에 그대로 이어지기도 합니다.



전이 학습과 자기 지도 학습 정리

방법 필요한 데이터 학습 대상 특징
처음부터 학습 대량의 레이블 데이터 모든 가중치 데이터가 적으면 과대적합
특징 추출 적은 레이블 데이터 새 출력층만 빠르고 안정적, 표현은 그대로
미세 조정 적거나 중간 규모의 레이블 데이터 전체 또는 일부 층 성능이 높지만 작은 학습률 필요
회전 · 조각 맞히기 레이블 없는 데이터 구실 과제용 모델 초기의 자기 지도 학습
대조 학습 레이블 없는 데이터 증강 쌍을 구분하는 인코더 증강 선택과 큰 배치가 중요
마스크 모델링 레이블 없는 데이터 가린 부분을 복원하는 모델 텍스트와 이미지 모두에 적용

전이 학습은 지식을 옮기는 방법이고, 자기 지도 학습은 레이블 없이 지식을 얻는 방법입니다. 두 방법은 서로를 보완합니다. 자기 지도 학습으로 레이블 없는 대량의 데이터에서 범용적인 표현을 학습하고, 전이 학습으로 그 표현을 적은 레이블 데이터만 있는 실제 과제에 옮깁니다.

이 조합은 데이터가 적은 문제를 다루는 기본 전략이 되었습니다. 새 과제를 시작할 때는 처음부터 모델을 설계하고 학습하기 전에, 비슷한 데이터로 사전 학습된 모델이 있는지부터 찾아보는 것이 일반적입니다. 그 모델로 특징 추출을 먼저 시도해 기준 성능을 얻고, 데이터가 충분하다면 미세 조정으로 넘어가는 순서가 안전합니다.



  • Writer by : 윤대희

댓글 남기기