caffe中的sgd,与激活函数(activation function)
caffe中activation function的形式,直接决定了其训练速度以及SGD的求解。
在caffe中,不同的activation function对应的sgd的方式是不同的,因此,在配置文件中指定activation layer的type,目前caffe中用的最多的是relu的activation function.
caffe中,目前实现的activation function有以下几种:
absval, bnll, power, relu, sigmoid, tanh等几种,分别有单独的layer层。其数学公式分别为:
算了,这部分我不解释了,直接看caffe的tutorial吧
ReLU / Rectified-Linear and Leaky-ReLU
- LayerType:
RELU - CPU implementation:
./src/caffe/layers/relu_layer.cpp - CUDA GPU implementation:
./src/caffe/layers/relu_layer.cu - Parameters (
ReLUParameter relu_param)- Optional
negative_slope[default 0]: specifies whether to leak the negative part by multiplying it with the slope value rather than setting it to 0.
- Optional
Sample (as seen in
./examples/imagenet/imagenet_train_val.prototxt)layers {
name: "relu1"
type: RELU
bottom: "conv1"
top: "conv1"
}
Given an input value x, The RELU layer computes the output as x if x > 0 and negative_slope * x if x <= 0. When the negative slope parameter is not set, it is equivalent to the standard ReLU function of taking max(x, 0). It also supports in-place computation, meaning that the bottom and the top blob could be the same to preserve memory consumption.
Sigmoid
- LayerType:
SIGMOID - CPU implementation:
./src/caffe/layers/sigmoid_layer.cpp - CUDA GPU implementation:
./src/caffe/layers/sigmoid_layer.cu Sample (as seen in
./examples/imagenet/mnist_autoencoder.prototxt)layers {
name: "encode1neuron"
bottom: "encode1"
top: "encode1neuron"
type: SIGMOID
}
The SIGMOID layer computes the output as sigmoid(x) for each input element x.
TanH / Hyperbolic Tangent
- LayerType:
TANH - CPU implementation:
./src/caffe/layers/tanh_layer.cpp - CUDA GPU implementation:
./src/caffe/layers/tanh_layer.cu Sample
layers {
name: "layer"
bottom: "in"
top: "out"
type: TANH
}
The TANH layer computes the output as tanh(x) for each input element x.
Absolute Value
- LayerType:
ABSVAL - CPU implementation:
./src/caffe/layers/absval_layer.cpp - CUDA GPU implementation:
./src/caffe/layers/absval_layer.cu Sample
layers {
name: "layer"
bottom: "in"
top: "out"
type: ABSVAL
}
The ABSVAL layer computes the output as abs(x) for each input element x.
Power
- LayerType:
POWER - CPU implementation:
./src/caffe/layers/power_layer.cpp - CUDA GPU implementation:
./src/caffe/layers/power_layer.cu - Parameters (
PowerParameter power_param)- Optional
power[default 1]scale[default 1]shift[default 0]
- Optional
Sample
layers {
name: "layer"
bottom: "in"
top: "out"
type: POWER
power_param {
power: 1
scale: 1
shift: 0
}
}
The POWER layer computes the output as (shift + scale * x) ^ power for each input element x.
BNLL
- LayerType:
BNLL - CPU implementation:
./src/caffe/layers/bnll_layer.cpp - CUDA GPU implementation:
./src/caffe/layers/bnll_layer.cu Sample
layers {
name: "layer"
bottom: "in"
top: "out"
type: BNLL
}
The BNLL (binomial normal log likelihood) layer computes the output as log(1 + exp(x)) for each input element x.
caffe中的sgd,与激活函数(activation function)的更多相关文章
- 激活函数-Activation Function
该博客的内容是莫烦大神的授课内容.在此只做学习记录作用. 原文连接:https://morvanzhou.github.io/tutorials/machine-learning/tensorflow ...
- 浅谈深度学习中的激活函数 - The Activation Function in Deep Learning
原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激活 ...
- The Activation Function in Deep Learning 浅谈深度学习中的激活函数
原文地址:http://www.cnblogs.com/rgvb178/p/6055213.html 版权声明:本文为博主原创文章,未经博主允许不得转载. 激活函数的作用 首先,激活函数不是真的要去激 ...
- 《Noisy Activation Function》噪声激活函数(一)
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/51736830 Noisy Activa ...
- MXNet 定义新激活函数(Custom new activation function)
https://blog.csdn.net/weixin_34260991/article/details/87106463 这里使用比较简单的定义方式,只是在原有的激活函数调用中加入. 准备工作下载 ...
- 激活函数:Swish: a Self-Gated Activation Function
今天看到google brain 关于激活函数在2017年提出了一个新的Swish 激活函数. 叫swish,地址:https://arxiv.org/abs/1710.05941v1 pytorch ...
- TensorFlow Activation Function 1
部分转自:https://blog.csdn.net/caicaiatnbu/article/details/72745156 激活函数(Activation Function)运行时激活神经网络中某 ...
- caffe中各层的作用:
关于caffe中的solver: cafffe中的sover的方法都有: Stochastic Gradient Descent (type: "SGD"), AdaDelta ( ...
- ML 激励函数 Activation Function (整理)
本文为内容整理,原文请看url链接,感谢几位博主知识来源 一.什么是激励函数 激励函数一般用于神经网络的层与层之间,上一层的输出通过激励函数的转换之后输入到下一层中.神经网络模型是非线性的,如果没有使 ...
随机推荐
- [转]ASP.NET中JSON的序列化和反序列化
本文转自:http://www.cnblogs.com/zhaozhan/archive/2011/01/09/1931340.html JSON是专门为浏览器中的网页上运行的JavaScript代码 ...
- vue脚手架 && 实例
什么是vue脚手架? 即可以快速构建vue项目的工具,通过它,我们可以将vue项目所需要的文件等安装完成. 为什么要是用vue脚手架,优点何在? 因为创建一个vue项目需要很多的依赖,文件的设置等,而 ...
- ErlangC 最佳人力效益指标
以平均服务时间(AHT)180秒,顾客来电量每15分钟150通以及服务目标时间在20秒内为例子说明最佳人力效益指标.此假设条件下由Erlang C模拟器的结果如下图, 假设我希望客服中心的期望服务水准 ...
- 转-Shell笔记——命令:Sort,uniq,join,cut,paste,split
转自:http://blog.csdn.net/wklken/article/details/6562098 Sort,uniq,join,cut,paste,split 命令—— Sort Sort ...
- Solaris常用命令
目录: 1.man <要查的命令名字> 2.ls 相当于DOS的dir3.clear 相当于DOS的cls,清除屏幕上的内容4.mkdir <目录名> 相当于DOS的md,新建 ...
- hduoj 2546饭卡
饭卡 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submissi ...
- Access 2010入门、语文
Access2010入门 数据管理库是按照数据结构来组织,存储和管理数据的仓库. 最早出现的数据库是网状DBMS 1970年,EFCodd博士提出关系模型的概念,提出关系模型的理论基础. SQL语言功 ...
- ADO.NET的主要对象
ADO.NET主要分为五个对象: 1)Connection对象:用来连接程序与数据库.没有利用连接对象将数据库打开,是无法从数据库中取得数据的.Close和Dispose的区别,Close之后还可以用 ...
- C#图表控件ZedGraph使用
最近从java转到C#下开发PC端的桌面程序,之前也尝试用java GUI写桌面程序,发现java写桌面程序还是诸多不便变,虽然最后也写出来了,但是决心还是另起平台,有了一定的java基础,来学习C# ...
- poj 3107 树重心
http://acm.hust.edu.cn/vjudge/problem/18069 和poj 1655差不多:http://www.cnblogs.com/qlky/p/5780933.html ...