@胡梦柯5 @璐村惂鐢ㄦ埛_7SKAAD6馃惥感谢二位的解答。但是我总是觉得我的疑惑和二位的解答不在一个道上。
我理解BN的作用主要是将数据往线性范围去拉,防止梯度消失之类的问题,这个我完全可以理解。我不理解的是scale和shift的含义,因为用BN层前几步的作用是为了更好地让数据在激活层运作,行,现在我把数据处理好了,也减去平均值了,也把方差变成1了,不就可以直接送到激活层,然后这样训练不就好了么,为什么还多此一举在激活层前,加入了scale和shift呢?我好不容易把数据拉到了线性区域,你倒好,还要通过每次不停地训练scale和shift参数把我的数据还原回去(原文作者的意思是最理想的状态是还原成原始数据?????what????这不是等于没加BN层了么?????作者在原文并没有解释这个含义)
按照作者的理想结果,scale shift参数将激活层前的数据还原成原始数据,那BN层不就等于无了么??我还训练个什么劲啊