이 내용을 정리하면서...
유튜버 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 딥러닝 정리
* 머신 러닝과 딥러닝이 자주 쓰이는 알고리즘/네트워크로 나누었지만 상황에 따라 많은 알고리즘은 상호 사용 가능하다. | |
머신 러닝 | 딥 러닝 |
보통 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
'pytorch' 카테고리의 다른 글
[최신] colab mecab 사용자사전 쉽게 추가하고 사용하기 (0) | 2022.10.12 |
---|---|
colab mecab 사용자 정의 사전 세팅, 추가 및 사용하기 실패한 글 (0) | 2022.10.12 |
[colab] konlpy mecab 설치 및 사용하기 on macOSX (0) | 2022.09.30 |
[머신러닝/딥러닝] 도대체 Tensor란 무엇인가!!! (0) | 2022.09.20 |
[pytorch vs tensorflow] 머신러닝/딥러닝 pytorch로 시작하는 이유! (0) | 2022.09.20 |