SlideShare a Scribd company logo
1 of 27
Download to read offline
밑바닥부터 시작하는 딥러닝
박성현 zkfthfl123@naver.com
목차
1. 파이썬 기본 (생략)
2. 퍼셉트론
3. 신경망
퍼셉트론
퍼셉트론
• 다수의 신호를 입력으로 받아 하나의 신호를 출력한다.
• 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출력한다.
𝑥1
𝑥2
𝑦
𝑤1
𝑤2
𝑦 = ቊ
0 (𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 𝜃)
1(𝑤1 𝑥1 + 𝑤2 𝑥2 > 𝜃)
퍼셉트론을 이용한 단순 논리 회로
𝒙 𝟏 𝒙 𝟐 𝒚
0 0 0
1 0 0
0 1 0
1 1 1
𝑥1
𝑥2
𝑦
𝑤1 = 0.5
𝑤2 = 0.5
𝑦 = ቊ
0 (0.5 ∗ 𝑥1 + 0.5 ∗ 𝑥2 ≤ 0.7)
1(0.5 ∗ 𝑥1 + 0.5 ∗ 𝑥2 > 0.7)
이 외에도 조건을 만족하는 매개변수 조합은 무한히 많다.
AND 게이트의 진리표
𝜃 = 0.7
AND 게이트 외에 NAND, OR 게이트도 퍼셉트론의 매개변수의 값만 적절히 조절하면 만들 수 있다.
퍼셉트론 구현 (AND)
𝑦 = ቊ
0 (𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 𝜃)
1(𝑤1 𝑥1 + 𝑤2 𝑥2 > 𝜃)
𝑦 = ቊ
0 (𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 0)
1(𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 > 0)
theta 가 −𝑏 (편향) 으로
𝑤1, 𝑤2 (가중치) : 입력신호의 영향력을 조절
𝑏 (편향) : 뉴런이 얼마나 쉽게 활성화 하는지 조정
퍼셉트론의 한계
𝒙 𝟏 𝒙 𝟐 𝒚
0 0 0
1 0 1
0 1 1
1 1 0
XOR 게이트의 진리표
퍼셉트론으로는 XOR 게이트를 표현할 수 없다.
하지만 기존의 게이트를 조합하면?
다층 퍼셉트론
𝒙 𝟏 𝒙 𝟐 𝒔 𝟏 𝒔 𝟐 𝒚
0 0 1 0 0
1 0 1 1 1
0 1 1 1 1
1 1 0 1 0
NAND 게이트 OR 게이트 AND 게이트
다층 퍼셉트론
𝑥1
𝑥2
𝑠1
𝑠2
𝑦
NAND 게이트
OR 게이트
AND 게이트
정리
• 퍼셉트론은 입출력을 갖춘 알고리즘이다.
입력을 주면 정해진 규칙에 따른 값을 출력한다.
• 퍼셉트론에서는 ‘가중치’와 ‘편향’을 매개변수로 설정한다.
• 퍼셉트론으로 간단한 논리 회로를 표현할 수 있다.
• 다층 퍼셉트론은 단층 퍼셉트론의 한계를 극복하였다.
신경망
신경망
• 퍼셉트론으로 복잡한 함수를 표현할 수 있다.
• 하지만 가중치를 설정하는 작업은 사람이 입력해야 한다.
• 신경망은 가중치 매개변수의 적절한 값을
데이터로부터 자동으로 학습한다.
신경망의 예
입력층
은닉층
출력층
활성화 함수
𝑦 = ቊ
0 (𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 𝜃)
1(𝑤1 𝑥1 + 𝑤2 𝑥2 > 𝜃)
𝑦 = ቊ
0 (𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 0)
1(𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 > 0)
ℎ(𝑥) = ቊ
0 (𝑥 ≤ 0)
1(𝑥 > 0)
𝑦 = ℎ(𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2)
퍼셉트론 편향 도입
𝒉 𝒙 와 같이 입력 신호의 총합을 출력 신호로 변환하는 함수를 일반적으로 활성화 함수라고 한다.
활성화 함수 도입
활성화 함수
𝑥1
𝑥2
ℎ()
𝑤1
𝑤2
1
𝑏
𝑎 𝑦
𝑎 = 𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2
𝑦 = ℎ(𝑎)
활성화 함수
계단 함수 시그모이드 함수 ReLU 함수
ℎ 𝑥 =
1
1 + 𝑒−𝑥
ℎ(𝑥) = ቊ
0 (𝑥 ≤ 0)
1(𝑥 > 0)
ℎ(𝑥) = ቊ
0 (𝑥 ≤ 0)
𝑥(𝑥 > 0)
활성화 함수
• 퍼셉트론에서는 계단 함수를 이용했다면
신경망에서는 시그모이드 함수나 ReLU 함수를 이용한다.
• Why?
• 계단함수를 이용하면 신경망의 학습이 잘 이뤄지지 않는다.
• 4장에서 자세히 설명하겠습니다.
활성화 함수 구현 (sigmoid)
신경망 계산
𝑥1
𝑥2
𝑦1
𝑦2
𝑦3
행렬의 내적을 이용해 빠르고 효율적으로 구현이 가능하다.
𝑋 ∙ 𝑊 = 𝑌
𝑥1
𝑥2
∙
𝑤11 𝑤12 𝑤13
𝑤21 𝑤22 𝑤23
=
𝑦1
𝑦2
𝑦3
𝑤11
𝑤12
…
신경망 구현
편
향
신경망 구현
입력 - 은닉(1)
은닉(1) - 은닉(2)
은닉(2) - 출력
출력층 함수
항등 함수 소프트 맥스 함수
𝑦 𝑘 =
𝑒 𝑎𝑘
σ𝑖=1
𝑛
𝑒 𝑎𝑖
* 회귀에 사용 * 분류에 사용
출력층 함수
𝑦 𝑘 =
𝑒 𝑎𝑘
σ𝑖=1
𝑛
𝑒 𝑎𝑖
=
𝑒 𝑎𝑘+𝐶
σ𝑖=1
𝑛
𝑒 𝑎𝑖+𝐶
오버플로를 막기 위해 x의 최대값을 빼서 대입
손글씨 숫자 인식 예제 (MNIST)
데이터 가져오기
학습된 가중치 매개변수 가져오기
배치 처리
1 X 784 784 X 50 50 X 100 100 X 10 = 1 X 10
W1 W2 W3 Y
100 X 784 784 X 50 50 X 100 100 X 10 = 100 X 10
W1 W2 W3 Y
하나의 이미지에 대한 결과값
전체 이미지에 대한 결과값
이미지 묶음
100 개
I/O 를 통해 데이터를 읽는 횟수가 줄어, 빠른 CPU 나 GPU로 순수 계산을 수행하는 비율이 높아진다!
배치 처리 구현
추가됨
정리
• 신경망의 활성화 함수 (시그모이드, ReLU…)
• 기계학습 문제는 회귀와 분류로 나뉜다.
• 출력층의 활성화 함수 (회귀 : 항등 함수 / 분류 : 소프트맥스 함수 …)
• 배치 처리를 하면 결과를 훨씬 빠르게 얻을 수 있다.

