딥러닝 기초
김성훈
1. 딥러닝이란?
1. 딥러닝이란?
딥러닝(Deep Learning, 심층학습)은 기계 학습의 한 분야로 생물학적인 신경망을 모방한 인공 신경망을 사용하여 컴퓨터가 스스로 학습하도록 하는 방법을 연구하는 분야
뉴런
인공 신경망
더 알아보기, 심층 인공 신경망
입력층
은닉층
출력층
...
...
레이어
레이어
레이어
더 알아보기, 심층 인공 신경망
인공 신경망은 층을 따라 데이터의 처리를 거듭할수록 입력된 데이터는 더 높은 차원의 속성으로 변환되며, 최종 층에 다다랐을 때는 클래스 속성을 나타내게 된다.
2. 딥러닝은 왜 특별할까?
이미지 인식 경진 대회(ILSVRC)의 역대 우승 알고리즘을 보면 2010년도와 2011년도에 우승을 차지한 알고리즘은 전통적인 기계 학습 방법이었는데, 2012년 우승한 알렉스넷(AlexNet)은 전년도 우승 알고리즘의 오류율을 10%
나 낮추며 놀라움을 안겨
주었다. 알렉스넷의 우승
은 딥러닝의 재탄생을 알
리는 계기가 되었고, 이
때부터 딥러닝의 독주가
시작되었다.
3. 딥러닝 이전 기계학습과 딥러닝의 비교
3. 딥러닝 이전 기계학습과 딥러닝의 비교
텐서 플로우 플레이그라운드 https://playground.tensorflow.org/
3. 딥러닝 이전 기계학습과 딥러닝의 비교
텐서 플로우 플레이그라운드에서 사용할 수 있는 학습 데이터 4종
3. 딥러닝 이전 기계학습과 딥러닝의 비교
가. 기계학습으로 데이터를 학습시킨 후 결과를 확인해 보자.
•HIDDEN LAYERS의 수를 0으로 설정해 인공 신경망의 은닉층을 없애면, 전통적인 기계학습 방법으로 경계선을 구한다.
•Training loss는 학습 데이터를 구분하는 경계를 얼마나 잘못 구했는지 보여 주는 지표이다
3. 딥러닝 이전 기계학습과 딥러닝의 비교
나. 다른 속성을 선택해 데이터를 학습시켜 보자.
3. 딥러닝 이전 기계학습과 딥러닝의 비교
다. 딥러닝으로 데이터를 학습시킨 후 결과를 확인해 보자.
더 알아보기, 전통적인 기계학습과 딥러닝 비교
4. 딥러닝은 어떻게 활용될까?
4. 딥러닝은 어떻게 활용될까?
데이터가 나타내는 대상이 무엇인지 식별하는 모델을 판별 모델이라고 한다면, 대상을 나타내는 데이터를 만들어 내는 모델을 생성 모델이라고 하는데, 딥 페이크에 사용된 GAN도 이러한 생성 모델의 하나이다. 위의 다섯 장의 사진은 실존하는 사람을 촬영한 것이 아니라 모두 GAN을 이용해 만든 것인데, 가장 왼쪽부터 시작해 2014년과 2018년 사이에 이미지 생성 기술이 얼마나 발전했는지를 보여 준다.
진짜 같은 가짜를 만드는 딥러닝 기술, GAN
더 알아보기, 적대 신경망(GAN)
Generative Adversarial Networks(GAN)
출처: http://mcheleplant.blogspot.com/2019/03/gan-generative-adversarial-networks.html
참고자료_딥러닝
- 퍼셉트론과 심층신경망�- 순전파와 역전파
부록
학습목표
퍼셉트론(PERCPETRON)
퍼셉트론이란?
뉴런
퍼셉트론
퍼셉트론 주요 키워드
wx + b
y
^
w
활성화함수
1
w
2
x
1
x
2
b
활성화 함수(Activation Function)
결과가 임계값을 넘는지 확인하는 함수
계단 함수
Step
활성화 함수(Activation Function)
결과가 임계값을 넘는지 확인하는 함수
계단 함수
시그모이드 함수
활성화 함수(Activation Function)
결과가 임계값을 넘는지 확인하는 함수
계단 함수
시그모이드 함수
렐루(ReLU) 함수
심층신경망
다층 퍼셉트론
심층신경망이란?
입력층
은닉층
출력층
...
...
레이어
레이어
레이어
심층심경망의 의의
신경망
깊이
해결
가능한
문제
XOR Problem
<진리표>
XOR Problem
<진리표>
XOR Problem
XOR 게이트: 두 개의 입력이 같을 경우에는 0, 다를 경우에는 1을 출력하는 회로
<진리표>
XOR Problem
XOR 게이트: 두 개의 입력이 같을 경우에는 0, 다를 경우에는 1을 출력하는 회로
<NAND>
<XOR>
NAND
NAND
NAND
NAND
비용함수(Cost Function)이란?
가설
최소의 Cost 값을 찾는 방법, 경사하강법
순전파, 역전파
순전파(Forward Propagation)란?
8가지 재료가
입력되어 친구들의
레시피를 거친 후,
길동이가 국수를
만든 과정
→ 순전파와 관련
역전파(Backward Propagation)란?
길동이가 만든 국수가
맛있는 국수와
거리가 멂
→ 오차를 줄인
모델이
필요하다!
역전파(Backward Propagation)란?
국수의 결과에 영향을
미친 정도를 바탕으로
친구의 레시피와
재료 반영 비율을�조정하는 과정
→ 역전파와 관련
예제를 통해 순전파와 역전파 이해하기
붓꽃(Iris) 데이터를 이해해보자.
꽃잎
꽃받침
꽃잎
꽃받침
꽃잎
꽃받침
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 |
2단계) 데이터 시각화
setosa
versicolor
virginica
3단계) 모델 과정 이해하기
인공신경망이 붓꽃 데이터를 바탕으로 붓꽃 품종을 분류하려면?
→ 순전파
신경망 내부의 가중치를 조정하는 과정
→ 오차 측정
→ 역전파
순전파 계산해 보기
순전파 계산해 보기
꽃받침 길이 | 꽃받침 너비 | 꽃잎 길이 | 꽃잎 너비 |
5.1 | 3.5 | 1.4 | 0.2 |
품종 |
setosa |
순전파 계산해 보기
꽃받침 길이 | 꽃받침 너비 | 꽃잎 길이 | 꽃잎 너비 |
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 노드에 입력된 값과 가중치를 곱한 값의 합
순전파 계산해 보기
꽃받침 길이 | 꽃받침 너비 | 꽃잎 길이 | 꽃잎 너비 |
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 노드에 입력된 값과 가중치를 곱한 값의 합
역전파 계산하기
0.7만큼의 오차
o1 노드에 w5 값을 조정해야 하는 비율 계산하기
(o1이 예측한 값이 실제값과 평균적으로 0.7 정도 차이가 난다고 가정)
o1 값의 계산에 영향을 준 w5 ~ w8 값에 대한
비율만큼 조정