3-1/Deep Learning

9주차-ML Strategy

Donghun Kang 2024. 5. 11. 16:13
  • Bayes optimal error
모델의 이론상 가능한 최저의 오차값. overfitting이 되지 않는 이상 이 값을 뛰어 넘을 수 없다.
이론적으로 가능한 최고의 정확도 값

알고리즘의 성능(보라색 선)은 시간이 흐르더라도 bayes optimal error에는 도달할 수 없다.

 

Q) human level performance에 인접하면 성능이 떨어지는 이유는?

A) 1. human level perfermance와 bayes optimal error의 차이가 크게 안나는 경우

    2. human level perfermance가 나오지 않을때 사용하는 성능향상 기법을 쓸 수 없기 때문

 

  • avoidable bias: bayes error와 training error간의 오차(error)차이
  • variance: training error와 dev error간의 오차(error) 차이

bias(데이터 편향) 줄이기: 더 많은 train set을 활용/ 더 오랜 시간 train하는 방법

variance(분산) 줄이기: 정규화(regularization)/ 데이터를 추가

-머신러닝이 사람 수준의 성능을 뛰어 넘는다

EX) 온라인 광고, 제품추천, 유통(시간예측), 대출 승인...

=> 공통점: 구조화된 데이터(structured data)/ 방대한 양의 데이터

  • training set: 딥러닝 알고리즘은 train set에서 랜덤한 오류에 대해서 견고한(robust) 특성을 가지고 있다.
  • dev/ test set
  1. dev/ test set을 같은 분포를 유지하도록 조정
  2. 알고리즘이 옳았던 예와 틀린 예를 고려
  3. train set와 dev/ test set이 다른 분포를 가질 수 있지만 괜찮다.
  • Build your first system quickly, then iterate
  1. dev/ test set과 metric(평가방법)을 설정
  2. 빠르게 시스템 구축
  3. bias/ variance 분석, error분석을 진행

  • Data mismatch problem

tra
  • training-dev set
train set와 동일한 분포를 가지지만, 훈련시키지 않은 데이터

  • train set와 dev/ test set간 데이터 분포가 다를경우 해볼만한 시도
1. 오차분석을 통해 train set와 dev/ test set간의 차이를 알아봄
2. training data를 더 유사하게 만들거나, dev test set와 유사한 데이터를 더 많이 수집

  • Tranfer learning
=> 결과적으로 아래와 같은 경우에는 transfer learning을 적용
(알고리즘 A = 전송하는 곳(이전에 훈련한 데이터 세트)/ 알고리즘 B = 전송하려는 곳(새롭게 훈련할 데이터 세트)

1 알고리즘 A와 B가 같은 입력값 x를 가지는 경우
2. 알고리즘 A의 데이터가 B보다 더 많은 데이터를 가지는 경우
3. 알고리즘 A의 low level features가 B에 도움이 되는 경우

 

  • Multi-task learning
 
=> single example에 대해서 multi label을 가질 수 있습니다. 이미지에 각각의 클래스에 대해서 복수의 label을 부여할 수 있습니다.
=> 결과적으로 아래와 같은 경우 multi task learning을 적용

1. lower level feature을 공유할 때
2. 일반적으로 각각의 업무에 대해서 데이터 양이 유사한 경우
3. 신경망 네트워크가 충분하게 크다면, multi-task learning의 효율적

  • end-to-end learning
 
 
장점

1. 데이터로 하여금 말을 하게함 (사람의 선입견 영향을 덜 받는다)
2. 사람의 중간 요소 설계(hand-designed components)를 줄일 수 있다,
단점

1. 방대한 양의 데이터가 필요
2. 잠재적으로 유용한 사람의 손으로 만들어진 중간 요소를 배제한다.

>>Key Question: end-to-end-learning을 진행할 만큼 충분한 데이터가 있는지가 중요!