AI/DeepLearning

[미래연구소 14기] 1주차-딥러닝 기초 이론

DEV Lee 2020. 7. 7. 01:18

 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) 사진을 보고 고양이인지 강아지인지 맞추는 프로그램

  1. 컴퓨터에게 라벨링된 고양이 이미지 데이터를 준다. (이 사진이 고양이 사진이다. 하고 labeling 된 고양이 image)
  2. 그 고양이 사진 데이터를 보고 학습을 한다(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는 한정적이다.

 

딥러닝 발전

  1. data : 점점 data가 많아지고 있다.
  2. computation : computation 능력을 통해 train 속도(연산 속도) 향상. GPU의 존재
  3. 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. 찾고자 하는 값이 하나인 함수