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
パーセプトロンとニューラルネット1
Search
Ayumu
February 14, 2019
Technology
0
110
パーセプトロンとニューラルネット1
長岡技術科学大学 自然言語処理研究室
学部3年 守谷 歩
Ayumu
February 14, 2019
Tweet
Share
More Decks by Ayumu
See All by Ayumu
B3ゼミ_03_28_マルチモーダル学習_.pdf
ayumum
0
170
マルチモーダル学習
ayumum
0
170
B3ゼミ 自然言語処理におけるCNN
ayumum
0
110
言語処理年次大会報告
ayumum
0
110
ニューラルネット4
ayumum
0
120
文献紹介「二値符号予測と誤り訂正を用いたニューラル翻訳モデル」
ayumum
0
180
ニューラルネット3 誤差伝搬法,CNN,word2vec
ayumum
0
180
ニューラルネット実践
ayumum
0
130
文献紹介[Zero-Shot Dialog Generation with Cross-Domain Latent Action]
ayumum
0
200
Other Decks in Technology
See All in Technology
AWS Top Engineer、浮いてませんか? / As an AWS Top Engineer, Are You Out of Place?
yuj1osm
2
210
Data Hubグループ 紹介資料
sansan33
PRO
0
2.2k
今この時代に技術とどう向き合うべきか
gree_tech
PRO
2
1.8k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
12
80k
incident_commander_demaecan__1_.pdf
demaecan
0
140
WEBサービスを成り立たせるAWSサービス
takano0131
1
160
「れきちず」のこれまでとこれから - 誰にでもわかりやすい歴史地図を目指して / FOSS4G 2025 Japan
hjmkth
1
310
Introduction to Bill One Development Engineer
sansan33
PRO
0
300
難しいセキュリティ用語をわかりやすくしてみた
yuta3110
0
120
PHPからはじめるコンピュータアーキテクチャ / From Scripts to Silicon: A Journey Through the Layers of Computing Hiroshima 2025 Edition
tomzoh
0
140
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
240
能登半島地震において デジタルができたこと・できなかったこと
ditccsugii
0
210
Featured
See All Featured
A better future with KSS
kneath
239
18k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
Building an army of robots
kneath
306
46k
Docker and Python
trallard
46
3.6k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
980
The Art of Programming - Codeland 2020
erikaheidi
56
14k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Side Projects
sachag
455
43k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Code Review Best Practice
trishagee
72
19k
Statistics for Hackers
jakevdp
799
220k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Transcript
パーセプトロンと ニューラルネット1 2019/02/14 長岡技術科学大学 自然言語処理研究室 学部3年 守谷 歩 パーセプトロン、多重パーセプトロン、ニューラ ルネット、活性化関数
パーセプトロンとは ⚫複数の入力を一つの出力にするもの。 ⚫出力の値は1か0 y x1 x2 w1 w2 = ቊ
0 (1 ∗ 1 + 2 ∗ 2 ≤ 1 (1 ∗ 1 + 2 ∗ 2 > は閾値
論理回路みたいに考えられるのなら ⚫AND ⚫OR y x1 x2 w1 w2 y x1
x2 w1 w2 x1 x2 y 0 0 0 0 1 0 1 1 1 1 0 0 x1 x2 Y 0 0 0 0 1 1 1 1 1 1 0 1 パーセプトロン ቊ 0 (1 ∗ 1 + 2 ∗ 2) ≤ 1 (1 ∗ 1 + 2 ∗ 2) > は閾値 {1 = 0.5, 2 = 0.5, = 0.7(0.5よりも大きい)} {1 = 0.5, 2 = 0.5, = 0.3(0.5より小さい)}
Pythonで実装 パーセプトロンAND,OR ⚫コード ⚫結果
実装したパーセプトロンを図示化 パーセプトロン = ቊ 0 (1 ∗ 1 + 2
∗ 2) ≤ 1 (1 ∗ 1 + 2 ∗ 2) > は閾値 これを = −(:バイアス)とすると = ቊ 0 1 ∗ 1 + 2 ∗ 2 + ≤ 0 1 1 ∗ 1 + 2 ∗ 2 + > 0 y x1 x2 w1 w2 ORゲートの重み {1 = 1, 2 = 1, = 0.5}
XORおさらい ⚫論理回路の知識を使うとXORはANDゲート、NANDゲート、ORゲー トから実装することができる。 x1 x2 y 0 0 0 0
1 1 1 1 0 1 0 1 x1 s2 s1 x2 x1 x2 y y
多重パーセプトロン ⚫2段階にすることでXORみたいな状態でも表現可能 ⚫この時の一番左を第0層として扱い、出力まで層を増やせる ⚫XORは2層のパーセプトロン s1 x1 x2 s1 y 第0層
第1層 第2層
⚫コード ⚫結果 Pythonで実装 多重パーセプトロンXOR
⚫パーセプトロンでいろいろな領域に分ける方法は分かったが具体 的な重みは自動的に計算できないのか? ⚫ニューラルネットは重みをデータから学習する性質がある ニューラルネット実装への導入
⚫入力層、中間層(隠れ層)、出力層に分けられたネットワーク ⚫重みをもつ層を数えることが多い(例:中間層が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) ℎ = ቊ 0 ( ≤ 0) 1 ( > 0) パーセプトロンの式変形 h(x) h(x) x1 x2 w1 w2 1 y b
⚫さっき導出した活性化関数は閾値を境に出力が切り替わる関数: ステップ関数である。 ⚫パーセプトロンはステップ関数を使っている。 ⚫ステップ関数ℎ = ቊ 0 ( ≤ 0)
1 ( > 0) 活性化関数 h(x) ステップ関数
⚫ニューラルネットはパーセプトロンと違い活性化関数にシグモイド 関数などの関数を使っている。 ⚫シグモイド関数では、値を1,0の2値でなく、1から0の値を使ってい る ⚫シグモイド関数ℎ = 1 1+exp(−) 活性化関数 h(x)
シグモイド関数
⚫ニューラルネットではシグモイド関数のほかにReLU関数といった関 数を使用することがある。 ⚫ReLU関数は1から0の値に変換せず、0から入力xまでといった値を 使っている。 ⚫ReLU関数ℎ = ቊ ( ≥ 0)
0 ( < 0) 活性化関数 h(x) ReLU関数
⚫パーセプトロンは複数の入力を0,1の2値で返すことができる。 ⚫ニューラルネットはパーセプトロンと違って重みが自動的につくら れる。 ⚫出力を閾値よりも高いかどうかで見るパーセプトロンは活性化関 数としてステップ関数が使用されている。 ⚫出力が、入力が小さい場合0に近い値、入力が大きい場合1に近 い値を返す活性化関数がシグモイド関数である ⚫入力が0を超えていたらそのまま出力し、それ以外なら0にする活 性化関数がReLU関数である。 まとめ