狠狠撸

狠狠撸Share a Scribd company logo
ニューラルネットワーク
勉強会
第2回
柳本 豪一
本日の予定
3層ニューラルネットワークでXOR問題を解きます。
? ニューラルネットワークの基礎を知る
? Chainerによるネットワークの実装を知る
本日の予定
? 3層ニューラルネットワークによるXOR問題を解き
ます。
? ニューラルネットワークの基礎を知る
? Chainerによるネットワークの実装を知る
簡単なニューラルネットワークを
Chainer上で実装できるようになる!
フィードフォワード
ニューラルネットワーク
複数のニューロンを層状に配置した構造
フィードフォワード
ニューラルネットワーク
複数のニューロンを層状に配置した構造
入力層
フィードフォワード
ニューラルネットワーク
複数のニューロンを層状に配置した構造
隠れ層
フィードフォワード
ニューラルネットワーク
複数のニューロンを層状に配置した構造
出力層
フィードフォワード
ニューラルネットワーク
複数のニューロンを層状に配置した構造
結合荷重
(可調整パラメータ)
バックプロパゲーション
フィードフォワードニューラルネットワークの出力を
用いて誤差を定義し、その誤差を用いて結合荷重を調
整する
y
1 2 3 k k+1 N-1 N
バックプロパゲーション
出力誤差:f(y, t)
y
1 2 3 k k+1 N-1 N
バックプロパゲーション
出力誤差:f(y, t)
y
1 2 3 k k+1 N-1 N
df(y, t)
dy
バックプロパゲーション
出力誤差:??? ?活性化関数:f(y, t)
y
1 2 3 k k+1 N-1 N
df(y, t)
dy
g1
N (x1
N )
g2
N (x2
N )
g3
N (x3
N )
WN 1
WN = E
gk(xk)
出力誤差:??? ?活性化関数:
バックプロパゲーション
f(y, t)
y
1 2 3 k k+1 N-1 N
df(y, t)
dy
g1
N (x1
N )
g2
N (x2
N )
g3
N (x3
N )
WN 1
WN = E
df(y, t)
dxN
df(y, t)
dWN 1
= yT
N 1
?
WT
N
?
df(y, t)
dxF
?
dgN (xN )
dxN
◆
df(y, t)
dxFgk(xk)
gk(xk)出力誤差:??? ?活性化関数:
バックプロパゲーション
f(y, t)
y
1 2 3 k k+1 N-1 N
df(y, t)
dy
g1
N (x1
N )
g2
N (x2
N )
g3
N (x3
N )
WN 1
WN = E
df(y, t)
dxN
df(y, t)
dWN 1
= yT
N 1
?
WT
N
?
df(y, t)
dxF
?
dgN (xN )
dxN
◆
df(y, t)
dxF
一般的には誤差を逆向きに伝搬していると言われているが、
勾配を逆向きに伝搬しているとも言える!
バックプロパゲーション
一般的には誤差を逆向きに伝搬していると言われているが、
勾配を逆向きに伝搬しているとも言える!
バックプロパゲーション
なので、
Chainerでは勾配を意識している
一般的には誤差を逆向きに伝搬していると言われているが、
勾配を逆向きに伝搬しているとも言える!
バックプロパゲーション
なので、
Chainerでは勾配を意識している
のかも?
一般的には誤差を逆向きに伝搬していると言われているが、
勾配を逆向きに伝搬しているとも言える!
バックプロパゲーション
なので、
Chainerでは勾配を意識している
のかも?
あと、
2乗誤差で評価するなら誤差だけど、
クロスエントロピーだと誤差なのかな。。。
一般的には誤差を逆向きに伝搬していると言われているが、
勾配を逆向きに伝搬しているとも言える!
中間まとめ
ニューラルネットワークは
? ニューロン間の結合で構造を定義
結合荷重のみが可調整パラメータ
活性化関数に可調整パラメータなし
? 勾配を出力層から入力層へ伝搬
伝搬すべき勾配
活性化関数の微分
順伝搬時の結合荷重
を考慮すれば学習が可能
XOR問題
? 3層ニューラルネットワークでXOR回路を作る
入力1 入力2 出力
0 0 0
0 1 1
1 0 1
1 1 0
真理値表
XOR問題
? 3層ニューラルネットワークでXOR回路を作る
入力1 入力2 出力
0 0 0
0 1 1
1 0 1
1 1 0
真理値表
左の3層ニューラルネットワークで
XOR回路を実現する
中間まとめ(簡略版)
? ニューロン間の結合で構造を定義
結合荷重のみが可調整パラメータ
活性化関数に可調整パラメータなし
? 勾配を出力層から入力層へ伝搬
伝搬すべき勾配
活性化関数の微分
順伝搬時の結合荷重
中間まとめ(簡略版)
? ニューロン間の結合で構造を定義
結合荷重のみが可調整パラメータ
活性化関数に可調整パラメータなし
? 勾配を出力層から入力層へ伝搬
伝搬すべき勾配
活性化関数の微分
順伝搬時の結合荷重
中間まとめ(簡略版)
? ニューロン間の結合で構造を定義
結合荷重のみが可調整パラメータ
活性化関数に可調整パラメータなし
ニューラルネットワークの構造定義
+
可調整パラメータの切り分け
? 勾配を出力層から入力層へ伝搬
伝搬すべき勾配
活性化関数の微分
順伝搬時の結合荷重
勾配を意識した学習の定義
中間まとめ(簡略版)
? ニューロン間の結合で構造を定義
結合荷重のみが可調整パラメータ
活性化関数に可調整パラメータなし
ニューラルネットワークの構造定義
+
可調整パラメータの切り分け
? 勾配を出力層から入力層へ伝搬
伝搬すべき勾配
活性化関数の微分
順伝搬時の結合荷重
勾配を意識した学習の定義
FunctionSetの利用
勾配の初期化
Chainerを使うために
先頭で以下の文を必ず書いてください
import numpy as np
import chainer from cuda, Function, FunctionSet, 
gradient_check, Variable, optimizers, utils
import chainer.functions as F
ニューラルネットワークの定義
FunctionSetを使ってニューロン間の接続を定義
model = FunctionSet(
l1 = F.Linear(2, 2), #入力層-隠れ層間の結合
l2 = F.Linear(2, 1), #隠れ層-出力層間の結合
)
順伝搬
FunctionSetで定義した結合荷重とchainer.functions
で定義された活性化関数を用いて定義
h = F.sigmoid(model.l1(x))
y = F.sog,pod(model.l2(h))
損失
順伝搬の結果と教師信号を用いてchainer.functions
で定義された損失関数から計算
loss = F.mean_squared_error(y, t)
逆伝搬
optimizersで定義された最適化手法を用いて、lossを
最小化するように可調整パラメータを修正
#最適化手法とニューラルネットワークの設定
optimizer = optimizers.Adam()
optimizer.setup(model)
#パラメータ更新
optimizer.zero_grads()
optimizer.update()
Chainerによる実験手順
データ読み込み
前処理
学習
後処理
Chainerによる実験手順
データ読み込み
前処理
学習
後処理
Python
NumPy
Chainer
NumPy
+
Python
Chainerによる実験手順
Python list
NumPy numpy.ndarray
Chainer Variables
NumPy numpy.ndarray
+
Python list
データ読み込み
前処理
学習
後処理
Chainerによる実験手順
Chainerによる実験手順
Python list
NumPy numpy.ndarray
Chainer Variables
NumPy numpy.ndarray
+
Python list
データ読み込み
前処理
学習
後処理
Chainerによる実験手順
Chainerによる実験手順
Python list
NumPy numpy.ndarray
Chainer Variable
NumPy numpy.ndarray
+
Python list
データ読み込み
前処理
学習
後処理
Chainerによる実験手順
データをVariableに変換
Variableから値を取り出す
トレーニングデータ
入力データはリストで管理
Numpyを使うのでデータは行列をイメージ
train = [[0, 0], [0, 1], [1, 0], [1,1]]
label = [[0], [1], [1], [0]]
numpy.ndarrayへの変換
Chainerを使うためにnumpy.ndarrayに変換
ここでは、ランダムにデータを選ぶバッチ学習
Chainerではnp.?oat32を基本的に利用
#実装例
x = np.array(train, dtype=np.?oat32)
y = np.array(label, dtype=np.?oat32)
indexes = np.random.permutation(len(train))
for i in range(0, len(train), batchsize):
x_batch = np.asarray(x[indexes[i:i+batchsize]])
y_batch = np.asarray(y[indexes[i:i+batchsize]])
Variableへの変換
numpy.ndarrayからVariableに変換
Chainerが用意した関数はVariableのみを受付
np.ndarrayをラッピングしているイメージ
x = Variable(x_batch)
t = Variable(y_batch)
Variableからnumpy.ndarrayへの変換
Variable.dataでデータを取得
誤差やパープレキシティの計算で利用
齿翱搁问题の実装
https://github.com/KDA-lab

