EvoNorms

举报
风吹稻花香 发表于 2021/06/04 23:38:29 2021/06/04
【摘要】 evolving normalization activation layers   本篇文章则通过将正则化层和激活层公式化为一个单独的构建模块,来研究他们的协同设计   同时,本文还进行了具有超大batch规格的学习动态过程的可视化。在训练设置相同的情况下,相比BN-RELU和ResNet-50,虽然训练损失较大,但是,EvoNorm-B0展现了...

evolving normalization activation layers

 

本篇文章则通过将正则化层和激活层公式化为一个单独的构建模块,来研究他们的协同设计

 

同时,本文还进行了具有超大batch规格的学习动态过程的可视化。在训练设置相同的情况下,相比BN-RELU和ResNet-50,虽然训练损失较大,但是,EvoNorm-B0展现了更好的泛化性能。在其他所有的情况下,EvoNorm同时实现了优化性能和泛化性能的提升。

 

代码:

https://github.com/lonePatient/EvoNorms_PyTorch/blob/master/models/normalization.py


  
  1. import torch
  2. import torch.nn as nn
  3. from torch.nn import init
  4. from torch.nn.parameter import Parameter
  5. def instance_std(x, eps=1e-5):
  6. N,C,H,W = x.size()
  7. x1 = x.reshape(N*C,-1)
  8. var = x1.var(dim=-1, keepdim=True)+eps
  9. return var.sqrt().reshape(N,C,1,1)
  10. def group_std(x, groups, eps = 1e-5):
  11. N, C, H, W = x.size()
  12. x1 = x.reshape(N,groups,-1)
  13. var = (x1.var(dim=-1, k

文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/jacke121/article/details/105925923

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。