본문 바로가기
Deep Learning

Deep Learning 미래연구소 1주차 수강후기

by 자라자 2020. 7. 10.

미래연구소 홈페이지: https://futurelab.creatorlink.net/

 

인공지능을 공부하기 위해서 미래연구소에서 수업을 받았다.

7월 5일 첫 수업이 있었는데 그 내용을 정리해보려고 한다.

 

강의는 기본적으로 

Coursera Deep Learning SpecializationBasic Machine/Deep Learning with TensorFlow(Python)을 기반으로 진행된다.

[Youtube 바로가기]

Coursera Deep Learning Specialization: https://www.youtube.com/watch?v=CS4cs9xVecg

Basic Machine/Deep Learning with TensorFlow(Python): https://www.youtube.com/watch?v=BS6O0zOGX4E&list=PLlMkM4tgfjnLSOjrEJN31gZATbcj_MpUm

 

 

1주차에는 C1 W1 L2~L4와 모두를 위한 딥러닝 L1~L3에 대해 공부했다. 딥러닝에 대한 개념과 새로운 용어들에 대해 배웠다. 아래는 내용을 정리한 것이다.

 

 

 

Machine Learning이란 무엇일까?

 

Machine Learning을 정의하는 말이 엄청나게 많지만, 그것들이 내포하고 있는 공통 핵심은 아래와 같다.

 

x(input data)와 y(result)를 주면 f를 스스로 학습하는 것.

 

기존의 프로그래밍의 경우 컴퓨터의 역할은 x(input data)와 function을 부여해 주면 y(output)=f(x)를 계산해 내는 것이었지만 ML에서는 컴퓨터가 (x,y)의 training data만 가지고 f를 학습한다.

 

ML은 AI의 한 방식이며, ML 중 NN(Neural Network)를 깊게 쌓은 경우를 Deep Learning이라고 한다.

 

 

 

label과 class

x(input)에 사람이 입력되면 그 사람의 성별이 y(output)값으로 출력된다고 하자. 이 때 label이란 y 그 자체, 즉 '성별'을 의미한다. 그리고 class는 label의 종류를 의미한다. 이 경우 성별이라는 label의 class는 남자와 여자가 있다.

 

 

Supervised learning vs. Unsupervised learning

 

DL에는 크게 supervised learning, unsupervised learning, reinforce learing의 3가지 범주가 있다.

이 중 supervised learning과 unsupervised learning에 대해 살펴 보자. 둘의 차이점은 label의 존재 유무이다.

supervised learning의 경우 앞서 예를 든 classification이 있으며 unsupervised learning의 경우는 뉴스를 clustering하는 예시가 있다. 특정 label을 두고 f가 기능하는지 아닌지를 기준으로 생각하면 된다.

 

 

Supervised learning

supervised learning 또한 아래의 세 가지로 다시 나뉜다.

 

1) Regression: y의 종류(class)가 Continuous (기온 등 y값이 연속분포일 때)

 

2) Binary classification: y의 종류가 2가지일 때 (pass-non pass, gender classification)

 

3) Multi - classification: y의 종류가 discrete (predicting letter grade, number recognition)

 

 

 

 

Deep learning model의 평가

어떤 Model이 좋은지 어떻게 알 수 있을까? Model을 평가하는 방법에는 여러 가지가 있겠지만 주로 수치적 기준을 세워 평가한다. 설명을 위해 아래의 예시를 보자.

Word로 그린 조악한 그림(...)이지만 이해하기에는 충분하다.  x1,y1~x3,y3의 traing data가 주어졌을 때 주어진 데이터를 잘 반영하는 모델은 노란색보다는 나머지 두 모델일 것이고, 붉은색 모델이 왠지 가장 정확할 것 같지만 컴퓨터가 판단하려면 수식으로 규명해야 한다.

Regression의 경우 Cost function을 통해 평가한다. Cost function은 아래와 같이 나타낼 수 있다.

 

이 때 H(x)는 Regression model을 의미하며 w,b는 직선과 y절편이다. 즉 Training data와의 distance의 합이 Cost function이며 이 수치가 작을수록 좋은 모델이라고 할 수 있다. 

 

 

 

Gradient descent algorithm

그렇다면 어떻게 costfunction의 최솟값을 찾을 수 있을까? 기본적으로 Gradient descent라는 기법을 이용해서 최소점을 찾는다. Gradient는 경사, descent는 강하 정도의 의미로 알면 된다. 그림의 힘을 다시 빌리자면..

 

앞서 다뤘던 cost function이 위와 같이 w에 의존하는 이차함수의 꼴이라고 가정하자. (실제로는 w,b뿐만 아니라 다변수에 의존하는 n차원 공간상의 곡면이라고 이해하면 된다.) Gradient descent algorithm은 최소값을 찾아가는 알고리즘이다. 현재 점의 접선의 기울기에 비례하게 step을 이동해서 다음 점을 찾는다. 알파 값을 어떻게 설정하느냐에 따라서 계산 시간이나 오차값이 달라질 수 있다. 

 

 

 

 

 

1주차 핵심내용은 여기까지! 다음주에 만나요~