More Related Content

Viewers also liked (15)

PDF
Deep Learningの基礎と応用
Seiya Tokui
?
PPTX
ニューラルネットワーク入门
naoto moriyama
?
ODP
Definitions of unit 2
quintomat
?
DOCX
J431 Strategic Communications Campaign Plan
Sara Kate Nash
?
PPTX
???? ????? ????? ????? ??????? ???????? Powe point
hadeel ameen
?
PDF
失われた技术(笔顿贵版)
Tomoaki Akiyama
?
PPTX
Magazine Genre Reseach
maxwell33434
?
PDF
台北國際禮品暨文具展 攤位圈選會議簡報
Jason334
?
PPTX
Ipac 2014
cwhms
?
PPTX
Presentation kalinka
megikatq
?
PDF
Curriculum Vitae Jan.15 Mohamed Abou Bakr
Mohamed Abou Bakr
?
PDF
Portfolio-PDF_v01-lowres
Caitlin Bouey
?
PPTX
Verbos y cuantificadores, rodriguez avila
Jussely Rodríguez
?
PPTX
Public Safety Hiring Tutorial
cwhms
?
Deep Learningの基礎と応用
Seiya Tokui
?
ニューラルネットワーク入门
naoto moriyama
?
Definitions of unit 2
quintomat
?
J431 Strategic Communications Campaign Plan
Sara Kate Nash
?
???? ????? ????? ????? ??????? ???????? Powe point
hadeel ameen
?
失われた技术(笔顿贵版)
Tomoaki Akiyama
?
Magazine Genre Reseach
maxwell33434
?
台北國際禮品暨文具展 攤位圈選會議簡報
Jason334
?
Ipac 2014
cwhms
?
Presentation kalinka
megikatq
?
Curriculum Vitae Jan.15 Mohamed Abou Bakr
Mohamed Abou Bakr
?
Portfolio-PDF_v01-lowres
Caitlin Bouey
?
Verbos y cuantificadores, rodriguez avila
Jussely Rodríguez
?
Public Safety Hiring Tutorial
cwhms
?

