ストライド

Stride

ストライドとは

ストライド(Stride)は、CNNの畳み込み演算やプーリング演算において、フィルタ(カーネル)を移動させる幅を指すパラメータです。ストライドが1の場合はフィルタを1ピクセルずつ移動させ、ストライドが2の場合は2ピクセルずつ移動させます。ストライドの値は出力の特徴マップのサイズに直接影響します。

ストライドと出力サイズ

ストライドを大きくすると、出力特徴マップのサイズが小さくなります。例えば、入力サイズが28×28でストライドが2の場合、出力サイズはおよそ14×14になります。このダウンサンプリング効果は、プーリング層の代替として使用されることがあります。出力サイズの計算式はO = (I - K + 2P) / S + 1です。

ストライド付き畳み込みの活用

近年のCNNアーキテクチャでは、プーリング層の代わりにストライド2の畳み込み層を使用してダウンサンプリングを行う設計が増えています。ストライド付き畳み込みはダウンサンプリングの方法も学習できるため、プーリングよりも柔軟な特徴抽出が可能です。ResNetの最初の層でもストライド2の畳み込みが使用されています。

転置畳み込みにおけるストライド

デコーダーやアップサンプリングで使用される転置畳み込み(Transposed Convolution)では、ストライドがアップサンプリングの倍率を制御します。ストライド2の転置畳み込みは特徴マップのサイズを2倍に拡大します。U-NetやGANの生成器など、画像の解像度を段階的に上げるアーキテクチャで広く使用されています。