初めに
こんにちは。将棋と筋トレが好きな、情報系大学生のゆうき(@engieerblog_Yu)です。
今回から、ニューラルネットワークの発展として、畳み込みニューラルネットワークについてまとめていきたいと思います。
畳み込みニューラルネットワーク(CNN)とは?
![](https://prog-you.com/syohyou/wp-content/uploads/2022/08/18f507c55c1f9065ee89ad75c8b99c0c.webp)
畳み込みニューラルネットワークとは、主に画像認識や音声認識に用いられるネットワークです。
畳み込みニューラルネットワークでは、ニューラルネットワークで使用されているレイヤに合わせてConvolutionレイヤとPoolingレイヤが加わります。
具体的に解説するために、まずは全結合層についてまとめていきます。
全結合層について
前回までで解説してきたニューラルネットワークにAffineレイヤがありましたが、全結合層とはAffineレイヤとReLUレイヤによって構成されます。
犬の画像を学習後の全結合層を使ったニューラルネットワークのモデルに通すと、画像が犬である確率を出力するようなものです。
![](https://prog-you.com/syohyou/wp-content/uploads/2022/09/7514ded5f55d272e3b0f2ef95725bff1-1024x422.jpg)
しかし全結合層にはある問題点がありました。
入力データを一次元にしなければならないという点です。
例えば入力データが画像だとすると、近接した点同士は似た特徴を持っている可能性が高いです。
しかし画像データを一次元配列にしてしまうと、近接した点の情報(空間情報)が失われてしまいます。
全結合層を用いたニューラルネットワークでは、入力データが一次元でなければならないので、空間情報が失われてしまう
よって空間情報があるデータに、全結合層を使ったニューラルネットワークを使うのはあまり適していないということになります。
CNNの強み
全結合層を用いたニューラルネットワークに対して、畳み込みニューラルネットワーク(CNN)は、一次元でない入力データを受け付けることができます。
CNNは入力データの空間情報を保持したまま、モデル学習を行うことができます。
よって、空間情報を持っている画像や音声などの入力データに使われます。
CNNは空間情報を保持するので、画像認識や音声認識などのデータに強い
次に全結合層と比べて、CNNはどのような層で構成されているのかをまとめていきます。
CNNの構成
CNNはAffineレイヤの代わりに、Convolutionレイヤ(畳み込み層)が使われます。
また、ReLUレイヤに通した後にPoolingレイヤに通します。(使われない場合もある)
![](https://prog-you.com/syohyou/wp-content/uploads/2022/09/cbaa4da30bf662cc7ba73da06e4b7db1-1024x437.jpg)
ConvolutionレイヤとPoolingレイヤを用いることで入力データが一次元でなくても、モデルを学習することができます。
まとめ
畳み込みニューラルネットワークとは、主に画像認識や音声認識に用いられるネットワーク
全結合層を用いたニューラルネットワークでは、入力データが一次元でなければならないので、空間情報が失われてしまう
CNNは空間情報を保持するので、画像認識や音声認識などのデータに強い
今回は畳み込みニューラルネットワーク(CNN)についてまとめました。
機械学習、ディープラーニングを学びたい方におすすめの入門書籍です。
ディープラーニングの理論が分かりやすくまとめられていて、力を身につけたい方におすすめです。
![ゆうき](https://prog-you.com/syohyou/wp-content/uploads/2022/04/d160a53f71104dc4e5ed3c300ba3ba79-1.png)
最後まで読んでいただきありがとうございました。
![ねこすけ](https://prog-you.com/syohyou/wp-content/uploads/2022/04/fcedeb3e47d759777985cdd471841cd1-1.png)
他にもいろんな記事があるにゃ。
コメント