Dense 层是 TensorFlow Keras 中最常用的全连接层,用于执行线性变换并添加可选的激活函数。它广泛应用于神经网络的隐藏层和输出层。
核心功能
- 线性变换:通过权重矩阵和偏置项对输入进行乘法和加法操作
- 激活函数:支持自定义激活函数(如
relu
、sigmoid
、tanh
等) - 参数控制:通过
units
指定输出维度,use_bias
控制是否使用偏置项
参数说明
参数 | 类型 | 说明 |
---|---|---|
units | int | 输出特征的数量(即层的维度) |
activation | str 或 Callable | 激活函数,若为 None 则使用线性激活 |
use_bias | bool | 是否添加偏置项(默认为 True ) |
kernel_initializer | str 或 Initializer | 权重矩阵的初始化方法 |
bias_initializer | str 或 Initializer | 偏置项的初始化方法 |
kernel_regularizer | Regularizer | 权重的正则化方法 |
bias_regularizer | Regularizer | 偏置项的正则化方法 |
代码示例
import tensorflow as tf
model = tf.keras.Sequential([
tf.keras.layers.Dense(64, activation='relu', input_shape=(32,)),
tf.keras.layers.Dense(10)
])
扩展阅读
注意事项
- Dense 层默认使用
linear
激活函数,需显式指定activation
参数以启用非线性变换 - 在卷积层后通常需要使用
Flatten
层将输入转换为一维向量再输入 Dense 层 - 可通过
input_shape
参数定义输入维度,或使用input_dim
简化配置