Soumettre la recherche
Mettre en ligne
第2回 メドレー読書会
•
0 j'aime
•
865 vues
T
Toshifumi
Suivre
第2回 メドレー読書会での発表資料です
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 63
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
Shuyo Nakatani
アンサンブル学習
アンサンブル学習
Hidekazu Tanaka
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
sleepy_yoshi
AI2018 8 ニューラルネットワークの基礎
AI2018 8 ニューラルネットワークの基礎
Hirotaka Hachiya
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
Shuyo Nakatani
17ゼロから作るディープラーニング2章パーセプトロン
17ゼロから作るディープラーニング2章パーセプトロン
Keiichirou Miyamoto
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
Unity Technologies Japan K.K.
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2
Daiki Shimada
Recommandé
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
Shuyo Nakatani
アンサンブル学習
アンサンブル学習
Hidekazu Tanaka
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
sleepy_yoshi
AI2018 8 ニューラルネットワークの基礎
AI2018 8 ニューラルネットワークの基礎
Hirotaka Hachiya
数式を綺麗にプログラミングするコツ #spro2013
数式を綺麗にプログラミングするコツ #spro2013
Shuyo Nakatani
17ゼロから作るディープラーニング2章パーセプトロン
17ゼロから作るディープラーニング2章パーセプトロン
Keiichirou Miyamoto
【Unity道場】ゲーム制作に使う数学を学習しよう
【Unity道場】ゲーム制作に使う数学を学習しよう
Unity Technologies Japan K.K.
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2
Convolutional Neural Networks のトレンド @WBAFLカジュアルトーク#2
Daiki Shimada
Casual learning machine learning with_excel_no6
Casual learning machine learning with_excel_no6
KazuhiroSato8
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
TakaakiYonekura
ナンプレ解析ツール
ナンプレ解析ツール
kstmshinshu
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
Ken Morishita
ニューラルネットワークについて
ニューラルネットワークについて
Anna Nakatsuji
それっぽく感じる機械学習
それっぽく感じる機械学習
Yuki Igarashi
Positive-Unlabeled Learning with Non-Negative Risk Estimator
Positive-Unlabeled Learning with Non-Negative Risk Estimator
Kiryo Ryuichi
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
Shuyo Nakatani
ディープラーニングのすごさを共有したい.pdf
ディープラーニングのすごさを共有したい.pdf
Yusuke Hayashi
Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5
KazuhiroSato8
人工知能2018 強化学習の応用
人工知能2018 強化学習の応用
Hirotaka Hachiya
Java数値(浮動小数点)課題勉強会
Java数値(浮動小数点)課題勉強会
Tetsuya Yoshida
T-sne
T-sne
takutori
ディープニューラルネット入門
ディープニューラルネット入門
TanUkkii
Pythonで始めるDropboxAPI
Pythonで始めるDropboxAPI
Daisuke Igarashi
Deeplearning4.4 takmin
Deeplearning4.4 takmin
Takuya Minagawa
Introduction to mathematics of linear regression and neural network
Introduction to mathematics of linear regression and neural network
HiroyoshiHashimoto
Fourier transform
Fourier transform
ShinoharaTakuto
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
ryuz88
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
Zansa
Contenu connexe
Similaire à 第2回 メドレー読書会
Casual learning machine learning with_excel_no6
Casual learning machine learning with_excel_no6
KazuhiroSato8
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
TakaakiYonekura
ナンプレ解析ツール
ナンプレ解析ツール
kstmshinshu
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
Ken Morishita
ニューラルネットワークについて
ニューラルネットワークについて
Anna Nakatsuji
それっぽく感じる機械学習
それっぽく感じる機械学習
Yuki Igarashi
Positive-Unlabeled Learning with Non-Negative Risk Estimator
Positive-Unlabeled Learning with Non-Negative Risk Estimator
Kiryo Ryuichi
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
Shuyo Nakatani
ディープラーニングのすごさを共有したい.pdf
ディープラーニングのすごさを共有したい.pdf
Yusuke Hayashi
Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5
KazuhiroSato8
人工知能2018 強化学習の応用
人工知能2018 強化学習の応用
Hirotaka Hachiya
Java数値(浮動小数点)課題勉強会
Java数値(浮動小数点)課題勉強会
Tetsuya Yoshida
T-sne
T-sne
takutori
ディープニューラルネット入門
ディープニューラルネット入門
TanUkkii
Pythonで始めるDropboxAPI
Pythonで始めるDropboxAPI
Daisuke Igarashi
Deeplearning4.4 takmin
Deeplearning4.4 takmin
Takuya Minagawa
Introduction to mathematics of linear regression and neural network
Introduction to mathematics of linear regression and neural network
HiroyoshiHashimoto
Fourier transform
Fourier transform
ShinoharaTakuto
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
ryuz88
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
Zansa
Similaire à 第2回 メドレー読書会
(20)
Casual learning machine learning with_excel_no6
Casual learning machine learning with_excel_no6
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
第4回数理モデル勉強会(日本植物学会第84回大会関連集会)
ナンプレ解析ツール
ナンプレ解析ツール
Pythonとdeep learningで手書き文字認識
Pythonとdeep learningで手書き文字認識
ニューラルネットワークについて
ニューラルネットワークについて
それっぽく感じる機械学習
それっぽく感じる機械学習
Positive-Unlabeled Learning with Non-Negative Risk Estimator
Positive-Unlabeled Learning with Non-Negative Risk Estimator
星野「調査観察データの統計科学」第3章
星野「調査観察データの統計科学」第3章
ディープラーニングのすごさを共有したい.pdf
ディープラーニングのすごさを共有したい.pdf
Casual learning machine learning with_excel_no5
Casual learning machine learning with_excel_no5
人工知能2018 強化学習の応用
人工知能2018 強化学習の応用
Java数値(浮動小数点)課題勉強会
Java数値(浮動小数点)課題勉強会
T-sne
T-sne
ディープニューラルネット入門
ディープニューラルネット入門
Pythonで始めるDropboxAPI
Pythonで始めるDropboxAPI
Deeplearning4.4 takmin
Deeplearning4.4 takmin
Introduction to mathematics of linear regression and neural network
Introduction to mathematics of linear regression and neural network
Fourier transform
Fourier transform
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
LUT-Network ~本物のリアルタイムコンピューティングを目指して~
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
【Zansa】第12回勉強会 -PRMLからベイズの世界へ
第2回 メドレー読書会
1.
第2回 メドレー読書会 データサイエンティスト養成読本 機械学習入門編 第1部 特集4
深層学習最前線
2.
Toshifumi 物理出身 普段はUSBデバイスのドライバーソフトウェアを作ってます 画像処理も少しやっています 使用言語はC++ RとPythonを勉強したいと思いつつ、未だ手つかず…(この機会に!) 自己紹介
3.
第1章 準備
4.
http://rodrigob.github.io/are_we_there_yet/build/classification_datasets_results.html#43494641522d313030 深層学習とは多層構造のニューラルネットワークの機械学習の事 認識率ベンチマークの上位を独占。第三次ブームの立役者。 深層学習
5.
応用が広がっています https://www.projectoxford.ai/demo/emotion#detection
6.
多くのユニットが連結したもの ユニット間の結合パラメーターを学習し、インプットデータから適切なアウト プットデータを生成できるようにする。 ニューラルネットワーク
7.
「ニューラルネットワークが学習する」ということがイメージし辛かった。 構成要素であるユニットの学習が分かると、イメージしやすいと思いました。 とはいえ。。。
8.
𝑥1 𝑥3 𝑦 𝑤1 𝑤3 𝑦 = 𝑓
Σ𝑤𝑖 𝑥𝑖 + ℎ 𝑥2 𝑤2 ℎ fは活性化関数 脳細胞(ニューロン)を模したもの。 入力に重み(wi)とバイアス(h)を加え、活性化関数にかけたものが出力になる。 重みとバイアスは、学習によって最適化される。 ユニット
9.
𝑥1 𝑥2 𝑦 𝑤1 𝑤2 ℎ 𝑥1 𝑥2 𝑦 x1 x2
y 0 0 0 1 0 0 0 1 0 1 1 1 ユニットの学習 2入力ユニットを学習させ、AND回路にしてみる
10.
𝑓 𝑥 = 0
for 𝑥 < 0 1 for 𝑥 ≥ 0 ここでは、活性化関数として階段関数を使います(0/1出力にしたい)。 ※後のニューラルネットワークの学習では別の関数を使います ユニットの学習
11.
教師あり学習をします(教師データは右表) 以下の式でパラメーターを更新(rは教師データ、αは学習率) ユニットの学習 x1 x2 y 0
0 0 1 0 0 0 1 0 1 1 1 ℎ ← ℎ + 𝛼 𝑟 − 𝑦 𝑤𝑖 ← 𝑤𝑖 + 𝛼 𝑟 − 𝑦 𝑥𝑖 例えば、x1=1, x2=0を入力したのに1が出力された場合 ℎ ← ℎ + 𝛼 0 − 1 𝑤1 ← 𝑤1 + 𝛼 0 − 1 × 1 𝑤2 ← 𝑤2 + 𝛼(0 − 1) × 0
12.
αを0.5に設定する。 適当な初期値、w1=1、w2=-1、h=0でスタート。 表を全問正解できる値を探す。 ユニットの学習 x1 x2 y 0
0 0 1 0 0 0 1 0 1 1 1
13.
現在値: ユニットの学習 x1 x2 y 0
0 0 1 0 0 0 1 0 1 1 1 𝑤1 = 1, 𝑤2 = −1, ℎ = 0 𝑦 = 𝑓 1 × 0 − 1 × 0 + 0 = 1 ℎ ← ℎ + 0.5 × 0 − 1 = −0.5 𝑤1 ← 𝑤1 + 0.5 × 0 − 1 × 0 = 1 𝑤2 ← 𝑤2 + 0.5 × 0 − 1 × 0 = −1 値を更新
14.
現在値: ユニットの学習 x1 x2 y 0
0 0 1 0 0 0 1 0 1 1 1 𝑤1 = 1, 𝑤2 = −1, ℎ = −0.5 𝑦 = 𝑓 1 × 1 − 1 × 0 − 0.5 = 1 ℎ ← ℎ + 0.5 × 0 − 1 = −1 𝑤1 ← 𝑤1 + 0.5 × 0 − 1 × 1 = 0.5 𝑤2 ← 𝑤2 + 0.5 × 0 − 1 × 0 = −1 値を更新
15.
現在値: ユニットの学習 x1 x2 y 0
0 0 1 0 0 0 1 0 1 1 1 𝑤1 = 0.5, 𝑤2 = −1, ℎ = −1 𝑦 = 𝑓 0.5 × 0 − 1 × 1 − 1 = 0 OKなので、値はそのまま
16.
現在値: ユニットの学習 x1 x2 y 0
0 0 1 0 0 0 1 0 1 1 1 𝑤1 = 0.5, 𝑤2 = −1, ℎ = −1 𝑦 = 𝑓 0.5 × 1 − 1 × 1 − 1 = 0 ℎ ← ℎ + 0.5 × 1 − 0 = −0.5 𝑤1 ← 𝑤1 + 0.5 × 1 − 0 × 1 = 1 𝑤2 ← 𝑤2 + 0.5 × 1 − 0 × 1 = −0.5 値を更新
17.
ユニットの学習 x1 x2 y 0
0 0 ○ 1 0 0 × 0 1 0 ○ 1 1 1 × 𝑤1 = 1, 𝑤2 = −0.5, ℎ = −0.5 𝑤1 = 0.5, 𝑤2 = −0.5, ℎ = −1 𝑤1 = 1, 𝑤2 = −0.5, ℎ = −0.5 𝑤1 = 0.5, 𝑤2 = −0.5, ℎ = −1 𝑤1 = 1, 𝑤2 = 0, ℎ = −0.5 2周目
18.
ユニットの学習 x1 x2 y 0
0 0 ○ 1 0 0 × 0 1 0 ○ 1 1 1 × 𝑤1 = 1, 𝑤2 = 0, ℎ = −0.5 𝑤1 = 0.5, 𝑤2 = 0, ℎ = −1 𝑤1 = 1, 𝑤2 = 0, ℎ = −0.5 𝑤1 = 0.5, 𝑤2 = 0, ℎ = −1 𝑤1 = 1, 𝑤2 = 0.5, ℎ = −0.5 3周目
19.
ユニットの学習 x1 x2 y 0
0 0 ○ 1 0 0 × 0 1 0 ○ 1 1 1 ○ 𝑤1 = 1, 𝑤2 = 0.5, ℎ = −0.5 𝑤1 = 0.5, 𝑤2 = 0.5, ℎ = −1 𝑤1 = 1, 𝑤2 = 0.5, ℎ = −0.5 𝑤1 = 0.5, 𝑤2 = 0.5, ℎ = −1 𝑤1 = 0.5, 𝑤2 = 0.5, ℎ = −1 4周目
20.
ユニットの学習 x1 x2 y 0
0 0 ○ 1 0 0 ○ 0 1 0 ○ 1 1 1 ○ 𝑤1 = 0.5, 𝑤2 = 0.5, ℎ = −1 𝑤1 = 0.5, 𝑤2 = 0.5, ℎ = −1 𝑤1 = 0.5, 𝑤2 = 0.5, ℎ = −1 𝑤1 = 0.5, 𝑤2 = 0.5, ℎ = −1 𝑤1 = 0.5, 𝑤2 = 0.5, ℎ = −1 5周目
21.
ユニットの学習 テーブルを教え込むだけで、AND回路が作れた。 𝑥1 𝑥2 𝑦 𝑤1 𝑤2 ℎ 𝑥1 𝑥2 𝑦 x1 x2
y 0 0 0 1 0 0 0 1 0 1 1 1 + =
22.
ユニットの学習 テーブルを変えれば、OR回路も作れる。 𝑥1 𝑥2 𝑦 𝑤1 𝑤2 ℎ 𝑥1 𝑥2 𝑦 x1 x2
y 0 0 0 1 0 1 0 1 1 1 1 1 + =
23.
ユニットの学習 1入力だけど、NOT回路も作れる。 𝑥1 𝑦 𝑤1 ℎ 𝑥1 𝑦 x1 y 0
1 1 0 + =
24.
1ユニットの限界 XOR回路は作れない。 𝑥1 𝑥2 𝑦 𝑤1 𝑤2 ℎ 𝑥1 𝑥2 𝑦 x1 x2
y 0 0 0 1 0 1 0 1 1 1 1 0 + =
25.
1ユニットの学習 1つのユニットでは線形識別しかできない x1 x2 x1 x2可能 不可能 AND回路 XOR回路
26.
複数ユニット 𝑥1 𝑥2 𝑦 = 𝑥2 𝑥1 𝑦 XORは、AND・OR・NOTの組み合わせで表現可能。 複数のユニットを組み合わせることで、非線形の識別が可能になる。
27.
多層パーセプトロン ユニットを多層に配置(1層の定義は、文脈によって異なるそうです) 各ユニットは次層の全ユニットと連結。
28.
深層学習のフレームワーク フレーム ワーク名 言語 ユーザー言語 速度
柔軟さ 開発 コミュニティ ドキュメ ント サンプル 日本語での サポート Caffe C++, Python Protocol Buffer(text), Python ◎ △ ◎ △ ◎ × Torch7 Lua, C Lua ○ ○ ○ ○ △ × Theano/ Pylearn2 Python, C++ YAML(Pylearn2), Python ○ ○ ○ ○ ◎ × Chainer Python Python ○ ◎ △ ○ ○ ○ 一長一短があるようです。
29.
第2章 多層パーセプトロンの書き方
30.
構成要素 ① 重み行列をかけてバイアスベクトルを足す(全結合層) ② 非線形関数を適用する(活性化関数) ③
ネットワークの出力を評価する(損失関数)
31.
① 全結合層 重み行列をかけてバイアスベクトルを足す 𝑥1 𝑥2 𝑥 𝑚 𝑥′1 𝑥′2 𝑥′
𝑚 𝑤11 ℎ1𝑤21 𝑤 𝑚1 𝑥′1への入力 = 𝑥1 𝑤11 + 𝑥2 𝑤21 + ⋯ + 𝑥 𝑚 𝑤 𝑚1 + ℎ1 𝑥′𝑖への入力 = 𝑗 𝑥𝑗 𝑤𝑗𝑖 + ℎ𝑖 重み行列 バイアスベクトル
32.
② 活性化関数 非線形関数を適用する 𝑥1 𝑥2 𝑥 𝑚 𝑥′1 𝑥′2 𝑥′
𝑚 𝑤11 ℎ1𝑤21 𝑤 𝑚1 𝑥′1からの出力 = 𝑓(𝑥′ 1への入力) 非線形関数 • 双曲線正接関数 • ReLU • Leaky ReLU
33.
双曲線正接関数 1から-1に収まるので扱いやすいが、入力→大で微分→小になるのが欠点 𝑓 𝑥 =
tanh 𝑥 = exp 𝑥 − exp(−𝑥) exp 𝑥 + exp(−𝑥) 𝑑 𝑑𝑥 𝑓 𝑥 = 1 − exp 𝑥 − exp(−𝑥) exp 𝑥 + exp(−𝑥) 2 𝑓 𝑥 𝑑 𝑑𝑥 𝑓 𝑥
34.
ReLU (Rectified Linear
Unit) 入力→大でも微分は1。処理が高速。ただし負の入力では微分が0になる。 𝑓 𝑥 = max 𝑥, 0 𝑑 𝑑𝑥 𝑓 𝑥 = 1 for 𝑥 > 0 0 for 𝑥 < 0 𝑓 𝑥 𝑑 𝑑𝑥 𝑓 𝑥
35.
Leaky ReLU 負の入力でも微分が0にならない。ReLUより高性能という論文もあり。 𝑓 𝑥
= max 𝑥, 𝑥/𝑎 𝑑 𝑑𝑥 𝑓 𝑥 = 1 for 𝑥 > 0 1/𝑎 for 𝑥 < 0 𝑓 𝑥 𝑑 𝑑𝑥 𝑓 𝑥 http://arxiv.org/abs/1505.00853
36.
③ 損失関数 ネットワークの出力を評価する。 ソフトマックス+交差エントロピーが良く使われる 似てる?
37.
ソフトマックス 出力を「確率」とみなせる形に変換する 𝑦1 𝑦 𝐾 𝑦2 𝑦′1 𝑦′2 𝑦′ 𝐾 𝑦′𝑖
= exp 𝑦𝑖 𝑗 𝐾 exp(𝑦𝑗) 出力が必ず+になる 出力の合計が1になる
38.
交差エントロピー 2つの確率分布の相違度を表す尺度 出力値が教師データと一致した時に0で最小になる。 教師データから外れるほど大きな値になる。 𝐸 𝑛 =
− 𝑖 𝑟𝑛𝑖log(𝑦 𝑛𝑖) 出力層のユニット についての和 rni:n番目の教師データを入力した時に、 i番目のユニットが出力すべき値 yni: n番目の教師データを入力した時に、 i番目のユニットが実際に出力する値
39.
多層パーセプトロンの書き方 デモしたかったのですが、間に合いませんでした。 ごめんなさい…
40.
多層パーセプトロンの書き方 Caffeの記述の解説 幾つかのレイヤーで構成されている。 name type Bottom
Top data Data(入力) data, label fc1 InnerProduct(全結合層) top fc1 act1 ReLU(活性化関数) fc1 fc1 fc2 InnerProduct(全結合層) fc1 fc2 loss SoftmaxWithLoss(誤差関数) Fc2, label loss loss fc2 fc1 data act1
41.
第3章 ニューラルネットの学習方法
42.
勾配法 目的関数(全データに対する損失の和)が小さくなるように、重み行列などのパ ラメーターを最適化する。 勾配法(目的関数の勾配の逆方向にパラメーターを動かす方法)が一般的 𝐸 = 𝑛 𝐸 𝑛目的関数: 全教師データにつ いての和
勾配法のイメージ
43.
確率的勾配法 先の勾配法では「全データに対する損失の和」が必要で、コスト高。 ランダム(確率的)に選んだ一部のデータ(ミニバッチ)で代用する。 1つのデータはベクトルなので、一部データは行列で表現可能。 #1 #2 #3
#4 3 6 4 7 1 3 1 9 5 4 8 2 4 2 2 4 この数字は適当で、意味なしです。
44.
誤差逆伝播法 出力層の補正は、教師データとの比較で行える。 中間層の補正を行うのに、誤差逆伝播法を用いる。 順伝播(予測を行うとき) 逆伝播(学習を行うとき) 出力層: 勾配は、教師データから算出。 中間層: 勾配は、1つ上の層の勾配と重み(修正 後)から算出。
45.
勾配法の拡張 モーメンタム法:勾配の移動平均を使って、方向を安定させる。 過去の勾配の方向 現在の勾配 の方向 過去と現在の間の方向に進む Adam:パラメーターごとに学習率を調整するアルゴリズム ごめんなさい。 調べられていません。 http://arxiv.org/abs/1412.6980
46.
最適化のためのテクニック ① 加重減衰 ② Max
norm ③ 勾配クリッピング ④ パラメーターの賢い初期化 ⑤ バッチ正規化 ⑥ Dropout
47.
荷重減衰 パラメーター更新時に、パラメーターに1より少しだけ小さな値をかける。 パラメーターが大きくなりすぎるのを防ぐ。 𝐸 = 𝐸
+ 𝜌 2 𝑖 𝑤𝑖 2 ρは係数 𝑤𝑖 ← 𝑤𝑖 − 𝛼 𝑑 𝐸 𝑑𝑤𝑖 = (1 − 𝛼𝜌)𝑤𝑖 − 𝛼 𝑑𝐸 𝑑𝑤𝑖
48.
Max norm 重みに上限を設け、正則化や最適化の安定を図る 𝑥1 𝑥2 𝑥 𝑚 𝑤1 𝑤2 𝑤
𝑚 𝑤𝑖 = 𝑤𝑖 × min 上限値 𝑖 𝑤𝑖 2 , 1
49.
勾配クリッピング 勾配に上限を設け、正則化や最適化の安定を図る 𝜀𝑖 = 𝜀𝑖
× min 上限値 𝑖 𝜀𝑖 2 , 1 𝜀𝑖 𝜀𝑖:勾配ベクトル
50.
パラメーターの賢い初期化 重みの初期値 • 平均0の一様分布や正規分布に基づいてランダムに生成。 • 分布の標準偏差が不適切だと、安定しなくなる。 •
適切な値は活性化関数によっても異なる。 バイアスの初期値 • 0で初期化するのが一般的。 • ReLUでは0.1など小さい値が良いという報告もある。
51.
バッチ正規化 学習中にユニットの値を正規化する。 大規模なネットワークでは、学習がかなり高速化する http://arxiv.org/abs/1502.03167 ある認識率に到達す るまでのステップ数 が、14分の1になっ ている
52.
Dropout ミニバッチごとに、ランダムに一部のユニットを無効化する パラメーター間の依存関係を取り除ける。 非常に強力な正則化手法だが、最適化が遅くなる。
53.
第4章 画像認識のための アーキテクチャ
54.
画像の構造 幅W = チャンネルC 高 さ H
55.
画像の特徴抽出 人間には「同じ」画像でも実際には差があるので、「特徴」を用いる。 特徴の抽出は、従来は人手で行っていたが、これが大変だった。 深層学習では特徴抽出も学習できる。 ? =
56.
畳込みネット 多層パーセプトロン+畳込み層+プーリング層 http://papers.nips.cc/paper/ 4824-imagenet-classification-w 入力層 出力層全結合層畳込み層+プーリング層
57.
フィルター処理 画像の変換や、特徴の抽出に使われる。 a11 a12 a13 a21
a22 a23 a31 a32 a33 xi-1,j-1 xi,j-1 xi+1,j-1 xi-1,j xi,j xi+1,j xi-1,j+1 xi,j+1 xi+1,j+1 x'i-1,j-1 x'i,j-1 x'i+1,j-1 x'i-1,j x'i,j x'i+1,j x'i-1,j+1 x'i,j+1 x'i+1,j+1 𝑥𝑖𝑗 ′ = 𝑎11 𝑥𝑖−1,𝑗−1 + 𝑎12 𝑥𝑖,𝑗−1 + 𝑎13 𝑥𝑖+1,𝑗−1 +𝑎21 𝑥𝑖−1,𝑗 + 𝑎22 𝑥𝑖,𝑗 + 𝑎23 𝑥𝑖+1,𝑗 +𝑎31 𝑥𝑖−1,𝑗+1 + 𝑎32 𝑥𝑖,𝑗+1 + 𝑎33 𝑥𝑖+1,𝑗+1
58.
フィルター処理 3×3でも、パラメーターによって様々な効果が得られる。 1/9 1/9 1/9 1/9
1/9 1/9 1/9 1/9 1/9 -1 -1 -1 -1 8 -1 -1 -1 -1
59.
畳込み層 フィルター処理は小領域に対する全結合層になっている(畳込み層)。 学習によってフィルターのパラメーターを自動的に選択できる。 𝑥𝑖𝑗 ′ = 𝑎11 𝑥𝑖−1,𝑗−1
+ 𝑎12 𝑥𝑖,𝑗−1 + 𝑎13 𝑥𝑖+1,𝑗−1 +𝑎21 𝑥𝑖−1,𝑗 + 𝑎22 𝑥𝑖,𝑗 + 𝑎23 𝑥𝑖+1,𝑗 +𝑎31 𝑥𝑖−1,𝑗+1 + 𝑎32 𝑥𝑖,𝑗+1 + 𝑎33 𝑥𝑖+1,𝑗+1 𝑎33 𝑎11 𝑥𝑖−1,𝑗−1 𝑥𝑖+1,𝑗+1 𝑥𝑖𝑗 ′
60.
畳込み層 チャンネルを横断してもよい。 チャンネルは数が多いほうが情報量が落ちなくてよい。 http://papers.nips.cc/paper/4824-imagenet-classification-w 192チャンネル
61.
プーリング層 出力層の数は、画像の画素数より少ない。 画像の解像度を下げる処理を行う(サブサンプリング)。 最大値プーリングが一般的。 1 -2 2
-1 0 2 0 0 -2 -3 2 3 -1 -3 1 3 2 2 -1 3 最大値 プーリング 赤枠中の最大値を出力
62.
設計の勘所 各層のパラメーターは自動決定してくれるが、何個の層をどの順に並べるかは事 前に決めないといけない。ここはまだ経験がものをいう世界。 経験的によく使われる工夫 • 最初の2層くらいは、畳込み層とプーリング層を交互に入れる • 入力画像が大きい場合、最初の畳込み層は間隔を広めにとる。 •
画像がある程度小さくなったら、畳込み層をいくつも並べ、たまにプーリン グ層を挟む。 • 画像が十分小さくなったら、そこから全結合層を1~3つ並べる。
63.
設計の勘所 http://papers.nips.cc/paper/ 4824-imagenet-classification-w 入力層 出力層全結合層畳込み層+プーリング層 たしかに、そんな作りになってます。
Télécharger maintenant