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
150
マルチモーダル学習
ayumum
0
140
B3ゼミ 自然言語処理におけるCNN
ayumum
0
90
言語処理年次大会報告
ayumum
0
82
ニューラルネット4
ayumum
0
100
文献紹介「二値符号予測と誤り訂正を用いたニューラル翻訳モデル」
ayumum
0
150
ニューラルネット3 誤差伝搬法,CNN,word2vec
ayumum
0
160
ニューラルネット実践
ayumum
0
110
文献紹介[Zero-Shot Dialog Generation with Cross-Domain Latent Action]
ayumum
0
170
Other Decks in Technology
See All in Technology
5分でわかるDuckDB
chanyou0311
10
3.2k
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
私なりのAIのご紹介 [2024年版]
qt_luigi
1
120
なぜCodeceptJSを選んだか
goataka
0
160
CustomCopを使ってMongoidのコーディングルールを整えてみた
jinoketani
0
220
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
24
11k
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
LINE Developersプロダクト(LIFF/LINE Login)におけるフロントエンド開発
lycorptech_jp
PRO
0
120
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
UI State設計とテスト方針
rmakiyama
2
320
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
180
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
260
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Producing Creativity
orderedlist
PRO
341
39k
KATA
mclloyd
29
14k
YesSQL, Process and Tooling at Scale
rocio
169
14k
How to Ace a Technical Interview
jacobian
276
23k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
It's Worth the Effort
3n
183
28k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Code Review Best Practice
trishagee
65
17k
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関数である。 まとめ