본문 바로가기
AI/Study Note

[기계학습 - 오일석] 7장. 준지도 학습과 전이 학습

by je0nsye0n 2024. 6. 18.

7-1. 표현 학습의 중요성

기계학습에서는 좋은 표현을 하는 것이 굉장히 중요하다.

why?) 기계 학습의 능력을 확장하기 때문 - 그림을 통해서 원래는 분류할 수 없었던 데이터들을 공간 변환을 통해서 분류가 가능해진 것을 확인할 수 있다.

 

<오토인코더>

- 오토인코더(AutoEncoder) : input과 output이 동일한 값을 갖도록 만든 신경망 구조

그림 출처 : https://velog.io/@jaehyeong/Autoencoder%EC%99%80-LSTM-Autoencoder 우

위에서 설명했던 바와 같이 좋은 표현하기 위해서는 본 섹션에서 제시되는 방법으로 매니폴더가 있다.

이때, 오토인코더의 매핑 과정에서 발생하는 데이터의 내재된 구조와 패턴을 포착하는 방식이 매니폴더에서 활용이 된다.

 

Manifold Learning

오토인코더의 목적은 차원 축소하는 것인데, 이는 Manifold learning의 목적과 동일하다.

그림 출처 : https://www.cs.cmu.edu/~efros/courses/AP06/presentations/ThompsonDimensionalityReduction.pdf

 

- 매니폴드의 목적

1. 데이터 시각화 : 데이터에서 직관을 얻거나 해석을 쉽게 하기 위해서

2. 차원의 저주 : 차원은 작을 수록 좋음 - 데이터의 차원이 늘어날 수록 공간의 부피는 기하급수적으로 증가함. 데이터는 일정하게 유지된 상태에서 데이터 밀도가 줄어드는 것은 데이터 활용력을 떨어뜨림

3. 특징 추출 : 매니폴드를 찾았다는 점 자체가 데이터에서 유용한 특징을 찾았다는 말과 같음

 

 

 

7-2. 내부 표현의 이해

내부 표현을 블랙박스로 간주하면 준지도 학습과 전이학습을 설계할 수 없다.

따라서 내부 표현을 가시화(visualization) 해야 한다.

이 절에서는 CNN의 가시화에 대해서 설명한다.

 

<CNN 가시화의 네 가지 형태>

 

필터 (Filter) 필터는 입력 이미지의 특정 특징을 추출하는 역할을 한다. 필터는 주로 커널(kernel)로 불리는 작은 행렬로 표현되며, 입력 이미지에 적용되어 특정 패턴을 감지한다.

특징 맵 (Feature Map) 필터를 통해 추출된 특징들이 모여 형성된 맵이다. 특징 맵은 입력 이미지의 특징들이 공간적으로 어떻게 분포되어 있는지를 보여준다. 이는 필터가 이미지 전체에 걸쳐 슬라이딩하면서 얻어진 값들로 구성된다.

활성화 맵 (Activation Map) 활성화 맵은 특정 필터가 활성화된 영역을 시각화한 것이다. 이는 필터가 입력 이미지의 어떤 부분에서 강하게 반응하는지를 보여준다. 활성화 맵을 통해 CNN이 어떤 부분에 주목하는지 알 수 있다.

클래스 활성화 맵 (Class Activation Map, CAM) CAM은 특정 클래스와 관련된 활성화 맵을 시각화한 것이다. 이는 CNN이 최종적으로 어떤 영역을 기반으로 특정 클래스를 예측하는지를 보여준다. CAM을 통해 모델의 예측 과정을 더 명확하게 이해할 수 있다.

 

위의 네 가지 형태는 CNN의 내부 동작을 이해하는 데 중요한 도구들이다. 이를 통해 모델이 어떤 특징을 추출하고, 어떤 부분에 주목하며, 어떻게 최종 예측을 수행하는지 시각적으로 확인할 수 있다.

 

 

7-3. 준지도 학습

준지도 학습(Semi-Supervised Learning)은 라벨이 있는 데이터와 라벨이 없는 데이터를 함께 사용하여 모델을 학습시키는 기계 학습 방법이다. 이 접근법은 라벨된 데이터가 적고 라벨되지 않은 데이터가 많은 상황에서 특히 유용하다. 준지도 학습은 라벨이 없는 데이터를 효과적으로 활용하여 학습 성능을 향상시킬 수 있다. 준지도 학습의 주요 방법과 그 특성에 대해 자세히 설명하겠다.

https://zetawiki.com/wiki/%EC%A4%80%EC%A7%80%EB%8F%84_%ED%95%99%EC%8A%B5

 

- 준지도 학습의 주요 방법

 

  • 자기 학습 (Self-Training) 자기 학습은 초기에는 라벨이 있는 데이터로 모델을 학습한 후, 학습된 모델을 사용하여 라벨이 없는 데이터에 대한 예측을 수행한다. 예측된 라벨이 높은 신뢰도를 보이는 데이터에 대해 이를 새로운 라벨로 간주하고, 이 데이터를 추가하여 모델을 재학습하는 과정을 반복한다. 이를 통해 라벨이 없는 데이터의 정보를 활용하여 모델의 성능을 점진적으로 향상시킬 수 있다.
  • 코트레이닝 (Co-Training) 코트레이닝은 두 개 이상의 모델을 사용하여 서로의 예측을 보완하는 방식이다. 각각의 모델은 다른 특징을 사용하여 학습하며, 한 모델의 예측 결과를 다른 모델의 추가 학습 데이터로 사용하는 과정을 반복한다. 이를 통해 모델들이 서로의 약점을 보완하고, 더 나은 성능을 달성할 수 있다.
  • 그래프 기반 방법 (Graph-Based Methods) 그래프 기반 방법은 데이터를 그래프 구조로 표현하여 학습하는 방법이다. 데이터 포인트는 노드로, 노드 간의 유사성은 엣지로 표현된다. 그래프 신경망(GNN)과 같은 모델을 사용하여 라벨이 있는 노드의 정보를 라벨이 없는 노드로 전파시키는 방식으로 학습을 진행한다. 이를 통해 데이터 간의 관계를 효과적으로 활용할 수 있다.
  • 생성 모델 (Generative Models) 생성 모델은 데이터의 분포를 학습하여 새로운 데이터를 생성할 수 있는 모델이다. 대표적인 생성 모델로는 VAE(Variational Autoencoders)와 GAN(Generative Adversarial Networks)가 있다. 생성 모델은 라벨이 없는 데이터의 분포를 학습하여, 이를 라벨이 있는 데이터와 결합하여 학습에 활용할 수 있다.
  • Consistency Regularization Consistency Regularization은 모델이 라벨이 없는 데이터에 대해 일관된 예측을 하도록 유도하는 방법이다. 예를 들어, 데이터에 작은 노이즈나 변형을 가해도 모델의 예측이 크게 변하지 않도록 정규화하는 방식이다. 이를 통해 모델이 더 일반화된 성능을 가지도록 학습할 수 있다.

 

 

7-4. 전이 학습

전이 학습은 기계 학습에서 한 작업에서 학습된 지식을 다른 관련 작업에 활용하는 방법이다. 이를 통해 초기 데이터셋의 크기나 학습 시간을 줄이면서도 성능을 향상시킬 수 있는 방법이다. 전이 학습은 주로 사전에 학습된 모델을 새로운 작업에 맞게 조정하여 사용하는 방식으로 이루어진다.