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勉強会 第五章 -前半 - 川上雄太作成分
代理Upload
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
【基本】データベース設計
oracle4engineer
PRO
2
170
M5stackで使用できるpHセンサの開発
shinrinakamura
0
120
実例で紹介するRAG導入時の知見と精度向上の勘所
yamahiro
5
1.6k
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
450
AWS学習者向けにAzureの解説スライドを作成した話
handy
3
190
よく聞くけど使ったことないソフトウェアNo.1 KafkaとSnowflake
foursue
4
510
Microsoft Intune 勉強会 第 2 回目
tamaiyutaro
2
380
On Your Data を超えていく!
hirotomotaguchi
2
750
Microsoft for Startups Founders Hub_20240429 update
daikikanemitsu
1
2.4k
アクセス制御にまつわる改善 / Improving access control
itkq
0
590
R3のコードから見る実践LINQ実装最適化・コンカレントプログラミング実例
neuecc
3
2.4k
地理空間データ可視化・解析・活用ソリューション Pacific Spatial Solutions (PSS)
pacificspatialsolutions
0
330
Featured
See All Featured
Debugging Ruby Performance
tmm1
70
11k
The MySQL Ecosystem @ GitHub 2015
samlambert
244
12k
Automating Front-end Workflow
addyosmani
1357
200k
Product Roadmaps are Hard
iamctodd
45
9.7k
Mobile First: as difficult as doing things right
swwweet
217
8.6k
Building Applications with DynamoDB
mza
88
5.6k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
20
1.7k
Typedesign – Prime Four
hannesfritz
36
2.1k
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Why Our Code Smells
bkeepers
PRO
331
56k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
21
1.4k
Creatively Recalculating Your Daily Design Routine
revolveconf
211
11k
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の話 についてできるといいなああ