在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的。从bottom得到一个blob数据输入,运算后,从top输入一个blob数据。在运算过程中,没有改变数据的大小,即输入和输出的数据大小是相等的。

输入:n*c*h*w

输出:n*c*h*w

常用的激活函数有sigmoid, tanh,relu等,下面分别介绍。

1、Sigmoid

对每个输入数据,利用sigmoid函数执行操作。这种层设置比较简单,没有额外的参数。

层类型:Sigmoid

示例:

[cpp] view plaincopy
  1. layer {
  2. name: "encode1neuron"
  3. bottom: "encode1"
  4. top: "encode1neuron"
  5. type: "Sigmoid"
  6. }

2、ReLU / Rectified-Linear and Leaky-ReLU

ReLU是目前使用最多的激活函数,主要因为其收敛更快,并且能保持同样效果。

标准的ReLU函数为max(x, 0),当x>0时,输出x; 当x<=0时,输出0

f(x)=max(x,0)

层类型:ReLU

可选参数:

  negative_slope:默认为0. 对标准的ReLU函数进行变化,如果设置了这个值,那么数据为负数时,就不再设置为0,而是用原始数据乘以negative_slope

[cpp] view plaincopy
  1. layer {
  2. name: "relu1"
  3. type: "ReLU"
  4. bottom: "pool1"
  5. top: "pool1"
  6. }

RELU层支持in-place计算,这意味着bottom的输出和输入相同以避免内存的消耗。

3、TanH / Hyperbolic Tangent

利用双曲正切函数对数据进行变换。

层类型:TanH

[cpp] view plaincopy
  1. layer {
  2. name: "layer"
  3. bottom: "in"
  4. top: "out"
  5. type: "TanH"
  6. }

4、Absolute Value

求每个输入数据的绝对值。

f(x)=Abs(x)

层类型:AbsVal

[cpp] view plaincopy
  1. layer {
  2. name: "layer"
  3. bottom: "in"
  4. top: "out"
  5. type: "AbsVal"
  6. }

5、Power

对每个输入数据进行幂运算

f(x)= (shift + scale * x) ^ power

层类型:Power

可选参数:

  power: 默认为1

  scale: 默认为1

  shift: 默认为0

[cpp] view plaincopy
  1. layer {
  2. name: "layer"
  3. bottom: "in"
  4. top: "out"
  5. type: "Power"
  6. power_param {
  7. power: 2
  8. scale: 1
  9. shift: 0
  10. }
  11. }

6、BNLL

binomial normal log likelihood的简称

f(x)=log(1 + exp(x))

层类型:BNLL

[cpp] view plaincopy
  1. layer {
  2. name: "layer"
  3. bottom: "in"
  4. top: "out"
  5. type: “BNLL”
  6. }

Caffe傻瓜系列(3):激活层(Activiation Layers)及参数相关推荐

  1. Caffe学习系列(4):激活层(Activiation Layers)及参数

    在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的.从bottom得到一个blob数据输入,运算后,从top输入一个blob数据.在运算过程中,没有改变数据的大小,即输入 ...

  2. 转 Caffe学习系列(4):激活层(Activiation Layers)及参数

    在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的.从bottom得到一个blob数据输入,运算后,从top输入一个blob数据.在运算过程中,没有改变数据的大小,即输入 ...

  3. Caffe 学习系列

    学习列表: Google protocol buffer在windows下的编译 caffe windows 学习第一步:编译和安装(vs2012+win 64) caffe windows学习:第一 ...

  4. Caffe学习系列(3):视觉层(Vision Layers)及参数

    所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe学习系列(2):数据层及参数 本文只讲解视觉层(Vision La ...

  5. Caffe学习系列(17):模型各层特征和过滤器可视化

    转载自: Caffe学习系列(17):模型各层特征和过滤器可视化 - denny402 - 博客园 http://www.cnblogs.com/denny402/p/5105911.html cif ...

  6. Caffe学习系列(16):各层权值参数可视化

    原文有更新: Caffe学习系列(16):各层权值参数可视化 - denny402 - 博客园 http://www.cnblogs.com/denny402/p/5103425.html 通过前面的 ...

  7. Caffe学习系列(5):其它常用层及参数

    本文讲解一些其它的常用层,包括:softmax_loss层,Inner Product层,accuracy层,reshape层和dropout层及其它们的参数配置. 1.softmax-loss so ...

  8. Caffe新手教程傻瓜系列(9):训练和测试自己的图片

    在深度学习的实际应用中,我们经常用到的原始数据是图片文件,如jpg,jpeg,png,tif等格式的,而且有可能图片的大小还不一致.而在caffe中经常使用的数据类型是lmdb或leveldb,因 ...

  9. 怎么在Caffe中配置每一个层的结构

    如何在Caffe中配置每一个层的结构 最近刚在电脑上装好Caffe,由于神经网络中有不同的层结构,不同类型的层又有不同的参数,所有就根据Caffe官网的说明文档做了一个简单的总结. 1. Vision ...

  10. Caffe学习系列(6):Blob,Layer and Net以及对应配置文件的编写

    深度网络(net)是一个组合模型,它由许多相互连接的层(layers)组合而成.Caffe就是组建深度网络的这样一种工具,它按照一定的策略,一层一层的搭建出自己的模型.它将所有的信息数据定义为blob ...

最新文章

  1. 5G与AI深度融合,人类世界即将产生巨变
  2. Stage4--Python面向对象
  3. Java并发基本概念
  4. python界面图片-python图形用户界面(六):可视化给图片添加上文字
  5. python100个免费实例-Python的100个练习实例免费下载
  6. 每日一博 - 使用环形队列实现高效的延时消息
  7. Thymeleaf显示表格
  8. python输出指定范围素数_怎么用python输出指定范围内的质数?
  9. 【深度学习】深度学习的发展方向: 深度强化学习!
  10. 美团DSP广告策略实践
  11. 【笔试面试】神马搜索C++程序猿电话面试
  12. 向上累积频数怎么算_视频号怎么运营?小白也能迅速get的技巧
  13. html5 图片热点area,map的用法
  14. (转)javascrit中的uriencode
  15. 解决办法:undefined reference to symbol 'pthread_mutexattr_settype@@GLIBC_2.2.5'
  16. 微信小程序+vant Weapp Slider 滑块实现滑动拖动计数器
  17. c语言求ab的最大公约数,C语言中如何调用函数求最大公约数和最小公倍数
  18. word公式居中 编号右对齐(制表位) - 公式自动编号(题注)- 公式交叉引用 - word无法粘贴
  19. 如何在patform中加入自己的工程
  20. ContentProvider android:exported = “true”

热门文章

  1. Codeforce 1175 D. Array Splitting
  2. Scala进阶之路-尾递归优化
  3. [AppScan深入浅出]修复漏洞:会话标识未更新
  4. How to install and configure vsftpd
  5. 偷懒才能编程序——计算机达人成长之路(18)
  6. 我的计时软件TimeDogV13
  7. NOIP Day -151
  8. 【问题解决方案】从 Anaconda Prompt 或 Jupyter Notebook 终端进入Python后重新退出到命令状态...
  9. 部署中遇到的问题(四)
  10. 【并查集】并查集专题总结