第2讲 神经网络优化
🖼 人工智能学习总目录
🖼 视频资料都在这里—北京大学TensorFlow2.0公开课,建议看课,这里只是我写的可参考的在线笔记
🖼 主要学会用TensorFlow2搭建神经网络方法、离散数据的分类、连续数据的预测
本讲目标:学会神经网络优化过程,使用正则化减少过拟合,使用优化器更新网络参数。
1、神经网络复杂度
1.1 时间复杂度
即模型的运算次数,可用浮点运算次数(FPLOPs, FLoating-point OPerations)或者乘加运算次数衡量
1.2 空间复杂度
空间复杂度(访存量),严格来讲包括两部分:总参数量 + 各层输出特征图。
参数量:模型所有带参数的层的权重参数总量;
特征图:模型在实时运行过程中每层所计算出的输出特征图大小。
2 学习率策略
2.1 指数衰减
学习率跟着学习的层数,指数衰减
1 | import tensorflow as tf |
2.2 分段常数衰减
3 激活函数
3.1 sigmoid
3.2 tanh
3.3 ReLU
3.4 Leaky ReLU
3.5 softmax
3.6 建议
4 损失函数
4.1 均方误差损失函数
4.2 交叉熵损失函数
4.3 自定义损失函数
5 欠拟合与过拟合
6 优化器
6.1 SGD
6.1.1 vanilla SGD
6.1.2 SGD with Momentum
6.1.3 SGD with Nesterov Acceleration 6.2 AdaGrad
6.3 RMSProp
6.4 AdaDelta
6.5 Adam
6.5 优化器选择
6.6 优化算法的常用tricks
7、常用TensorFlow API及代码实现
7.1学习率策略
tf.keras.optimizers.schedules.ExponentialDecay
tf.keras.optimizers.schedules.PiecewiseConstantDecay
7.2激活函数
tf.math.sigmoid
tf.math.tanh
tf.nn.relu
tf.nn.leaky_relu
tf.nn.softmax
7.3损失函数
tf.keras.losses.MSE
tf.keras.losses.categorical_crossentropy
tf.nn.softmax_cross_entropy_with_logits
tf.nn.sparse_softmax_cross_entropy_with_logits
7.4 其它
tf.cast
tf.random.normal
tf.where
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Ruiqy~!
评论