본문 바로가기
Computer Science/Deep Learning

[비전공자용] [Python] 머신러닝과 딥러닝 구분

by 롱일스 2020. 7. 3.
반응형

 

 

머신러닝과 딥러닝 개념적 차이?

 

(pc에 최적화되어있으니 pc버전으로 봐주시면 더 좋을 것 같습니다)

머신러닝과 딥러닝을 개념적으로 구분하기 위해 한 예를 들어서 단순하게 설명하려고 합니다.

기존에는 어떤 이미지를 인식하려면 처음부터 알고리즘을 설계했었을 것입니다.

개 사진을 보고 개라는 결과를 얻기 위해서는 사람들이 보통 개에 대해 알고 있는 특징인
귀가 2개 있고, 다리가 4개 있고 코가 있다 등등의 기준이 있어야 할 것입니다.
아주 어려웠겠지만, 처음에는 이런 기준을 바탕으로 알고리즘을 짜서 이미지 인식을 했을 것입니다.

 

------------>      [ 사람이 설계한 알고리즘 ]     ------------>   결과(개)

 



하지만 머신러닝이 도입되면서 
이미지에서 특징 feature (입력 데이터의 중요한 정보)을 추출하고
그 특징의 패턴을 '기계'가 머신러닝 기술로 학습하면서
모아진 데이터로부터 규칙을 찾아내는 역할을 맡게 됩니다. 
단, 여전히 이미지를 벡터로 변환할 때 사용하는 특징은 '사람'이 설계합니다.

 

-------->    [ 사람이 생각한 특징 ]  -------->     [ 기계학습 ]    -------->   결과(개)
                  (SIFT, SURF, HOG)                     (SVM, KNN)

 

이 때, 이미지의 특징은 벡터 vector로 주로 표현합니다.
Computer Vision에서는 SIFT, SURF, HOG 등을 이용하여 이미지 데이터를 벡터로 변환합니다.
예를 들어, HOG는 입력 이미지의 윤곽선 정보를 이용하기 때문에 사람 등을 식별할 때 사용하기 적합하다. 

벡터로 변환된 이미지 데이터를 주로 지도 학습 Supervised Learning의
대표 분류Classification 기법인 SVM, KNN으로 학습합니다.
(여기서 학습한다는 것의 의미는 '기계'가 입력된 이미지 데이터로부터 어떤 '규칙'을 찾아내는 것을 의미합니다.)

딥러닝 Deep Learning, 신경망 개념이 도입되면서 특징을 '사람'이 만들지 않고
'기계'가 입력 데이터로부터 학습하는 방식이 생기게 됩니다.
즉, 개를 학습하든 사람을 학습하든 어떤 특징을 사용하지 않고 온전히 '기계'에 맡기게 됩니다.

 

------------------->         [ 신경망 ]        -------------------->   결과(개)
                                  (딥러닝)

 

신경망에서는 이미지 데이터를 날것 그대로 학습하고 feature 역시 이전과 달리 '기계'가 스스로 알아내게 합니다.
딥러닝을 end-to-end maching learning이라고 하는데, 이 의미는
처음부터 끝까지 입력 데이터에서 결과를 얻는 과정에 사람의 개입이 없다는 뜻을 내포합니다.

 

[출처] Deep Learning from Scratch, ゼロ から作る

728x90
반응형