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
B3ゼミ 自然言語処理におけるCNN
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ayumu
March 21, 2019
Technology
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
B3ゼミ 自然言語処理におけるCNN
2019/03/21
長岡技術科学大学 自然言語処理研究室
学部4年 守谷 歩
Ayumu
March 21, 2019
More Decks by Ayumu
See All by Ayumu
B3ゼミ_03_28_マルチモーダル学習_.pdf
ayumum
0
200
マルチモーダル学習
ayumum
0
190
言語処理年次大会報告
ayumum
0
130
ニューラルネット4
ayumum
0
140
文献紹介「二値符号予測と誤り訂正を用いたニューラル翻訳モデル」
ayumum
0
210
ニューラルネット3 誤差伝搬法,CNN,word2vec
ayumum
0
200
ニューラルネット実践
ayumum
0
150
文献紹介[Zero-Shot Dialog Generation with Cross-Domain Latent Action]
ayumum
0
230
パーセプトロンとニューラルネット1
ayumum
0
120
Other Decks in Technology
See All in Technology
"何を作るか"を任される エンジニアは、どう育つのか
yutaokafuji
1
680
Kubernetesにおける学習基盤とLLMOpsの概要
ry
1
310
On-behalf-of Token exchange with AgentCore Identity
hironobuiga
2
220
【セミナー資料】Claude Code をセキュアに使うための考え方と設定の勘どころ / Claude Code Webinar 20260616
masahirokawahara
2
340
ルールやカスタム機能、どう活かす?ハンズオンで体感するIBM Bobの出力コントロール
muehara
1
160
AIエージェントが名古屋の猛暑からあなたを守る
happysamurai294
0
120
NAB Show 2026 動画技術関連レポート / NAB Show 2026 Report
cyberagentdevelopers
PRO
0
200
社内 AI エージェント Synapse と セマンティックレイヤーの育て方
hiroakis
3
1.9k
20260619 私の日常業務での生成 AI 活用
masaruogura
1
210
2026TECHFRESH畢業分享會 - 原生還是跨平台? App 開發踩坑實錄
line_developers_tw
PRO
0
1.1k
スキルと MCP ツール、責務をどう分けるか? AI が迷わないインターフェース設計の戦略
cdataj
1
1.1k
新しいVibe Codingと”自走”について
watany
6
330
Featured
See All Featured
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
390
What's in a price? How to price your products and services
michaelherold
247
13k
Statistics for Hackers
jakevdp
799
230k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.2k
How GitHub (no longer) Works
holman
316
150k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
610
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
310
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
2
1.5k
Mind Mapping
helmedeiros
PRO
1
250
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
200
A Soul's Torment
seathinner
6
2.9k
Transcript
自然言語処理における CNN 2019/03/21 長岡技術科学大学 自然言語処理研究室 学部4年 守谷 歩 単語埋め込み表現(Word embedding),CNN,QRNN
単語共起行列 ⚫I like apple ⚫He like banana ⚫He like fruit
I Like Apple He Banana Fruit I 0 1 0 0 0 0 Like 1 0 1 2 1 1 Apple 0 1 0 0 0 0 He 0 2 0 0 0 0 Banana 0 1 0 0 0 0 Fruit 0 1 0 0 0 0
SVD 特異値分解 ⚫任意のM*Nの行列Cに対して以下のような分解を行う = Σ ⚫左特異行列UはM*Mの正方行列で各列はと直行する固有ベ クトル ⚫右特異行列VはN*Nの正方行列で各列はと直行する固有ベク トル ⚫ΣはN*M行列で対角行列成分が特異値によって表現(それ以外は
0) ⚫特異値はの固有値の平方根で求まる
Word2Vec Skip-Gram ⚫単語の前後に大きさCのウィンドウをといったものを考える。ウィン ドウ内単語に対して出現確率を考え、総和を目的関数にし、最尤推 定する。 ⚫直観的なイメージとしては “Do Androids Dream of
Electric Sheep?” のDreamの単語に注目したとき、ウインドウサイズC=2として考える ときDreamの周辺2単語がNNの出力される確率が高くなるように学 習を行う。 ⚫上の注目する単語をすべての単語に対して行うと1単語に対する 次の単語の生成確率と単語数の行列を作ることができる。
Glove ⚫Word2VecとSVDの利点を取ったもの ⚫単語の共起カウントを行列 とする ⚫以下の式を最小二乗法にて単語ベクトルを求めるための損失関数として定義する。 = ,=1 , ~
+ + ~ − log 2 ⚫この時関数fは重みをつけるための関数で以下のように定義される = ൞ < 1 ℎ
CNN ⚫入力が文書の場合、各行を単語を表現するベクトルで考える。例として、 200次元の単語埋め込みを行った10単語の文書があった場合、10*200 の行列として扱うことができる。 ⚫NLPタスクでは一般的に行列の行全体をスライドするフィルタを使う。 ⚫CNNではハイパーパラメータとして畳み込み幅のサイズ、ストライド数、 プーリング層の数、チャンネルといった点でCNNはハイパーパラメータを 取りうる。 ⚫分類問題を解くCNNを実装すると考えると畳み込みや、プーリングの操 作を適用すると単語の局所的な位置情報は失われる
QRNN Quasi Recurrent neural network ⚫RNNを並列処理しようとすると、RNNが前回の隠れ層からの入力を重み をかけて受け取るため、順番に処理する必要がある。 ⚫QRNNではCNNを連続的なデータに対して適用する。また、重みを使わ ずに伝搬させるため隠れ層の中の各要素を他要素からの影響から独立 した状態で留める。
⚫LSTMでいうinput,forget,outputといったものをZ,F,Oといった関数を用い て計算する。 = tanh ∗ = ∗ = ( ∗ )
QRNN Quasi Recurrent neural network ⚫また畳み込み処理ではプーリングをよく使うが、これは4領域あった場合にそ の最大値や平均値をとるといった手法であった。ここにFの割合で過去の情報h と合成したものをプーリングする。F-poolingといった手法として以下の手法が挙 げられている。 ℎ
= ⨀ℎ−1 + 1 − ⨀ ⚫ほかにも、コンテキストcを経由するfo-poolingとして以下の変形も提案されて いる。 ct = ⨀−1 + 1 − ⨀ ℎ = ⨀ ⚫また、インプットを書き込む割合を考える変形としてifo-poolingが提案されてい る。 = ⨀−1 + ⨀ ℎ = ⨀
参考文献 ⚫QUASI-RECURRENT NEURAL NETWORKS https://arxiv.org/pdf/1611.01576v1.pdf ⚫自然言語処理における畳み込みニューラルネットワークを理解する http://tkengo.github.io/blog/2016/03/11/understanding-convolutional-neural- networks-for-nlp/ ⚫畳み込みニューラルネットワークによるテキスト分類を TensorFlow
で実装する http://tkengo.github.io/blog/2016/03/14/text-classification-by-cnn/ ⚫A Sensitivity Analysis of (and Practitioners’ Guide to) ConvolutionalNeural Networks for Sentence Classification https://arxiv.org/pdf/1510.03820.pdf ⚫高速かつ高性能な分散表現Gloveについて(PyTorch実装) https://qiita.com/GushiSnow/items/e92ac2fea4f8448491ba ⚫いますぐ使える単語埋め込みベクトルのリスト https://qiita.com/Hironsan/items/8f7d35f0a36e0f99752c