200813_tensorflow2---4、为什么需要批标准化(Batch Normalization)操作(杂)
一、总结
一句话总结:
一、神经网络对0附近的数据更加敏感,但是随着网络层数的增加,特征数据会出现偏离0均值的情况
二、标准化可以使数据符合以0为均值,1为标准差的标准正态分布,把偏移的特征数据重新拉回到0附近
1、交叉熵损失函数CE(Cross Entropy):表征两个概率分布之间的距离?
①、定义:$$H ( y _ { - } , y ) = - sum y _ { - } * ln y$$
②、eg.二分类已知答案y_=(1,0)预测y1=(0.6,0.4)y2=(0.8,0.2),哪个更接近标准答案?
③、H1((1,0),(0.6,0.4))=-(1*In0.6+0*In0.4)=-(-0.511+0)=0.511
④、H2((1,0),(0.8,0.2))=-(1*In0.8+0*ln0.2)=-(-0.223+0)=0.223 因为H1>H2,所以y2预测更准
2、神经网络参数优化器(也就是各种梯度下降算法)(通式)?
A、mt:一阶动量,Vt:二阶动量,不同的梯度下降算法也就mt和Vt不同而已,t表示的是t时刻
B、$$w _ { t + 1 } = w _ { t } - eta _ { t } = w _ { t } - l r cdot m _ { t } / sqrt { V _ { t } }$$
C、一阶动量:与梯度相关的函数; 二阶动量:与梯度平方相关的函数
3、指数衰减学习率(学习率动态改变)?
1)、可以先用较大的学习率,快速得到较优解,然后逐步减小学习率,使模型在训练后期稳定。
2)、指数衰减学习率=初始学习率*学习率衰减率(当前轮数/多少轮衰减一次)
4、卷积神经网络为什么是卷积层然后接全连接层?
卷积计算可认为是一种有效提取图像特征的方法,经过卷积提取特征之后,把这些特征输入全连接的网络
5、卷积神经网络中池化操作的目的?
I、池化用于减少特征数据量。
II、最大值池化可提取图片纹理,均值池化可保留背景特征。
6、两个3*3的卷积核和一个5*5的卷积核的效果是一样的,如何选择?
选两个3*3的,这样无论参数,还是计算量,都要少很多,并且效果可能更好
7、卷积是什么?
卷积就是特征提取器,就是C(卷积层)B(批标准化层)A(激活层)P(池化层)D(dropout层)
model=tf.keras.models.Sequential([ Conv2D(filters=6,kernel_size=(5,5),padding='same'),#卷积层 BatchNormalization(),#BN层 Activation('relu'),#激活层 MaxPoo12D(pool_size=(2,2),strides=2,padding='same'),#池化层 Dropout(0.2),#dropout层 ])
8、为什么TensorFlow中的keras提供了层的功能,却还要提供自定义模型和自定义层的功能?
因为keras只能实现顺序模型,功能有限,一些复杂的模型实现不了
二、内容在总结中
博客对应课程的视频位置: