1 of 47

딥러닝 기초

김성훈

2 of 47

1. 딥러닝이란?

3 of 47

1. 딥러닝이란?

딥러닝(Deep Learning, 심층학습)은 기계 학습의 한 분야로 생물학적인 신경망을 모방한 인공 신경망을 사용하여 컴퓨터가 스스로 학습하도록 하는 방법을 연구하는 분야

뉴런

인공 신경망

4 of 47

더 알아보기, 심층 인공 신경망

입력층

은닉층

출력층

...

...

레이어

레이어

레이어

  • 인공신경망입력층, 은닉층, 출력층으로 구성되어 있고, 은닉층여러 개의 퍼셉트론으로 이루어져 있음
  • 은닉층을 여러 개 쌓아 신경망을 깊게 구성할수록 더 복잡한 문제해결할 수 있으며, 이를 심층 인공신경망이라 함

5 of 47

더 알아보기, 심층 인공 신경망

인공 신경망은 층을 따라 데이터의 처리를 거듭할수록 입력된 데이터는 더 높은 차원의 속성으로 변환되며, 최종 층에 다다랐을 때는 클래스 속성을 나타내게 된다.

6 of 47

2. 딥러닝은 왜 특별할까?

이미지 인식 경진 대회(ILSVRC)의 역대 우승 알고리즘을 보면 2010년도와 2011년도에 우승을 차지한 알고리즘은 전통적인 기계 학습 방법이었는데, 2012년 우승한 알렉스넷(AlexNet)은 전년도 우승 알고리즘의 오류율을 10%

나 낮추며 놀라움을 안겨

주었다. 알렉스넷의 우승

은 딥러닝의 재탄생을 알

리는 계기가 되었고, 이

때부터 딥러닝의 독주가

시작되었다.

7 of 47

3. 딥러닝 이전 기계학습과 딥러닝의 비교

8 of 47

3. 딥러닝 이전 기계학습과 딥러닝의 비교

텐서 플로우 플레이그라운드 https://playground.tensorflow.org/

9 of 47

3. 딥러닝 이전 기계학습과 딥러닝의 비교

텐서 플로우 플레이그라운드에서 사용할 수 있는 학습 데이터 4종

10 of 47

3. 딥러닝 이전 기계학습과 딥러닝의 비교

가. 기계학습으로 데이터를 학습시킨 후 결과를 확인해 보자.

•HIDDEN LAYERS의 수를 0으로 설정해 인공 신경망의 은닉층을 없애면, 전통적인 기계학습 방법으로 경계선을 구한다.

•Training loss는 학습 데이터를 구분하는 경계를 얼마나 잘못 구했는지 보여 주는 지표이다

11 of 47

3. 딥러닝 이전 기계학습과 딥러닝의 비교

나. 다른 속성을 선택해 데이터를 학습시켜 보자.

12 of 47

3. 딥러닝 이전 기계학습과 딥러닝의 비교

다. 딥러닝으로 데이터를 학습시킨 후 결과를 확인해 보자.

13 of 47

더 알아보기, 전통적인 기계학습과 딥러닝 비교

14 of 47

4. 딥러닝은 어떻게 활용될까?

  • 딥러닝으로 인식과 같이 복잡한 작업을 수행할 인공지능을 구현할 수 있음.

15 of 47

4. 딥러닝은 어떻게 활용될까?

데이터가 나타내는 대상이 무엇인지 식별하는 모델을 판별 모델이라고 한다면, 대상을 나타내는 데이터를 만들어 내는 모델을 생성 모델이라고 하는데, 딥 페이크에 사용된 GAN도 이러한 생성 모델의 하나이다. 위의 다섯 장의 사진은 실존하는 사람을 촬영한 것이 아니라 모두 GAN을 이용해 만든 것인데, 가장 왼쪽부터 시작해 2014년과 2018년 사이에 이미지 생성 기술이 얼마나 발전했는지를 보여 준다.

진짜 같은 가짜를 만드는 딥러닝 기술, GAN

16 of 47

더 알아보기, 적대 신경망(GAN)

Generative Adversarial Networks(GAN)

출처: http://mcheleplant.blogspot.com/2019/03/gan-generative-adversarial-networks.html

17 of 47

참고자료_딥러닝

18 of 47

- 퍼셉트론과 심층신경망�- 순전파와 역전파

부록

19 of 47

학습목표

  1. 퍼셉트론과 심층신경망의 관계를 이해할 수 있다.
  2. 순전파와 역전파 과정을 이해할 수 있다.

20 of 47

퍼셉트론(PERCPETRON)

21 of 47

퍼셉트론이란?

  • 뉴런을 인공지능에서 활용하기 위하여 수학적으로 표현한 것
  • 외부로부터 입력되는 신호를 바탕으로 신호 합이 임계값을 넘으면 신호를 전달

뉴런

퍼셉트론

22 of 47

퍼셉트론 주요 키워드

  • 입력(X)과 가중치(W)를 곱한 것과 편향(b)을 모두 합한 값이 임계값이 넘는지 확인

wx + b

y

^

w

활성화함수

1

w

2

x

1

x

2

b

23 of 47

활성화 함수(Activation Function)

  • 활성화 함수 : 입력값에 가중치를 곱하고 각 항을 모두 더한 값의

결과가 임계값을 넘는지 확인하는 함수

  • 활성화 함수가 미분 가능해야 신경망 학습이 가능함

계단 함수

Step

24 of 47

활성화 함수(Activation Function)

  • 활성화 함수 : 입력값에 가중치를 곱하고 각 항을 모두 더한 값의

결과가 임계값을 넘는지 확인하는 함수

  • 활성화 함수가 미분 가능해야 신경망 학습이 가능함

계단 함수

시그모이드 함수

25 of 47

활성화 함수(Activation Function)

  • 활성화 함수 : 입력값에 가중치를 곱하고 각 항을 모두 더한 값의

결과가 임계값을 넘는지 확인하는 함수

  • 활성화 함수가 미분 가능해야 신경망 학습이 가능함

계단 함수

시그모이드 함수

렐루(ReLU) 함수

26 of 47

심층신경망

다층 퍼셉트론

27 of 47

심층신경망이란?

입력층

은닉층

출력층

...

...

레이어

레이어

레이어

  • 인공신경망입력층, 은닉층, 출력층으로 구성되어 있고, 은닉층여러 개의 퍼셉트론으로 이루어져 있다.
  • 은닉층을 여러 개 쌓아 신경망을 깊게 구성할수록 더 복잡한 문제해결할 수 있으며, 이를 심층 신경망이라 한다.

28 of 47

심층심경망의 의의

신경망

깊이

해결

가능한

문제

29 of 47

XOR Problem

  • AND 게이트: 두 입력에 대해 모두 1인 경우를 제외하고 출력은 0인 회로

<진리표>

30 of 47

XOR Problem

  • NAND 게이트: AND 게이트의 반대로 동작하는 게이트

<진리표>

31 of 47

XOR Problem

XOR 게이트: 두 개의 입력이 같을 경우에는 0, 다를 경우에는 1을 출력하는 회로

<진리표>

32 of 47

XOR Problem

XOR 게이트: 두 개의 입력이 같을 경우에는 0, 다를 경우에는 1을 출력하는 회로

<NAND>

<XOR>

NAND

NAND

NAND

NAND

33 of 47

비용함수(Cost Function)이란?

가설

34 of 47

최소의 Cost 값을 찾는 방법, 경사하강법

35 of 47

순전파, 역전파

36 of 47

순전파(Forward Propagation)란?

  • 복잡한 네트워크에서 오차를 줄이기 위해 가중치를 어떻게 조정해 나갈까?

8가지 재료가

입력되어 친구들의

레시피를 거친 후,

길동이가 국수를

만든 과정

→ 순전파와 관련

37 of 47

역전파(Backward Propagation)란?

  • 복잡한 네트워크에서 오차를 줄이기 위해 가중치를 어떻게 조정해 나갈까?

길동이가 만든 국수가

맛있는 국수와

거리가 멂

→ 오차를 줄인

모델이

필요하다!

38 of 47

역전파(Backward Propagation)란?

  • 복잡한 네트워크에서 오차를 줄이기 위해 가중치를 어떻게 조정해 나갈까?

국수의 결과에 영향을

미친 정도를 바탕으로

친구의 레시피와

재료 반영 비율을�조정하는 과정

→ 역전파와 관련

39 of 47

예제를 통해 순전파와 역전파 이해하기

붓꽃(Iris) 데이터를 이해해보자.

꽃잎

꽃받침

꽃잎

꽃받침

꽃잎

꽃받침

40 of 47

1단계) 데이터 확인하기

setosa

versicolor

virginica

꽃받침 길이

(Sepal Length)

꽃받침 너비

(Sepal Width)

꽃잎 길이

(Petal Length)

꽃잎 너비

(Petal Width)

품종

(Class)

5.1

3.5

1.4

0.2

0

4.9

3

1.4

0.2

0

5.0

2.0

3.5

1.0

1

5.9

3.0

4.2

1.5

1

7.1

3.0

5.9

2.1

2

6.3

3.3

6.0

2.5

2

41 of 47

2단계) 데이터 시각화

setosa

versicolor

virginica

42 of 47

3단계) 모델 과정 이해하기

인공신경망이 붓꽃 데이터를 바탕으로 붓꽃 품종을 분류하려면?

→ 순전파

  1. 붓꽃 데이터를 인공신경망의 입력층에 전달하여 여러 층의 은닉층을 따라 계산을 한 후, 출력층을 통해 결과를 전달하는 과정
  2. 인공신경망이 출력한 결과가 원하는 답과 오차가 얼마나 되는지 평가하는 과정
  3. 출력 결과에 영향을 미친 정도를 바탕으로

신경망 내부의 가중치를 조정하는 과정

→ 오차 측정

→ 역전파

43 of 47

순전파 계산해 보기

44 of 47

순전파 계산해 보기

꽃받침 길이

꽃받침 너비

꽃잎 길이

꽃잎 너비

5.1

3.5

1.4

0.2

품종

setosa

45 of 47

순전파 계산해 보기

꽃받침 길이

꽃받침 너비

꽃잎 길이

꽃잎 너비

5.1

3.5

1.4

0.2

품종

setosa

h1 > 0 인가?

5.23 > 0 이므로

h1노드의 출력값 = 5.23

② ReLU 함수에 의해 출력되는 값

= w1 * 꽃받침 길이 + w2 * 꽃받침 너비 + w3 * 꽃잎 길이 + w4 * 꽃잎 너비

= 0.5 * 5.1 + 0.4 * 3.5 + 0.7 *1.4 + 1.5*0.2

= 2.55 + 1.4 + 0.98 + 0.3

= 5.23

h1에서 출력되어 o1, o2, o3에 가는 값 계산하기

① h1 노드에 입력된 값과 가중치를 곱한 값의 합

46 of 47

순전파 계산해 보기

꽃받침 길이

꽃받침 너비

꽃잎 길이

꽃잎 너비

5.1

3.5

1.4

0.2

품종

setosa

setosa일 확률 = 0.9998

② Sigmoid 함수(활성화 함수로 가정)에 의해 출력되는 값

= w5*h1 + w6 *h2 + w7*h3 + w8*h4

= 0.8*5.23 + 0.3*4.12 + 0.8*3.8 + 0.9*0.1

= 6.03 + 1.24 + 3.04 + 0.09

= 8.55

o1 노드에 입력되는 값 계산하기

(h1 = 5.23, h2 = 4.12, h3 = 3.8, h4 = 0.1이라고 가정)

① o1 노드에 입력된 값과 가중치를 곱한 값의 합

 

47 of 47

역전파 계산하기

0.7만큼의 오차

o1 노드에 w5 값을 조정해야 하는 비율 계산하기

(o1이 예측한 값이 실제값과 평균적으로 0.7 정도 차이가 난다고 가정)

o1 값의 계산에 영향을 준 w5 ~ w8 값에 대한

비율만큼 조정