본문 바로가기

Deep Learning & Computer Vision

1. 머신러닝 전략 개요-직교화 (Andrew Ng이 알려주는 ML전략)

 

 

 

https://youtu.be/UEtvV1D6B3s

Anderw Ng - orthogonalization

 

 

 

[머신러닝 전략 소개-직교화(orthogonalization)]

1. 직교화란

- 주어진 벡터들을 이용하여 서로 수직인 벡터를 만드는 방법

gram-schumidt orthogonalization

 

 

 

2. 머신러닝 전략에서의 직교화란

- 원하는 효과를 위해 변수를 조정하는 과정에서 하나의 버튼이 하나의 동작만을 하게끔 만드는 것

예시) tv tuning

여러 조정 버튼이 있는 tv

여기 tv를 튜닝할 수 있는 다섯 개의 버튼과 다이얼이 있다.

각각의 버튼과 다이얼은 채널, 볼륨, 화면 가로폭, 화면 세로폭, 화면 회전각 조절 기능을 한다.

 

만약, 한 버튼이 채널+1, 볼륨-3 조절 기능을 하고 다른 한 버튼이 화면 가로폭x0.1, 회전각x0.2 조절 기능을 한다면

tv를 원하는 대로 튜닝하는 것이 거의 불가능할 것이다.

 

이런 맥락에서, 직교화각 버튼이 한 가지 일만 하도록 설계하는 것을 뜻한다.

 

 

3. 머신러닝에서는 다음과 같은 네 가지 과정을 거쳐야 한다.

1) 적어도 train set에 대해서는 좋은 성능이 나와야 한다.
→ 성능이 떨어진다면 bigger network, Adam optimizer 등 사용
2) dev set에 대해서 좋은 성능을 보여야 한다.
→ 성능이 떨어진다면 regularization, bigger training set 등 사용
3) test set에 대해서 좋은 성능을 보여야 한다.
→ 성능이 떨어진다면 bigger dev set(overfitting 방지) 등 사용
4) real world에서도 좋은 성과로 이어져야 한다.
→ 성능이 떨어진다면 dev set(분포) 변경, cost function 변경 등

각각의 단계에서 쓸 수 있는 솔루션들은 직교화 되어 있어야 한다.

 

 

4. Andrew Ng이 신경망을 학습 시킬 때 early stopping 기능을 잘 쓰지 않는 이유

  • 많은 사람들이 쓰는만큼 나쁜 기능은 아님
  • 만약 early stopping 기능을 쓰게 되면, train set 단계에서 bigger network 부분이 조정됨과 동시에 dev set 단계에서 bigger training set이 조정되기 때문에 덜 직교화 되어 있는 것이라고 볼 수 있다.
  • 원한다면 사용해도 되지만, 위처럼 더 좋은 선택지가 있음