Submit Search
Upload
シリーズML-05 ニューラルネットワーク
•
1 like
•
697 views
Katsuhiro Morishita
Follow
機械学習シリーズスライドです。このスライドでは、ニューラルネットワークについて説明しました。
Read less
Read more
Data & Analytics
Report
Share
Report
Share
1 of 16
Download now
Download to read offline
Recommended
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
Katsuhiro Morishita
数ページの卒業論文作成のためのwordの使い方
数ページの卒業論文作成のためのwordの使い方
Katsuhiro Morishita
Pythonのパッケージ管理ツールの話@2020
Pythonのパッケージ管理ツールの話@2020
Katsuhiro Morishita
オトナのpandas勉強会(資料)
オトナのpandas勉強会(資料)
Katsuhiro Morishita
SIgfox触ってみた in IoTLT in 熊本市 vol.3
SIgfox触ってみた in IoTLT in 熊本市 vol.3
Katsuhiro Morishita
Google Colaboratoryの使い方
Google Colaboratoryの使い方
Katsuhiro Morishita
Excelでのグラフの作成方法re
Excelでのグラフの作成方法re
Katsuhiro Morishita
Pythonのmain関数
Pythonのmain関数
Katsuhiro Morishita
Recommended
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
Katsuhiro Morishita
数ページの卒業論文作成のためのwordの使い方
数ページの卒業論文作成のためのwordの使い方
Katsuhiro Morishita
Pythonのパッケージ管理ツールの話@2020
Pythonのパッケージ管理ツールの話@2020
Katsuhiro Morishita
オトナのpandas勉強会(資料)
オトナのpandas勉強会(資料)
Katsuhiro Morishita
SIgfox触ってみた in IoTLT in 熊本市 vol.3
SIgfox触ってみた in IoTLT in 熊本市 vol.3
Katsuhiro Morishita
Google Colaboratoryの使い方
Google Colaboratoryの使い方
Katsuhiro Morishita
Excelでのグラフの作成方法re
Excelでのグラフの作成方法re
Katsuhiro Morishita
Pythonのmain関数
Pythonのmain関数
Katsuhiro Morishita
Pythonスクリプトの実行方法@2018
Pythonスクリプトの実行方法@2018
Katsuhiro Morishita
機械学習と主成分分析
機械学習と主成分分析
Katsuhiro Morishita
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Katsuhiro Morishita
マークシート読み込みプログラムを作ってみた@2018-04-04
マークシート読み込みプログラムを作ってみた@2018-04-04
Katsuhiro Morishita
オトナの画像認識 2018年3月21日実施
オトナの画像認識 2018年3月21日実施
Katsuhiro Morishita
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
Katsuhiro Morishita
シリーズML-07 ニューラルネットワークによる非線形回帰
シリーズML-07 ニューラルネットワークによる非線形回帰
Katsuhiro Morishita
シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-06 ニューラルネットワークによる線形回帰
Katsuhiro Morishita
シリーズML-03 ランダムフォレストによる自動識別
シリーズML-03 ランダムフォレストによる自動識別
Katsuhiro Morishita
シリーズML-01 機械学習の概要
シリーズML-01 機械学習の概要
Katsuhiro Morishita
Pandas利用上のエラーとその対策
Pandas利用上のエラーとその対策
Katsuhiro Morishita
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
Katsuhiro Morishita
機械学習(仮)in Mobile conference 2017
機械学習(仮)in Mobile conference 2017
Katsuhiro Morishita
VBAとPythonで始める数値計算教育
VBAとPythonで始める数値計算教育
Katsuhiro Morishita
海洋調査用ブイの水深制御のためのPID制御パラメータの求め方
海洋調査用ブイの水深制御のためのPID制御パラメータの求め方
Katsuhiro Morishita
中心極限定理
中心極限定理
Katsuhiro Morishita
VBAにおける配列の データ構造と行列
VBAにおける配列の データ構造と行列
Katsuhiro Morishita
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
Katsuhiro Morishita
VBAで数値計算 編集後記
VBAで数値計算 編集後記
Katsuhiro Morishita
VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列
Katsuhiro Morishita
More Related Content
More from Katsuhiro Morishita
Pythonスクリプトの実行方法@2018
Pythonスクリプトの実行方法@2018
Katsuhiro Morishita
機械学習と主成分分析
機械学習と主成分分析
Katsuhiro Morishita
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Katsuhiro Morishita
マークシート読み込みプログラムを作ってみた@2018-04-04
マークシート読み込みプログラムを作ってみた@2018-04-04
Katsuhiro Morishita
オトナの画像認識 2018年3月21日実施
オトナの画像認識 2018年3月21日実施
Katsuhiro Morishita
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
Katsuhiro Morishita
シリーズML-07 ニューラルネットワークによる非線形回帰
シリーズML-07 ニューラルネットワークによる非線形回帰
Katsuhiro Morishita
シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-06 ニューラルネットワークによる線形回帰
Katsuhiro Morishita
シリーズML-03 ランダムフォレストによる自動識別
シリーズML-03 ランダムフォレストによる自動識別
Katsuhiro Morishita
シリーズML-01 機械学習の概要
シリーズML-01 機械学習の概要
Katsuhiro Morishita
Pandas利用上のエラーとその対策
Pandas利用上のエラーとその対策
Katsuhiro Morishita
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
Katsuhiro Morishita
機械学習(仮)in Mobile conference 2017
機械学習(仮)in Mobile conference 2017
Katsuhiro Morishita
VBAとPythonで始める数値計算教育
VBAとPythonで始める数値計算教育
Katsuhiro Morishita
海洋調査用ブイの水深制御のためのPID制御パラメータの求め方
海洋調査用ブイの水深制御のためのPID制御パラメータの求め方
Katsuhiro Morishita
中心極限定理
中心極限定理
Katsuhiro Morishita
VBAにおける配列の データ構造と行列
VBAにおける配列の データ構造と行列
Katsuhiro Morishita
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
Katsuhiro Morishita
VBAで数値計算 編集後記
VBAで数値計算 編集後記
Katsuhiro Morishita
VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列
Katsuhiro Morishita
More from Katsuhiro Morishita
(20)
Pythonスクリプトの実行方法@2018
Pythonスクリプトの実行方法@2018
機械学習と主成分分析
機械学習と主成分分析
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
マークシート読み込みプログラムを作ってみた@2018-04-04
マークシート読み込みプログラムを作ってみた@2018-04-04
オトナの画像認識 2018年3月21日実施
オトナの画像認識 2018年3月21日実施
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
シリーズML-07 ニューラルネットワークによる非線形回帰
シリーズML-07 ニューラルネットワークによる非線形回帰
シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-03 ランダムフォレストによる自動識別
シリーズML-03 ランダムフォレストによる自動識別
シリーズML-01 機械学習の概要
シリーズML-01 機械学習の概要
Pandas利用上のエラーとその対策
Pandas利用上のエラーとその対策
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
機械学習(仮)in Mobile conference 2017
機械学習(仮)in Mobile conference 2017
VBAとPythonで始める数値計算教育
VBAとPythonで始める数値計算教育
海洋調査用ブイの水深制御のためのPID制御パラメータの求め方
海洋調査用ブイの水深制御のためのPID制御パラメータの求め方
中心極限定理
中心極限定理
VBAにおける配列の データ構造と行列
VBAにおける配列の データ構造と行列
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
VBAで数値計算 編集後記
VBAで数値計算 編集後記
VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列
シリーズML-05 ニューラルネットワーク
1.
Ver. 1.0, 2017-08-11 森下功啓 1
2.
更新履歴 • 2017-08-11 Ver.
1.0 release • 2017-08-19 シリーズ番号振り直し 2
3.
Series Index ML-01 機械学習の概要 ML-02
機械学習におけるデータの前処理 ML-03 ランダムフォレストによる自動識別 ML-04 機械学習の性能の定義と一般的な性能向上策 ML-05 ニューラルネットワーク ML-06 ニューラルネットワークによる線形回帰 ML-07 ニューラルネットワークによる非線形回帰 ML-08 ニューラルネットワークを用いた識別・分類 ーシングルラベルー ML-09 ニューラルネットワークを用いた識別・分類 ーマルチラベルー ML-10 ニューラルネットワークで画像識別 ML-11 ニューラルネットワークのチューニングの基本 3
4.
ニューロン • 人の認知性能はニューロンのネットワークが実現している • ニューロンはシナプスで信号を伝える •
シナプスの刺激量が一定を超えると、ニューロンは発火(電気的 に励起)し、刺激を伝達する • 刺激の強さはシナプスによる(受容体の数や神経伝達物質の量) 4 http://www.gifu- nct.ac.jp/elec/deguchi/sots uron/ieiri/img9.gif 神経細胞同士の結合
5.
ニューロンのモデル化 結合係数でシナプスの数や受容体の数を表現する 5 𝑥0 𝑥1 𝑥2 𝑥3 𝑤0 𝑤1 𝑤2 𝑤3 𝑦 結合係数 出力 入力 *シナプスの結合の強さ=結合係数の大きさ **シナプスの数=結合係数の数 ***ユニットには が入力される𝑧 =
𝑘 𝑤 𝑘 𝑥 𝑘 ユニット
6.
𝑦をどう与えるか?→活性化関数 𝑦を求める関数を活性化関数(Activation)という。活性化関 数は複数提案されており、ここではその代表例としてシグモ イド関数(sigmoid)を示す。 6 ቊ 𝑦 ≈ 1,
𝑧 > threshold:𝜃 𝑦 ≈ 0, 𝑒𝑙𝑠𝑒 𝑧 = 𝑘 𝑤 𝑘 𝑥 𝑘 𝑦 = ℎ(𝑧) = 1 1 + exp(−𝑧 + 𝜃) y = 1 1 + exp(−𝑧) , (𝜃 = 0) バイアス項 発火
7.
活性化関数の種類 7http://www.procrasist.com/entry/2017/01/12/200000
8.
ニューラルネットワークの基本構造 8 入 力 デ ー タ 出 力 デ ー タ 中間層 出力層 入力層 *中間層は複数あっても良いが、多層になると学習が進みにくいという特徴がある。 *中間層のユニット数は自由に調整できるが、多すぎても少なすぎてもダメだ。 (隠れ層)
9.
バイアス項のためのユニット 9 入 力 デ ー タ 出 力 デ ー タ 中間層 (隠れ層) 出力層 入力層 1 1 𝑤0,1 0 𝑦1 𝑦2 𝑦3 𝑥1 𝑥2 𝑥3 𝑥4 *𝜃を常に1を出力する ユニットで置き換える。 Layer 𝑖 +
1のユニット𝑗に 対するバイアス項からの 入力は𝑤0,𝑗 𝑖 となる。 𝑤0,2 0 𝑤0,1 1 𝑤0,2 1 𝑤0,3 1 Layer 0 Layer 2 Layer 1 Unit 1 Unit 2 Unit 1 Unit 3 Unit 2 Unit 1 Unit 2 Unit 3 Unit 4 Unit 0 Unit 0 𝑤 𝑘,𝑗 𝑖 Layer 𝑖のUnit 𝑘から Unit 𝑗への結合係数
10.
値の入出力を数式で表してみた 10 𝑿 = (1,
𝑥1, ⋯ , 𝑥 𝑛) 𝑇 = ( 𝑋0, ⋯ , 𝑋 𝑛) 𝑇 𝑧𝑗 𝑖 = 𝑾𝑗 𝑖 ∙ 𝒀𝑖−1z of unit 𝑗 at Layer 𝑖 𝑾𝑗 𝑖 = (𝑤0,𝑗 𝑖−1 , ⋯ , 𝑤 𝑢 𝑖−1,𝑗 𝑖−1 ) 𝑇Weight vector of unit 𝑗 at Layer 𝑖 Layer 𝑖のユニット数は𝑢 𝑖 output of unit 𝑗 at Layer 𝑖 𝒀𝑖 = (𝑦0 𝑖 , ⋯ , 𝑦 𝑢 𝑖 𝑖 ) 𝑇output vector at Layer 𝑖 input vector Layer 𝑖 Unit 𝑗 ・・・ 𝑤0,𝑗 𝑖−1 𝑤 𝑢 𝑖−1,𝑗 𝑖−1 内積 𝑦𝑗 𝑖 重み係数 活性化関数 output vector at Layer 0 𝒀0 = 𝑿 Relationship of 𝑛 and 𝑢 𝑖 𝑛 + 1 = 𝑢0 ここで、𝑛は特徴ベクトルの次元数である。 𝑖は添え字。指数で はないので注意 𝑦𝑗 𝑖 = ൞ 1.0 (𝑗 = 0) ℎ 𝑧𝑗 𝑖 (𝑗 ≥ 1, 𝑖 ≥ 1) 𝑋𝑗 (𝑛 ≥ 𝑗 ≥ 0, 𝑖 = 0) ℎ𝑧𝑗 𝑖
11.
Irisの識別を行う例 11 中間層 (隠れ層) 出力層 入力層 がくの長さ がくの幅 花弁の長さ 花弁の幅 セトサ バーシクル バージニカ *入力層に入れる値はN(0, 1)に正規化しておく 0.0~1.0 0.0~1.0 0.0~1.0 正解がセトサなら、上から [1,0,0]の出力が理想的
12.
学習:結合係数の修正 12 中間層 (隠れ層) 出力層 入力層 がくの長さ がくの幅 花弁の長さ 花弁の幅 *誤差関数で求めた誤差を各𝑤で微分し、傾きの大きさに応じて結合係数を修正する。 修正方法は最適化アルゴリズム(Optimization)による。ここで、出力層から入力層に向 けて順に結合係数を修正する方法を誤差逆伝搬法といいう。 0.5 0.3 0.7 出力 1.0 0.0 0.0 正解 誤差あり 誤差あり 誤差あり 修正 修正 修正 修正
13.
最適化アルゴリズムの種類 13 ニューラルネットワークでは、学習過程において勾配降下法 などを用いて出力誤差を縮小させていく 最適化アルゴリズム別の誤差収束の様子(created by https://twitter.com/alecrad) ↓山の高さが誤差の大きさを表している。誤差最小を目指して、計算を繰り返す。 アルゴリズムによって、最小を目指す方法が異なる。
14.
14 ちなみに、誤差関数の起伏が明らかであれば、最初から最小 になる結合係数をセットすればいいじゃないかという質問がよ くあります。 えー、前ページの誤差の等高線は自明ではありません。 計算で求める必要があります。 結合係数が少なければ全探索的に総当たりで計算してもい いかもしれません。ですが、単純な3層のモデルであっても 最低でも10^10オーダーの計算が必要でしょう。 実用的なネットワークにおいては、 解を得るまでに何年かかるか分かりません。 故に、結合係数は乱数で初期化した上で、誤差の勾配を基に 誤差を縮小させる方向で修正するのです。
15.
Deep Learning 15 多層(20層とか100層)のニューラルネットワークをDeep Neural Network、一般的にDeep
Learningと呼んでいる。 層の数が増えると調整項目が減ったり、表現力が増えたりと 良いことが起こるのだが、標準的なニューラルネットワークだと 勾配消失問題により実用上4〜5層程度が限界だった。 Deep Learningでは最適化アルゴリズムや活性化関数やAuto Encoderやプーリング層や畳み込み層やDropout層などの工夫 によってこれをクリアした。
16.
16
Download now