【画像認識・音声認識】畳み込みニューラルネットワーク(CNN)と全結合層について

データサイエンス
スポンサーリンク

スポンサーリンク

初めに

こんにちは。将棋と筋トレが好きな、情報系大学生のゆうき(@engieerblog_Yu)です。

今回から、ニューラルネットワークの発展として、畳み込みニューラルネットワークについてまとめていきたいと思います。

畳み込みニューラルネットワーク(CNN)とは?

畳み込みニューラルネットワークとは、主に画像認識や音声認識に用いられるネットワークです。

畳み込みニューラルネットワークでは、ニューラルネットワークで使用されているレイヤに合わせてConvolutionレイヤとPoolingレイヤが加わります。

具体的に解説するために、まずは全結合層についてまとめていきます。

全結合層について

前回までで解説してきたニューラルネットワークにAffineレイヤがありましたが、全結合層とはAffineレイヤとReLUレイヤによって構成されます。

犬の画像を学習後の全結合層を使ったニューラルネットワークのモデルに通すと、画像が犬である確率を出力するようなものです。

しかし全結合層にはある問題点がありました。

入力データを一次元にしなければならないという点です。

例えば入力データが画像だとすると、近接した点同士は似た特徴を持っている可能性が高いです。

しかし画像データを一次元配列にしてしまうと、近接した点の情報(空間情報)が失われてしまいます。

全結合層を用いたニューラルネットワークでは、入力データが一次元でなければならないので、空間情報が失われてしまう

よって空間情報があるデータに、全結合層を使ったニューラルネットワークを使うのはあまり適していないということになります。

CNNの強み

全結合層を用いたニューラルネットワークに対して、畳み込みニューラルネットワーク(CNN)は、一次元でない入力データを受け付けることができます。

CNNは入力データの空間情報を保持したまま、モデル学習を行うことができます。

よって、空間情報を持っている画像や音声などの入力データに使われます。

CNNは空間情報を保持するので、画像認識や音声認識などのデータに強い

次に全結合層と比べて、CNNはどのような層で構成されているのかをまとめていきます。

CNNの構成

CNNはAffineレイヤの代わりに、Convolutionレイヤ(畳み込み層)が使われます。

また、ReLUレイヤに通した後にPoolingレイヤに通します。(使われない場合もある)

ConvolutionレイヤとPoolingレイヤを用いることで入力データが一次元でなくても、モデルを学習することができます。

まとめ

畳み込みニューラルネットワークとは、主に画像認識や音声認識に用いられるネットワーク

全結合層を用いたニューラルネットワークでは、入力データが一次元でなければならないので、空間情報が失われてしまう

CNNは空間情報を保持するので、画像認識や音声認識などのデータに強い

今回は畳み込みニューラルネットワーク(CNN)についてまとめました。

機械学習、ディープラーニングを学びたい方におすすめの入門書籍です。

ディープラーニングの理論が分かりやすくまとめられていて、力を身につけたい方におすすめです。

ゆうき
ゆうき

最後まで読んでいただきありがとうございました。

ねこすけ
ねこすけ

他にもいろんな記事があるにゃ。

コメント

タイトルとURLをコピーしました