페이지

2022년 7월 28일 목요일

4.1.3 자기 지도 학습

 자기 지도 학습(self-supervised learning)은 지도 학습의 특별한 경우지만 별도의 범주로 할 만큼 충분히 다릅니다. 자기 지도 학습은 지도 학습이지만 사람이 만든 레이블을 사용하지 않습니다. 즉 학습 과정에 사람이 개입하지 않는 지도 학습이라고 생각할 수 있습니다.(학습이 무언가에 지도되어야 하므로) 레이블이 여전히 필요하지만 보통 경험적인 알고리즘(heuristic algorithm)을 사용해서 입력 데이터로 부터 생성합니다. 예를 들어 오토인코더(autoencoder)가 잘 알려진 자기 지도 학습의 예입니다. 여기에서 생성된 타깃은 수정하지 않은 원본 입력입니다. 같은 방식으로 지난 프레임이 주어졌을 때 비디오의 다음 프레임을 예측하는 것이나, 이전 단어가 주어졌을 때 다음 단어를 예측하는 것이 자기 지도학습의 예입니다( 이 경우에는 미래의 입력 데이터로 부터 지도되기 때문에 시간에 따른 지도학습(temporally superviesed learnintg)입니다). 지도 학습, 자기 지도  학습, 비지도학습의 구분은 가끔 모호할 수 있습니다. 이 범주들은 명확한 경계가 없고 연속적입니다. 자기 지도 학습 메커니즘과 애플리케이션 측면 중 어디에 중점을 두는지에 따라 지도 학습 또는 비지도 학습으로 재해석 될 수 있습니다.

지도 학습이 광범위한 산업계의 애플리케이션에 적용되어 오늘날 딥러닝의 대부분을 차지하고 있기 때문에 이 책에서는 특히 지도학습에 집중하겠ㅅ브니다. 책의 후반부에서 자기 지도 학습에 대해 잠깐 살펴봅니다.

4.1.2 비 지도 학습

 이 부류의 머신 러닝은 어떤 타깃도 사용하지 않고 입력 데이터에 대한 흥미로운 변환을 찾습니다. 데이터 시각화, 데이터 압축, 데이터의 노이즈 제거 또는 데이터에 있는 상관관계를 더 잘 이해하기 위해 사용합니다. 비지도 학습(unsupervised learning)은 데이터 분석에서 빼놓을 수 없는 요소이며, 종종 지도 학습 문제를 풀기 전에 데이터셋을 잘 이해하기 위해 필수적으로 거치는 단계입니다. 차원 축소(dimensionality reduction)와 군집(clustering)이 비지도 학습에서 잘 알려진 범주입니다.

2022년 7월 26일 화요일

4.1.1 지도학습

 지도 학습이 가장 흔한 경우입니다.(종종 사람이 레이블링한) 샘플 데이터가 주어지면 알고 있는 타깃(꼬리표(annotaion)라고도 합니다)에 입력 데이터를 매핑하는 방법을 학습합니다. 지금까지 이 책에서 본 4개의 예제는 모두 지도 학습의 고전적인 예입니다. 요즘 스포트라이트를 받는 광학문자 판독, 음성 인식, 이미지 분류, 언어 번역 같은 입러닝의 거의 모든 애플리케이션이 일반적으로 이 범주에 속합니다.

지도 학습은 대부분 분류와 회귀로 구성되지만 다음과 같은 특이한 변종도 많습니다.

1) 시퀀스 생성(sequence generation): 사진이 주어지면 이를 설명하는 캡션을 생성합니다. 시퀸스 생성은 아따금(시퀀스에 있는 단어나 토큰(token)을 반복적으로 예측하는 것처럼) 일련의 분류 문제로 재구성할 수 있습니다.

2) 구문 트리(syntax tree)예측: 문장이 주어지면 분해된 구문 트리를 예측 합니다.

3) 물체 감지(object deteaction): 사진이 주어지면 사진 안의 특정 물체 주위에 경계 상자(bounding box)를 그립니다. 이는 (많은 곙계 상자 후보가 주어졌을 때 각 상자의 내용을 분류하는) 분류 문제로 표현되거나, 경계 상자의 좌표를 백터 회귀로 예측하는 회귀와 분류가 결합된 문제로 표현할 수 있습니다.

