0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

畳み込みニューラルネットの実装を学習して感じたこと

Posted at

イメージが大事

先日畳み込みニューラルネットの実装を学んだ際、そのモデルのイメージが無いとコードの長さや複雑さに圧倒されてしまうなと感じました。

そこで今回は畳み込みニューラルについて、私なりのイメージを共有したいと思います。皆さんの学習の一助になれば嬉しいです。

畳み込みニューラルネットは2段構成

畳み込みニューラルネットを考えるとき私はざっくりと畳み込み層プーリング層フィルターを思い浮かべます。この2つの層でフィルターがどのように使われるかを把握できると実際のコードを見たとき理解しやすいです。

畳み込み層

この層ではフィルターが1つ出てきます。このフィルターは入力データより小さいサイズで、少しづつずらしながら重ねることで入力データの特徴量を抽出します。
イラスト.png

フィルターを通す様子から私は「畳み込み」を「データに含まれる情報を集約すること」と変換して考えています。

プーリング層

この層では入力データのチャンネル(入力データの次元とも考えられます)の数だけフィルターが登場します。例えば色付き画像データならRGBの3つの色の次元があるので、チャンネルは3になります。
このチャンネル毎に様々なフィルターを使って、畳み込み層と同じように特徴量を抽出します。

イラスト2.png

抽出した特徴量を活性化関数に入力してなにかしらのクラスに判別されます。

実際のコードではプーリング層の後に行列データをベクトルデータに変換する工程もありますが大事な部分はこれまでに説明した感じになります。

おわり

私なりの説明をしてみました。
「こう考えるといいよ」というアイデアをお持ちの方はコメントをくださると私も勉強になり助かります!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?