2. WHAT IS DEEP LEARNING
1. Artificial intelligence
2. Machine Learning
3. Deep Learning
AI
Machine
Learning
Deep
Learning
3. • 인공지능은 머신러닝과 딥러닝의 상위 개념
• 1950년 컴퓨터 과학 분야 연구자들이 사람이 할 수 있는 일들을 자
동화 할 수 있을까 라는 질문에서 시작
• 정교하게 짜여진 방대한 양의 코드들을 입력해준다면 컴퓨터가 원하
는 결과를 도출 할 수 있다고 생각
Artificial Intelligence
4. • 체스와 같은 논리적이 문제들은 해결 가능
• 하지만 이미지 분류, 음성 인식 같은 더 복잡한 문제들을 해결하기에
적합하지 않았음 (머신러닝이 나오게 된 이유)
Artificial Intelligence
5. • 우리가 많은 양의 자료들 속에서 규칙성을 찾을 수 있는 거처럼 컴퓨
터도 같은 방식으로 규칙을 찾을 수 있을까 라는 질문에서 시작
• 기존 인공지능의 방식인 규칙과 데이터를 집어넣어 결과를 추출하는
게 아닌 데이터와 데이터의 결과를 집어 넣어 규칙을 도출 하는 방식
Machine Learning
6. 기계학습을 하기 위해 필요한 3가지
• 입력할 데이터
• 기대하는 결과값
• 알고리즘이 잘 작동하는 지 파악하기 위해 현재 결과와 예상 결과 사
이의 거리를 측정해 측정한 값을 피드백 신호로 더 좋은 결과를 위해
알고리즘을 조정
• 이러한 조정 단계를 우리는 “학습”으로 정의
Machine Learning
7. deep learning에서 deep의 의미
• 딥러닝은 머신러닝의 특정 하위 분야
• 연속적인 “계층”(layer)을 가지고 데이터를 학습하는 방식
• 여기서 deep은 더 심화된 접근법이 아닌 표현(representation)의 연속적인 층의
깊이를 나타냄
• 딥러닝은 여러 계층으로 데이터를 학습하는 방식이라는 심플한 아이디어로 많은
일이 가능해짐
Deep Learning
input output
layer1 layer2 layer3
8. 딥러닝의 작동 방식 3가지
• 가중치 (weights)
• 손실함수 (loss function)
• 최적화 프로그램 (optimizer)
Deep Learning
9. 딥러닝의 가중치
• 각 계층(layer)의 입력 데이터에 specification은 계층의 “가중치”에 저장
• 전문용어로는 계층에 의해 구현 된 변환은 가중치에 의해 “매개 변수화”
• 가중치는 종종 계층의 “매개 변수”라고 불림
• 학습에 대한 가중치의 의미는 모든 계층의 가중치에 대한 값의 집합을 찾는 것
Deep Learning
10. 딥러닝의 손실 함수
• 손실 함수는 네트워크 및 실제 대상(네트워크에서 출력 하려는 대상)을 예측해 네
트워크가 특정 예제를 얼마나 잘 수행 했는지를 둘 사이의 거리를 가지고 점수를
매김
• 이 점수를 최적화 프로그램에 전달
Deep Learning
11. 딥러닝의 최적화 프로그램
• 기본적인 방법으로 손실 함수로 부터 받은 점수를 가지고 최적화 프로그램은 손실
점수를 낮추는 방향으로 가중치의 값을 조금식 조정
• backpropagation 알고리즘을 가지고 조정
• 이 알고리즘은 다음 장에서 자세히 설명
Deep Learning
12. • 처음에는 네트워크의 가중치의 값이 임의로 할당되어 네트워크는 무작위 변환을
구현
• 그러다보니 손실 점수는 클 수 밖에 없음
• 하지만 최적화 프로그램으로 가중치를 조정하고 손실 점수를 줄여가며 이러한 시
행을 충분히 반복함으로써 잘 학습된 네트워크가 됨
Deep Learning
13. 딥러닝과 머신러닝의 차이
• 딥러닝은 기존의 머신러닝들 보다 더 좋은 성과를 보여줌
• 그리고 기계 학습 워크 플로에서 가장 중요한 단계 인 “기능 엔지니어링”을 완전히
자동화했기 때문에 문제를 쉽게 해결
• 머신러닝은 문제가 복잡해지면 사람이 직접 초기 입력 데이터를 조작해서 수동으
로 집어넣어야함
• 하지만 딥러닝은 그 과정을 단순화하고 자동화하여 문제를 해결
Deep Learning
14. 딥러닝과 머신러닝
• 현재 모든 분야에서 딥러닝을 사용 할 수 있는 것은 아님
• 실제 작업 현장에서는 여전히 머신러닝이 더 많이 사용되고 있음
Deep Learning