[미래연구소 14기] 1주차-딥러닝 기초 이론
http://futurelab.creatorlink.net/
미래연구소
AI, 인공지능 Deep Learning beginner 미래연구소 딥러닝 입문 스터디 / 모집인원 : 25명 (선착순 마감) 수강료 : 월 15만원 / (Coursera 강의 수강료 월 5만원 개인결제)
futurelab.creatorlink.net
Machine Learning
- 기존 방식
input data인 x가 어떠한 규칙인 f(handcrafted model, 일일이 규칙을 만들어 주어야 하는 모델)에 들어가 결과를 산출함.
즉, x를 f라는 규칙에 넣으면 이 값이 어떤 것인지 labeling 되는 것이 기존의 데이터가 처리되는 방식이다.
- Machine Learning(ML)
data만 주면 규칙(rule)을 찾는다
input data인 x와 그 결과값(result)인 y만 주고 이 규칙을 학습하는 것.
컴퓨터에게 data만 많이 주면 알아서 배우는 방식이 ML이다.
모두를 위한 딥러닝 lec1
https://www.youtube.com/watch?v=qPMeuL2LIqY&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=2
What is ML(Machine Learning)?
머신러닝이란?
- explicit programming: '~~환경에서는 ~~하게 반응해라' 하고 이미 프로그램을 만들어 놓은 것. 프로그램 중에서는 explicit programming 하기 어려운 경우가 많다.
- Spam filter: Spam mail인지 아닌지 판별해 주는 것 ->경우의 수가 너무 많음
- Automatic driving: 자율주행 ->경우의 수가 너무 많음
이를 개선하기 위해 개발자가 일일히 어떻게 할 지를 정하지 말고 프로그램이 학습하게 능력을 갖는 프로그램을 머신러닝이라 한다. -by.Arthur Samuel
일반적인 문제의 ML
- Imane labeling
- Email spam filter : 얘가 스팸메일인가?
- Predicting exam score : 시험 성적 예측
Training data set=Labeled data set
-
ML을 학습시켜주는 데이터셋.
-
알파고의 바둑판 학습시 사용된 데이터
What is learning?
학습을 하기 위해 어떤 데이터를 미리 주어져야 함.
SuperVised learning
정해져 있는 데이터(레이블들이 지정되어 있는 데이타)-training set-을 갖고 학습을 하는 것
- 지도학습
- 지도자가 존재
- x에 대한 y(label)이 존재. 즉 규칙이 존재
- 구현하기 쉬움. 우리가 배울 대부분의 ML이 supervised함
- data가 labeled data. (x,y)*m=x(data)와 y(result)가 m쌍 있는 형태
ex) 사진을 보고 고양이인지 강아지인지 맞추는 프로그램
- 컴퓨터에게 라벨링된 고양이 이미지 데이터를 준다. (이 사진이 고양이 사진이다. 하고 labeling 된 고양이 image)
- 그 고양이 사진 데이터를 보고 학습을 한다(training set)
Structured Data
- 구조화된 데이터
- 엑셀로 정의할 수 있는 데이터
Unstructured Data
- audio, images, text
- 사람은 Unstructured data를 이해하기 쉽다.
- DL덕에 컴퓨터가 사람과 같이 Unstructured Data를 쉽게 이해할 수 있게 되었다.
- 엑셀에 정리할 수 없는 데이터. 전처리가 필요하다.
Unsupervised learning
supervised와 반대로 미리 label을 나누기 힘든 경우. 데이터를 보고 스스로 학습함
- Google news grouping : 한 기사가 어떤 기사(연예, 정치, ..)를 이루는지 찾아가는 것
- Word clustering
what is regression?
공부 한 시간에 따라 시험의 성적을 예측하는 시스템을 만들 때.
0~100처럼 굉장히 넓은 범위에서 예측하는 것을 regression이라 함
- 결과(y, result)가 continuous 한 것.
What is classification?
regression은 범위가 넓은데, 이를 추상화(classification)해서 예측함.
Binary classification
p/np처럼 두 가지 경우로 나눔. 둘 중에 하나를 고르는 문제.
- y가 2가지
multi-label classification
성적(A,B,C,D,F) 중 하나를 고르는 문제 처럼 label이 많은 경우.
- y가 셀 수 있음.
Deep Learning
AI>ML(Machine Learning)>DL(Deep Learning)
데이터를 받아 컴퓨터가 규칙을 찾는 ML에서 Neural Network를 더 깊게 쌓은 것이 Deep Learing이다.
Neural Network을 통해 이미지 분석의 성능이 폭발적으로 증가했다. 실제로 이 기술을 통해 2012년 ImageNet 대회에서 AlexNet의 성능이 10%나 향상되며 DL이 집중받기 시작했다.
What is DL?
- Neural Network를 여러 개 쌓은 모양
- 합성함수
- NN은 ML의 기법 중 하나
- NN의 종류 중 하나가 ReLu, Sigmoid
- NN을 깊게 쌒으면 DNN
- DL과 달리 ML은 feature(x)를 분석해서 넣어야 함. DL은 feature(x) 아무거나 넣어도 상관 없음
DL의 특징
1. Blackbox 모델
- 내부에서 어떤 일이 일어나는지 알 수 없다(hidden)
- data를 기반으로 하는 귀납적 추론.
2. feature engineering이 필요 없음
- 필요헚는 feature 가중치를 죽임.
딥러닝 발전의 원동력
scale
- size of NN(신경망의 크기)=hidden unit=parameter 가 높아지면 학습시간 오래걸림
- data의 양이 너무 많다 data는 한정적이다.
딥러닝 발전
- data : 점점 data가 많아지고 있다.
- computation : computation 능력을 통해 train 속도(연산 속도) 향상. GPU의 존재
- algorithms : NN을 실제 data에 적용해주는 좋은 알고리즘
모두를 위한 딥러닝 lec 2
https://www.youtube.com/watch?v=Hax03rCn3UI&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm&index=4
Hypothesis
H(x)=Wx=b
cost
cost(W,b)=1/m((i=1~m까지)(H(xi)-yi)^2)
- cost가 최소인 W와 b를 찾는 것
cost function
목표: Minimize cost(W,b)
- cost가 최소인 W와 b를 찾는 것
- W와 b를 최소화하는 알고리즘 Gradient descent algorithm
Gradient descent algorithm
경사하강 알고리즘
-
최저점 찾기 위한 알고리즘
-
최적화 알고리즘(손실을 최소화-cost를 최소화 되는 W와 b 찾는 알고리즘)
-
W1,W2,..이렇게 변수가 여러 개 일때도 사용 가능
-
최초의 추정을 이용해 W, b값 정함
-
0,0 이던, 다른 랜덤값이던 상관 없음
-
W,b를 줄어들 수 있는 방향으로 지속적으로 바꿔나감
-
W,b 업데이트 할 때 기울기를 이용해 cost 최소화 되는 방향으로 업데이트 해 나감
-
최소점에 도달했다 라고 판단될 때 까지 이 과정 반복
-
뒤에서 미분을 위해 cost(W,b) 식에서 나누는 값을 1/m에서 1/2m으로 변경..
-
미분한 값에 learning rate(학습율) 곱해서 W값 찾아감
-
learning rate 높으면 : W값 큰 폭으로 움직임(섬세x, 빠름)
-
learning rate 낮으면 : W값 작은 폭으로 움직임(섬세,느림)
-
Convex function
- 주변에 비해 가장 낮은 지역 : 기울기가 0 => local minimum
- local minimum과 global minimun이 일치한 함수를 convex function. 찾고자 하는 값이 하나인 함수