欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

斯坦福大学CS231课程笔记1

程序员文章站 2022-07-13 11:27:55
...

从线性回归到神经网络

斯坦福大学CS231课程笔记1
斯坦福大学CS231课程笔记1

Mini-batchSGD

正向传播计算loss反向传播计算梯度,根据梯度更新参数
斯坦福大学CS231课程笔记1
图的拓扑排序正向和反向

class ComputationalGraph(object):
   def forward(inputs):
   # 1.[pass inputs to input gates...]
   # 2.forward the computational graph:
    for gate in self.graph.nodes_topologically_sorted():
      gate.forward()
    return loss #the final gate in the graph outputs the loss
   def backward():
    for gate in reversed(self.graph.nodes_topologically_sorted()):
      gate.backward() #little piece of backprop (chain rule applied)
    return inputs_gradients

斯坦福大学CS231课程笔记1

BatchNormalization 批量正则化

优势:提升梯度流向,可是使用更大的学习率;减少对初始化的依赖;由正则化的作用,减少dropout的使用
斯坦福大学CS231课程笔记1

**函数

斯坦福大学CS231课程笔记1

数据预处理

斯坦福大学CS231课程笔记1

学习率

loss不下降,学习率太小
loss爆炸,学习率太大,出现Nan时,就是学习率太大
斯坦福大学CS231课程笔记1

学习率衰减

1.一定epoch次数后减小
2.指数级减小
3.随时间线性减小
斯坦福大学CS231课程笔记1

优化方法

Adam

斯坦福大学CS231课程笔记1
斯坦福大学CS231课程笔记1

RMSProp

斯坦福大学CS231课程笔记1

二阶最优化方法

斯坦福大学CS231课程笔记1

dropout

斯坦福大学CS231课程笔记1
斯坦福大学CS231课程笔记1
为什么dropout有效?dropout相当于一堆模型的组合,每个开闭就是一种模型,测试时,蒙特卡洛估计就是使用不同的模型对所有的结果求平均。或者使用一次前向传播,把所有的节点都打开
斯坦福大学CS231课程笔记1
斯坦福大学CS231课程笔记1
斯坦福大学CS231课程笔记1
斯坦福大学CS231课程笔记1