More Related Content

What's hot

ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
Dimitris Psounis
 
Recurrent Neural Networks (RNNs)
Recurrent Neural Networks (RNNs)Recurrent Neural Networks (RNNs)
Recurrent Neural Networks (RNNs)
Abdullah al Mamun
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
Dimitris Psounis
 
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
Dimitris Psounis
 
PRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデルPRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデル
Shohei Okada
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
Dimitris Psounis
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
Dimitris Psounis
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
Dimitris Psounis
 

What's hot (20)

ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
ΑΛΓΟΡΙΘΜΟΙ ΣΕ C - ΜΑΘΗΜΑ 1 - ΔΙΑΠΕΡΑΣΗ ΠΙΝΑΚΑ
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 5 - ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ
 
Algorithmique programmation2018
Algorithmique programmation2018Algorithmique programmation2018
Algorithmique programmation2018
 
Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1Η Γλώσσα C - Μάθημα 1
Η Γλώσσα C - Μάθημα 1
 
PRML6.4
PRML6.4PRML6.4
PRML6.4
 
ラビットチャレンジ Day3 day4レポート
ラビットチャレンジ Day3 day4レポートラビットチャレンジ Day3 day4レポート
ラビットチャレンジ Day3 day4レポート
 
Artificial neural network
Artificial neural networkArtificial neural network
Artificial neural network
 
