개발자의시작

머신러닝(Machine Learning)과 딥러닝(Deep Learning)의 차이. [딥러닝][머신러닝][기계학습][심층학습][인공지능] 본문

머신러닝(machine learning)

머신러닝(Machine Learning)과 딥러닝(Deep Learning)의 차이. [딥러닝][머신러닝][기계학습][심층학습][인공지능]

LNLP 2020. 4. 6. 20:25

인공지능(AI)에 대한 관심이 날이 갈수록 커지고 있다. 인공지능이란 말을 언론이나 매체 등에서 사용할 때 머신러닝, 기계학습(Machine Learning)과 딥러닝(Deep Learning)이라는 단어가 동반되는 것을 자주 볼 수 있다. 머신러닝과 딥러닝이 인공지능의 하위 개념 정도로 알고 있지만 이 포스팅에서는 구체적인 예와 함께 그 차이를 정리해 본다.

 

1. 인공지능, 머신러닝, 딥러닝의 상관관계

인공지능, 머신러닝, 딥러닝의 상관관계

먼저 인공지능, 머신러닝, 딥러닝의 상관관계는 위와 같습니다. 흔히 사용하는 인공지능(AI:Artificial Intelligence)가 가장 큰 범주이며, 머신러닝 딥러닝 순으로 작은 범주에 속하게 됩니다. 

 

2. 머신러닝, 기계학습(Machine Learning)

머신러닝, 즉 기계학습은 주어진 데이터로 부터 프로그램이 스스로 학습하는 것입니다. Learning이라는 단어에서 알 수 있듯, 데이터를 처리하는 것보다는 학습 자체에 중점을 두고 있습니다. 예를 통해 이해를 돕도록 하겠습니다.

 

예제 1 - Machine Learning - 키(height)를 기반으로 몸무게(weight) 예측하기 

 

머신러닝을 수행함에 있어 가장 먼저 해야할 것은 데이터를 수집하는 일입니다. 설명에서는 편의상 데이터 수집이 완료되었다고 가정을 하고 진행하겠습니다. 실험 전체 참가자 100의 키와 몸무게를 수집하였습니다. 키와 몸무게를 각각 X축과 Y축에 나타내어 보면, 일반적으로 키카 클수록(X값이 증가할수록) 몸무게가 많이(Y의 값이 큰) 나가는 값을 보이는 그래프를 확인할 수 있습니다. 편차는 있겠지만 이 그래프를 보고 몸무게(kg)는 키(cm) -100 과 얼추 들어맞는다는 것을 할 수 있고 이를 수식으로 표현하면 Y= X-100 이 됩니다. 키와 몸무게에 대한 모델(상관관계 식)을 갖고 있으므로 새로운 사람의 키 (새로운 데이터 X)가 주어졌을 때 이 사람의 몸무게를 대략적으로 예상할 수 있습니다. 이 와 같은 식은 충분히 만족스러울 수 있지만 데이터가 많을수록( 연령, 지역, 인종 등) 다양할 수 록 더 나은 모델로 발전해 나갈 수 있습니다. 

 

정리하면 머신러닝은 프로그램이 수 많은 데이터로부터 학습하고 패턴을 분석하는 일을 합니다. 학습이 진행되는 과정에서 오류(예측 결과 Y-hat와 실제 Y의 차이)를 줄여가며 가장 합리적인 모델(상관관계 식)을 찾아가며 예측 정확도를 높여가는 것을 목표로 합니다.

 

3. 딥러닝, 심층학습(Deep Learning) 

딥러닝, 즉 심층학습은 위에서 본 머신러닝에 포함되는 개념으로 "분류를 통한 예측"을 핵심으로 작동합니다. 예를 들어 구체적으로 살펴보겠습니다.

 

예제 1  - Cat vs Dog

예제1 은 사진을 보고 개인지 고양이 인지 구분하는 것을 목표로 합니다. 사람이 개와 고양이를 구분할 때 사용하는 정보는 다양합니다. 귀의 모양, 털의 색깔, 수염의 길이 등 다양한 정보가 사용되어 주어진 태스크를 해결하려고 할 것입니다. 위에서 설명한 머신러닝을 적용해 보겠습니다. 귀의 모양이 결정적인 단서라고 가정을 하면 이를 데이터화(수치화)하여 이 값들이 갖는 패턴을 찾고 모델을 학습하려고 할 것입니다. 딥러닝은 여기서 한 스텝 더 나아갑니다. 머신러닝을 적용할 때 귀의 모양이 주요 포이트인 것을 사람이 정의하고 데이터를 던져준 것에 반해 딥러닝은 주어진 정보( 귀의 모양, 털의 색깔, 수염 길이 등)들 중에서 어떤 정보가 개와 고양이를 가장 잘 구분할지를 스스로 찾습니다. 

 

이를 정리하면 머신러닝은 사람이 직접 중요한 feature( 머신러닝, 딥러닝 에서 입력으로 주어지는 변수들을 주로 feature라고 부름)를 제공해주는 수동적인 학습을 진행하는 반면, 딥러닝은 분류에 있어 중요한 feature를 자동적으로 골라내는 작업을 해냅니다. 

 

 

4. 머신러닝과 딥러닝의 비교

위에서 언급하였듯, 딥러닝은 머신러닝의 하위 범주에 속합니다. 그렇다면 구체적으로 어떤 차이가 있어서 머신러닝과 딥러닝이 구분이 되는지 살펴볼 필요가 있습니다.

 

4.1 데이터 의존도(Data dependencies)

머신러닝과 딥러닝의 차이점으로 데이터 양에 따른 성능 차이가 있습니다. 위의 예제에서 볼 수 있듯 딥러닝은 주어진 문제를 해결하기 위해 중요한 feature를 직접 찾아냅니다. 따라서 딥러닝의 경우 데이터의 양이 충분하지 않다면 성능에 한계가 있습니다. 반면 충분한 데이터가 주어진다면 사람이 인지하지 못한 더 주요한 feature를 찾아낼 수 있으며, 종종 더 좋은 성능을 내곤 합니다. 

 

4.2 Feature extraction

위의 딥러닝의 정리에서도 언급하였으며, 글쓴이인 제가 가장 중요하게 생각하는 머신러닝과 딥러닝의 차이점입니다. 딥러닝은 분류(classification)에 사용될 데이터를 스스로 학습할 수 있는 반면 머신러닝은 학습 데이터를 가공하거나 특정 feature에 대한 정보만을 학습할 수 있다는 점입니다. 개와 고양이를 분류하기 위해 사람은 귀의 모양을 중요하다고 생각하고 이에 대한 정보를 데이터화하여 머신러닝에 활용할 수 있습니다. 하지만 딥러닝은 개와 고양이를 구분하기 더 좋은 특징(feature)을 찾습니다(예: 꼬리의 길이). 이는 사람이 생각할 때 인지하지 못하였지만 실제 분류 성능에 더 큰 영향을 미칠 수 있으며, 딥러닝은 이와 같은 중요한 포인트를 스스로 학습할 수 있습니다.

 

이 글은 https://brunch.co.kr/@itschloe1/8 님의 글을 참고하여 작성하였습니다.

 

이상 정리 마치며 틀린 부분이나 오류있는 경우 댓글로 남겨주시면 수정하겠습니다.

감사합니다.

Comments