> ・一次元配列をreshapeして二次元配列にしてConvolution2Dを用いることで擬似的に一次元の畳み込みをするのか
こちらの方法が実装としては簡単だと思います。具体的にはchainer.functions.reshapeを利用すれば良いと思います。
# xは3次元のndarray(バッチサイズB x チャンネル数IC x 長さ)を持つchainer.Variable
l = chainer.links.Convolution2D(IC, OC, (k, 1)) # kはカーネルの大きさ
x = chainer.functions.reshape(x, (B, IC, -1, 1)) # -1の部分の実際の値は配列の大きさに合わせて自動的に埋まる
x = l(x)
x = chainer.functions.reshape(x, (B, OC, -1))
2016年4月22日金曜日 1時28分51秒 UTC+9 mituhashi: