博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
keras_9_激活函数 Activations
阅读量:5101 次
发布时间:2019-06-13

本文共 1110 字,大约阅读时间需要 3 分钟。

1. 激活函数的使用

  • 激活函数可以通过设置单独的激活层实现,也可以在构造层对象时通过传递activation参数实现

    from keras.layers import Activation, Densemodel.add(Dense(64))model.add(Activation('tanh'))# 等价于model.add(Dense(64, activation='tanh'))# 你也可以通过传递一个【逐元素运算】的Theano/TensorFlow/CNTK函数来作为激活函数:from keras import backend as Kmodel.add(Dense(64, activation=K.tanh))model.add(Activation(K.tanh))

2. keras支持的激活函数

  1. softmax
  2. elu (指数线性单元)
  3. selu (可伸缩的指数线性单元)
    • SELU 等同于:scale * elu(x, alpha),其中 alpha 和 scale 是预定义的常量。只要正确初始化权重(参见 lecun_normal 初始化方法)并且输入的数量「足够大」(参见Self-Normalizing Neural Networks),选择合适的 alpha 和 scale 的值,就可以在两个连续层之间保留输入的均值和方差。(即可以保证activation value稳定传播,有点后来的BN的作用)
  4. softplus (log(exp(x) + 1))
  5. softsign (x / (abs(x) + 1))
  6. relu (cs231n推荐)
    • 线性修正单元激活:如果 x > 0,返回值为 x;如果 x < 0,返回值为 alpha * x。alpha:负数部分的斜率,默认为 0。如果定义了 max_value,则结果将截断为此值。
  7. tanh
  8. sigmoid
  9. hard_sigmoid
    • 计算速度比 sigmoid 激活函数更快。如果 x < -2.5,返回 0。如果 x > 2.5,返回 1。如果 -2.5 <= x <= 2.5,返回 0.2 * x + 0.5
  10. linear (线性激活函数,即不做任何改变)
  11. 对于Theano/TensorFlow/CNTK不能表达的复杂激活函数,如含有可学习参数的激活函数,可通过实现,可以在 keras.layers.advanced_activations 模块中找到。 这些高级激活函数包括 PReLULeakyReLU

转载于:https://www.cnblogs.com/LS1314/p/10380639.html

你可能感兴趣的文章
我眼中的技术地图
查看>>
lc 145. Binary Tree Postorder Traversal
查看>>
在centos上开关tomcat
查看>>
android dialog使用自定义布局 设置窗体大小位置
查看>>
ionic2+ 基础
查看>>
[leetcode]Minimum Path Sum
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
csv HTTP简单表服务器
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Screening technology proved cost effective deal
查看>>
mysql8.0.13下载与安装图文教程
查看>>
Thrift Expected protocol id ffffff82 but got 0
查看>>
【2.2】创建博客文章模型
查看>>
Kotlin动态图
查看>>
从零开始系列之vue全家桶(1)安装前期准备nodejs+cnpm+webpack+vue-cli+vue-router
查看>>
Jsp抓取页面内容
查看>>
大三上学期软件工程作业之点餐系统(网页版)的一些心得
查看>>
可选参数的函数还可以这样设计!
查看>>
[你必须知道的.NET]第二十一回:认识全面的null
查看>>
Java语言概述
查看>>