批标准化
标准化:使数据符合0均值,1标准差的分布
批标准化:对一个batch做标准化,常用在卷积操作和激活操作之间
BN操作使原本偏移的特征数据重新拉回到0均值
BN操作会引入γ和β两个参数,保证BN操作后网络仍具有非线性表达能力,γ和β会与其他待训练参数一同被训练优化
BN层位于卷积层之后,激活层之前
卷积层->批标准化层->激活层
TF描述批标准化:tf.keras.layers.BatchNormalization()
model=tf.keras.models.Sequential([
Conv2D(filters=6,kernel_size=(5,5),padding='valid'), # 卷积层
BatchNormalization(), # BN层
Activation('relu'), # 激活层
MaxPool2D(pool_size=(2,2),strides=2), # 池化层
Dropout(0.2), # dropout层
])
池化:池化用于减少特征数据量
分为最大池化和均值池化
tf.keras.layers.MaxPool2D(
pool_size=池化核尺寸, #正方形写核长整数,或(核高h,核宽w)
strides=池化步长, #步长整数,或(纵向步长,横向步长),默认为pool_size
padding='valid' or 'same' #使用全零填充与否
)
tf.keras.layers.AveragePool2D(
pool_size=池化核尺寸, #正方形写核长整数,或(核高h,核宽w)
strides=池化步长, #步长整数,或(纵向步长,横向步长),默认为pool_size
padding='valid' or 'same' #使用全零填充与否
)
如
MaxPool2D(pool_size=(2,2),strides=2,padding=‘same’)
舍弃:
为了缓解过拟合,在NN训练过程中,常把隐藏层的部分神经元按照一定比例从神经网络中临时舍弃;在使用神经网络时,再把所有神经元恢复到神经网络中
TF描述舍弃:tf.keras.layers.Dropout(舍弃的概率)
如
Dropout(0.2), # 舍弃概率是0.2
卷积神经网络:
借助卷积核对输入特征进行特征提取,再把提取到的特征送入全连接网络进行识别预测
版权声明:本文为qq_57780419原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。