SlideShare a Scribd company logo
1 of 10
Download to read offline
신경망 : Neural Network
[Deep Learning from scratch] – 사이토 고키
중요 내용 요약 : 김진수
신경망 : Neural Network
• 퍼셉트론에서의 y : Step function 값 (0 𝑜𝑟 1)
𝑦 = ቊ
0 (𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 < 0)
1 (𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 ≥ 0)
• 신경망에서의 y : 비선형의 활성화 함수(ℎ) 값
𝑎 = 𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2
𝑦 = ℎ(𝑎)
1
𝑥1
𝑥2
𝑎
ℎ( )
𝑦
𝑤1
𝑤2
𝑏
활성화 함수 : Activation function
• Step function
ℎ 𝑥 = ቊ
0 (𝑥 ≤ 0)
1 (𝑥 > 0)
• Sigmoid
ℎ 𝑥 =
1
1 + exp(−𝑥)
• ReLU (Rectified Linear Unit)
ℎ 𝑥 = ቊ
0 (𝑥 < 0)
𝑥 (𝑥 ≥ 0)
활성화 함수로는 반드시
비선형 함수를 사용한다
→ 선형 함수는 층을 깊게
하더라도 의미가 없기 때문
활성화 함수 : Code
• Step function
• Sigmoid
• ReLU (Rectified Linear Unit)
𝑥 > 0 의 True/False를 (𝑛𝑢𝑚𝑝𝑦)𝑖𝑛𝑡로
변환하여 0 또는 1의 값으로 return
𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑥 =
1
1+exp(−𝑥)
식의 값을 return
0과 𝑥를 비교하여 큰 값을 출력한다.
𝑥 >= 0일 때는 𝑥를, 𝑥 < 0일 때는 0을 출력
다차원 행렬의 곱
𝑥1 𝑥2
𝑥3 𝑥4
𝑤1 𝑤2
𝑤3 𝑤4
=
𝑥1 𝑤1 + 𝑥2 𝑤3 𝑥1 𝑤2 + 𝑥2 𝑤4
𝑥3 𝑤1 + 𝑥4 𝑤3 𝑥3 𝑤2 + 𝑥4 𝑤4
X W Y
• (𝑛𝑝. 𝑎𝑟𝑟𝑎𝑦이라면) 𝑋, 𝑊 의 행렬 곱 𝑌 = 𝑛𝑝. 𝑑𝑜𝑡(𝑋, 𝑊) (신경망에서는+Bias)
⇒ dot는 ‘점곱’, ‘내적’, 또는 ‘스칼라곱’이라고도 한다.
• X.shape : (3,2), W.shape : (2,4)일 때, Y.shape : (3,4)
3 X 2 2 X 4 3 X 4
항상 같아야 한다
X =
출력층 설계하기
• 분류 (Classification) : 입력 데이터가 어느 Class에 속하는 지에 대한 문제
ex) 인물 사진 -> 남?/녀?
• 회귀 (Regression) : 입력 데이터에서 연속적인 수치를 예측하는 문제
ex) 인물 사진 -> 57.4kg?
• 출력층에서 사용하는 활성화 함수
• 항등 함수 : 입력을 그대로 출력 (Identity function)
• Softmax 함수 : 지수 함수를 활용한 분류기. 각 요소의 값은 0~1, 합은 1이 된다.
𝑦 𝑘 =
𝑒𝑥𝑝(𝑎 𝑘)
σ𝑖=1
𝑛
𝑒𝑥𝑝(𝑎𝑖)
=
exp 𝑎 𝑘−𝐶
σ𝑖=1
𝑛
exp 𝑎𝑖−𝐶
(임의의 정수 C는 지수 오버플로 방지 대책, 입력 최댓값 사용이 일반적)
Softmax 함수 : Code
• 지수 함수(exp)를 사용하기 때문에 오버플로 (inf 값 발생)가 날 수 있다.
=> 𝑥중에서의 𝑛𝑝. 𝑚𝑎𝑥값 𝑐를 빼서 값이 무수히 커지는 것을 막아준다.
• 𝑠𝑜𝑓𝑡𝑚𝑎𝑥(𝑥) =
exp 𝑥 𝑘−𝐶
σ𝑖=1
𝑛 exp 𝑥 𝑖−𝐶
의 값을 return
배치 처리
• 수치 계산 라이브러리가 큰 배열을 효율적으로 처리할 수 있으므로,
배치 처리를 통해 시간을 대폭 줄여줄 수 있다.
• 데이터의 I/O 횟수가 줄어, 병목 현상을 막아주게 되므로, 순수 계산을
수행하는 비율이 높아진다.
• 결론적으로 큰 배열을 한번에 계산 하는 것이 작은 배열을 여러 번
계산하는 것보다 빠르다.
• Ex) X W1 W2 W3 → Y
Shape : 100 X 784 784 X 50 50 X 100 100 X 10 100 X 10=
신경망의 추론(Forward) : Code
• 𝑙𝑜𝑎𝑑_𝑚𝑛𝑖𝑠𝑡 : Mnist data를 load하는 함수,
flatten (28*28 ⇒ 784), normalize (/255)
• 학습된 신경망의 W(가중치)와
b(편향) 값을 𝑝𝑖𝑐𝑘𝑙𝑒 파일로부터
불러오는 함수
• 𝑥(입력), 𝑊(가중치), 𝑏(편향)을 가지는
신경망을 이용하여 행렬 계산을 수행하고,
활성화 함수로 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 함수를 사용
• 출력층에서 𝑠𝑜𝑓𝑡𝑚𝑎𝑥의 결과를 return 해준다.
• Data 와 신경망을
load 시킨 후에,
첫 Data인 image[0]를
plot한 결과
신경망의 추론(Forward) : Code
• 𝑥(입력)을 1개씩 신경망으로 추론시켰을 때의 결과 𝑦
• 𝑦의 결과에서 가장 큰 값의 index : 𝑝
⇒ 𝑝가 정답(𝑡)과 같다면(𝑇𝑟𝑢𝑒(1)/𝐹𝑎𝑙𝑠𝑒(0)), 누적하여 전체 개수로
나누어 준 정확도를 출력
• 𝑥_𝑏𝑎𝑡𝑐ℎ(100개)를 신경망으로 추론시켰을 때의 결과 𝑦_𝑏𝑎𝑡𝑐ℎ(100개)
• 𝑦_𝑏𝑎𝑡𝑐ℎ(100개)의 결과에서 가장 큰 값의 index : 𝑝(100개)
⇒ 𝑎𝑟𝑔𝑚𝑎𝑥 시에 100개의 index를 내주기 위해서 𝑎𝑥𝑖𝑠 = 1을 기준으로,
각각의 𝑝가 정답(𝑡)과 같다면(𝑇𝑟𝑢𝑒(1)/𝐹𝑎𝑙𝑠𝑒(0)), 누적하여 전체 개수로
나누어 준 정확도를 출력, 결과는 배치 처리 전과 같다.

