计算图与自动微分 优化问题

计算图与自动微分

构造模型: model=Sequential()
全连接层:Dense()
输入输出维度:output_dim,input_dim
激活函数(使用的relu):Activation(“relu”)
损失函数(使用的交叉熵):loss=‘categorical_crossentropy’
优化(使用梯度下降法):optimizer=‘sgd’
衡量指标(使用的准确率):metrics=[‘accuracy’]
随机梯度下降开始训练:model.fit()

深度学习的三个步骤

1.定义网络
2.损失函数
3.优化

前馈神经网络的训练过程

1.前向计算每一层的状态和激活值,直到最后一层(损失函数)
2.反向计算每一层的参数的偏导数(梯度)
3.更新参数

计算图

当我们设计软件去实现神经网络的时候,我们希望有一个方法,不管网络结构是什么类型的,我们都可以无缝衔接地去计算梯度。所以,当网络发生变化的时候,程序员不需要去手动计算梯度,只需要通过软件来实现。我们用计算图的数据结构来实现这个想法。

优化问题

难点
非凸优化问题:即存在局部最优而非全局最优解,影响迭代
梯度消失问题:下层参数比较难调
参数过多,影响训练,参数解释起来比较困难
需求
计算资源要大
数据要多
算法效率要好,即收敛快

你可能感兴趣的:(深度学习,机器学习,神经网络)