Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
PRML勉強会 第五章 -後半 - 川上雄太作成分
Search
takegue
June 02, 2014
Technology
0
1.4k
PRML勉強会 第五章 -後半 - 川上雄太作成分
代理アップロード
takegue
June 02, 2014
Tweet
Share
More Decks by takegue
See All by takegue
不自然言語の自然言語処理: コード補完を支える最新技術
takegue
1
800
つかわれるプラットフォーム 〜デザイン編〜@DPM#2
takegue
2
11k
カルチャーとエンジニアリングをつなぐ データプラットフォーム
takegue
4
6.1k
toC企業でのデータ活用 (PyData.Okinawa + PythonBeginners沖縄 合同勉強会 2019)
takegue
4
940
Rettyにおけるデータ活用について
takegue
0
820
Sparse Overcomplete Word Vector Representations
takegue
0
180
Aligning Sentences from Standard Wikipedia to Simple Wikipedia
takegue
0
190
High-Order Low-Rank Tensors for Semantic Role Labeling
takegue
0
98
Dependency-based empty category detection via phrase structure trees
takegue
0
62
Other Decks in Technology
See All in Technology
KubeConにproposalを送りたい人へのアドバイス
sat
PRO
3
270
コードファーストの考え方。 Amplify Gen2から学ぶAWS次世代のWeb開発体験
yoshiitaka
2
340
ワールドカフェI /チューターを改良する / World Café I and Improving the Tutors
ks91
PRO
0
150
Building Dashboards as a Hobby
egmc
0
370
[新卒向け研修資料] テスト文字列に「うんこ」と入れるな(2024年版)
infiniteloop_inc
4
18k
Google Cloud Next '24でブログを10本書いた方法と勉強会を沸かせた方法
yasumuusan
0
330
require(ESM)とECMAScript仕様
uhyo
4
960
社内アプリで Cloudflare D1を プロダクト運用してみた体験談(Tokyo)
haochenx
0
110
20分で完全に理解するGrafanaダッシュボード
hamadakoji
5
890
DMM.com アルファ室採用案内資料
hsugita
1
220
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
3
2.4k
認知症フレンドリーテックとスタックチャン
naokiuc
0
180
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
[RailsConf 2023] Rails as a piece of cake
palkan
28
4k
GitHub's CSS Performance
jonrohan
1025
450k
The Straight Up "How To Draw Better" Workshop
denniskardys
228
130k
Building Effective Engineering Teams - LeadDev
addyosmani
32
1.9k
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
104
6.6k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.4k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
21
1.9k
5 minutes of I Can Smell Your CMS
philhawksworth
199
19k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
188
16k
Debugging Ruby Performance
tmm1
70
11k
Transcript
PRML 勉強会 第5章 ニューラルネットワーク 担当:王研究室 川上雄太
第二週 ・NNの正則化 ・NNのなかまたち (畳込みNN, 混合密度NN, ベイズNN) ・deep learningの話 について ざっくりざっくりandざっくりやります
前回までのあらすじ PRML §5.1 - §5.4 p.225 – p.257
5.1 フィードフォワードネットワーク関数 • 1つにまとめると • 図で表すと , = 2 =0
ℎ (1) =0 (5.9)
5.1 フィードフォワードネットワーク関数 • こんな図で表せるので”ネットワーク” • (5.9)式の出力を求める計算過程を順伝搬と呼ぶ • 今後この構造を2層NNと呼ぶ • ネットワーク構造には様々な拡張が考えられる
NNの学習 • NNは誤差関数を最小化するように学習する (最急降下法の場合) (+1) = () − (()) •
パラメータに関する誤差関数の微分 が 知りたい
5.3.1 誤差関数微分の評価 • 長々やったけど結局どういうことかというと 逆伝搬公式 = = ℎ′ 出力側 入力側
学習の流れ 0.重みをランダムに振る 1.入力ベクトル による現在の出力を求める (順伝搬) 2.出力層での誤差 を計算する 3. をもとに全ての隠れユニットの を得る(逆伝搬)
4. を用いて誤差関数の微分( )を評価 5.重みを更新 6.誤差が十分小さくなったら終了 ならなければ1.に戻る (+1) = () − (())
NNの正則化 PRML §5.5 p.258 – p.269
何をしたいのか • NNは万能近似器 → 過学習に陥りやすい! • なんとかうまく学習したい • 複雑さを制御したい
何をしたいのか • NNは万能近似器 → 過学習に陥りやすい! • なんとかうまく学習したい • 複雑さを制御したい
問題とアプローチ • 隠れユニット数の決定 - 実験実験アンド実験 • 結合重みの学習 - 正則化項の追加 -
学習の早期終了 • 不変性・汎化性能の確保 - 訓練データの工夫 - 正則化項の工夫 - 入力するデータの前処理の工夫 - NNの構造の工夫
結合重みの学習 • 普通の荷重減衰 (§3より) = + 2 • 重みの線形変換に対して不変な正則化項
= + 1 2 2 ∈1 + 2 2 2 ∈2 正則化項の追加
結合重みの学習 • 訓練時エラーは減っていくが、検証時エラーは あるところで増え始める • 検証時エラーが最小なときに訓練をストップ 学習の早期終了
不変性・汎化性能の確保 • 例えば手書き文字認識では・・・ - 文字の画面内での位置は一定でない - 文字の各部が伸縮しうる • 訓練データに手を加えて水増しする 訓練データの工夫
不変性・汎化性能の確保 • 入力の変換に対して出力が変化した時にペナル ティを加える。 → 接線伝搬法 正則化項の工夫 • 特徴抽出など、NNの前段階で線形変換への不 変性を確保する
• 職人芸的 データの前処理の工夫
NNのなかまたち PRML §5.6 - §5.7 p.270 – p.288 +α
何をしたいのか • NNの構造は結構いくらでもいじれる • いろんな構造が提案されているので紹介
畳込みNN • 画像認識でよく使われる (木村くんが詳しい) • 全結合のNNは局所的特徴を捉えにくい • 局所的な結合を利用して特徴抽出処理を実現
混合密度ネットワーク • 順問題と逆問題 問題によって、答えが複数ある場合がある →推定すべき関数に多峰性がある
混合密度ネットワーク • 順問題と逆問題 問題によって、答えが複数ある場合がある →推定すべき関数に多峰性がある
混合密度ネットワーク • じゃあどうする NNの出力を確率分布のパラメータにする (今回は混合正規分布の平均・分散・重み)
混合密度ネットワーク • じゃあどうする NNの出力を確率分布のパラメータにする (今回は混合正規分布の平均・分散・重み)
ベイズニューラルネットワーク • ここまでのNNの話は確率とかあんまり考えて なかった • ネットワークのパラメータを、事前分布と教師 データからMAP推定する考え方 • 過学習を抑制できる •
詳細略!!
Deep Learning の話
Deep Learning とは? • 要するにものすごく大きいニューラルネットワーク • 表現力がものすごく高い • やることはNNと同じ? →
同じではうまくいかない! 入力層 中間層 出力層 入力ベクトル 出力ベクトル 26
学習の問題 • NNの学習は・・・ → 初期値を乱数で振って、誤差逆伝搬学習 入力ベクトル xによる出力ベクトル ′ 教師信号 比較
誤差 誤差 27
• 大規模なNNだと・・・ → 入力に近い層が全然学習されない! → ものすごく時間がかかる! 学習の問題 入力ベクトル xによる出力ベクトル ′
教師信号 比較 誤差 誤差 誤差 誤 差 28
Deep Learning の基本方針 • 以下の手順でやるとうまくいく ① 乱数で初期値を振る ② 各層を教師なし学習 ③
教師データをつけて誤差逆伝搬学習 • 要するに・・・ 誤差逆伝搬学習の前に、それなりに良さそうな重みに学 習しておくということ • 教師なし学習?? New! 29
Restricted Boltzmann Machine (RBM) 結合重み 可視層のバイアス = {1 … }
隠れ層のバイアス = {1 … } 隠れ層の状態 = {ℎ1 … ℎ } 可視層の状態 = {1 … } • その系の可視層から、状態が観測される確率 ) = exp(− , )) exp(− , )) • このとき、log )を最大化するように、を推定する(最尤推定) • 入力に対して、一番 「いい感じの」 結合重みが得られる 30
RBM RBMを用いた初期学習 (Pre-training) • 入力層から順に、各層をRBMと見立てて重みを学習 • これによって・・・ → 各層が特徴抽出能力を獲得 →
誤差逆伝搬学習のための良好な初期値となる 入力層 中間層 出力層 入力ベクトル 出力ベクトル 31
以上です • ニューラルネットワークがどんなものか、なん となくわかっていただけたら幸いです。 • 大変だった・・・・ • 次回は木村くんですね。頑張って!