学会利用torch.nn.Sequential、torch.nn.Module、torch.nn.MSEloss、torch.optim各包构建神经网络
1、torch可利用已有Sequential结构直接生成网络,也可以继承Module来自定义网络
2、损失函数一般回归模型可用MSEloss(最小二乘法),二分类模型可用BCEwithLogitsloss(二分类交叉熵),多分类模型可用CrossEntropyLoss(交叉熵损失)【具体损失函数由另一篇博文记录】
3、优化方法的基础是梯度下降法,即参数=参数-学习率*梯度,在此基础上针对学习率及梯度方向两个因素,进行变化,衍生出六种不同的优化方法
-SGD,如将所有样本均纳入进行梯度下降的学习中,则运算量巨大,因此该方法实行的是随机选择批量样本进行梯度下降学习
该方法存在学习时长依旧较长,并且受方向选择的制约,容易在某些维度的极小值处停下而错失其他维度下降的方向
-SGD+momentum,该方法将方向变化考虑其中,在计算当前梯度变化时,一部分取决于当前梯度值,一部分取决于上一步的梯度方向,二者同时形成新梯度向量
-Nesterov Momentum,该方法也将维度方向考虑其中,只是在计算梯度变化时,先计算当前梯度值,然后在此基础上,计算当前梯度方向,二者再形成新梯度向量
以上三种优化方法属于SGD及其改进(加Momentum);另外一大类是Per-parameter adaptive learning rate m