3
最大プール層を介したバックプロップ?
これは、しばらくの間私を悩ませてきた小さな概念的な質問です。ニューラルネットワークの最大プール層をどのように逆伝播できますか? Torch 7のnnライブラリに関するこのチュートリアルを実行しているときに、最大プール層に遭遇しました。このライブラリは、深層ネットワークの各レイヤーの勾配計算とフォワードパスを抽象化します。max-poolingレイヤーの勾配計算がどのように行われるかわかりません。 入力がレイヤーニューロンに入る場合、(として定義される): zilzil{z_i}^liiilllδilδil{\delta_i}^lδil=∂E∂zilδil=∂E∂zil{\delta_i}^l = \frac{\partial E}{\partial {z_i}^l}δil=θ′(zil)∑jδjl+1wl,l+1i,jδil=θ′(zil)∑jδjl+1wi,jl,l+1 {\delta_i}^l = \theta^{'}({z_i}^l) \sum_{j} {\delta_j}^{l+1} w_{i,j}^{l,l+1} そのため、最大プール層は、通常どおり次の層のを受け取ります。ただし、最大プーリングニューロンの活性化関数は値のベクトル(最大値)を入力として受け取るため、はもう1つの数値ではなく、ベクトル(はます。さらに、最大関数である、その入力に関して微分可能ではありません。δjl+1δjl+1{\delta_j}^{l+1}δilδil{\delta_i}^{l}θ′(zjl)θ′(zjl)\theta^{'}({z_j}^l)∇θ({zjl})∇θ({zjl})\nabla \theta(\left\{{z_j}^l\right\})θθ\theta だから....それは正確にどのように機能するのですか?