Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
CNNの畳み込み層の相違による文章のランク分類精度の評価
Keisuke Inoue
February 17, 2017
Research
0
330
CNNの畳み込み層の相違による文章のランク分類精度の評価
http://blog.keisukeinoue.net/archives/1064266664.html
Keisuke Inoue
February 17, 2017
Tweet
Share
More Decks by Keisuke Inoue
See All by Keisuke Inoue
クレジットカードのセキュリティ
keisukeoni
0
550
LightningTalk - OEM4Kカメラのハックを真似してみた
keisukeoni
0
36
モノクロ画像データを用いた「投影」および「逆投影」による画像再構成
keisukeoni
0
420
【論文紹介】筋肉からの秘密:筋電図による安全なペアリングの実現
keisukeoni
0
930
地理情報科学特論 GoogleMapsAPIとGPSログの活用
keisukeoni
0
720
Other Decks in Research
See All in Research
第10回チャンピオンズミーティング・アクエリアス杯ラウンド1集計 / Umamusume Aquarius 2022 Round1
kitachan_black
0
1.5k
第11回チャンピオンズミーティング・ピスケス杯ラウンド1集計 / Umamusume Pisces 2022 Round1
kitachan_black
0
1.7k
2022 東工大 情報通信系 研究室紹介 (すずかけ台) / Research@ICT, Tokyo Tech (Suzukakedai Campus) 2022
icttitech
0
2.8k
Natural language processing tells us the shape of language
eumesy
0
270
Winnti is Coming - Evolution after Prosecution@HITCON2021
aragorntseng
0
910
Adversarial Training
hirokiadachi
3
1.3k
2022 東工大 情報通信系 研究室紹介 (大岡山) / Research@ICT, Tokyo Tech (Ookayama Campus) 2022
icttitech
0
2.7k
第9回全日本コンピュータビジョン勉強会「StyleNeRF: A Style-based 3D Aware Generator for High-resolution Image Synthesis」発表資料
maguro27
1
880
論文読み会資料When Shift Operation Meets Vision Transformer:An Extremely Simple Alternative to Attention Mechanism
sensetime_japan
1
750
論文読み会 AAAI2022 | Online Certification of Preference-based Fairness for Personalized Recommender Systems
cocomoff
0
210
Stack-chanで始めるROS音声対話ロボット
yoshipon
1
140
生成的モデリングによる集合データのVisual Analytics(博士論文公聴会)
ae14watanabe
4
880
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
225
120k
Art, The Web, and Tiny UX
lynnandtonic
280
17k
YesSQL, Process and Tooling at Scale
rocio
157
12k
Support Driven Design
roundedbygravity
86
8.5k
From Idea to $5000 a Month in 5 Months
shpigford
372
44k
4 Signs Your Business is Dying
shpigford
169
20k
Atom: Resistance is Futile
akmur
255
20k
Happy Clients
brianwarren
89
5.5k
Git: the NoSQL Database
bkeepers
PRO
415
59k
Designing with Data
zakiwarfel
91
3.9k
Testing 201, or: Great Expectations
jmmastey
21
5.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
498
130k
Transcript
CNNの畳み込み層の相違による ⽂章のランク分類精度の評価 井上 佳祐
アジェンダ • 背景 • ⽬的 • 実験データ • ニューラルネットワークの実装 •
本研究での提案 • 結論 • まとめ
背景 • ⼈⼯知能という技術が広く使われるようになった • Microsoftのりんな(⾃動返答ボット) • SoftbankのPepper(ロボット) • インターネットの普及やコンピュータ性能の向上 •
データ収集が容易に • 速くデータ処理が可能に • 機械学習を実装するための便利なツールやライブラリが登場 • ディープラーニングフレームワーク : TensorFlow • ディープラーニングライブラリ : Keras 要因は?
ディープラーニングについて • 畳み込みニューラルネットワーク(Convolutional Neural Network, 以下 CNN) • 画像データの分類で広く利⽤(画像認識,顔認識など) •
コメントデータのような⽂章の分類など⾃然⾔語処理に⽤いる研究 • 再帰型ニューラルネットワーク(Recurrent Neural Network) • ⾔語データや時系列データの処理で広く利⽤
⽬的 畳み込みニューラルネットワークを利⽤ • コメントのランク分類 • ネットワーク構成の最適化について考察
実験データ • 楽天市場の商品レビューデータ(2011年7⽉28⽇) • 学習データ : 1,297,697件 • 評価データ :
1,216,726件 • 17個の項⽬ • レビューコメント • 評価ポイント : 0〜5の6段階評価 利⽤した項⽬は?
分類について • 購⼊者が投稿したレビューデータのコメントをその商品に対す る購⼊者の評価ランクで分類
分類処理のCNNによる実装 1. コメント⽂の前処理(トークン化) 2. CNNの定義 ⼊⼒層,埋め込み層,畳み込み層,プーリング層,全結合層,出⼒層 3. ⽬的関数の定義 4. データの学習
コメント⽂の前処理(トークン化) • 埋め込み層で単語の埋め込み表現を学習したい • ⽂を形態素に分割→単語をトークン • 単語番号に変換
埋め込み層 • ⽂中での単語の前後関係などから単語の類似度を計算し単語の⾼次元ベクト ルを学習 • フレームワークのWord Embeddingを利⽤
畳み込みとプーリングイメージ
畳み込み層 • ⾏列に対して指定した⾼さと幅のフィルタごとに畳み込む • フィルタについて • 幅:埋め込み表現の次元数と同じ⼤きさに設定 • ⼊⼒⾏列の各⾏が1つの単語トークンとなっているため •
⾼さ:任意に設定 • 出⼒について • 畳み込みで得られるデータのベクトル • 特徴マップという
畳み込みとプーリングイメージ
プーリング層 • マックスプーリングのルールに従う • 畳み込み層の各フィルタから出⼒された特徴マップの⾏列から最⼤値 を取得 • 次元削減 • 出⼒
• マックスプーリングで得た最⼤値を結合した1つのベクトル • ⽂章の特徴ベクトル • ⽂章の⻑さが変わっても常に同じ次元数のベクトル
出⼒層 • 出⼒ • 全結合層のからの出⼒に,ソフトマックス関数を適⽤させて 得られる,分類する各クラスに属する確率 P! 𝑥" , 𝑥#
, ⋯ 𝑥$ = 𝑒%! &",&#,⋯&$ ∑ !%)" * 𝑒%!% &",&#,⋯&$ 畳み込み層・プーリング層を通って全結合層から出⼒される⽂章の ⾏列ベクトル 𝑥! , 𝑥" , ⋯ 𝑥# が評価値𝑘である確率
⽬的関数の定義 • 学習時に出⼒層から出⼒される確率値と教師ラベルに属する確 率値を⼤きくするように重みを学習 • その指標となるのが⽬的関数 • ⽬的関数に交差エントロピー を利⽤ •
出⼒層でソフトマックス関数を使⽤しているため E = − * +)" , * !%)" * 𝑡!%,+ log 𝑃!% 𝑋+ データ𝑋$ = (𝑥! , 𝑥" , ⋯ 𝑥# )が教師ラベル𝑡%!,$ に属する確率値𝑃(𝑋$ ) としたときの⽬的関数E
データの学習 • 定義したニューラルネットワークの学習を複数回繰り返し⾏う • ⽬的関数の微分による勾配を利⽤したアルゴリズムに従って⽬ 的関数の値を最⼩化
本研究での提案 • 畳み込み層のノード数およびフィルタの⾼さの違いでモデルを 変更
使⽤したCNNモデル • 1ノードで畳み込みフィルタの⾼さ2〜6のCNN • 2ノードで畳み込みフィルタの⾼さ3と⾼さ4のCNN • 3ノードで畳み込みフィルタの⾼さ3と⾼さ4と⾼さ5のCNN ノード数およびフィルタの⾼さを変更した以下のモデル
精度⼀覧表(H:⾼さ ‒ N:ノード数) 回 数 精度 H:2 N:1 精度 H:3
N:1 精度 H:4 N:1 精度 H:5 N:1 精度 H:6 N:1 精度 H:3,4 N:2 精度 H:3,4,5 N:3 SVM で がんばって 1 0.6852 0.6869 0.6867 0.6881 0.6891 0.6884 0.6908 0.44 2 0.6876 0.6903 0.6912 0.6906 0.6927 0.6921 0.6935 3 0.6866 0.6898 0.6911 0.6925 0.6926 0.6908 0.6897 4 0.6812 0.6840 0.6864 0.6880 0.6875 0.6837 0.6779 5 0.6663 0.6703 0.6751 0.6764 0.6736 0.6729 0.6620
精度⼀覧表(H:⾼さ ‒ N:ノード数) 回 数 精度 H:2 N:1 精度 H:3
N:1 精度 H:4 N:1 精度 H:5 N:1 精度 H:6 N:1 精度 H:3,4 N:2 精度 H:3,4,5 N:3 SVM で がんばって 1 0.6852 0.6869 0.6867 0.6881 0.6891 0.6884 0.6908 0.44 2 0.6876 0.6903 0.6912 0.6906 0.6927 0.6921 0.6935 3 0.6866 0.6898 0.6911 0.6925 0.6926 0.6908 0.6897 4 0.6812 0.6840 0.6864 0.6880 0.6875 0.6837 0.6779 5 0.6663 0.6703 0.6751 0.6764 0.6736 0.6729 0.6620
実験評価1 • 2,3回学習時での精度が最も⾼い • それを境に精度が低下 • 5回学習した精度と⽐較すると1.5〜2.0%ほど精度が低下 • 過学習していると考えられる •
フィルタの⾼さがより⾼くなるほど精度が向上 • より多くの単語を⼀度に畳み込む • ⾼さ5と⾼さ6での精度にそこまで差が⾒られない • これ以上⾼くしても効果は⾒られないと考えられる • ⾼さ6のほうが⾼さ5よりも1回少ない学習回数で同程度の精度に到達
精度⼀覧表(H:⾼さ ‒ N:ノード数) 回 数 精度 H:2 N:1 精度 H:3
N:1 精度 H:4 N:1 精度 H:5 N:1 精度 H:6 N:1 精度 H:3,4 N:2 精度 H:3,4,5 N:3 SVM で がんばって 1 0.6852 0.6869 0.6867 0.6881 0.6891 0.6884 0.6908 0.44 2 0.6876 0.6903 0.6912 0.6906 0.6927 0.6921 0.6935 3 0.6866 0.6898 0.6911 0.6925 0.6926 0.6908 0.6897 4 0.6812 0.6840 0.6864 0.6880 0.6875 0.6837 0.6779 5 0.6663 0.6703 0.6751 0.6764 0.6736 0.6729 0.6620
実験評価2 • 1ノードの時と同様に2回学習時での精度が最も⾼い • それを境に精度が低下 • 1ノードの⾼さ3と⾼さ4での精度と⽐較 • 0.1%程度1ノードずつで分類するよりも精度が⾼い •
ノードを複数個にすることで精度の向上する可能性あり
精度⼀覧表(H:⾼さ ‒ N:ノード数) 回 数 精度 H:2 N:1 精度 H:3
N:1 精度 H:4 N:1 精度 H:5 N:1 精度 H:6 N:1 精度 H:3,4 N:2 精度 H:3,4,5 N:3 SVM で がんばって 1 0.6852 0.6869 0.6867 0.6881 0.6891 0.6884 0.6908 0.44 2 0.6876 0.6903 0.6912 0.6906 0.6927 0.6921 0.6935 3 0.6866 0.6898 0.6911 0.6925 0.6926 0.6908 0.6897 4 0.6812 0.6840 0.6864 0.6880 0.6875 0.6837 0.6779 5 0.6663 0.6703 0.6751 0.6764 0.6736 0.6729 0.6620
実験評価3 • 1ノード,2ノードの時と同様に2回学習時での精度が最も⾼い • それを境に精度が低下 • 1回⽬の学習で精度が69%を超えている • 実験に⽤いたCNNの中で⼀番少ない学習回数で到達 •
精度が実験に⽤いたCNNで⼀番⾼い • 2ノードモデルでの実験結果を踏まえても,ノード複数化による精度向 上に多少期待できる
CNN構成最適化についての考察 CNNによるコメント分類での精度向上の最適化は次の⼿順 1. 1ノードの⾼さが⼩さいフィルタで学習 2. 精度が低下するまで学習し,精度が悪くなったら1つ前のモデルを 使い局所最適化 3. フィルタの⾼さを⼤きくし,同様に学習 4.
フィルタの⾼さを⼤きくしても精度に変化が⾒られなければ, ノード数を増加 5. 1ノードの時の精度を参考にフィルタの⾼さを設定し同様に学習 この⼿順を2ノード,3ノードと繰り返す
まとめ • CNNでの⾃然⾔語処理として,商品レビューのコメントデータ の評価分類を⾏うCNNの実装⽅法を⽰した • ニューラルネットワークはパラメータの数が多く学習には膨⼤ な時間が必要
今後の課題 • 少ない学習データでも同程度の精度が得られるかどうかの考察 • パラメータやノード数の違いによる精度への影響を評価
リファレンス 1. Life with Pepper | ソフトバンク, http://www.softbank.jp/robot/special/pepper/, (2017/01/01 参
照) 2. りんな, http://rinna.jp/, (2017/01/01参照) 3. NTTコムウェア | ディープラーニング, https://www.nttcom.co.jp/research/keyword/dl/, (2017/01/01 参照) 4. Yoon Kim, Convolutional Neural Networks for Sentence Classification, EMNLP(2014), 1746-1751 5. 国⽴情報学研究所, http://www.nii.ac.jp, (2017/01/01 参照) 6. 新納浩幸,Chainerによる実践深層学習,オーム社(2016) 7. 浅川伸⼀,Pythonで体験する深層学習,コロナ社(2016) 8. 斎藤康毅,ゼロから作るDeepLearning,オライリー・ジャパン(2016) 9. 中井悦司, TensorFlowで学ぶディープラーニング⼊⾨, マイナビ(2016) 10. 清⽔亮, はじめての深層学習プログラミング,(2017) 11. TensorFlow, https://www.tensorflow.org/, (2017/01/01 参照) 12. Keras Documentation, https://keras.io/, (2017/01/01 参照)
ご清聴ありがとうございました -Thank You For Your Attention-
質疑応答 質問・コメントなどがありましたら 静かに挙⼿をお願いします