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
200
High-Order Low-Rank Tensors for Semantic Role Labeling
takegue
0
120
Dependency-based empty category detection via phrase structure trees
takegue
0
71
Other Decks in Technology
See All in Technology
大規模アジャイルフレームワークから学ぶエンジニアマネジメントの本質
staka121
PRO
2
140
株式会社EventHub・エンジニア採用資料
eventhub
0
4.3k
エンジニアリング価値を黒字化する バリューベース戦略を用いた 技術戦略策定の道のり
kzkmaeda
6
1.4k
Raycast Favorites × Script Command で実現するお手軽情報チェック
smasato
1
120
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
390
OpenID BizDay#17 KYC WG活動報告(法人) / 20250219-BizDay17-KYC-legalidentity
oidfj
0
440
Swiftの “private” を テストする / Testing Swift "private"
yutailang0119
0
140
php-conference-nagoya-2025
fuwasegu
0
130
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
190
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
180
Active Directory攻防
cryptopeg
PRO
8
4.9k
なぜ私は自分が使わないサービスを作るのか? / Why would I create a service that I would not use?
aiandrox
0
910
Featured
See All Featured
Fireside Chat
paigeccino
34
3.2k
Raft: Consensus for Rubyists
vanstee
137
6.8k
Visualization
eitanlees
146
15k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
It's Worth the Effort
3n
184
28k
Building Your Own Lightsaber
phodgson
104
6.2k
Building Adaptive Systems
keathley
40
2.4k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
The Language of Interfaces
destraynor
156
24k
A Philosophy of Restraint
colly
203
16k
Faster Mobile Websites
deanohume
306
31k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
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の話 についてできるといいなああ