Similar to ニューラルネットワーク勉强会2 (20)

PPTX
Deep learning chapter4 ,5
ShoKumada
?
PDF
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
hirokazutanaka
?
PDF
厂骋顿による顿别别辫尝别补谤苍颈苍驳の学习
Masashi (Jangsa) Kawaguchi
?
PDF
第2回 メドレー読書会
Toshifumi
?
PPTX
ラビットチャレンジレポート 深層学習 Day1
ssuserf4860b
?
PDF
深层学习(讲谈社)のまとめ(1章~2章)
okku apot
?
PDF
20150803.山口大学集中讲义
Hayaru SHOUNO
?
PPTX
深层学习と罢别苍蝉辞谤贵濒辞飞入门
tak9029
?
PPTX
【尘补肠翱厂にも対応】础滨入门「第3回:数学が苦手でも作って使える碍别谤补蝉ディープラーニング」
fukuoka.ex
?
PPTX
ニューラルネットワークの理论
Kazuma Komiya
?
PDF
primers neural networks
Shin Asakawa
?
PDF
03冲深层学习
CHIHIROGO
?
PPTX
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
Naonori Nagano
?
PPTX
Machine Learning Fundamentals IEEE
Antonio Tejero de Pablos
?
PDF
AI2018 8 ニューラルネットワークの基礎
Hirotaka Hachiya
?
PPTX
Neural Network + Tensorflow 入門講座
maruyama097
?
PDF
Scikit-learn and TensorFlow Chap-14 RNN (v1.1)
孝好 飯塚
?
PPTX
mi-5. ディープラーニング
kunihikokaneko1
?
PDF
Tokyo webmining統計学部 第2回
Issei Kurahashi
?
PDF
A yet another brief introduction to neural networks
Yuta Kikuchi
?
Deep learning chapter4 ,5
ShoKumada
?
東京都市大学 データ解析入門 10 ニューラルネットワークと深層学習 1
hirokazutanaka
?
厂骋顿による顿别别辫尝别补谤苍颈苍驳の学习
Masashi (Jangsa) Kawaguchi
?
第2回 メドレー読書会
Toshifumi
?
ラビットチャレンジレポート 深層学習 Day1
ssuserf4860b
?
深层学习(讲谈社)のまとめ(1章~2章)
okku apot
?
20150803.山口大学集中讲义
Hayaru SHOUNO
?
深层学习と罢别苍蝉辞谤贵濒辞飞入门
tak9029
?
【尘补肠翱厂にも対応】础滨入门「第3回:数学が苦手でも作って使える碍别谤补蝉ディープラーニング」
fukuoka.ex
?
ニューラルネットワークの理论
Kazuma Komiya
?
primers neural networks
Shin Asakawa
?
03冲深层学习
CHIHIROGO
?
論文紹介:「End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF」
Naonori Nagano
?
Machine Learning Fundamentals IEEE
Antonio Tejero de Pablos
?
AI2018 8 ニューラルネットワークの基礎
Hirotaka Hachiya
?
Neural Network + Tensorflow 入門講座
maruyama097
?
Scikit-learn and TensorFlow Chap-14 RNN (v1.1)
孝好 飯塚
?
mi-5. ディープラーニング
kunihikokaneko1
?
Tokyo webmining統計学部 第2回
Issei Kurahashi
?
A yet another brief introduction to neural networks
Yuta Kikuchi
?
Ad

