Keras神经网络层学习

本文介绍了Keras中的两种模型类型:序贯模型(Sequential)和函数式模型(Model)。序贯模型适用于单输入单输出,而函数式模型则允许多输入多输出和跨层连接。重点讲解了Dense、Dropout、Embedding、LSTM、Conv1D和Conv2D等核心层的用法,并提供了参考资料。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 Keras有两种类型的模型,序贯模型(Sequential)和函数式模型(Model),函数式模型应用更为广泛,序贯模型是函数式模型的一种特殊情况。
    a)序贯模型(Sequential):单输入单输出,一条路通到底,层与层之间只有相邻关系,没有跨层连接。这种模型编译速度快,操作也比较简单
    b)函数式模型(Model):多输入多输出,层与层之间任意连接。这种模型编译速度慢。

Keras模块结构

keras搭建神经网络步骤

1.Dense

全连接层(对上一层的神经元进行全部连接,实现特征的非线性组合),这个全连接层封装了output = activation(tf.matmul(input, kernel) + bias)这一线性变换+激活函数的计算操作,以及 kernel 和 bias 两个变量。当不指定激活函数时(即 activation(x) = x ),这个全连接层就等价于我们上述的线性变换。全连接层可能是我们编写模型时使用最频繁的层。

keras.layers.Dense(units, 
				  activation=None, 
				  use_bias=True, 
				  kernel_initializer='glorot_uniform', 
				  bias_initializer='zeros', 
				  kernel_regularizer=None, 
				  bias_regularizer=None, 
			      activity_regularizer=None, 
				  kernel_constraint=None, 
				  bias_constraint=None)

参数说明如下:
units:该层有几个神经元,代表该层的输出维度
activation:该层使用的激活函数
use_bias:是否添加偏置项
kernel_initializer:权重初始化方法
bias_initializer:偏置值初始化方法
kernel_regularizer:权重规范化函数
bias_regularizer:偏置值规范化方法
activity_regularizer:输出的规范化方法
kernel_constraint:权重变化限制函数
bias_constraint:偏置值变化限制函数


2.Dropout

为输入数据施加Dropout。Dropout将在训练过程中每次更新参数时随机断开一定百分比(rate)的输入神经元,Dropout层用于防止过拟合。 

keras.layers.Dropout(rate, noise_shape=None, seed=None)
参数
rate:0~1的浮点数,控制需要断开的神经元的比例

noise_shape:整数张量,为将要应用在输入上的二值Dropout mask的shape,例如你的输入为(batch_size, timesteps, features),并且你希望在各个时间步上的Dropout mask都相同,则可传入noise_shape=(batch_size, 1, features)。

seed:整数࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一摩尔自由

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值