CS231n(3):课程作业# 2简介

来源:互联网 发布:linux杀进程命令 编辑:程序博客网 时间:2024/06/03 18:30

在本作业中,你将练习编写反向传播代码,训练神经网络和卷积神经网络。本作业的目标如下:

  • 理解神经网络及其分层结构。
  • 理解并实现(向量化)反向传播
  • 实现多个用于神经网络最优化的更新方法
  • 实现用于训练深度网络的批量归一化( batch normalization )。
  • 实现随机失活dropout)。
  • 进行高效的交叉验证并为神经网络结构找到最好的超参数。

  • 理解卷积神经网络的结构,并积累在数据集上训练此类模型的经验。

提交作业

无论你是在云终端还是在本地完成作业,一旦完成作业,就运行collectSubmission.sh脚本;这样将会产生一个assignment2.zip的文件,然后将这个文件上传到你的dropbox中这门课的作业页面

Q1:全连接神经网络(30分)

IPython Notebook文件FullyConnectedNets.ipynb将会向你介绍我们的模块化设计,然后使用不同的层来构建任意深度的全连接网络。为了对模型进行最优化,还需要实现几个常用的更新方法。

Q2:批量归一化(30分)

在IPython Notebook文件BatchNormalization.ipynb中,你需要实现批量归一化,然后将其应用于深度全连接网络的训练中。

Q3:随机失活(Dropout)(10分)

IPython Notebook文件Dropout.ipynb将会帮助你需要实现随机失活,然后在模型泛化中检查它的效果。

Q4:在CIFAR-10上运行卷积神经网络(30分)

在IPython Notebook文件ConvolutionalNetworks.ipynb中,你将实现几个卷积神经网络中常用的新的层。你将在CIFAR-10上训练一个深度较浅的卷积神经网络,然后由你决定竭尽所能地训练处一个最好网络。

Q5:做点儿其他的!(+10分)

在训练网络的过程中,为了得到更好的结果,你可以自由实现任何想法。你可以修改训练器(solver),实现额外的层,使用不同的正则化方法,使用模型集成,或者任何其它你想到的东西。如果你实现了作业要求以外的内容,那么将得到加分。

全文完。


原创粉丝点击