利用keras.layers.Dense()函数处理的方式属于DNN的方式,Deep neural network 又名Fully connected (FC) layers,densely connected layers,multilayer perceptron (MLP)
CNN为卷积神经网络,它能够提取图像的关键信息,相比于DNN,它的权值共享结构降低了网络模型的复杂度,减少了权值的数量。CNN对平移、缩放、倾斜等变形具有一定的不变性。采样不会改变实体。
Conv2D 函数的主要参数包括:
- filters:整数,表示卷积核(滤波器)的数量,也是该层输出的通道数。
- kernel_size:整数或元组,指定卷积核的大小,通常为 (3, 3) 或 (5, 5)。
- strides:整数或元组,表示卷积核在输入上的移动步幅。
- padding:字符串,可以是 “valid”(不使用零填充)或 “same”(使用零填充)。
- activation:指定该层的激活函数,如 “relu”、“sigmoid” 等。
- input_shape:输入数据的形状,通常在模型的第一层中使用。
- data_format:字符串,可以是 “channels_last”(通道在最后)或 “channels_first”(通道在前)。
MaxPooling2D 函数的主要参数包括:
- pool_size:整数或元组,指定池化窗口的大小,通常为 (2, 2)。
- strides:整数或元组,表示池化窗口的移动步幅。
- padding:字符串,可以是 “valid”(不使用零填充)或 “same”(使用零填充)。
- data_format:字符串,可以是 “channels_last”(通道在最后)或 “channels_first”(通道在前)。
Dense 函数的主要参数包括:
- units:整数,表示该层的输出维度,也就是该层的神经元数量。
- activation:指定该层的激活函数,常用的包括 relu、sigmoid、softmax 等。
- use_bias:布尔值,决定是否在该层中使用偏差项。
- kernel_initializer:用于初始化权重的方法,常见的有 glorot_uniform 和 he_normal。
- bias_initializer:用于初始化偏差项的方法。
- kernel_regularizer:权重正则化方法,用于防止过拟合。
数据增强
- 可以通过旋转、平移、缩放来改变原图像的样貌,从而形成更多的数据,让训练集更加丰富,这种行为被称为数据增强。
- 数据增强可以减小过拟合的情况,得到我们所需泛化的效果。