パディングとは
パディング(Padding)は、畳み込み演算の前に入力データの周囲に追加の値(通常は0)を挿入する操作です。パディングを行うことで、畳み込み後の出力サイズを制御し、入力と同じ空間サイズを維持したり、境界付近の情報の損失を防いだりすることができます。
パディングの種類
最も一般的なのはゼロパディング(Zero Padding)で、入力の周囲に0を挿入します。Same Padding(出力サイズを入力サイズと同じにする)とValid Padding(パディングなし)が基本的な設定です。その他に、反射パディング(Reflection Padding、境界値を鏡像的に繰り返す)や循環パディング(Circular Padding、入力の反対側の値を使用する)などの変種があります。
パディングの効果
パディングなしで畳み込みを行うと、出力サイズが入力サイズより小さくなり、層を重ねるごとに空間サイズが急速に縮小します。適切なパディングを使用することで、多くの畳み込み層を積み重ねても空間解像度を維持できます。また、パディングにより境界のピクセルも中央のピクセルと同じ回数だけフィルタに含まれるため、境界効果を軽減できます。
パディングの設計上の考慮点
ゼロパディングは画像の境界に人工的な不連続性を導入する可能性があります。これが問題となる場合は、反射パディングやレプリケーションパディングが代替として使用されます。特にスタイル変換やテクスチャ生成のタスクでは、パディングの種類が生成品質に影響することがあります。モダンなアーキテクチャでは、カーネルサイズに応じた適切なパディングが自動的に設定されることが一般的です。