Keras中使用如Leaky ReLU等高级激活函数的方法
在用Keras来实现CNN等一系列网络时,我们经常用ReLU作为激活函数,一般写法如下:
from keras import layers
from keras import modelsmodel = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
上面这段代码实现了一个基本的卷积神经网络,用ReLU作为激活函数,关于ReLU具体内容不做详细介绍。还有一些常用的主流激活函数:
- softmax: 在多分类中常用的激活函数,是基于逻辑回归的。
- Softplus:softplus(x)=log(1+e^x),近似生物神经激活函数,最近出现的。
- Relu:近似生物神经激活函数,最近出现的。
- tanh:双曲正切激活函数,也是很常用的。
- sigmoid:S型曲线激活函数,最常用的。
- hard_sigmoid:基于S型激活函数。
- linear:线性激活函数,最简单的。
主流的激活函数可以如上述例子一样通过名称直接使用,但是还有一些复杂的激活函数如:Leaky ReLU、PReLU是不可以这样直接使用的,必须使用add方法将高级激活函数作为层(layer)来使用,举例如下:
from keras import layers
from keras import models
from keras.layers import LeakyReLUmodel = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), input_shape=(28, 28, 1)))
model.add(LeakyReLU(alpha=0.05))
model.add(layers.MaxPooling2D((2, 2))) model.add(layers.Conv2D(64, (3, 3)))
model.add(LeakyReLU(alpha=0.05))
model.add(layers.MaxPooling2D((2, 2)))model.add(layers.Conv2D(64, (3, 3))
model.add(LeakyReLU(alpha=0.05))
这里我们在卷积层中去掉激活函数的参数,并在卷积层后加入高级激活层,下面来测试:
>>model.summary()
这里从整个网络结构的结果可以看出,卷积层后确实加入了一层新的激活层,使用的是LeakyReLU函数。
Keras中使用如Leaky ReLU等高级激活函数的方法相关推荐
- 实现keras中ConvLSTM2D中recurrent_activation和activation的设置
LSTM结构如下图 一种常见的写法为如下,每个门的生成除了当前时刻的信息Xt和上一个时刻的输出ht-1外,还外加了一个小尾巴 Ct-1,即上一个时刻的状态. 但是这个写法其实太过复杂,而且不易理解LS ...
- 【Deep Learning 三】神经网络中的非线性激活函数之间的优缺点:sigmoid、tanh、ReLu、Leaky ReLu...
1 什么是激活函数? 激活函数,并不是去激活什么,而是指如何把"激活的神经元的特征"通过函数把特征保留并映射出来(保留特征,去除一些数据中是的冗余),这是神经网络能解决非线性问题关 ...
- tensorflow中Leaky Relu激活函数
tensorflow中Leaky Relu激活函数 引用API:tensorflow.nn.leaky_relu(x) Leaky Relu激活函数 Leaky Relu激活函数引入一个固定斜率a,具 ...
- 机器学习中的数学——激活函数(四):Leaky ReLU函数
分类目录:<机器学习中的数学>总目录 相关文章: · 激活函数:基础知识 · 激活函数(一):Sigmoid函数 · 激活函数(二):双曲正切函数(Tanh函数) · 激活函数(三): 线 ...
- 深度学习中的一些常见的激活函数集合(含公式与导数的推导)sigmoid, relu, leaky relu, elu, numpy实现
文章目录 Sigmoid(x) 双曲正切 线性整流函数 rectified linear unit (ReLu) PReLU(Parametric Rectified Linear Unit) Lea ...
- Which is Better? Leaky ReLU or ReLU
使用 ReLU 激活函数与 LReLU 激活函数时模型性能是否存在明显差异? 介绍 作为数据科学家,我们不断寻求改进并为我们的机器学习 (ML) 模型找到最佳参数.我们将研究人们可能希望将两种不同的激 ...
- 使用keras进行深度学习_如何在Keras中通过深度学习对蝴蝶进行分类
使用keras进行深度学习 A while ago I read an interesting blog post on the website of the Dutch organization V ...
- Keras使用Leaky_Relu等高级激活函数
在Keras中,Leaky_Relu等高级激活函数需要通过额外增加层来使用,而不能像RELU之类的激活函数可以作为参数初始化全连接层. 具体用法如下: from keras.layers import ...
- 深度学习布料交换:在Keras中实现条件类比GAN
2017年10月26日SHAOANLU 条件类比GAN:交换人物形象的时尚文章(链接) 给定三个输入图像:人穿着布A,独立布A和独立布B,条件类比GAN(CAGAN)生成穿着布B的人类图像.参见下图. ...
最新文章
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第4章-连通性保持下多移动机器人群集控制
- 角色与网站地图的结合
- MyBatis 集成到Spring 的原理是什么?
- 线上服务被干爆了,竟然是日志的锅!!
- Ora-00600 错误的代码含义及常用查询
- java的弱索引是什么_Java从零开始学 - 第76篇:什么是索引?
- 上海Apple面试php,面试Apple苹果APO的MQE经验
- 微信小程序如何快速增长独立访客数(UV)
- 10种网站数据的采集方法
- 从年轻大学教师待遇说到大学教学质量
- 【项目实战】批量导出excel,并打包zip文件【连载中】
- 人脸识别原理:(初级篇)内含PPT
- webworker应用场景_JavaScript 工作原理之七-Web Workers 分类及 5 个使用场景
- AI综述专栏 | 朱松纯教授浅谈人工智能:现状、任务、构架与统一
- mac浏览器打不开java_苹果电脑Mac打不开网页怎么办?Mac打不开网页的解决方法...
- JavaScript如何截取字符串的最后一位
- 20145204 张亚军《信息安全系统设计基础》第12周学习总结
- Windows命令:ipconfig
- 华为手机怎么变鸿蒙系统,刚公布,未来你的华为手机将迎来这些改变→
- 【开源免费】微软官方推荐的桌面小工具