Recurrent Neural Networks (RNNs)
Recurrent Neural Networks (RNNs)Recurrent Neural Networks (RNNs)
Recurrent Neural Networks (RNNs)
 
名古屋CV・PRML勉強会 ShuffleNetの論文調査(説明追加)
名古屋CV・PRML勉強会 ShuffleNetの論文調査(説明追加)名古屋CV・PRML勉強会 ShuffleNetの論文調査(説明追加)
名古屋CV・PRML勉強会 ShuffleNetの論文調査(説明追加)
 
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΕ C - ΜΑΘΗΜΑ 8
 
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
ΠΛΗ30 ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ 2
 
PRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデルPRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデル
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 4 - ΤΕΛΕΣΤΕΣ και η ΔΟΜΗ ΕΛΕΓΧΟΥ
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
 
Η Γλώσσα C - Μάθημα 3
Η Γλώσσα C - Μάθημα 3 Η Γλώσσα C - Μάθημα 3
Η Γλώσσα C - Μάθημα 3
 
PRML第3章_3.3-3.4
PRML第3章_3.3-3.4PRML第3章_3.3-3.4
PRML第3章_3.3-3.4
 
PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半PRML上巻勉強会 at 東京大学 資料 第1章後半
PRML上巻勉強会 at 東京大学 資料 第1章後半
 
Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2Η Γλώσσα C - Μάθημα 2
Η Γλώσσα C - Μάθημα 2
 
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18 ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
ΓΛΩΣΣΑ C - ΜΑΘΗΜΑ 18
 
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6 ΠΛΗ10 ΜΑΘΗΜΑ 2.6
ΠΛΗ10 ΜΑΘΗΜΑ 2.6
 

Similar to DL from scratch(1~3)

Similar to DL from scratch(1~3) (20)

neural network 기초
neural network 기초neural network 기초
neural network 기초
 
Cnn 강의
Cnn 강의Cnn 강의
Cnn 강의
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
 
03.12 cnn backpropagation
03.12 cnn backpropagation03.12 cnn backpropagation
03.12 cnn backpropagation
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
 
Deep Learning from scratch 3장 : neural network
Deep Learning from scratch 3장 : neural networkDeep Learning from scratch 3장 : neural network
Deep Learning from scratch 3장 : neural network
 
Python Machine Learning - ML04 Artificial Neural Network(인공신경망)
Python Machine Learning - ML04 Artificial Neural Network(인공신경망)Python Machine Learning - ML04 Artificial Neural Network(인공신경망)
Python Machine Learning - ML04 Artificial Neural Network(인공신경망)
 
