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

出典: フリー百科事典『ウィキペディア(Wikipedia)』
ナビゲーションに移動 検索に移動

畳み込みニューラルネットワーク(たたみこみニューラルネットワーク、: Convolutional neural network、略称: CNNまたはConvNet)は層間を共通重みの局所結合で繋いだニューラルネットワークの総称・クラスである。機械学習、特に画像や動画認識に広く使われる。

CNNは、その重み(行列の)共有構造と並進不変特性に基づいて、シフト不変(shift invariant)あるいは位置不変(space invariant)人工ニューラルネットワークSIANN)とも呼ばれている[1][2]

一般的な畳み込み処理は以下のように定式化される[3]はj番目の出力チャネルを、相互相関関数を意味する。

すなわち各出力チャネル ごとに入力チャネル 枚分の畳み込みカーネル が用意され、カーネルを用いた各入力チャネルの畳み込みの総和へバイアス が付与され各チャネル出力となっている。式からわかるように、入力チャネル間は畳み込み処理ではなく和で計算され、また入力チャネル と畳みこまれるカーネルは出力チャネルごとに異なる。

カーネルはしばしばフィルタと呼ばれる[4]。これは位置関係をもつ重みづけ和のスライド演算(畳み込み)がフィルタ適用と等価なことに由来する。

畳み込み処理自体は単純な線形変換である。出力のある1点を見ると局所以外の重みが全て0の全結合と等価であることからこれはわかる。多くのCNNでは畳み込み処理に引き続いてシグモイド関数やReLUなどの活性化関数による非線形変換をおこなう。[要出典]

単純なCNNは順伝播型 (FFN)、すなわち浅い層から深い層へのみ結合をもつ。ただしCNNは2層間の結合様式を規定するクラスでありFFNと限らない[要出典]。非FFN型CNNの一例として大局的に回帰結合をもち層間では畳み込みをおこなうRecurrent CNNが提唱されている[5]

CNNは画像・動画認識レコメンダシステム[6]自然言語処理[7]に応用されている。

convolution変種[編集]

CNNの核となるアイデアは畳み込み処理(convolution)であり、それには様々な変種がある。以下はその一例である。

pointwise convolution[編集]

がスカラーの畳み込みは pointwise convolution と呼称される[8]。例えば2DConvにおける1x1カーネルがある。出力チャネル に着目するとこの畳み込みは入力チャネルの加重平均とみなせる。あるいは各点(pointwise)での入力チャネルを跨いだ全結合とみなせる。処理全体では出力チャネルごとに異なる加重を用いて入力チャネル平均を取ることと同義である。利用目的には位置情報を保った(pointwiseな)変換、出力次元数 調整などが挙げられる。実装上は最小カーネルによる畳み込みで表現される(例: 2DConvにおける weightテンソル)。全結合層(Linear)を用いても容易に表現できる。

grouped convolution[編集]

畳み込みの変種として grouped convolution がある。通常の畳み込みでは全入力チャネルの畳み込み和を計算するが、grouped convolutionでは入出力チャネルをいくつかのグループに分割しグループ内で通常の畳み込みと和をおこなう[9][10]。これによりカーネル枚数・計算量の削減、複数GPUを用いた学習、別技術と組み合わせた性能の向上などが可能になる(c.f. AlexNet, ResNeXt)。グループ数をチャネル数と一致させる、すなわちチャネル間の和をなくしたものは特にdepthwise convolutionと呼称される[11]

ネットワーク変種[編集]

CNNは畳み込み処理を用いたニューラルネットワークの総称である。convolutionの種類、Conv kernelのサイズと層の関係、特殊なモジュールの有無などにより様々なサブタイプ(変種)が存在する。

depthwise separable convolution[編集]

depthwise separable convolutionは空間方向の畳み込みとチャネル方向の全結合を分離した畳み込みモジュールである。すなわち通常の畳み込みを depthwiseConv + pointwiseConv で置き換えるモジュールである[12]。計算量・パラメータ量を1/10スケールで削減できる利点がある。

Recurrent CNN[編集]

Recurrent CNN(RCNN)は回帰結合を持つ畳み込みニューラルネットワークである[13]。すなわちフィードフォワード型 (FFN) ではなく回帰型 (RNN) のネットワーク構造を持ち、層間の結合に全結合 (MLP) ではなく畳み込みを採用したニューラルネットワークである。ゆえにCNNでありRNNでもある。

歴史[編集]

CNNは動物の視覚野から発想を得て[14]福島邦彦によって提唱されたネオコグニトロンに起源を持つ[15][16][17]

当時の画像処理は画像(ピクセルデータ)を注意深く設計されたデータ前処理により特徴量へ変換し、それを用いて学習がおこなわれていた。CNNはピクセルを直接入力に用いることができ、特徴量設計において専門家の知識に依存しない特徴をもつとされた[18]。現在ではCNN以外のニューラルネットワーク(例: Vision Transformer; ViTMLPベースの gMLP)でもピクセル入力の画像処理が実現されている[19][20]。ゆえに畳み込みそのものが特徴設計を不要にするキー技術であるとは言えないことがわかっている[要出典]