More Related Content

What's hot

自由エネルギー原理入門: 正規分布を仮定した場合
自由エネルギー原理入門: 正規分布を仮定した場合自由エネルギー原理入門: 正規分布を仮定した場合
自由エネルギー原理入門: 正規分布を仮定した場合Masatoshi Yoshida
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習Hidekazu Tanaka
 
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)智啓 出川
 
ベイズと認知モデルと教師なし学習
ベイズと認知モデルと教師なし学習ベイズと認知モデルと教師なし学習
ベイズと認知モデルと教師なし学習nozyh
 
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料at grandpa
 
劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章Hakky St
 
Chapter 01 #ml-professional
Chapter 01 #ml-professionalChapter 01 #ml-professional
Chapter 01 #ml-professionalAi Makabi
 
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算 (移流方程式)
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算(移流方程式)2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算(移流方程式)
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算 (移流方程式)智啓 出川
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리종현 최
 
関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザー関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザーIchiro Maruta
 
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換京大 マイコンクラブ
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能MITSUNARI Shigeo
 
CEDEC2015 サブディビジョンサーフェスの すべてがわかる
CEDEC2015 サブディビジョンサーフェスの すべてがわかるCEDEC2015 サブディビジョンサーフェスの すべてがわかる
CEDEC2015 サブディビジョンサーフェスの すべてがわかるTakahito Tejima
 
