여기에서 max pool backward 구현과 약간 혼동 스럽습니다. https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/kernels/maxpooling_op_gpu.cu.cc#L192Tensorflow에서 Max pool backward가 어떻게 진행됩니까?
여기서 그라디언트가 어떻게 계산되는지 설명 할 수 있습니까? max pool의 로컬 그라디언트와 마찬가지로 0과 1도 있으므로 grad_in의 값을 복사합니다. top_diff, top_offset, bottom_offset 매개 변수에 대한 설명이 있지만, 누군가 초심자 인 것을 설명 할 수 있습니까?
안녕하세요, @keveman, 답장을 보내 주셔서 감사합니다. 이제 max unpool 연산을 수행하면, [x1 x1]과 argmax 행렬 [1 1]이 패치 크기와 언급 된 [0 x1 0]으로 풀리지 않게 될 것입니다. 어떻게하면 max 뒤로 풀려나? 이것은 역방향 최대 풀링에 대해 의미가 있나 : 'int image_id = (index/top_offset); CudaAtomicAdd (bottom_diff + index, top_diff [마스크 [인덱스] + image_id * top_offset]);' –