脚注[編集]

注釈[編集]

出典[編集]

  1. ^ Zhang, Wei (1988). “Shift-invariant pattern recognition neural network and its optical architecture”. Proceedings of annual conference of the Japan Society of Applied Physics. https://drive.google.com/file/d/0B65v6Wo67Tk5Zm03Tm1kaEdIYkE/view?usp=sharing. 
  2. ^ Zhang, Wei (1990). “Parallel distributed processing model with local space-invariant interconnections and its optical architecture”. Applied Optics 29 (32). https://drive.google.com/file/d/0B65v6Wo67Tk5ODRzZmhSR29VeDg/view?usp=sharing. 
  3. ^ Conv2d — PyTorch 1.6.0 documentation”. pytorch.org. 2020年10月3日閲覧。
  4. ^ "convolved with its own set of filters" PyTorch 1.10 Conv1D
  5. ^ "we propose a recurrent CNN (RCNN) for object recognition by incorporating recurrent connections into each convolutional layer" p.3367 and "This work shows that it is possible to boost the performance of CNN by incorporating more facts of the brain. " p.3374 of Liang, et al. (2015). Recurrent Convolutional Neural Network for Object Recognition.
  6. ^ van den Oord, Aaron; Dieleman, Sander; Schrauwen, Benjamin (2013-01-01). Burges, C. J. C.. ed. Deep content-based music recommendation. Curran Associates, Inc.. pp. 2643–2651. http://papers.nips.cc/paper/5004-deep-content-based-music-recommendation.pdf 
  7. ^ Collobert, Ronan; Weston, Jason (2008-01-01). “A Unified Architecture for Natural Language Processing: Deep Neural Networks with Multitask Learning”. Proceedings of the 25th International Conference on Machine Learning. ICML '08 (New York, NY, USA: ACM): 160–167. doi:10.1145/1390156.1390177. ISBN 978-1-60558-205-4. https://doiorg/10.1145/1390156.1390177. 
  8. ^ "a 1×1 convolution called a pointwise convolution." Andrew (2017) MobileNets Arxiv
  9. ^ "In a group conv layer ..., input and output channels are divided into C groups, and convolutions are separately performed within each group." Saining (2017). Aggregated Residual Transformations for Deep Neural Networks. Arxiv
  10. ^ "groups controls the connections between inputs and outputs. ... At groups=1, all inputs are convolved to all outputs ... At groups= in_channels, each input channel is convolved with its own set of filters" PyTorch nn.Conv2d
  11. ^ "Depthwise convolution with one filter per input channel (input depth)" Andrew G. Howard. (2017). MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications. Arxiv
  12. ^ "depthwise separable convolutions which is a form of factorized convolutions which factorize a standard convolution into a depthwise convolution and a 1×1 convolution called a pointwise convolution." Howard, et al. (2017). MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications.
  13. ^ "we propose a recurrent CNN (RCNN) for object recognition by incorporating recurrent connections into each convolutional layer" Liang, et al. (2015). Recurrent Convolutional Neural Network for Object Recognition.
  14. ^ Matusugu, Masakazu; Katsuhiko Mori; Yusuke Mitari; Yuji Kaneda (2003). “Subject independent facial expression recognition with robust face detection using a convolutional neural network”. Neural Networks 16 (5): 555–559. doi:10.1016/S0893-6080(03)00115-1. http://www.iro.umontreal.ca/~pift6080/H09/documents/papers/sparse/matsugo_etal_face_expression_conv_nnet.pdf 2013年11月17日閲覧。. 
  15. ^ Fukushima, K. (2007). “Neocognitron”. Scholarpedia 2 (1): 1717. doi:10.4249/scholarpedia.1717. 
  16. ^ Fukushima, Kunihiko (1980). “Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position”. Biological Cybernetics 36 (4): 193–202. doi:10.1007/BF00344251. PMID 7370364. http://www.cs.princeton.edu/courses/archive/spr08/cos598B/Readings/Fukushima1980.pdf 2013年11月16日閲覧。. 
  17. ^ LeCun, Yann. “LeNet-5, convolutional neural networks”. 2013年11月16日閲覧。
  18. ^ 藤吉 2019, p. 293-294.
  19. ^ Dosovitskiy, et al. (2021). An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale. ICLR 2021.
  20. ^ Liu, et al. (2021). Pay Attention to MLPs. NeurIPS 2021.

参考文献[編集]

  • 藤吉, 弘亘 (2019-04). “リレー解説 機械学習の可能性 《第1回》機械学習の進展による画像認識技術の変遷”. 計測と制御 (計測自動制御学会) 58 (4): 291-297. doi:10.11499/sicejl.58.291. ISSN 1883-8170. 

関連項目[編集]