Kerasで複数の入力を統合/マージする方法

DeepLearningする上で近年は以下のように複数の入力をネットワークの途中でマージすることは多いと思います。

 

model
http://hi.cs.waseda.ac.jp/~iizuka/projects/colorization/ja/より引用

 

私もよくマージする方法についてわからなくなりますので、今回はそれらを一括してexampleコードを書いておきました。必要があれば参照してください。

一番始めはimportのみ。次のところでは実際に入力をconcat等してその形を出力しています。concatenate以外は入力と出力は同一の形状になっています。

最後は実際に2だけの配列と3だけの配列をデータとして用意してみて値がどうなるかを示しています。大方予想通りだと思いますが、確認にはなるかと思います。

だいぶ埋め込み量が多くなりましたが、基本的に5つのMerge/統合方法があるみたいです。

  • add
  • multiply
  • concatenate
  • maximum
  • average

名前の通りなので難しいことはありませんが、それぞれ複数の入力を入れるときは基本的に同一のshapeが必要です。concatenateのときはどのようにつなげるかをaxisで指定する必要があるのでそれだけ注意することになります。

About the author

コメントを残す