레이블이 지정되지 않은 데이터를 사용한 반 지도 이미지 분류
게시 됨: 2022-03-11지도 학습은 지난 10년 동안 컴퓨터 비전 및 딥 러닝 연구의 최전선에 있었습니다.
지도 학습 환경에서 인간은 많은 양의 데이터 세트에 수동으로 주석을 달아야 합니다. 그런 다음 모델은 이 데이터를 사용하여 데이터와 레이블 간의 복잡한 기본 관계를 학습하고 주어진 데이터에 따라 레이블을 예측하는 기능을 개발합니다. 딥 러닝 모델은 일반적으로 데이터를 많이 사용하며 우수한 성능을 달성하려면 엄청난 양의 데이터 세트가 필요합니다. 계속해서 개선되는 하드웨어와 대규모 인간 레이블 데이터 세트의 가용성은 최근 딥 러닝 성공의 이유였습니다.
지도 딥 러닝의 한 가지 주요 단점은 훈련을 위해 인간 레이블이 지정된 방대한 양의 데이터 세트에 의존한다는 것입니다. 전문가가 주석을 추가한 거대한 데이터 세트를 얻는 것은 물류적으로 어렵고 비용이 많이 들 수 있으므로 모든 도메인에서 사용할 수 있는 것은 아닙니다. 레이블이 지정된 데이터를 수집하는 것은 어렵고 비용이 많이 드는 노력이 될 수 있지만 일반적으로 레이블이 지정되지 않은 데이터 세트, 특히 이미지 및 텍스트 데이터에 액세스할 수 있습니다. 따라서 이러한 활용도가 낮은 데이터 세트를 활용하여 학습에 사용할 방법을 찾아야 합니다.
사전 훈련된 모델에서 전이 학습
레이블이 지정된 데이터가 많지 않은 경우 일반적으로 전이 학습 을 사용합니다. 그렇다면 전이 학습이란 무엇인가?
전이 학습은 유사한 작업의 지식을 사용하여 당면한 문제를 해결하는 것을 의미합니다. 실제로, 이는 일반적으로 가중치를 무작위로 초기화하는 것보다 유사한 작업에서 학습한 심층 신경망 가중치를 초기화로 사용한 다음 당면한 작업을 해결하기 위해 사용 가능한 레이블이 지정된 데이터에 대해 모델을 추가로 훈련하는 것을 의미합니다.
전이 학습을 사용하면 수천 개의 예제만큼 작은 데이터 세트에서 모델을 훈련할 수 있으며 매우 우수한 성능을 제공할 수 있습니다. 사전 훈련된 모델의 전이 학습은 세 가지 방법으로 수행할 수 있습니다.
1. 특징 추출
일반적으로 신경망의 마지막 계층은 일반적으로 다른 작업으로 쉽게 이전할 수 없는 가장 추상적이고 작업별 계산을 수행합니다. 대조적으로, 네트워크의 초기 계층은 작업 간에 쉽게 전송할 수 있는 모서리 및 공통 모양과 같은 몇 가지 기본 기능을 학습합니다.
아래 이미지 세트는 CNN(Convolutional Neural Network)의 다양한 수준에 있는 컨볼루션 커널이 본질적으로 학습하는 내용을 보여줍니다. 우리는 초기 계층이 기본 모양을 학습하고 점진적으로 상위 계층이 더 복잡한 의미론적 개념을 학습하는 계층적 표현을 봅니다.
일반적인 관행은 레이블이 지정된 큰 이미지 데이터 세트(예: ImageNet)에 대해 사전 훈련된 모델을 가져오고 마지막에 완전히 연결된 레이어를 잘라내는 것입니다. 그런 다음 필요한 클래스 수에 따라 완전히 연결된 새 레이어가 연결되고 구성됩니다. 전송된 레이어는 고정되고 새 레이어는 작업에 사용할 수 있는 레이블이 지정된 데이터에 대해 학습됩니다.
이 설정에서 사전 훈련된 모델은 특징 추출기로 사용되며 상단의 완전히 연결된 레이어는 얕은 분류기로 간주될 수 있습니다. 이 설정은 훈련 가능한 매개변수의 수가 상대적으로 적기 때문에 과적합보다 더 강력하므로 이 구성은 사용 가능한 레이블이 지정된 데이터가 매우 부족한 경우 잘 작동합니다. 매우 작은 데이터 세트로 인정되는 데이터 세트의 크기는 일반적으로 당면한 문제와 모델 백본의 크기를 포함하여 여러 측면에서 고려해야 할 까다로운 문제입니다. 대략적으로 말하면 수천 개의 이미지로 구성된 데이터 세트에 이 전략을 사용합니다.
2. 미세 조정
또는 사전 훈련된 네트워크에서 계층을 전송하고 사용 가능한 레이블이 지정된 데이터에 대해 전체 네트워크를 훈련할 수 있습니다. 이 설정에는 전체 네트워크와 많은 수의 매개변수를 훈련하기 때문에 레이블이 지정된 데이터가 조금 더 필요합니다. 이 설정은 데이터가 부족할 때 과적합되기 쉽습니다.
3. 2단계 전이 학습
이 접근 방식은 개인적으로 가장 좋아하는 방법이며 적어도 제 경험에 비추어 볼 때 일반적으로 최상의 결과를 산출합니다. 여기에서 우리는 전체 네트워크를 미세 조정하기 전에 몇 에포크 동안 전송된 레이어를 고정하면서 새로 연결된 레이어를 훈련합니다.
최종 레이어에 몇 개의 에포크를 제공하지 않고 전체 네트워크를 미세 조정하면 무작위로 초기화된 레이어에서 기본 네트워크로 유해한 그라디언트가 전파될 수 있습니다. 또한, 미세 조정은 비교적 적은 학습률을 필요로 하며 2단계 접근 방식이 이에 대한 편리한 솔루션입니다.
준지도 및 비지도 방법의 필요성
이것은 가능한 이미지 공간의 상당 부분을 다루는 ImageNet과 같은 거대한 이미지 데이터 세트가 있기 때문에 일반적으로 대부분의 이미지 분류 작업에 매우 적합합니다. 또한 사전 훈련된 네트워크를 즉시 사용할 수 있으므로 프로세스가 용이합니다.
그러나 이 접근 방식은 작업의 이미지 분포가 기본 네트워크가 훈련된 이미지와 크게 다른 경우 제대로 작동하지 않습니다. 예를 들어, 의료 영상 장치에서 생성된 회색조 이미지를 처리하는 경우 ImageNet 가중치로부터의 전이 학습은 그다지 효과적이지 않으며 네트워크를 만족스러운 성능으로 훈련시키기 위해 레이블이 지정된 이미지가 몇 천 개 이상 필요합니다.
대조적으로 문제에 대해 레이블이 지정되지 않은 대량의 데이터 세트에 액세스할 수 있습니다. 이것이 레이블이 지정되지 않은 데이터 세트에서 학습하는 능력이 중요한 이유입니다. 또한 레이블이 지정되지 않은 데이터 세트는 일반적으로 레이블이 지정된 가장 큰 데이터 세트보다 다양성과 볼륨이 훨씬 큽니다.
반 지도 접근 방식은 ImageNet과 같은 대규모 벤치마크에서 지도 접근 방식보다 우수한 성능을 제공하는 것으로 나타났습니다. Yann LeCun의 유명한 케이크 비유는 비지도 학습의 중요성을 강조합니다.
반 지도 학습
이 접근 방식은 레이블이 지정된 데이터와 레이블이 지정되지 않은 데이터를 모두 학습에 활용하므로 반 지도 학습이라고 합니다. 이것은 레이블이 지정된 데이터의 양이 적고 레이블이 지정되지 않은 데이터가 많은 경우 일반적으로 선호되는 방법입니다. 레이블이 지정된 데이터와 레이블이 지정되지 않은 데이터에서 동시에 학습하는 기술이 있지만 레이블이 지정되지 않은 데이터에 대한 비지도 학습과 분류 작업을 해결하기 위해 위에서 설명한 전략 중 하나를 사용하여 전이 학습이라는 2단계 접근 방식의 맥락에서 문제를 논의합니다. .
이러한 경우 비지도 학습은 다소 혼란스러운 용어입니다. 이러한 접근 방식은 가중치 학습을 안내하는 감독 신호가 있다는 점에서 진정한 비감독이 아니지만 따라서 감독 신호는 데이터 자체에서 파생됩니다. 따라서 때때로 자기 지도 학습이라고도 하지만 이러한 용어는 동일한 접근 방식을 나타내기 위해 문헌에서 상호 교환적으로 사용되었습니다.
자기 지도 학습의 주요 기술은 아래에서 설명하는 것처럼 데이터에서 이러한 감독 신호를 생성하는 방법으로 나눌 수 있습니다.
생성 방법

