Upgrade to Pro — share decks privately, control downloads, hide ads and more …

畳み込みニューラルネットワーク

 畳み込みニューラルネットワーク

長岡技術科学大学
自然言語処理研究室
B3ゼミ発表(第9回)

66cc992074ab4522374e429c11fef225?s=128

youichiro

March 29, 2017
Tweet

More Decks by youichiro

Other Decks in Technology

Transcript

  1. 畳み込みニューラルネットワーク 平成29年3月30日 長岡技術科学大学 自然言語処理研究室 小川耀一朗

  2. 発表内容 l 畳み込みニューラルネットワーク (Convolutional Neural Networks : CNN) l 畳み込みとは

    l ニューラルネットの構造 l プーリング層 l 自然言語処理への応用 2/24
  3. 畳み込みニューラルネットワーク ある図形が◦か×かを判定する問題 通常のニューラルネットでは… 画像の1ピクセルを1つの入力とする 10×10の画像 → 100ベクトル 3/24

  4. 畳み込みニューラルネットワーク これでは、少し位置がずれていたりすると判定に大 きな影響が出る ある程度の大きさの領域をまとめて入力 → 「右上から左下にかけて黒」という傾向を捉える 4/24

  5. 畳み込みニューラルネットワーク これでは、少し位置がずれていたりすると判定に大 きな影響が出る ある程度の大きさの領域をまとめて入力 5/24 フィルタ

  6. 畳み込みとは 画像の各要素は0が黒、1が白(一般的には0〜255) 6/24 画像 フィルタ

  7. 畳み込みとは 画像の値とフィルタの値を要素毎に掛け合わせ、そ れらの値を合計 7/24 画像 フィルタ 畳み込み(内積) 特徴量

  8. 畳み込みとは 画像の値とフィルタの値を要素毎に掛け合わせ、そ れらの値を合計 8/24 画像 フィルタ

  9. 畳み込みとは 画像の値とフィルタの値を要素毎に掛け合わせ、そ れらの値を合計 9/24 画像 フィルタ

  10. 畳み込みとは 画像の値とフィルタの値を要素毎に掛け合わせ、そ れらの値を合計 10/24 画像 フィルタ

  11. 畳み込みとは 画像の値とフィルタの値を要素毎に掛け合わせ、そ れらの値を合計 11/24 画像 フィルタ 畳み込み行列 ↑全体の畳み込み

  12. 畳み込みとは ニューラルネットのイメージ 12/24

  13. 畳み込みニューラルネットワーク フィルタによって1ピクセルだけ出力する処理 • 入力となる数値の並び(画像の一部分)がある • この数値の並びにそれぞれフィルタの値をかける • かけ算の各結果をすべて足し合わせる 13/24

  14. 畳み込みニューラルネットワーク フィルタによって1ピクセルだけ出力する処理 • 入力となる数値の並び(画像の一部分)がある • この数値の並びにそれぞれフィルタの値をかける • かけ算の各結果をすべて足し合わせる ニューラルネットの1ノードの働き •

    入力となる数値の並びがある • この数値の並びにそれぞれ重みの値をかける • かけ算の各結果をすべて足し合わせる 14/24
  15. 畳み込みニューラルネットワーク フィルタによって1ピクセルだけ出力する処理 • 入力となる数値の並び(画像の一部分)がある • この数値の並びにそれぞれフィルタの値をかける • かけ算の各結果をすべて足し合わせる ニューラルネットの1ノードの働き •

    入力となる数値の並びがある • この数値の並びにそれぞれ重みの値をかける • かけ算の各結果をすべて足し合わせる 15/24 フィルタの値を学習によって更新していく
  16. 構造 16/24

  17. 構造 畳み込み層 1層で複数のフィルタを持っている フィルタの数だけ畳み込み行列が生成 配列の各値には活性化関数をそれぞれ適用 17/24

  18. 構造 プーリング層 畳み込み行列の縮小を行い、有効な値だけ残す 18/24

  19. プーリング層 最大プーリング(Max Pooling): 各領域内の最大値をとって圧縮を行う方法 19/24

  20. プーリング層 特徴 l 出力される行列が固定サイズになる 1000個のフィルタがあってそれぞれ最大プー リングを適用 →入力画像のサイズやフィルタのサイズに関 わらず出力は1000次元 l 位置と回転に不変性を与える

    ある領域について、微妙なピクセルの違いが あっても、その差異を吸収する 20/24
  21. 構造 全結合層 最後のプーリング層の出力をすべて入力 2次元配列(3次元でも可)が1次元配列になる 出力層で正解ラベルと対応させる 21/24

  22. 自然言語処理への応用 CNNの特徴 l 入力をベクトル表現(word2vecなど)された文書 にすればNLPに応用できる l 感情分析、スパム検出、カテゴリ分類などの分 類問題が得意 l 畳み込みとプーリングにより局所的な位置情報

    が失われるため、品詞タグ付けや固有表現抽出な どでは難しい 22/24
  23. 自然言語処理への応用 文の分類 文を単語ベクトル列として表現し、CNNを用いて 特徴抽出・分類 Convolutional Neural Networks for Sentence Classification(2014/08)

    23/24
  24. 自然言語処理への応用 言語モデル 言語モデルのタスクでLSTM同等以上の精度を 出した 計算効率がLSTMより20倍程度改善された Language Modeling with Gated Convolutional

    Networks(2016/12) →自然言語処理の問題に対してもCNNが適用され 始め、高い精度を出している 24/24
  25. 発表した内容 l 畳み込みニューラルネットワーク l 畳み込みとは l ニューラルネットの構造 l プーリング層 l

    自然言語処理への応用 参考文献 u自然言語処理における畳み込みニューラルネットワークを理解する (http://tkengo.github.io/blog/2016/03/11/understanding-convolutional- neural-networks-for-nlp/) uConvolutional Neural Networkとは何なのか (http://qiita.com/icoxfog417/items/5fd55fad152231d706c2) u高卒でもわかる機械学習 (7) 畳み込みニューラルネット その1 (http://hokuts.com/2016/12/13/cnn1/) u自然言語処理における畳み込みニューラルネットワークを用いたモデ ル (http://qiita.com/Hironsan/items/63d255fd038acbcdf95b) 25/24