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

AtCoder Regular Contest 046
AtCoder Regular Contest 046AtCoder Regular Contest 046
AtCoder Regular Contest 046AtCoder Inc.
 
統計的学習の基礎 第2章後半
統計的学習の基礎 第2章後半統計的学習の基礎 第2章後半
統計的学習の基礎 第2章後半Prunus 1350
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系tmaehara
 
Shunsuke Horii
Shunsuke HoriiShunsuke Horii
Shunsuke HoriiSuurist
 
딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본deepseaswjh
 
AIST Dance Video Database:  ダンス情報処理研究のためのストリートダンス動画データベース
AIST Dance Video Database:  ダンス情報処理研究のためのストリートダンス動画データベースAIST Dance Video Database:  ダンス情報処理研究のためのストリートダンス動画データベース
AIST Dance Video Database:  ダンス情報処理研究のためのストリートダンス動画データベースShuhei Tsuchida
 
単純パーセプトロン
単純パーセプトロン単純パーセプトロン
単純パーセプトロンT2C_
 
ウィナーフィルタと適応フィルタ
ウィナーフィルタと適応フィルタウィナーフィルタと適応フィルタ
ウィナーフィルタと適応フィルタToshihisa Tanaka
 
At coder regular contest 013 解説
At coder regular contest 013 解説At coder regular contest 013 解説
At coder regular contest 013 解説光喜 濱屋
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介Masahiro Sakai
 
[DL輪読会]陰関数微分を用いた深層学習
[DL輪読会]陰関数微分を用いた深層学習[DL輪読会]陰関数微分を用いた深層学習
[DL輪読会]陰関数微分を用いた深層学習Deep Learning JP
 
やさしい整数論
やさしい整数論やさしい整数論
やさしい整数論Kazuma Mikami
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)narumikanno0918
 
ΠΛΗ 21 - Εισαγωγή στα ψηφιακά συστήματα - Σημειώσεις
ΠΛΗ 21 - Εισαγωγή στα ψηφιακά συστήματα - ΣημειώσειςΠΛΗ 21 - Εισαγωγή στα ψηφιακά συστήματα - Σημειώσεις
ΠΛΗ 21 - Εισαγωγή στα ψηφιακά συστήματα - ΣημειώσειςOnlearn
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性Hibiki Yamashiro
 
2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方Tsuneo Yoshioka
 

What's hot (20)

Za atsu-20170328
Za atsu-20170328Za atsu-20170328
Za atsu-20170328
 
AtCoder Regular Contest 046
AtCoder Regular Contest 046AtCoder Regular Contest 046
AtCoder Regular Contest 046
 
辺彩色
辺彩色辺彩色
辺彩色
 
統計的学習の基礎 第2章後半
統計的学習の基礎 第2章後半統計的学習の基礎 第2章後半
統計的学習の基礎 第2章後半
 
競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系競技プログラミングでの線型方程式系
競技プログラミングでの線型方程式系
 
Shunsuke Horii
Shunsuke HoriiShunsuke Horii
Shunsuke Horii
 
딥러닝의 기본
딥러닝의 기본딥러닝의 기본
딥러닝의 기본
 
AIST Dance Video Database:  ダンス情報処理研究のためのストリートダンス動画データベース
AIST Dance Video Database:  ダンス情報処理研究のためのストリートダンス動画データベースAIST Dance Video Database:  ダンス情報処理研究のためのストリートダンス動画データベース
AIST Dance Video Database:  ダンス情報処理研究のためのストリートダンス動画データベース
 
単純パーセプトロン
単純パーセプトロン単純パーセプトロン
単純パーセプトロン
 
ウィナーフィルタと適応フィルタ
ウィナーフィルタと適応フィルタウィナーフィルタと適応フィルタ
ウィナーフィルタと適応フィルタ
 
At coder regular contest 013 解説
At coder regular contest 013 解説At coder regular contest 013 解説
At coder regular contest 013 解説
 
自動定理証明の紹介
自動定理証明の紹介自動定理証明の紹介
自動定理証明の紹介
 
大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法大規模凸最適化問題に対する勾配法
大規模凸最適化問題に対する勾配法
 
[DL輪読会]陰関数微分を用いた深層学習
[DL輪読会]陰関数微分を用いた深層学習[DL輪読会]陰関数微分を用いた深層学習
[DL輪読会]陰関数微分を用いた深層学習
 
やさしい整数論
やさしい整数論やさしい整数論
やさしい整数論
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
ΠΛΗ 21 - Εισαγωγή στα ψηφιακά συστήματα - Σημειώσεις
ΠΛΗ 21 - Εισαγωγή στα ψηφιακά συστήματα - ΣημειώσειςΠΛΗ 21 - Εισαγωγή στα ψηφιακά συστήματα - Σημειώσεις
ΠΛΗ 21 - Εισαγωγή στα ψηφιακά συστήματα - Σημειώσεις
 
ゼロから作るDeepLearning 5章 輪読
ゼロから作るDeepLearning 5章 輪読ゼロから作るDeepLearning 5章 輪読
ゼロから作るDeepLearning 5章 輪読
 
競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性競技プログラミングにおけるコードの書き方とその利便性
競技プログラミングにおけるコードの書き方とその利便性
 
2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方2SAT(充足可能性問題)の解き方
2SAT(充足可能性問題)の解き方
 

Similar to DL from scratch(1~3)

neural network 기초
neural network 기초neural network 기초
neural network 기초Dea-hwan Ki
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)Jeonghun Yoon
 
03.12 cnn backpropagation
03.12 cnn backpropagation03.12 cnn backpropagation
03.12 cnn backpropagationDea-hwan Ki
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regressionHaesun Park
 
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 networkJinSooKim80
 
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)-3Haesun Park
 
Computational Complexity
Computational ComplexityComputational Complexity
Computational Complexityskku_npc
 
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 learningJinSooKim80
 
[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pub[Tf2017] day4 jwkang_pub
[Tf2017] day4 jwkang_pubJaewook. Kang
 
인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명인공 신경망 구현에 관한 간단한 설명
인공 신경망 구현에 관한 간단한 설명Woonghee Lee
 
3.neural networks
3.neural networks3.neural networks
3.neural networksHaesun Park
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기JungHyun Hong
 
텐서플로우-기본신경망구현
텐서플로우-기본신경망구현텐서플로우-기본신경망구현
텐서플로우-기본신경망구현jdo
 
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 KoreanJaewook. Kang
 

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
 

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…) • 기계학습 문제는 회귀와 분류로 나뉜다. • 출력층의 활성화 함수 (회귀 : 항등 함수 / 분류 : 소프트맥스 함수 …) • 배치 처리를 하면 결과를 훨씬 빠르게 얻을 수 있다.