Chapter 6 Deep feedforward networks - 1
Chapter 6 Deep feedforward networks - 1Chapter 6 Deep feedforward networks - 1
Chapter 6 Deep feedforward networks - 1KyeongUkJang
 
PRML Chapter 9
PRML Chapter 9PRML Chapter 9
PRML Chapter 9Sunwoo Kim
 
MLaPP 9章 「一般化線形モデルと指数型分布族」
MLaPP 9章 「一般化線形モデルと指数型分布族」MLaPP 9章 「一般化線形モデルと指数型分布族」
MLaPP 9章 「一般化線形モデルと指数型分布族」moterech
 
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算智啓 出川
 
Suphx: Mastering Mahjong with Deep Reinforcement Learning
Suphx: Mastering Mahjong with Deep Reinforcement LearningSuphx: Mastering Mahjong with Deep Reinforcement Learning
Suphx: Mastering Mahjong with Deep Reinforcement Learningharmonylab
 

What's hot (20)

自由エネルギー原理入門: 正規分布を仮定した場合
自由エネルギー原理入門: 正規分布を仮定した場合自由エネルギー原理入門: 正規分布を仮定した場合
自由エネルギー原理入門: 正規分布を仮定した場合
 
アンサンブル学習
アンサンブル学習アンサンブル学習
アンサンブル学習
 
W8PRML5.1-5.3
W8PRML5.1-5.3W8PRML5.1-5.3
W8PRML5.1-5.3
 
Estimating Space-Time Covariance from Finite Sample Sets
Estimating Space-Time Covariance from Finite Sample SetsEstimating Space-Time Covariance from Finite Sample Sets
Estimating Space-Time Covariance from Finite Sample Sets
 
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
2015年度GPGPU実践プログラミング 第8回 総和計算(高度な最適化)
 
ベイズと認知モデルと教師なし学習
ベイズと認知モデルと教師なし学習ベイズと認知モデルと教師なし学習
ベイズと認知モデルと教師なし学習
 
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
機械学習プロフェッショナルシリーズ輪読会 #5 異常検知と変化検知 Chapter 1 & 2 資料
 
劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章劣モジュラ最適化と機械学習 3章
劣モジュラ最適化と機械学習 3章
 
Chapter 01 #ml-professional
Chapter 01 #ml-professionalChapter 01 #ml-professional
Chapter 01 #ml-professional
 
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算 (移流方程式)
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算(移流方程式)2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算(移流方程式)
2015年度先端GPGPUシミュレーション工学特論 第9回 偏微分方程式の差分計算 (移流方程式)
 
Rnn개념정리
Rnn개념정리Rnn개념정리
Rnn개념정리
 
関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザー関数型プログラミング入門 for Matlab ユーザー
関数型プログラミング入門 for Matlab ユーザー
 
多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換多倍長整数の乗算と高速フーリエ変換
多倍長整数の乗算と高速フーリエ変換
 
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
準同型暗号の実装とMontgomery, Karatsuba, FFT の性能
 
CEDEC2015 サブディビジョンサーフェスの すべてがわかる
CEDEC2015 サブディビジョンサーフェスの すべてがわかるCEDEC2015 サブディビジョンサーフェスの すべてがわかる
CEDEC2015 サブディビジョンサーフェスの すべてがわかる
 
Chapter 6 Deep feedforward networks - 1
Chapter 6 Deep feedforward networks - 1Chapter 6 Deep feedforward networks - 1
Chapter 6 Deep feedforward networks - 1
 