4) 이미지 분할(image segmentation):사진이 주어졌을 때 픽셀 단위로 특정 물체에 마스킹(masking)을 합니다.

4.1 머신 러닝의 네 가지 분류

 이전 예제에서 세 가지 종류의 머신 러닝 문제를 다루었습니다. 이진 분류, 다중 분류, 스칼라 회귀입니다. 이 셋은 모두 지도학습(supervised learning) 의 예입니다. 지도 학습의 목표는 훈련 데이터의 입력과 타깃 사이에 있는 관계를 학습하는 것입니다.

지도 학습은 빙산의 일각일 뿐입니다. 전체 머신 러닝은 복잡한 하위 분류를 가진 방대합 누야입니다. 일반적으로 머신 러닝 알고리즘은 다음 절에서 소개하는 4개의 커다란 범주 안에 속합니다.

4. 머신러닝의 기본 요소

3장에서 3개의 실용적인 옐르 다루었습니다. 이제 신경망을 사용하여 분류와 회귀 문제에 어떻게 접근하는지 익숙해지기 시3작했을 것입니다. 머신 러닝에서 아주 중요한 문제인 과대적합도 직접 보았습니다. 이 장에서는 딥러닝 문제에 도전하고 해결하기 위해 새롭게 얻은 직관을 확고한 개념으로 정립하겠습니다. 모델 평가, 데이터 전처리, 특성 공학, 과대적합 문제 같은 이런 모든 개념을 머신 러닝 문제를 해결하기 위한 7단계 작업 흐름으로 자세하게 정리하겠습니다.

3.7 요약

 1) 이제 벡터 데이터를 사용하여 가장 일반적인 머신 러닝인 이진 분류, 다중 분류, 스칼라 회귀 작업을 다룰 수 있습니다. 이 장의 '정리'절에서 이런 종류의 작업을 통해 배울 중요한 사항들을 정리해 놓았습니다.

2) 보통 원본 데이터를 신경망에 주입하기 전에 전처리해야 합니다.

3) 데ㅐ이터에 범위가 다른 특성이 있다면 전처리 단계에서 각 특성을 독립적으로 스케일 조정해야 합니다.

4) 훈련이 진행됨에 따라 신경마의 과대 적합이 시작되고 새로운 데이터에 대해 나쁜 결과를 얻게 됩니다.

5) 훈련 데이터가 많지 않으면 과대적합을 피하기 위해 1개 또는 2개의 은닉 층을 가진 신경망을 사용합니다.

6) 데이터가 많은 범주로 나뉘어 있을 때 중간층이 너무 작으면 정보의 병목이 생길 수 있습니다.

7) 회귀는 분류와 다른 손실 함수와 평가 지표를 사용합니다.

8) 작은 데이터를 사용할 때는 K-검증이 신뢰할 수 있는 모델 평가를 도와줍니다.

3.6.5 정리

 다음은 이 예제에서 배운 것들입니다.

1) 회귀는 분류에서 사용했던 것과는 다른 손실 함수를 사용합니다. 평균 제곱 오차(MSE)는 회귀에서 자주 사용되는 손실 함수입니다.

2) 비슷하게 회귀에서 사용되는 평가 지표는 분류와 다릅니다. 당연히 정화도 개념은 회귀에 적용되지 않습니다. 일반적인 회귀 지표는 평균 절대 오차(MAE)입니다.

3) 입력 데이터의 특성이 서로 다른 범위를 가지면 전처리 단계에서 각 특성을 개별적으로 스케일 조정해야 합니다.

4) 가용한 데이터가 적다면 K-겹 검증을 사용하는 것이 신뢰할 수 있는 모델 평가 방법입니다.

5) 가용한 훈련 데이터가 적다면 과대적합을 피하기 위해 은닉 층의 수를 줄인 모델이 좋습니다(일반적으로 1개 또는 2개)(