Recently uploaded (13)

PDF
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
PDF
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?
PDF
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?
PDF
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
PDF
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
PDF
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
PDF
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
PDF
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
PDF
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
PDF
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
PDF
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
PDF
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
渔船に搭载されている电子装备と渔法について冲痴搁颁海洋学研究会冲海の尝罢会発表资料
Yuuitirou528 default
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2024_報告会資料_増野さ...
IGDA Japan SIG-Audio
?
第3回デジタル理学疗法研究会学术大会シンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」の讲演资料.
Matsushita Laboratory
?
AIツールを使った研究の効率化 Improving Research Efficiency with AI Tools
Tohoku University
?
SIG-AUDIO 2025 Vol.02 オンラインセミナー 「GDC2025 オーディオ報告会」SIG-Audio_GDC2025_報告会資料_渡辺さ...
IGDA Japan SIG-Audio
?
安尾 萌, 松下 光範. 環境馴致を計量可能にするための試み,人工知能学会第4回仕掛学研究会, 2018.
Matsushita Laboratory
?
安尾 萌, 藤代 裕之, 松下 光範. 協調的情報トリアージにおけるコミュニケーションの影響についての検討, 第11回データ工学と情報マネジメントに関する...
Matsushita Laboratory
?
安尾 萌, 北村 茂生, 松下 光範. 災害発生時における被害状況把握を目的とした情報共有システムの基礎検討, 電子情報通信学会HCGシンポジウム2018...
Matsushita Laboratory
?
マルチAIエージェントの産業界での実践に向けたオープンソース活動の展望 - Japan Regional User Group (RUG) Meet-Up
Kosaku Kimura
?
論文紹介:AutoPrompt: Eliciting Knowledge from Language Models with Automatically ...
Toru Tamaki
?
API認可を支えるKeycloakの基本と設計の考え方 ~ OAuth/OIDCによるAPI保護のベストプラクティス ~
Hitachi, Ltd. OSS Solution Center.
?
第3回テ?シ?タル理学疗法学会のシンポジウム「デジタル理学疗法の组织活用:教育?管理?研究を繋ぐ新たな地平」での话题提供
Matsushita Laboratory
?
論文紹介:Unbiasing through Textual Descriptions: Mitigating Representation Bias i...
Toru Tamaki
?
Ad

ニューラルネットワーク勉强会2