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.6k
PRML勉強会 第五章 -後半 - 川上雄太作成分
代理アップロード
takegue
June 02, 2014
Tweet
Share
More Decks by takegue
See All by takegue
不自然言語の自然言語処理: コード補完を支える最新技術
takegue
1
870
つかわれるプラットフォーム 〜デザイン編〜@DPM#2
takegue
2
12k
カルチャーとエンジニアリングをつなぐ データプラットフォーム
takegue
4
6.4k
toC企業でのデータ活用 (PyData.Okinawa + PythonBeginners沖縄 合同勉強会 2019)
takegue
4
1.1k
Rettyにおけるデータ活用について
takegue
0
900
Sparse Overcomplete Word Vector Representations
takegue
0
220
Aligning Sentences from Standard Wikipedia to Simple Wikipedia
takegue
0
210
High-Order Low-Rank Tensors for Semantic Role Labeling
takegue
0
120
Dependency-based empty category detection via phrase structure trees
takegue
0
80
Other Decks in Technology
See All in Technology
20250912_RPALT_データを集める→とっ散らかる問題_Obsidian紹介
ratsbane666
0
100
まずはマネコンでちゃちゃっと作ってから、それをCDKにしてみよか。
yamada_r
2
120
Android Audio: Beyond Winning On It
atsushieno
0
2.4k
プラットフォーム転換期におけるGitHub Copilot活用〜Coding agentがそれを加速するか〜 / Leveraging GitHub Copilot During Platform Transition Periods
aeonpeople
1
230
LLMを搭載したプロダクトの品質保証の模索と学び
qa
0
1.1k
Platform開発が先行する Platform Engineeringの違和感
kintotechdev
4
580
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
Terraformで構築する セルフサービス型データプラットフォーム / terraform-self-service-data-platform
pei0804
1
190
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
人工衛星のファームウェアをRustで書く理由
koba789
15
8.2k
今日から始めるAWSセキュリティ対策 3ステップでわかる実践ガイド
yoshidatakeshi1994
0
110
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Embracing the Ebb and Flow
colly
87
4.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
We Have a Design System, Now What?
morganepeng
53
7.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
31
2.2k
Site-Speed That Sticks
csswizardry
10
820
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Making Projects Easy
brettharned
117
6.4k
Why Our Code Smells
bkeepers
PRO
339
57k
YesSQL, Process and Tooling at Scale
rocio
173
14k
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
以上です • ニューラルネットワークがどんなものか、なん となくわかっていただけたら幸いです。 • 大変だった・・・・ • 次回は木村くんですね。頑張って!