全結合層と違い、結合が疎である結合層。一般に入力データは3次元で与えられる。計算過程は、ここのImplementation as Matrix Multiplication.にてとてもわかりやすく視覚化されている。
input:
parameter:
weight:
bias:
formula:
output:
input:
formula:
output:
import tensorflow as tf
conv = tf.layers.conv2d(
inputs=u, # u.shape = (width(a), height(b), channel(k))
filters=m, # filter の number(m) を指定
kernel_size=[p, q], # filter の size(p*q) を指定
strides=[Sn, Si, Sj, Sk], # batch_size, width, height, channel 方向に stride させる
padding="same", # padding 方式の指定 (width * height を保つように自動調整)
activation=tf.nn.relu # activation function の指定
)
# -> shape = (width_out(i), height_out(j), number(m))