畳み込み演算2020.02.02畳み込み演算は、データに含まれるノイズを緩和し、重要な情報を抽出するために使われる。画像解析における畳み込み演算は、画像中に含まれる特徴量を抽出している。一枚の画像に対して、畳み込み演算を繰り返すことで、はじめの方の畳み込み演算で、画像中に含まれる縦線や斜め線などの抽象的な特徴が抽出され、最後の方の畳み込み演算で、画像中に含まれる車の形や人の顔などの具体的な特徴が抽出される。このような畳み込み演算による特徴抽出は、画像に対して使われているだけでなく、時系列データに対しても一般的に使われている。時系列データから移動平均を計算することが、畳み込み演算を行なっていることと等しい。ように数列あるいはベクトルとして表現される系列データは、左右に順序関係があり、系列となったときに初めて意味を持つようになる。このような系列データに対して、個々のデータだけを見たときに、ノイズが多くて、データの全体の傾向を把握できないが、連続したいくつかのデータを同時に見たときに、何らかの傾向を見出せるようになる。時系列データ解析で、移動平均を求めることが、データのノイズを減らし、データ全体の傾向を把握しやすくようにするためである。時系列データの移動平均を求める演算は、畳み込み演算とよぶことができる。フィルタを時系列全体にかけて、時系列を畳み込んでいることになる。計算例を図示すると、次のようになる。かけ、その和を出力する。ステップ右へずらして、もう一度計算する。ステップ右へずらして畳み込み演算を行う。モノクロ画像に対する畳み込み演算モノクロ画像のデータは行列として表現できる。行列の行数が画像の縦幅であり、列数が横幅であり、そして、行列の各要素の値は、そのモノクロ画像の黒色の濃さを表す。画像の場合は、あるピクセル領域の色が、その上下左右と何らかの関係を持っている。そのため、画像に対する、畳み込み演算では、フィルタとして行列を用いる。マスずつ動かしながら、フィルタをかけている。チャンネル)の左上から畳み込み演算を行うと次のようになる。ピクセルをずらして、もう一度畳み込み演算を行う。ピクセルをずらして、畳み込み演算を行う。ピクセルをずらして、畳み込み演算を行う。行目に移動してから引き続き畳み込み演算を行う。このような畳み込み演算を行うと、最終的に画像は次のように畳み込まれる。ゼロパッティング畳み込み演算を行うと、出力行列のサイズが入力行列のサイズよりも小さくなる。そのため、畳み込みを複数回行うことによって、画像サイズが大幅に小さくなる。畳み込み演算で畳み込まれる回数について、行列(画像)中央にあるデータと行列の四辺にあるデータに差が生じる。そのため、画像中央にある特徴が極端に強調され、画像のエッジにある情報が徐々に消えてしまうリスクが生じる。そこで、畳み込み演算前の画像と後の画像のサイズが同じとなるように、入力画像の周りにゼロを埋める作業が行われる。これをゼロパッティングという。画像解析用の畳み込みニューラルネットワークでは、畳み込み演算を行う前にゼロパッティングすることが一般的である。画像のサイズを縮小させたい場合は、プーリング演算で対応する。つのチャンネルが存在する。枚の新しいチャンネルを出力する。