転置畳み込み(Transposed Convolution)とは
本記事では、畳み込み(Convolution)は知っているけど、転置畳み込み(Transposed Convolution)は知らないという方のための解説をします。
画像生成と画像拡大
ニューラル ネットワークを使用して画像を生成するには、通常、低解像度から高解像度への画像の拡大(Upsampling、アップサンプリング)が必要になります。
アップサンプリング操作を実行するにはさまざまな方法があります。
最近傍補間(Nearest neighbor interpolation)
双線形補間(Bi-linear interpolation)
バイキュービック補間(Bi-cubic interpolation)
これらすべての方法は、なんらかの補間手法(Interpolation Method)が使われます。補間は画像における画素間の値を計算し画像を拡大することを可能にします。
よって画像生成などのモデルのネットワーク アーキテクチャを決定する際にどのような補間手法を使うのか選択する必要があります。
上記の補間手法はどれも、あらかじめ決められたアルゴリズムを使います。それは、人間が考えた特徴量エンジニアリングのようなもので、ネットワーク自体が学習するものではありません。
しかし、対象とする画像によっては異なる手法、あるいはより複雑なマッピングが必要となる可能性があります。それなら、モデル自体が最適なアップサンプリング方法を学習すること望ましいと考えられます。
そこで転置畳み込みが登場します。
この記事が気に入ったらチップで応援してみませんか?