转载自CSDN, CReLU激活函数

CReLU 一种改进 ReLU 激活函数的文章,来自ICML2016.

1. 背景介绍

整个文章的出发点来自于下图的统计现象:

为了看懂上图。

(1)首先介绍一下余弦相似度(cos距离)的概念

cos距离的取值范围是 [-1,+1],距离越接近-1,表示两个向量的方向越相反,即呈负相关关系。


(2)再来介绍一下 pair filter的定义

一个卷积层有 \(j=1, \cdots, n\) 个卷积核(filter), 一个卷积核 \(ϕ_i\) 对应的 pairing filter 定义为

\[ϕ_i = argmin_{ϕ_j}cos<ϕ_i, ϕ_j>\]

即从所有卷积核中选择一个cos相似度最小的卷积核。

我们再回头看上图。 对所有卷积核寻找其 pair filter,并计算cos相似度得到蓝色的统计直方图。 红色的曲线,是假设随机高斯分布生成的卷积核得到的相似度统计。

现象:网络的前部,参数的分布有更强的负相关性(类似于正负对立)。随着网络变深,这种负相关性逐步减弱。
结论:网络的前部,网络倾向于同时捕获正负相位的信息,但ReLU会抹掉负响应。 这造成了卷积核会存在冗余。

2. CReLU

CReLU的定义很简单:

\[\text{CReLU(x)= Concat[ ReLU(x), ReLU(−x) ]}\]

输出维度会自动加倍。 比如

\[ [−3, 1] \rightarrow \begin{matrix}
[[0&1], \\ [3&0]] \\
\end{matrix}\]

在网络中的实现也很简单,甚至不用修改代码(通过scale层取反再经过一次ReLU)

CReLU激活函数的更多相关文章

  1. 激活函数(relu,prelu,elu,+BN)对比on cifar10

    激活函数(relu,prelu,elu,+BN)对比on cifar10   可参考上一篇: 激活函数 ReLU.LReLU.PReLU.CReLU.ELU.SELU  的定义和区别   一.理论基础 ...

  2. Difference between ReLU、LReLU、PReLU、CReLU、ELU、SELU

    激活函数 ReLU.LReLU.PReLU.CReLU.ELU.SELU  的定义和区别 ReLU tensorflow中:tf.nn.relu(features, name=None) LReLU ...

  3. 浅谈深度学习中的激活函数 - The Activation Function in Deep Learning

    原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激活 ...

  4. The Activation Function in Deep Learning 浅谈深度学习中的激活函数

    原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html 版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激 ...

  5. 神经网络中的激活函数——加入一些非线性的激活函数,整个网络中就引入了非线性部分,sigmoid 和 tanh作为激活函数的话,一定要注意一定要对 input 进行归一话,但是 ReLU 并不需要输入归一化

    1 什么是激活函数? 激活函数,并不是去激活什么,而是指如何把“激活的神经元的特征”通过函数把特征保留并映射出来(保留特征,去除一些数据中是的冗余),这是神经网络能解决非线性问题关键. 目前知道的激活 ...

  6. ReLU、LReLU、PReLU、CReLU、ELU、SELU

    ReLU.LReLU.PReLU.CReLU.ELU.SELU 2018年01月22日 22:25:34 luxiaohai的学习专栏 阅读数 28218更多 分类专栏: 深度学习   版权声明:本文 ...

  7. ReLu(Rectified Linear Units)激活函数

    论文参考:Deep Sparse Rectifier Neural Networks (很有趣的一篇paper) 起源:传统激活函数.脑神经元激活频率研究.稀疏激活性 传统Sigmoid系激活函数 传 ...

  8. 深度神经网络(DNN)损失函数和激活函数的选择

    在深度神经网络(DNN)反向传播算法(BP)中,我们对DNN的前向反向传播算法的使用做了总结.里面使用的损失函数是均方差,而激活函数是Sigmoid.实际上DNN可以使用的损失函数和激活函数不少.这些 ...

  9. tensorflow Relu激活函数

    1.Relu激活函数 Relu激活函数(The Rectified Linear Unit)表达式为:f(x)=max(0,x). 2.tensorflow实现 #!/usr/bin/env pyth ...

随机推荐

  1. SQL SERVER数据库修改是否区分大小写(转载)

    昨天去客户,发现程序无法应用,跟踪错误提示,提示的大致意思是“数据库表名和数据库字段名不存在”.查询后发现是SQL Server数据库设置了区分大小写的缘故(一般安装时,Oracle的正确安装下是默认 ...

  2. 在 .NET Core 中结合 HttpClientFactory 使用 Polly(下篇)

    译者:王亮作者:Polly 团队原文:http://t.cn/EhZ90oq声明:我翻译技术文章不是逐句翻译的,而是根据我自己的理解来表述的(包括标题).其中可能会去除一些不影响理解但本人实在不知道如 ...

  3. ondaHTTPError: HTTP 000 CONNECTION FAILED for url

    可能是网络问题,换网络. 可能是获取库的IP无法链接到,换库的IP,如添加清华镜像IP等.

  4. supervisor 守护者进程配置小记

    安装 Supervisor 联网状态下,官方推荐首选安装方法是使用easy_install,它是setuptools(Python 包管理工具)的一个功能.所以先执行如下命令安装 setuptools ...

  5. CodeForces 280B Maximum Xor Se

    题目链接:http://codeforces.com/contest/280/problem/B 题目大意: 给定一个由n个数组成的一个序列,s[l..r] (1 ≤ l < r ≤ n)代表原 ...

  6. vue独立构建和运行构建

    有两种构建方式,独立构建和运行构建.它们的区别在于前者包含模板编译器而后者不包含. 模板编译器:模板编译器的职责是将模板字符串编译为纯 JavaScript 的渲染函数.如果你想要在组件中使用 tem ...

  7. Flask上下文管理、session原理和全局g对象

    一.一些python的知识 1.偏函数 def add(x, y, z): print(x + y + z) # 原本的写法:x,y,z可以传任意数字 add(1,2,3) # 如果我要实现一个功能, ...

  8. centos6 mongodb 安装

    1. 下载MongoDB 官网下载地址 https://www.mongodb.com/download-center#community 下载地址 32位 http://dl.mongodb.org ...

  9. centos7.5误删python2.7之后,导致yum和Pythonm命令无法使用

    问题描述 最近想要将服务器上的Python2.7升级成3.x的版本时.使用了如下命令: (1)强制删除已安装python及其关联 # rpm -qa|grep python|xargs rpm -ev ...

  10. 使用mysql将手机号、身份证号等字段进行脱敏

    -- 脱敏姓名 UPDATE wb_person_message SET `name`=(if(LENGTH(name)>6,CONCAT(LEFT(name,1), '**' ),CONCAT ...