2.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-32.supervised learning(epoch#2)-3
2.supervised learning(epoch#2)-3
 
Computational Complexity
Computational ComplexityComputational Complexity
Computational Complexity
 
Mlp logical input pattern classfication report doc
Mlp logical input pattern classfication report docMlp logical input pattern classfication report doc
Mlp logical input pattern classfication report doc
 
Deep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learningDeep Learning from scratch 4장 : neural network learning
Deep Learning from scratch 4장 : neural network learning
 
[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명
 
3.neural networks
3.neural networks3.neural networks
3.neural networks
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
 
텐서플로우-기본신경망구현
텐서플로우-기본신경망구현텐서플로우-기본신경망구현
텐서플로우-기본신경망구현
 
DL from scratch(4~5)
DL from scratch(4~5)DL from scratch(4~5)
DL from scratch(4~5)
 
DL from scratch(6)
DL from scratch(6)DL from scratch(6)
DL from scratch(6)
 
EveryBody Tensorflow module2 GIST Jan 2018 Korean
EveryBody Tensorflow module2 GIST Jan 2018 KoreanEveryBody Tensorflow module2 GIST Jan 2018 Korean
EveryBody Tensorflow module2 GIST Jan 2018 Korean
 

Recently uploaded

Recently uploaded (8)

데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법데이터 분석 문제 해결을 위한 나의 JMP 활용법
데이터 분석 문제 해결을 위한 나의 JMP 활용법
 
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
(독서광) 인간이 초대한 대형 참사 - 대형 참사가 일어날 때까지 사람들은 무엇을 하고 있었는가?
 
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
실험 설계의 평가 방법: Custom Design을 중심으로 반응인자 최적화 및 Criteria 해석
 
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
JMP 기능의 확장 및 내재화의 핵심 JMP-Python 소개
 
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement MethodologyJMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
JMP를 활용한 전자/반도체 산업 Yield Enhancement Methodology
 
JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!JMP가 걸어온 여정, 새로운 도약 JMP 18!
JMP가 걸어온 여정, 새로운 도약 JMP 18!
 
공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화공학 관점에서 바라본 JMP 머신러닝 최적화
공학 관점에서 바라본 JMP 머신러닝 최적화
 
JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례JMP를 활용한 가속열화 분석 사례
JMP를 활용한 가속열화 분석 사례
 

DL from scratch(1~3)

  • 2. 목차 1. 파이썬 기본 (생략) 2. 퍼셉트론 3. 신경망
  • 4. 퍼셉트론 • 다수의 신호를 입력으로 받아 하나의 신호를 출력한다. • 뉴런에서 보내온 신호의 총합이 정해진 한계를 넘어설 때만 1을 출력한다. 𝑥1 𝑥2 𝑦 𝑤1 𝑤2 𝑦 = ቊ 0 (𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 𝜃) 1(𝑤1 𝑥1 + 𝑤2 𝑥2 > 𝜃)
  • 5. 퍼셉트론을 이용한 단순 논리 회로 𝒙 𝟏 𝒙 𝟐 𝒚 0 0 0 1 0 0 0 1 0 1 1 1 𝑥1 𝑥2 𝑦 𝑤1 = 0.5 𝑤2 = 0.5 𝑦 = ቊ 0 (0.5 ∗ 𝑥1 + 0.5 ∗ 𝑥2 ≤ 0.7) 1(0.5 ∗ 𝑥1 + 0.5 ∗ 𝑥2 > 0.7) 이 외에도 조건을 만족하는 매개변수 조합은 무한히 많다. AND 게이트의 진리표 𝜃 = 0.7 AND 게이트 외에 NAND, OR 게이트도 퍼셉트론의 매개변수의 값만 적절히 조절하면 만들 수 있다.
  • 6. 퍼셉트론 구현 (AND) 𝑦 = ቊ 0 (𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 𝜃) 1(𝑤1 𝑥1 + 𝑤2 𝑥2 > 𝜃) 𝑦 = ቊ 0 (𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 0) 1(𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 > 0) theta 가 −𝑏 (편향) 으로 𝑤1, 𝑤2 (가중치) : 입력신호의 영향력을 조절 𝑏 (편향) : 뉴런이 얼마나 쉽게 활성화 하는지 조정
  • 7. 퍼셉트론의 한계 𝒙 𝟏 𝒙 𝟐 𝒚 0 0 0 1 0 1 0 1 1 1 1 0 XOR 게이트의 진리표 퍼셉트론으로는 XOR 게이트를 표현할 수 없다. 하지만 기존의 게이트를 조합하면?
  • 8. 다층 퍼셉트론 𝒙 𝟏 𝒙 𝟐 𝒔 𝟏 𝒔 𝟐 𝒚 0 0 1 0 0 1 0 1 1 1 0 1 1 1 1 1 1 0 1 0 NAND 게이트 OR 게이트 AND 게이트
  • 10. 정리 • 퍼셉트론은 입출력을 갖춘 알고리즘이다. 입력을 주면 정해진 규칙에 따른 값을 출력한다. • 퍼셉트론에서는 ‘가중치’와 ‘편향’을 매개변수로 설정한다. • 퍼셉트론으로 간단한 논리 회로를 표현할 수 있다. • 다층 퍼셉트론은 단층 퍼셉트론의 한계를 극복하였다.
  • 12. 신경망 • 퍼셉트론으로 복잡한 함수를 표현할 수 있다. • 하지만 가중치를 설정하는 작업은 사람이 입력해야 한다. • 신경망은 가중치 매개변수의 적절한 값을 데이터로부터 자동으로 학습한다.
  • 14. 활성화 함수 𝑦 = ቊ 0 (𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 𝜃) 1(𝑤1 𝑥1 + 𝑤2 𝑥2 > 𝜃) 𝑦 = ቊ 0 (𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 ≤ 0) 1(𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 > 0) ℎ(𝑥) = ቊ 0 (𝑥 ≤ 0) 1(𝑥 > 0) 𝑦 = ℎ(𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2) 퍼셉트론 편향 도입 𝒉 𝒙 와 같이 입력 신호의 총합을 출력 신호로 변환하는 함수를 일반적으로 활성화 함수라고 한다. 활성화 함수 도입
  • 15. 활성화 함수 𝑥1 𝑥2 ℎ() 𝑤1 𝑤2 1 𝑏 𝑎 𝑦 𝑎 = 𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 𝑦 = ℎ(𝑎)
  • 16. 활성화 함수 계단 함수 시그모이드 함수 ReLU 함수 ℎ 𝑥 = 1 1 + 𝑒−𝑥 ℎ(𝑥) = ቊ 0 (𝑥 ≤ 0) 1(𝑥 > 0) ℎ(𝑥) = ቊ 0 (𝑥 ≤ 0) 𝑥(𝑥 > 0)
  • 17. 활성화 함수 • 퍼셉트론에서는 계단 함수를 이용했다면 신경망에서는 시그모이드 함수나 ReLU 함수를 이용한다. • Why? • 계단함수를 이용하면 신경망의 학습이 잘 이뤄지지 않는다. • 4장에서 자세히 설명하겠습니다.
  • 19. 신경망 계산 𝑥1 𝑥2 𝑦1 𝑦2 𝑦3 행렬의 내적을 이용해 빠르고 효율적으로 구현이 가능하다. 𝑋 ∙ 𝑊 = 𝑌 𝑥1 𝑥2 ∙ 𝑤11 𝑤12 𝑤13 𝑤21 𝑤22 𝑤23 = 𝑦1 𝑦2 𝑦3 𝑤11 𝑤12 …
  • 21. 신경망 구현 입력 - 은닉(1) 은닉(1) - 은닉(2) 은닉(2) - 출력
  • 22. 출력층 함수 항등 함수 소프트 맥스 함수 𝑦 𝑘 = 𝑒 𝑎𝑘 σ𝑖=1 𝑛 𝑒 𝑎𝑖 * 회귀에 사용 * 분류에 사용
  • 23. 출력층 함수 𝑦 𝑘 = 𝑒 𝑎𝑘 σ𝑖=1 𝑛 𝑒 𝑎𝑖 = 𝑒 𝑎𝑘+𝐶 σ𝑖=1 𝑛 𝑒 𝑎𝑖+𝐶 오버플로를 막기 위해 x의 최대값을 빼서 대입
  • 24. 손글씨 숫자 인식 예제 (MNIST) 데이터 가져오기 학습된 가중치 매개변수 가져오기
  • 25. 배치 처리 1 X 784 784 X 50 50 X 100 100 X 10 = 1 X 10 W1 W2 W3 Y 100 X 784 784 X 50 50 X 100 100 X 10 = 100 X 10 W1 W2 W3 Y 하나의 이미지에 대한 결과값 전체 이미지에 대한 결과값 이미지 묶음 100 개 I/O 를 통해 데이터를 읽는 횟수가 줄어, 빠른 CPU 나 GPU로 순수 계산을 수행하는 비율이 높아진다!
  • 27. 정리 • 신경망의 활성화 함수 (시그모이드, ReLU…) • 기계학습 문제는 회귀와 분류로 나뉜다. • 출력층의 활성화 함수 (회귀 : 항등 함수 / 분류 : 소프트맥스 함수 …) • 배치 처리를 하면 결과를 훨씬 빠르게 얻을 수 있다.