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.5k
PRML勉強会 第五章 -前半 - 川上雄太作成分
代理Upload
takegue
June 02, 2014
Tweet
Share
More Decks by takegue
See All by takegue
不自然言語の自然言語処理: コード補完を支える最新技術
takegue
1
830
つかわれるプラットフォーム 〜デザイン編〜@DPM#2
takegue
2
12k
カルチャーとエンジニアリングをつなぐ データプラットフォーム
takegue
4
6.3k
toC企業でのデータ活用 (PyData.Okinawa + PythonBeginners沖縄 合同勉強会 2019)
takegue
4
1k
Rettyにおけるデータ活用について
takegue
0
870
Sparse Overcomplete Word Vector Representations
takegue
0
200
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
73
Other Decks in Technology
See All in Technology
AWSではじめる Web APIテスト実践ガイド / A practical guide to testing Web APIs on AWS
yokawasa
8
750
わたしがEMとして入社した「最初の100日」の過ごし方 / EMConfJp2025
daiksy
14
5.3k
データベースの負荷を紐解く/untangle-the-database-load
emiki
2
540
アジャイルな開発チームでテスト戦略の話は誰がする? / Who Talks About Test Strategy?
ak1210
1
660
AI自体のOps 〜LLMアプリの運用、AWSサービスとOSSの使い分け〜
minorun365
PRO
9
690
AI Agent時代なのでAWSのLLMs.txtが欲しい!
watany
3
320
RayでPHPのデバッグをちょっと快適にする
muno92
PRO
0
190
Share my, our lessons from the road to re:Invent
naospon
0
150
事業を差別化する技術を生み出す技術
pyama86
2
390
20250304_赤煉瓦倉庫_DeepSeek_Deep_Dive
hiouchiy
2
110
Introduction to OpenSearch Project - Search Engineering Tech Talk 2025 Winter
tkykenmt
2
140
実は強い 非ViTな画像認識モデル
tattaka
3
1.3k
Featured
See All Featured
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Unsuck your backbone
ammeep
669
57k
Why Our Code Smells
bkeepers
PRO
336
57k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.1k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Practical Orchestrator
shlominoach
186
10k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
A Philosophy of Restraint
colly
203
16k
Transcript
PRML 勉強会 第5章 ニューラルネットワーク 担当:王研究室 川上雄太
ニューラルネットワーク(以降NN)はいろんな事に使える 最近、第3次NNブームが到来(過ぎつつある?) NNのライブラリ,ツールキットはいろいろあるので、 割と手軽に利用可能だったりする
目標 それらを使うときのために • 中で何が起こっているのか • パラメータの意味 • etc を理解しておくこと! なので、本質的に重要でなさそうな部分はごっそり
省きます。。。 (近似の話、計算の高速化など)
5章のすすめかた(予定) • 第一週 • NNとは何か • NNの訓練 • 誤差逆伝搬 ←重要!
• ヘッセ行列 • 第二週 • NNの正則化、畳み込みNN • 混合密度NN • ベイズNN
NNとは何か PRML §5.1 p.226 – p.233
5.1 フィードフォワードネットワーク関数 • 3,4章でも取り扱ったクラス分類の線形モデルを 思い出す , = =1 (5.1) ・
はクラス分類なら非線形活性化関数 回帰なら恒等写像 • 基底関数の線形和を関数にかける、という式 • をさらにパラメータ依存の関数にすると?
5.1 フィードフォワードネットワーク関数 = = ℎ (1) + 0 (1) =1
(5.3) ← (5.2) ℎ(・)はシグモイド関数 • ここでいう(1)は、1層目という意味 (後で説明) • これを(5.1)式の線形モデルの基底関数とする
5.1 フィードフォワードネットワーク関数 = ℎ (1) + 0 (1) =1 (5.3)
← (5.2) = (2) + 0 (2) =1 (5.5) ← (5.4) (5.1)式の に相当 (5.1)式のf ・ に相当
5.1 フィードフォワードネットワーク関数 入力値を2段階の線形和・非線形関数で変換している = ℎ (1) + 0 (1) =1
(5.3) ← (5.2) = (2) + 0 (2) =1 (5.5) ← (5.4) 入力層 隠れ層 出力層
5.1 フィードフォワードネットワーク関数 • 1つにまとめると • 図で表すと , = 2 =0
ℎ (1) =0 (5.9)
5.1 フィードフォワードネットワーク関数 • こんな図で表せるので”ネットワーク” • (5.9)式の出力を求める計算過程を順伝搬と呼ぶ • 今後この構造を2層NNと呼ぶ • ネットワーク構造には様々な拡張が考えられる
NNのはたらき • 万能近似器 • どんな連続関数でも任意の精度で近似可能 (隠れ層をめっちゃ増やせば)
NNのはたらき • 万能近似器 • どんな連続関数でも任意の精度で近似可能 (隠れ層をめっちゃ増やせば)
NNの訓練 PRML §5.2 p.233 – p.242
何をしたいのか • NNのパラメータは2層まとめて • この重みを最適化したい →誤差関数 の最小化 , = 2
=0 ℎ (1) =0 5.9 再掲
解くべき問題と誤差関数の種類 回帰 2クラス分類 他クラス分類 出力ユニット の 活性化関数 線形出力関数 = ロジスティック
シグモイド関数 = 1 1 + exp − ソフトマックス関数 = exp (, ) exp( (, )) 誤差関数 二乗和誤差関数 = 1 2 , =1 − 2 交差エントロピー誤差関数 E = − ln =1 + 1 − ln 1 − 多クラス交差エントロピー 誤差関数 E = − ln , =1 =1
5.2.1 パラメータ最適化 • 誤差関数の値が小さくなる方向にパラメータを更 新していけばいい(勾配降下法など) (+1) = + ∆() •
いろいろなアルゴリズムがあるが、結局は∆()の 決め方の違い
5.2.4 勾配降下最適化 • 最も単純なアプローチ (+1) = () − (()) •
は学習率パラメータ • 最急降下法ともいう • バッチ訓練では共役勾配法、準ニュートン法な どの方が頑健で速い
5.2.4 勾配降下最適化 • 勾配降下法にはオンライン版もある • オンライン? 個々のデータ点について逐次的に最適化 データの冗長性に強い 局所解を回避しやすい
誤差逆伝搬 error backpropagation PRML §5.3 p.242 – p.250
何をしたいのか • NNは誤差関数を最小化するように学習する (最急降下法の場合) (+1) = () − (()) •
パラメータに関する誤差関数の微分 が 知りたい
5.3.1 誤差関数微分の評価 • 例えば単純な線形モデルの場合 = =1 (5.45) • ある入力パターンnに対する誤差関数は =
1 2 − 2 (5.46) • 重み に関する勾配は = − (5.47) 誤差信号 リンクの 入力値
5.3.1 誤差関数微分の評価 • 多層ネットワークの場合は? 複数層の線形モデルと非線形関数 = = ℎ • 誤差関数
は、 を通してのみ に依存する ことを利用して微分を分解 = (5.50)
5.3.1 誤差関数微分の評価 = 5.50 ここで、 ≡ は誤差と呼ばれる また、 = (5.52)
すると = (5.53)
5.3.1 誤差関数微分の評価 = 5.53 (5.47)式を参考にすると = − (5.54) • 隠れユニットのは
= = (5.55) という感じで入力側に遡って評価
5.3.1 誤差関数微分の評価 • 長々やったけど結局どういうことかというと 逆伝搬公式 = = ℎ′ 出力側 入力側
学習の流れ 0.重みをランダムに振る 1.入力ベクトル による現在の出力を求める (順伝搬) 2.出力層での誤差 を計算する 3. をもとに全ての隠れユニットの を得る(逆伝搬)
4. を用いて誤差関数の微分( )を評価 5.重みを更新 6.誤差が十分小さくなったら終了 ならなければ1.に戻る (+1) = () − (())
とりあえずここまで 次週は ・NNの正則化 ・NNのなかまたち (畳込みNN, 混合密度NN, ベイズNN) ・deep learningの話 についてできるといいなああ