Cs231n-assignment 2作业笔记

assignment 2

assignment2讲解参见:

https://blog.csdn.net/BigDataDigest/article/details/79286510

http://www.cnblogs.com/daihengchen/p/5765142.html

最后一个作业Q5基于Tensorflow和Pytorch,将会需要在GPU上运行。

1. softmax_loss:

log_probs[range(N), y]:从log_probs中取出纵值为yi,即正确标签,横值图像数,即从log_probs中取出y所指向的正确类的概率值,得到是一个[N,]数组,加和后除以N,即为softmax_loss。

2.关于batch normalization:

   参见:https://www.cnblogs.com/guoyaohua/p/8724433.html

   参见:https://www.cnblogs.com/skyfsm/p/8453498.html

   反向传播参见:https://zhuanlan.zhihu.com/p/26138673

                 https://blog.csdn.net/kevin_hee/article/details/80783698

   基本流程:减去均值(mini-batch mean)、除以方差(normalize)、scale and shift。

 

3.总结:

到这里,我们大致学完了“神经网络”基础。我们学习了:

l   一个神经网络应该有三大基础东西 - 损失函数、梯度、权值(模板)。

l   神经网络将一个函数封装成一个独立的神经元,然后将神经元分层连接,使之高效地传递信息。

l   我们认识了各种激活函数(推荐使用ReLU)。

l   我们可以对初始数据做预处理(推荐使用“减均值+除标准差”)。

l   我们还可以对隐藏层也做类似处理(Batch Normalization)。

l   我们应该对权进行初始化(推荐使用“随机数+除标准差”)。

l   如果train/val之间有gap,就是过拟合了(推荐使用“R2+Dropout”)。

l   在训练中,要对各种参数进行更新(推荐使用Adam)。

l   最后,还有对超参数进行调优的方法。

猜你喜欢

转载自www.cnblogs.com/yun-an/p/10290376.html
今日推荐