Deep Learning (1)
전통적인 Machine Learning에 어떤 문제가 있어서 Deep Learning이 도입됐고, Deep Learning이 그 문제를 어떻게 극복했는지에 대해 알아보자.
머신러닝에서 경사하강법 (Gradient Descent) 방법을 통해 Cost를 최소화했다. 딥러닝도 Cost를 최소화하는 관점에서는 동일하지만, 딥러닝에 경사하강법을 사용할 수 없다. 모듈의 복잡도가 훨씬 복잡해지는 등 여러 가지 문제가 발생했기 때문인데 뒤에서 자세히 알아보자.
경사하강법을 사용하지 않는 대신, 딥러닝에서는 경사하강법에 기반하지만 좀 더 복잡한 문제에 적용할 수 있는 매커니즘인 Backpropagation(오류 역전파 알고리즘)을 사용해 Cost를 최소화한다.
이렇듯 최신 기술인 Backpropagation을 이해하기 위해서는 최신 기술에 기반을 둔 예전 기술인 전통적인 머신러닝과 경사하강법에 대해 이해가 선행되어야 한다.
자율주행자동차를 만든다고 생각해 보자.
내 앞에 있는 무언가가 차량인지 차량이 아닌지 구분해야 하고, 구분을 위해 이미지 인식을 사용한다.
여기서 전통적인 머신러닝을 사용해 이미지 인식을 진행한다고 생각해 보자.
카메라의 해상도가 50x50 이라고 생각해보자. (실제 카메라의 해상도는 훨씬 더 높다)
총 2500 pixel이 나오는데, 여기서 색상까지 고려하게 되면 7500개의 pixel이 나온다. 즉 벡터는 2500x1 또는 7500x1 크기를 가진다.
하지만 여기서 끝이 아니다. 벡터 원소들의 Linear Combination결과값도 고려해야 한다. 2500x1 크기에서 Linear Comabination을 고려한 Quadratic features를 생각해보면 3백만x1 크기의 벡터가 생성된다.
이렇게 방대한 크기의 벡터를 머신러닝 테크닉인 SVM, Gradient Descent 등등을 활용해 학습시키는건 불가능하다.
Machine Learning 모델을 다시 살펴보자.
자동차가 맞냐 자동차가 아니냐를 LABEL로 주고, INPUT으로 방대한 양의 데이터가 들어간다.
FEATURE EXTRACTOR 부분에는 바퀴냐 아니냐? 이런 것들이 들어갈 수 있다. 이 과정에서 사람이 개입되어야 하는데, 수많은 데이터들 속에서 좋은 특징을 설정하는건 매우 어려운 일이다. (약점 중 하나)
Deep Learning 모델을 살펴보자.
사람이 개입하는 부분을 없앴다. (Feature Extractor 부분 생략) 이 부분이 아예 없어지는 게 아니라, Feature Extractor 과정도 컴퓨터에게 부담하게 한다. (니가 알아서 찾아!)
이렇듯, 컴퓨터가 부담해야 하는 과업이 늘어나고 Deep Learning Technique는 Machine Learning Techinque 보다 훨씬 복잡해질 수 밖에 없다.
딥러닝과 머신러닝의 차이를 정리해보자.
딥러닝에서 Feature Learning과 Classifier과 합쳐진 방법을 end-to-end라고 부른다.
딥러닝이 왜 더 유용할까?
y축을 Performance (정확도) x축을 Ammount of Data (training data)로 설정하자.
머신러닝 그래프를 보면, 어느순간부터는 Training Data가 늘어나지만 성능은 변화가 없게 된다. (평지. Plateau)
반면에 딥러닝 그래프는 그렇지 않은데, 무슨 차이 때문일까?
딥러닝과 머신러닝은 인간의 개입 여부에서 차이가 있었다. 머신러닝에서는 인간의 개입이 필수적인데, Feature Engineering 단계에서는 Classifier가 조작할 수 있을 정도의 특징점을 동시에 고려해야 해서, 아무 특징이나 무조건 가져다 쓸 수 없다. Feature Extraction 과정은 기본적으로 복잡한 이미지 데이터를 압축하는 과정이라고 생각할 수 있는데, 이렇게 압축을 진행하면 성능에 Loss가 발생할수밖에 없고 데이터의 양으로 이 문제를 해결할 수 없다.
(Framework의 한계)
그러니
뭘 feature로 설정할 지 난 모르겠다
새 이미지 넣으면 새 로 출력되면 좋겠다
이미지를 그냥 통으로 넣어주고싶다
라고 생각하면 딥러닝을 사용하는게 합리적이다.
그물망의 라인 하나가 W가 된다. (H(x) = Wx + b에서의 W) W1, W2, W3............ Hidden Layer의 깊이가 깊어질수록 모델은 복잡해지고, 결정해야 할 파라미터의 수가 훨씬 많아진다.
그러기에 더 많은 학습 데이터가 필요하다. (입력 + 정답 레이블)
딥러닝의 가장 기본이 되는 모델이다.
Deep Neural Network라고 하는데 이 모델을 기반으로 응용해 여러 가지 모델이 도입됐다.
'Machine Learning > AI Introduction' 카테고리의 다른 글
Deep Learning - Backpropagation (0) | 2021.11.14 |
---|---|
Deep Learning (2) (0) | 2021.11.14 |
Machine Leaning - Overfitting (0) | 2021.10.24 |
Linear Model - Classification (0) | 2021.10.24 |
Machine Learning - Unsupervised Learning (0) | 2021.10.17 |
댓글
이 글 공유하기
다른 글
-
Deep Learning - Backpropagation
Deep Learning - Backpropagation
2021.11.14 -
Deep Learning (2)
Deep Learning (2)
2021.11.14 -
Machine Leaning - Overfitting
Machine Leaning - Overfitting
2021.10.24 -
Linear Model - Classification
Linear Model - Classification
2021.10.24