생성 방법은 데이터를 병목 현상을 통과한 후 정확한 재구성을 목표로 합니다. 이러한 네트워크의 한 예는 자동 인코더입니다. 인코더 네트워크를 사용하여 입력을 저차원 표현 공간으로 줄이고 디코더 네트워크를 사용하여 이미지를 재구성합니다.
이 설정에서 입력 자체는 네트워크 훈련을 위한 감독 신호(레이블)가 됩니다. 그런 다음 인코더 네트워크를 추출하고 위 섹션에서 논의한 전이 학습 기술 중 하나를 사용하여 분류기를 구축하기 위한 시작점으로 사용할 수 있습니다.
유사하게, 다른 형태의 생성 네트워크인 GAN(Generative Adversarial Networks)은 레이블이 지정되지 않은 데이터에 대한 사전 훈련에 사용할 수 있습니다. 그런 다음, 분류 작업을 위해 판별자를 채택하고 추가로 미세 조정할 수 있습니다.
차별적 방법
판별 접근 방식은 보조 분류 작업을 학습하도록 신경망을 훈련시킵니다. 감독 신호가 사람의 주석 없이 데이터 자체에서 파생될 수 있도록 보조 작업이 선택됩니다.
이러한 유형의 작업의 예로는 이미지 패치의 상대적 위치를 학습하거나, 회색조 이미지에 색상을 지정하거나, 이미지에 적용된 기하학적 변환을 학습하는 것이 있습니다. 우리는 그들 중 두 가지에 대해 더 자세히 논의할 것입니다.
이미지 패치의 상대 위치 학습
이 기술에서는 소스 이미지에서 이미지 패치를 추출하여 직소 퍼즐과 같은 격자를 형성합니다. 경로 위치가 뒤섞이고 뒤섞인 입력이 네트워크에 공급되어 그리드에서 각 패치의 위치를 정확하게 예측하도록 훈련됩니다. 따라서 감시 신호는 그리드에서 각 경로의 실제 위치입니다.
이를 학습할 때 네트워크는 객체의 상대적 구조와 방향뿐만 아니라 색상과 같은 저수준 시각적 기능의 연속성을 학습합니다. 결과는 이 직소 퍼즐을 풀면서 학습한 기능이 이미지 분류 및 객체 감지와 같은 작업에 매우 잘 전달된다는 것을 보여줍니다.
이미지에 적용된 기하학적 변환 학습
이러한 접근 방식은 입력 이미지에 작은 기하학적 변환 세트를 적용하고 분류기를 훈련하여 변환된 이미지만 보고 적용된 변환을 예측합니다. 이러한 접근 방식의 한 예는 레이블이 지정되지 않은 이미지에 2D 회전을 적용하여 회전된 이미지 세트를 얻은 다음 네트워크를 훈련시켜 각 이미지의 회전을 예측하는 것입니다.
이 간단한 감독 신호는 네트워크가 이미지에서 개체를 위치화하고 방향을 이해하는 방법을 배우도록 합니다. 이러한 접근 방식을 통해 학습된 기능은 반 감독 설정에서 분류 작업에 대해 고도로 이전 가능하고 최첨단 성능을 제공하는 것으로 입증되었습니다.
유사성 기반 접근 방식
이러한 접근 방식은 이미지를 고정된 크기의 표현 공간으로 투영하여 유사한 이미지는 더 가깝고 다른 이미지는 더 멀리 떨어져 있습니다. 이를 달성하는 한 가지 방법은 의미적으로 유사한 이미지 간의 거리를 최소화하는 삼중항 손실을 기반으로 하는 샴 네트워크를 사용하는 것입니다. Triplet loss는 anchor, positive example, negative example이 필요하며, latent space에서의 Euclidean distance 측면에서 양수를 음수보다 앵커에 더 가깝게 하려고 합니다. 앵커와 포지티브는 같은 클래스에 속하며 네거티브 예제는 나머지 클래스에서 무작위로 선택됩니다.
레이블이 지정되지 않은 데이터에서 이미지의 클래스를 알지 못하는 상태에서 이 3개의 앵커 포지티브 및 네거티브 예제를 생성하는 전략을 마련해야 합니다. 그렇게 하는 한 가지 방법은 앵커 이미지의 무작위 아핀 변환을 긍정적인 예로 사용하고 다른 이미지를 부정적인 예로 무작위로 선택하는 것입니다.
실험
이 섹션에서는 이미지 분류를 위한 비지도 사전 교육의 가능성을 경험적으로 설정한 실험에 대해 설명하겠습니다. 이것은 지난 봄 NYU에서 Yann LeCun과 함께 했던 딥 러닝 수업을 위한 학기 프로젝트였습니다.
- 데이터세트 . 128,000개의 레이블이 지정된 예제로 구성되어 있으며 그 중 절반은 학습용이고 나머지 절반은 검증용입니다. 또한 레이블이 지정되지 않은 512K 이미지가 제공됩니다. 데이터에는 총 1,000개의 클래스가 있습니다.
- 감독되지 않은 사전 훈련 . AlexNet은 63개의 에포크에 대한 광범위한 데이터 증강을 사용하여 회전 분류를 위해 훈련되었습니다. 우리는 논문에서 Rotnet이 문서화한 하이퍼파라미터를 사용했습니다.
- 분류기 훈련 . 네 번째 컨볼루션 레이어에서 특징을 추출하고 3개의 완전히 연결된 레이어를 추가했습니다. 이 레이어는 무작위로 초기화되고 예정된 학습률로 학습되었으며 조기 중지를 구현하여 학습을 중지했습니다.
- 전체 네트워크 미세 조정 . 결국 우리는 레이블이 지정된 전체 데이터에 대해 훈련된 네트워크를 미세 조정했습니다. 이전에 별도로 훈련된 특징 추출기와 분류기는 15 Epoch 동안 작은 학습률로 함께 미세 조정되었습니다.
우리는 각각 클래스당 다른 수의 레이블이 지정된 훈련 예제를 사용하여 7개의 모델을 훈련했습니다. 이것은 훈련 데이터의 크기가 준지도 설정의 성능에 어떻게 영향을 미치는지 이해하기 위해 수행되었습니다.
회전 분류에 대한 사전 훈련에서 82%의 정확도를 얻을 수 있었습니다. 분류기 훈련의 경우 상위 5% 정확도는 46.24%의 값 주위에 포화되었고 전체 네트워크의 미세 조정은 50.17%의 최종 수치를 산출했습니다. 사전 훈련을 활용하여 상위 5개 정확도를 40% 제공하는 지도 훈련보다 더 나은 성능을 얻었습니다.
예상대로 레이블이 지정된 훈련 데이터가 감소하면 유효성 검사 정확도가 감소합니다. 그러나 성능 감소는 감독되는 환경에서 예상하는 것만큼 크지 않습니다. 교육 데이터가 클래스당 64개에서 클래스당 32개로 50% 감소하면 유효성 검사 정확도가 15%만 감소합니다.
반 지도 모델은 클래스당 32개의 예제만 사용하여 클래스당 64개의 예제를 사용하여 훈련된 지도 모델보다 우수한 성능을 달성합니다. 이것은 저자원 레이블 데이터 세트에 대한 이미지 분류를 위한 준지도 접근 방식의 잠재력에 대한 경험적 증거를 제공합니다.
마무리
우리는 비지도 학습이 자원이 적은 데이터 세트의 성능을 높일 수 있는 강력한 패러다임이라고 결론지을 수 있습니다. 비지도 학습은 현재 초기 단계이지만 저렴하고 쉽게 액세스할 수 있는 레이블이 지정되지 않은 데이터에서 학습을 가능하게 하여 컴퓨터 비전 공간에서 점차적으로 그 점유율을 확대할 것입니다.
Toptal 엔지니어링 블로그에 대한 추가 정보:
- Python/NetworkX를 사용한 그래프 데이터 과학