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
ニューラルネット実践
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ayumu
February 21, 2019
Technology
150
0
Share
ニューラルネット実践
ニューラルネット、損失関数、勾配法、前回の疑問点
長岡技術科学大学 自然言語処理研究室
学部3年 守谷 歩
Ayumu
February 21, 2019
More Decks by Ayumu
See All by Ayumu
B3ゼミ_03_28_マルチモーダル学習_.pdf
ayumum
0
200
マルチモーダル学習
ayumum
0
190
B3ゼミ 自然言語処理におけるCNN
ayumum
0
140
言語処理年次大会報告
ayumum
0
130
ニューラルネット4
ayumum
0
140
文献紹介「二値符号予測と誤り訂正を用いたニューラル翻訳モデル」
ayumum
0
210
ニューラルネット3 誤差伝搬法,CNN,word2vec
ayumum
0
200
文献紹介[Zero-Shot Dialog Generation with Cross-Domain Latent Action]
ayumum
0
230
パーセプトロンとニューラルネット1
ayumum
0
120
Other Decks in Technology
See All in Technology
「気づいたら仕事が終わっている」バクラクAIエージェント本番運用の裏側 / layerx-bakuraku-aie2026
yuya4
18
9.4k
ITエンジニアを取り巻く環境とキャリアパス / A career path for Japanese IT engineers
takatama
4
1.8k
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
250
JEP 522 Deep Dive - G1 GC同期コスト削減によるスループット向上を徹底検証&解説
tabatad
1
720
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
150
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
3
980
さきさん文庫の書籍ができるまで
sakiengineer
0
340
オンコールの負荷軽減のためのBits Assistant 活用方法 / How to Use Bits Assistant to Reduce the Workload on On-Call Staff
sms_tech
1
380
AI と創る新たな世界 / A New World Created with AI
ks91
PRO
0
100
ポスター発表&デモと総括 / Poster Presentations & Demonstrations and Summary
ks91
PRO
0
190
Agentic ERPをどう設計するか ー 受発注エージェントを動かす、現場の知見と設計思想ー
recerqainc
1
1.2k
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
340
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
250
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.8k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
380
The browser strikes back
jonoalderson
0
1.1k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
GraphQLとの向き合い方2022年版
quramy
50
15k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
200
Large-scale JavaScript Application Architecture
addyosmani
515
110k
A Soul's Torment
seathinner
6
2.9k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.2k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
240
Transcript
ニューラルネット2 2019/02/21 長岡技術科学大学 自然言語処理研究室 学部3年 守谷 歩 ニューラルネット、損失関数、勾配法、前回の 疑問点
⚫入力層、中間層(隠れ層)、出力層に分けられたネットワーク ⚫重みをもつ層を数えることが多い(例:中間層が5個あったら6層 ネットワーク) 復習:ニューラルネットとは 入力層 中間層 出力層
⚫活性化関数h(x)を与える = ቊ 0 1 ∗ 1 + 2 ∗
2 + ≤ 0 1 1 ∗ 1 + 2 ∗ 2 + > 0 (w1,w2:重み x1,x2:入力 b:バイアス) = h(b+w1∗x1+w2∗x2) 復習:ニューラルネットの式 h(x) x1 x2 w1 w2 1 y b
⚫恒等関数とは入力されたものをそのまま 出力する関数 ⚫出力層に恒等関数を用いると入力信号 をそのまま出力する 恒等関数 a1 y δ()
⚫分類問題などではソフトマックス関数を用い る ⚫ソフトマックス関数: ∶ = exp σ =1 exp( )
⚫ソフトマックス関数の出力はすべての入力 信号から結びつきを持たせる。各ニューロン がすべての入力信号から影響を受ける形に なる。 ソフトマックス関数 a1 y1 δ() a2 y2 a3 y3
⚫ソフトマックス関数の出力は0から1の間 の実数になり、また、その総和は1となる。 これによって、確率として計算することが できる。 ⚫また、指数関数を考えると、ソフトマック ス関数に当てはめても、要素の大小関係 は変化しない。 ソフトマックス関数 特徴 a1
y1 δ() a2 y2 a3 y3
ソフトマックス関数 実装 結果 コード
⚫ニューラルネットの学習とは、訓練データから、重みを更新して、 最適な値にすることである。 ⚫重みを更新するために損失関数といった指標を使う。 ⚫損失関数が最小になるような重みを出すことによって、最適な重 みを求めることができる。 ニューラルネット 学習
⚫損失関数として、二乗和誤差といったものがある。 = 1 2 σ − 2 (y:ニューラルネットの出力,t:教師データ) ⚫教師データを正解のデータには1をそれ以外には0を出力する表 記法をone-hot表現という
y = [0.1,0.05,0.6,0.0,0.05,0.1,0.0,0.1,0.0,0.0] t = [0,0,1,0,0,0,0,0,0,0] One-hot表現と二乗和誤差
二乗和誤差 実装 結果 コード
⚫損失関数として、交差エントロピー誤差といったものがある。 = − σ log (y:ニューラルネットの出力,t:教師データ) ⚫さっき考えたone-hot表現で考える y = [0.1,0.05,0.6,0.0,0.05,0.1,0.0,0.1,0.0,0.0]
t = [0,0,1,0,0,0,0,0,0,0] ニューラルネットの出力が0.6の場合、交差エントロピー誤差は -log0.6=0.51となって、出力が正しく考えられる場合小さい値になる。 交差エントロピー誤差
交差エントロピー誤差 実装 結果 コード
⚫損失関数が最小になる値をとるパラメータを学習時に見つけるの は難しいため、勾配を用いてできるだけ小さな値を使う。 ⚫勾配法は、現在地から勾配の方向に進み続け、関数の値を徐々 に減らしていく方法。 = − η この時のηをニューラルネットの学習率という 勾配法
⚫ 0 , 1 = 0 2 + 1 2の最小値を勾配法で求める
勾配降下法(最小値を求める)実装 コード 結果
⚫ニューラルネットの勾配とは、重みパラメータに関する損失関数の 勾配である。とある重みWに対する損失関数Lがあった場合、その 勾配は とあらわすことができる。 ⚫重みのパラメータWの勾配dWが負の値であった場合、その値を 重みに更新してあげ、正の値であった場合、重みからその値を引け ば、損失関数を減らすことができる。 ニューラルネットの勾配
コード 勾配法を用いたニューラルネット実装 結果
宿題:活性化関数 線形関数であった 場合 ⚫活性化関数が線形関数であった場合 ℎ = これが3層のニューラルネットだった場合 ℎ ℎ ℎ
= 3 = 3 となるaが存在してしまう。⇒単層パーセプトロンと一緒
宿題:活性化関数 シグモイドであった 場合 ⚫シグモイド関数を微分する ⚫微分の最大値が0.25で、層を増やしていくと勾配が消失 する。
宿題:活性化関数 ReLUであった場合 ⚫微分されても活性化関数は ℎ′ = ቊ 1 ( > 0)
0 ( < 0) そのため、勾配消失が防げるため、ReLU関数が使われるこ とが多い