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
160
マルチモーダル学習
ayumum
0
150
B3ゼミ 自然言語処理におけるCNN
ayumum
0
100
言語処理年次大会報告
ayumum
0
97
ニューラルネット4
ayumum
0
110
文献紹介「二値符号予測と誤り訂正を用いたニューラル翻訳モデル」
ayumum
0
160
ニューラルネット3 誤差伝搬法,CNN,word2vec
ayumum
0
170
ニューラルネット実践
ayumum
0
120
文献紹介[Zero-Shot Dialog Generation with Cross-Domain Latent Action]
ayumum
0
190
Other Decks in Technology
See All in Technology
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
160
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
29
10k
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
930
AIエージェント最前線! Amazon Bedrock、Amazon Q、そしてMCPを使いこなそう
minorun365
PRO
13
4.9k
実践! AIエージェント導入記
1mono2prod
0
160
生成AIで小説を書くためにプロンプトの制約や原則について学ぶ / prompt-engineering-for-ai-fiction
nwiizo
3
860
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
1
520
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3.1k
BigQuery Remote FunctionでLooker Studioをインタラクティブ化
cuebic9bic
3
270
フィンテック養成勉強会#54
finengine
0
170
Model Mondays S2E02: Model Context Protocol
nitya
0
220
Liquid Glass革新とSwiftUI/UIKit進化
fumiyasac0921
0
190
Featured
See All Featured
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
46
9.6k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
490
KATA
mclloyd
29
14k
Why Our Code Smells
bkeepers
PRO
337
57k
Raft: Consensus for Rubyists
vanstee
140
7k
The Cult of Friendly URLs
andyhume
79
6.5k
Code Review Best Practice
trishagee
68
18k
Faster Mobile Websites
deanohume
307
31k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Being A Developer After 40
akosma
90
590k
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関数である。 まとめ