딥러닝과 머신러닝의 차이를 알기 위해서는 우선 머신러닝과 딥러닝이 무엇인지를 알아야한다.
머신러닝
만약 컴퓨터 프로그램이 특정한 테스크 T를 수행할 때, 성능 P만큼 개선되는 경험 E를 보이면 그 컴퓨터 프로그램은 테스크 T와 성능 P에 대해 경험 E를 학습했다고 할 수 있다 - Tom Mitchel
- 머신러닝은, 기계가 직접 데이터를 학습함으로써 그 속에 숨겨진 일련된 규칙성을 찾는것이다.
- 데이터 특징(feature)를 직접 사람이 추출해주어야 하며, 때문에 적은 데이터로도 가능하다.
- 그리고 크게 봤을 때, 머신러닝은 딥러닝보다 큰 범위에 있다.
그럼 딥러닝은 무엇일까?
딥러닝
- 딥러닝은 컴퓨터가 스스로 학습할 수 있게 하기 위해 인공신경망(ANN, Artificial Neural Network)을 기반으로 하는 기계학습이다.
- 데이터를 사람이 추출하지 않고 컴퓨터가 직접 추출하며, 때문에 많은 데이터가 필요하다.
이와 같은 특징을 가지기 때문에 딥러닝과 머신러닝의 차이는 다음과 같다.
딥러닝과 머신러닝의 차이
-
데이터 특징 추출
- 딥러닝은 데이터 특징을 사람이 추출하지 않는다. 기계가 할 뿐. 이 특징을 feature라 하며, feature를 얼마나 잘 찾아 학습하느냐가 딥러닝 성능을 좌우한다.
-
데이터 의존도
- 1번에서 언급했듯, 딥러닝은 모델이 직접 특징을 찾아 학습한다. 이 말은 모델이 직접 학습할 수 있는 많은 양의 데이터가 필요하다는 뜻이다.
- 또한 이 때문에 과거에 사용할 수 없었던 딥러닝이 빅데이터 시대로 들어서며 꽃길을 밟을 수 있게 된 것이다.
- 추가로, 데이터가 적을 경우에는 머신러닝이 더 높은 성능을 보일 수 있다.
-
하드웨어 의존도
- 2번에서 언급한 데이터 의존도 == 빅데이터(겁나 많은 데이터!)는 더 많은 연산을 요구한다. 특히, 딥러닝 알고리즘의 요구사항에는 GPU를 포함하고 있을 정도다.
- 그 이유는? 딥러닝 연산에는 많은 양의 행렬곱이 필요하기 때문이다.
- 쉽게 이미지 분류기만 생각을 해봐도 2차원 데이터인 이미지를 분류하기 위해 특징을 뽑는다고 별 계산을 다한다. 터질래야 터질 수 밖에 없다.
- 이 이유 역시 과거에 딥러닝이 암흑기에 빠져있었던 이유이며, 혁신적인 GPU들의 등장으로 꽃길을 걷고있는 이유를 추가했다.