2

私はKalchbrennerらに従おうとしています。2014 ( http://nal.co/papers/Kalchbrenner_DCNN_ACL14 ) (そして基本的に、CNN を NLP タスクに適用した過去 2 年間のほとんどの論文) と、彼らが説明する CNN モデルを実装します。残念ながら、フォワードパスは正しく取得できていますが、グラデーションに問題があるようです。

私がやっているのは、行ごと、カーネルごと、フォワードパスの入力ごとに W を使用した入力の完全な畳み込みです (回転していないため、実際には相関です)。次に、W に関する勾配の場合、行ごと、カーネルごと、入力ごと (ここでも、回転されていません) の前のデルタを使用した入力の有効な畳み込みです。そして最後に、x に関する勾配については、以前のデルタと W を使用した別の有効な畳み込みを、行ごと、カーネルごと、入力ごと (回転なし) に繰り返します。

これは正しいサイズと次元を返しますが、レイヤーを接続するときのグラデーション チェックは実際にはオフになっています。1 つの conv レイヤーをテストすると結果は正しく、2 つの conv レイヤーを接続すると正しい結果が得られますが、MLP やプーリングなどを追加すると見栄えが悪くなります。他のすべてのタイプのレイヤーも個別にテストされ、それらも正しいため、問題はグラデーションの計算から始まると思います。wrt W_conv。

誰かがアイデアや同様の実装への有用なリンクを持っていますか?

4

0 に答える 0