PRML Chapter 9
PRML Chapter 9PRML Chapter 9
PRML Chapter 9
 
MLaPP 9章 「一般化線形モデルと指数型分布族」
MLaPP 9章 「一般化線形モデルと指数型分布族」MLaPP 9章 「一般化線形モデルと指数型分布族」
MLaPP 9章 「一般化線形モデルと指数型分布族」
 
2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算2015年度GPGPU実践プログラミング 第7回 総和計算
2015年度GPGPU実践プログラミング 第7回 総和計算
 
Suphx: Mastering Mahjong with Deep Reinforcement Learning
Suphx: Mastering Mahjong with Deep Reinforcement LearningSuphx: Mastering Mahjong with Deep Reinforcement Learning
Suphx: Mastering Mahjong with Deep Reinforcement Learning
 

Similar to Deep Learning from scratch 3장 : neural network

Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)Jeonghun Yoon
 
해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3Haesun Park
 
03. linear regression
03. linear regression03. linear regression
03. linear regressionJeonghun Yoon
 
Multinomial classification and application of ML
Multinomial classification and application of MLMultinomial classification and application of ML
Multinomial classification and application of ML희수 박
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기JungHyun Hong
 
3.neural networks
3.neural networks3.neural networks
3.neural networksHaesun Park
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks ISang Jun Lee
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리SANG WON PARK
 
Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn searchWooSung Choi
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05HyeonSeok Choi
 
[신경망기초] 소프트맥스회귀분석
[신경망기초] 소프트맥스회귀분석[신경망기초] 소프트맥스회귀분석
[신경망기초] 소프트맥스회귀분석jaypi Ko
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNNSANG WON PARK
 
하스켈 성능 튜닝 2
하스켈 성능 튜닝 2하스켈 성능 튜닝 2
하스켈 성능 튜닝 2민석 이
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기Woong won Lee
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련Haesun Park
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regressionHaesun Park
 
Linear regression
Linear regressionLinear regression
Linear regression전 희천
 

Similar to Deep Learning from scratch 3장 : neural network (20)

Neural network (perceptron)
Neural network (perceptron)Neural network (perceptron)
Neural network (perceptron)
 
DL from scratch(1~3)
DL from scratch(1~3)DL from scratch(1~3)
DL from scratch(1~3)
 
해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3해커에게 전해들은 머신러닝 #3
해커에게 전해들은 머신러닝 #3
 
03. linear regression
03. linear regression03. linear regression
03. linear regression
 
Multinomial classification and application of ML
Multinomial classification and application of MLMultinomial classification and application of ML
Multinomial classification and application of ML
 
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
[GomGuard] 뉴런부터 YOLO 까지 - 딥러닝 전반에 대한 이야기
 
3.neural networks
3.neural networks3.neural networks
3.neural networks
 
Lecture 4: Neural Networks I
Lecture 4: Neural Networks ILecture 4: Neural Networks I
Lecture 4: Neural Networks I
 
Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리Coursera Machine Learning (by Andrew Ng)_강의정리
Coursera Machine Learning (by Andrew Ng)_강의정리
 
Dsh data sensitive hashing for high dimensional k-nn search
Dsh  data sensitive hashing for high dimensional k-nn searchDsh  data sensitive hashing for high dimensional k-nn search
Dsh data sensitive hashing for high dimensional k-nn search
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05
 
Cnn 강의
Cnn 강의Cnn 강의
Cnn 강의
 
[신경망기초] 소프트맥스회귀분석
[신경망기초] 소프트맥스회귀분석[신경망기초] 소프트맥스회귀분석
[신경망기초] 소프트맥스회귀분석
 
Code로 이해하는 RNN
Code로 이해하는 RNNCode로 이해하는 RNN
Code로 이해하는 RNN
 
하스켈 성능 튜닝 2
하스켈 성능 튜닝 2하스켈 성능 튜닝 2
하스켈 성능 튜닝 2
 
Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)Variational AutoEncoder(VAE)
Variational AutoEncoder(VAE)
 
RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기RLCode와 A3C 쉽고 깊게 이해하기
RLCode와 A3C 쉽고 깊게 이해하기
 
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
[홍대 머신러닝 스터디 - 핸즈온 머신러닝] 4장. 모델 훈련
 
2.linear regression and logistic regression
2.linear regression and logistic regression2.linear regression and logistic regression
2.linear regression and logistic regression
 
Linear regression
Linear regressionLinear regression
Linear regression
 

Recently uploaded

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 

Recently uploaded (6)

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 

Deep Learning from scratch 3장 : neural network

  • 1. 신경망 : Neural Network [Deep Learning from scratch] – 사이토 고키 중요 내용 요약 : 김진수
  • 2. 신경망 : Neural Network • 퍼셉트론에서의 y : Step function 값 (0 𝑜𝑟 1) 𝑦 = ቊ 0 (𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 < 0) 1 (𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 ≥ 0) • 신경망에서의 y : 비선형의 활성화 함수(ℎ) 값 𝑎 = 𝑏 + 𝑤1 𝑥1 + 𝑤2 𝑥2 𝑦 = ℎ(𝑎) 1 𝑥1 𝑥2 𝑎 ℎ( ) 𝑦 𝑤1 𝑤2 𝑏
  • 3. 활성화 함수 : Activation function • Step function ℎ 𝑥 = ቊ 0 (𝑥 ≤ 0) 1 (𝑥 > 0) • Sigmoid ℎ 𝑥 = 1 1 + exp(−𝑥) • ReLU (Rectified Linear Unit) ℎ 𝑥 = ቊ 0 (𝑥 < 0) 𝑥 (𝑥 ≥ 0) 활성화 함수로는 반드시 비선형 함수를 사용한다 → 선형 함수는 층을 깊게 하더라도 의미가 없기 때문
  • 4. 활성화 함수 : Code • Step function • Sigmoid • ReLU (Rectified Linear Unit) 𝑥 > 0 의 True/False를 (𝑛𝑢𝑚𝑝𝑦)𝑖𝑛𝑡로 변환하여 0 또는 1의 값으로 return 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 𝑥 = 1 1+exp(−𝑥) 식의 값을 return 0과 𝑥를 비교하여 큰 값을 출력한다. 𝑥 >= 0일 때는 𝑥를, 𝑥 < 0일 때는 0을 출력
  • 5. 다차원 행렬의 곱 𝑥1 𝑥2 𝑥3 𝑥4 𝑤1 𝑤2 𝑤3 𝑤4 = 𝑥1 𝑤1 + 𝑥2 𝑤3 𝑥1 𝑤2 + 𝑥2 𝑤4 𝑥3 𝑤1 + 𝑥4 𝑤3 𝑥3 𝑤2 + 𝑥4 𝑤4 X W Y • (𝑛𝑝. 𝑎𝑟𝑟𝑎𝑦이라면) 𝑋, 𝑊 의 행렬 곱 𝑌 = 𝑛𝑝. 𝑑𝑜𝑡(𝑋, 𝑊) (신경망에서는+Bias) ⇒ dot는 ‘점곱’, ‘내적’, 또는 ‘스칼라곱’이라고도 한다. • X.shape : (3,2), W.shape : (2,4)일 때, Y.shape : (3,4) 3 X 2 2 X 4 3 X 4 항상 같아야 한다 X =
  • 6. 출력층 설계하기 • 분류 (Classification) : 입력 데이터가 어느 Class에 속하는 지에 대한 문제 ex) 인물 사진 -> 남?/녀? • 회귀 (Regression) : 입력 데이터에서 연속적인 수치를 예측하는 문제 ex) 인물 사진 -> 57.4kg? • 출력층에서 사용하는 활성화 함수 • 항등 함수 : 입력을 그대로 출력 (Identity function) • Softmax 함수 : 지수 함수를 활용한 분류기. 각 요소의 값은 0~1, 합은 1이 된다. 𝑦 𝑘 = 𝑒𝑥𝑝(𝑎 𝑘) σ𝑖=1 𝑛 𝑒𝑥𝑝(𝑎𝑖) = exp 𝑎 𝑘−𝐶 σ𝑖=1 𝑛 exp 𝑎𝑖−𝐶 (임의의 정수 C는 지수 오버플로 방지 대책, 입력 최댓값 사용이 일반적)
  • 7. Softmax 함수 : Code • 지수 함수(exp)를 사용하기 때문에 오버플로 (inf 값 발생)가 날 수 있다. => 𝑥중에서의 𝑛𝑝. 𝑚𝑎𝑥값 𝑐를 빼서 값이 무수히 커지는 것을 막아준다. • 𝑠𝑜𝑓𝑡𝑚𝑎𝑥(𝑥) = exp 𝑥 𝑘−𝐶 σ𝑖=1 𝑛 exp 𝑥 𝑖−𝐶 의 값을 return
  • 8. 배치 처리 • 수치 계산 라이브러리가 큰 배열을 효율적으로 처리할 수 있으므로, 배치 처리를 통해 시간을 대폭 줄여줄 수 있다. • 데이터의 I/O 횟수가 줄어, 병목 현상을 막아주게 되므로, 순수 계산을 수행하는 비율이 높아진다. • 결론적으로 큰 배열을 한번에 계산 하는 것이 작은 배열을 여러 번 계산하는 것보다 빠르다. • Ex) X W1 W2 W3 → Y Shape : 100 X 784 784 X 50 50 X 100 100 X 10 100 X 10=
  • 9. 신경망의 추론(Forward) : Code • 𝑙𝑜𝑎𝑑_𝑚𝑛𝑖𝑠𝑡 : Mnist data를 load하는 함수, flatten (28*28 ⇒ 784), normalize (/255) • 학습된 신경망의 W(가중치)와 b(편향) 값을 𝑝𝑖𝑐𝑘𝑙𝑒 파일로부터 불러오는 함수 • 𝑥(입력), 𝑊(가중치), 𝑏(편향)을 가지는 신경망을 이용하여 행렬 계산을 수행하고, 활성화 함수로 𝑠𝑖𝑔𝑚𝑜𝑖𝑑 함수를 사용 • 출력층에서 𝑠𝑜𝑓𝑡𝑚𝑎𝑥의 결과를 return 해준다. • Data 와 신경망을 load 시킨 후에, 첫 Data인 image[0]를 plot한 결과
  • 10. 신경망의 추론(Forward) : Code • 𝑥(입력)을 1개씩 신경망으로 추론시켰을 때의 결과 𝑦 • 𝑦의 결과에서 가장 큰 값의 index : 𝑝 ⇒ 𝑝가 정답(𝑡)과 같다면(𝑇𝑟𝑢𝑒(1)/𝐹𝑎𝑙𝑠𝑒(0)), 누적하여 전체 개수로 나누어 준 정확도를 출력 • 𝑥_𝑏𝑎𝑡𝑐ℎ(100개)를 신경망으로 추론시켰을 때의 결과 𝑦_𝑏𝑎𝑡𝑐ℎ(100개) • 𝑦_𝑏𝑎𝑡𝑐ℎ(100개)의 결과에서 가장 큰 값의 index : 𝑝(100개) ⇒ 𝑎𝑟𝑔𝑚𝑎𝑥 시에 100개의 index를 내주기 위해서 𝑎𝑥𝑖𝑠 = 1을 기준으로, 각각의 𝑝가 정답(𝑡)과 같다면(𝑇𝑟𝑢𝑒(1)/𝐹𝑎𝑙𝑠𝑒(0)), 누적하여 전체 개수로 나누어 준 정확도를 출력, 결과는 배치 처리 전과 같다.