zoukankan      html  css  js  c++  java
  • keras_9_激活函数 Activations

    1. 激活函数的使用

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

      from keras.layers import Activation, Dense
      model.add(Dense(64))
      model.add(Activation('tanh'))
      
      # 等价于
      model.add(Dense(64, activation='tanh'))
      
      # 你也可以通过传递一个【逐元素运算】的Theano/TensorFlow/CNTK函数来作为激活函数:
      from keras import backend as K
      model.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
  • 相关阅读:
    人脸识别-常用的数据库Face Databases From Other Research Groups
    447. Number of Boomerangs
    356. Line Reflection
    149. Max Points on a Line
    279. Perfect Squares
    264. Ugly Number II
    204. Count Primes
    263. Ugly Number
    202. Happy Number
    4. Median of Two Sorted Arrays
  • 原文地址:https://www.cnblogs.com/LS1314/p/10380639.html
Copyright © 2011-2022 走看看