PRelu--Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification
来源:互联网 发布:鬼气凛然实体书淘宝 编辑:程序博客网 时间:2024/06/06 02:58
微软研究院2015的一篇论文。
1.概要:
PRelu其实是Relu的增强版,PRelu使得模型在ImageNet2012上的结果提高到4.94%,超过普通人的正确率;PRelu需要像更新权重weights一样使用BP更新一个额外的参数,但是相较于weights的数量来说,PRelu需要更新的参数总数可以忽略不计,所以不会加重overfitting的影响。
如果PRelu的参数为0,那其实就是Relu;如果PRelu的参数为一个很小的常数constant,比如0.01,那其实就是Leaky Relu(LRelu)。
Relu与PRelu的比较:
PRelu的表达式:
2.idea:
1): 每一个feature map(CNN)对应的PRelu的系数都可以是不同的,也可以是相同层的PRelu的系数都一样,层间不同。
2): 作者在实验的时候都是将系数初始化为0.25
3): 优化的时候不会对PRelu的系数进行regularization,否则会让系数趋近于0,基本相当于LRelu或者Relu了。
3.流程:
PRelu的系数也是在BP的时候进行优化的,与weights的方式一样
目标函数对PRelu的系数求偏导:
优化:
4.代码(keras):
class PReLU(MaskedLayer): ''' Reference: Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification http://arxiv.org/pdf/1502.01852v1.pdf ''' def __init__(self, input_shape, init='zero', weights=None): super(PReLU, self).__init__() self.init = initializations.get(init) self.alphas = self.init(input_shape) self.params = [self.alphas] self.input_shape = input_shape if weights is not None: self.set_weights(weights) def get_output(self, train): X = self.get_input(train) pos = ((X + abs(X)) / 2.0) neg = self.alphas * ((X - abs(X)) / 2.0) return pos + neg def get_config(self): return {"name": self.__class__.__name__, "input_shape": self.input_shape, "init": self.init.__name__}
0 0
- PRelu--Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification
- PReLU:Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification 笔记
- 《Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification》阅读笔记与实现
- Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification
- [深度学习论文笔记][Weight Initialization] Delving deep into rectifiers: Surpassing human-level performance
- Surpassing Human-Level Performance on ImageNet Classification ImageNet Classification
- Re-ID:AlignedReID: Surpassing Human-Level Performance in Person Re-Identification 论文解析
- [notes] ImageNet Classification with Deep Convolutional Neual NetworkPaper: ImageNet Classification
- ImageNet Classification with deep convolutional neural networks
- ImageNet Classification with Deep Convolutional neural Networks
- ImageNet Classification with Deep Convolutional Neural Networks
- ImageNet Classification with Deep Convolutional nerual network
- ImageNet Classification with Deep Convolutional Neural Networks
- ImageNet Classification with Deep Convolutional Neural Networks
- ImageNet classification with deep convolutional neural network
- ImageNet Classification with Deep ConvolutionalNeural Networks
- ImageNet Classification with Deep Convolutional Neural Networks
- ImageNet Classification with deep convolutional neural networks
- KVO
- svn cleanup failed错误的解决方法
- BestCoder#57 Conturbatio
- Mongodb之JavaApi调用例子
- 视图
- PRelu--Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification
- 复杂指针的声明
- jQuery源码分析之jQuery.cleanData和jQuery.removeData以及jQuery._removeData十五问
- 部署完openstack后的网络配置(一)
- apache, php, mysql 安装过程命令记录
- 了解LESS
- 开发自定义的View
- Introduction to Java Programming编程题12.2<InputMismatchException>
- MySQL数据库配置文件之my.ini小札记