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
Ayumu
February 21, 2019
Technology
0
110
ニューラルネット実践
ニューラルネット、損失関数、勾配法、前回の疑問点
長岡技術科学大学 自然言語処理研究室
学部3年 守谷 歩
Ayumu
February 21, 2019
Tweet
Share
More Decks by Ayumu
See All by Ayumu
B3ゼミ_03_28_マルチモーダル学習_.pdf
ayumum
0
150
マルチモーダル学習
ayumum
0
140
B3ゼミ 自然言語処理におけるCNN
ayumum
0
91
言語処理年次大会報告
ayumum
0
86
ニューラルネット4
ayumum
0
100
文献紹介「二値符号予測と誤り訂正を用いたニューラル翻訳モデル」
ayumum
0
150
ニューラルネット3 誤差伝搬法,CNN,word2vec
ayumum
0
160
文献紹介[Zero-Shot Dialog Generation with Cross-Domain Latent Action]
ayumum
0
180
パーセプトロンとニューラルネット1
ayumum
0
110
Other Decks in Technology
See All in Technology
Agentic AI時代のプロダクトマネジメントことはじめ〜仮説検証編〜
masakazu178
3
380
20250125_Agent for Amazon Bedrock試してみた
riz3f7
2
110
日本語プログラミングとSpring Bootアプリケーション開発 #kanjava
yusuke
2
340
Amazon Aurora バージョンアップについて、改めて理解する ~バージョンアップ手法と文字コードへの影響~
smt7174
1
240
業務ツールをAIエージェントとつなぐ - Composio
knishioka
0
110
教師なし学習の基礎
kanojikajino
4
360
さいきょうのアーキテクチャを生み出すセンスメイキング
jgeem
0
270
SREとしてスタッフエンジニアを目指す / SRE Kaigi 2025
tjun
15
6.3k
ChatGPTを使ったブログ執筆と校正の実践テクニック/登壇資料(井田 献一朗)
hacobu
1
160
現実的なCompose化戦略 ~既存リスト画面の置き換え~
sansantech
PRO
0
160
Japan AWS Jr. Championsがお届けするre:Invent2024のハイライト ~ラスベガスで見てきた景色~
fukuchiiinu
0
1.1k
Postman Vaultを使った秘密情報の安全な管理
nagix
3
110
Featured
See All Featured
Git: the NoSQL Database
bkeepers
PRO
427
64k
Statistics for Hackers
jakevdp
797
220k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
For a Future-Friendly Web
brad_frost
176
9.5k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Writing Fast Ruby
sferik
628
61k
The Language of Interfaces
destraynor
156
24k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
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関数が使われるこ とが多い