본문 바로가기

pytorch

[머신러닝 vs 딥러닝] 비교 및 차이 알아보기

반응형

 

이 내용을 정리하면서...

유튜버 Daniel은 이 강의에서 머신러닝과 딥러닝의 뜻은 분명 다르지만 설명 중에 가끔은 혼용해서 사용될 수 있고 또 해당 분야는 빠르게 발전하기 때문에 "절대적인" 지식은 아님을 강조한다! 때문에 현재의 기술을 기준으로 머신러닝/딥러닝이란 무엇인가? 왜 언제 사용하는가? 를 살펴보는 글이 될 것 같다. 

 

 

구글의 머신러닝 핸드북의 첫번째 규칙, Rule 1

If you can build a simple rule-based system that doesn't require machine learning, do that.

 

만약 머신러닝이 필요하지않은 간단한 규칙의 시스템을 구축할 수 있으면 그렇게 해! 

머신러닝이 굳이 필요하지 않다면 그냥 기존의 프로그래밍 방식으로 처리해 ~ 같다. 즉, 불필요하게 머신러닝 필요없는 곳에는 안써도 된다는 것을 강조하는 것 같다. 

 

 

 

간단하게 머신 러닝과 딥러닝의 정의를 살펴보면, 

 

✔️ 머신 러닝(=기계 학습)이란?

경험을 통해 자동으로 개선하는 컴퓨터 알고리즘의 연구이다. 인공지능(AI)의 한 분야로 컴퓨터가 학습할 수 있도록 하는 알고리즘과 기술을 개발하는 분야이다. 예를 들어, 스팸메일을 구분해내는 훈련 등이 있다. 

또는 data를 숫자로 바꾸는 것과 이 숫자들 속의 패턴들을 찾는 것 

 

✔️ 딥러닝(=심층 학습)이란? 

사람의 사고방식을 컴퓨터에게 가르치는 기계학습의 한 분야이다. 다양한 데이터나 복잡한 자료들 속에서 핵심적인 내용/기능을 요약하는 작업(추상화)을 시도하는 기계 학습 알고리즘 집합으로 정의된다. 예를 들어, 자연어 처리, 컴퓨터 비전, 음성인식 등이 있다. 

 

 

머신러닝 vs 딥러닝

Artificial Intelligence ⊃ Machine Learning ⊃  Deep  Learning 

Ai가 가장 큰 범위이고 그 다음이 머신 러닝 그리고 딥 러닝이 머신 러닝의 안에 포함되어 있다. 

이제 Pytorch로 공부할 범위가 바로 "Deep Learning"이다! pytorch로 머신 러닝도 가능하다고 한다. 

 

아래 그림은 "머신 러닝"을 아주 잘 표현하고 있다. 

파랑색 그림 : 전통적인 프로그래밍은 "재료" + "규칙" = "결과물"을 내고

초록색 그림 : 머신 러닝 알고리즘은 "재료" + "결과물" = "규칙"을 찾는다. 

 

 

딥 러닝(or 머신러닝) 을 언제 쓰면 좋을까 ?

1. Problems with long lists of rules 

: 전통적인 프로그래밍 방식이 실패한 경우 머신러닝 / 딥러닝이 도움을 줄 수도 있다. 

 

2. 끊임없이 변화하는 환경을 가진 경우, Continually chainging environments

: 딥러닝은 새로운 시나리오에 적응 (Learn) 할 수 있다. 

 

3. Discovering insights within large collections of data 

: 엄청난 양의 데이터로 어떠한 해답/규칙/인사이트를 찾을 때 

 

 

딥 러닝(or 머신러닝) 을 쓰지 않는게 나은 경우들은 무엇이 있을까?

1. When you need explainability, 설명가능해야할 경우 

: 딥러닝 모델에 의해 추출된 (Leanred) 패턴들은 보통 인간들이 해석할 수 없다. 

 

2. When the traditional approach is a better option, 기존의 프로그래밍 방식이 더 좋은 경우 

: 그럼 굳이 딥러닝을 쓸 필요가 없다.

 

3. When arrors are unacceptable, "에러" 가 받아들일 수 없는 경우

: 딥러닝의 결과물은 항상 예측할 수 있는 게 아니기 때문

 

4. When you don't have much data, 많은 데이터가 없는 경우 

: 딥러닝 모델은 보통 좋은 결과를 도출해 내기 위해 꽤 많은 데이터를 필요로 한다. 

 

 

 

 

머신 러닝 vs 딥러닝 정리

from Youtube Daniel Bourke

* 머신 러닝과 딥러닝이 자주 쓰이는 알고리즘/네트워크로 나누었지만 상황에 따라 많은 알고리즘은 상호 사용 가능하다. 
머신 러닝 딥 러닝
보통 Structrued data 와 사용된다.
( columns & rows 가 있는 테이블같은 구조)
보통 Unstructured data 와 사용된다.  
(트위터, 위키피디아, 이미지, 오디오 등등 ) 
algorithm : gradient boosted machine (dmlc XGBoost) algorithm : neural network
Random forest Neural networks
Gradient boosted models Fully connected neural network
Naive Bayes Convolutional neural network
Nearest neighbour Recurrent neural network
Support vector machine Transformer
...many more ...many more

 

분홍색으로 칠한 것은 이번에 이 강의를 통해 배울 부분이다. 

 

 

 

 

 

reference : https://www.youtube.com/watch?v=Z_ikDlimN6A 

https://ko.wikipedia.org/wiki/%EA%B8%B0%EA%B3%84_%ED%95%99%EC%8A%B5

https://ko.wikipedia.org/wiki/%EB%94%A5_%EB%9F%AC%EB%8B%9D

반응형