解题思路
核心思路
把所有实数放大 104 做成整数定点,四舍五入就是对整数做带符号的「远离 0」除法。网络只有 L 层仿射。前向:每层 z=Wa+b 立刻舍入,隐藏层用平方整流 a=max(z,0)2/4 再舍入,输出层 a=z。反向:输出层 δ=y^−y;隐藏层 δ=(W⊤δnext)⊙g′(z),其中 g′(z)=z/2(z>0)否则 0,且 g′ 必须打在该层已经舍入过的 z 上。一批 m 个样本的 dW,db 对样本求和、不平均,全部加完后再舍入。最后 W←W−ηdW、b←b−ηdb,再舍入。反向全程用更新前的 W。
实现方法
- 读入样本、各层 W,b 和学习率,全部转成 104 定点。