1、脑与认知科学导论课程实验报告要求实验网址:https:/cs.stanford.edu/people/karpathy/convnetjs/demo/cifar10.html实验要求:1)加载预训练 CNN网络,观察其物体识别效果以及每层的中间结果,分析 CNN与人脑视觉信息加工机制的异同2)设计一个新的 CNN网络结构并对其进行训练,观察新网络的物体识别能力随时间变化的情况,分析网络结构改变对物体识别能力的影响请同学们在 12月 18号考试前发到助教邮箱:附录 ConvNetJS代码介绍网络层输入层:type: input, out_sx:24, out_sy:24, out_depth:3
2、 #输入为 24*24*3的 RGB图片type:层类型out_sx:输入的 x维度out_sy:输入的 y维度out_depth:通道数(channel)卷积层:type:conv,sx:3,sy:4,pad:1, filters:10, stride:1, activation:relutype:层类型sx:卷积核尺寸,若没有设置 sy,则卷积核大小为 sx*sxsy:可不予设置,若设置,卷积核大小为 sx*sypad:对于无法卷积的边界部分进行补零,若不设置 pad,默认 pad=0,即不进行补零操作filters:卷积层的输出通道数stride:步长,卷积核移动步长activation
3、:激活函数(有:sigmoid,tanh,relu等) ,可不予设置若卷积层输入为 W1xH1xD1,输出为 W2xH2xD2,则满足:W2 = (W1 - sx + pad*2)/stride + 1H2 = (H1 - sy + pad*2)/stride + 1D2 = filters池化层:type:pool, sx:2, pad:1, stride:2type:层类型sx:池化窗口大小 sx*sxpad:补零,同卷积层stride:步长,池化窗口移动步长若池化层输入为 W1xH1xD1,输出为 W2xH2xD2,则满足:W2 = (W1 - sx + pad*2)/stride +
4、1H2 = (H1 - sx + pad*2)/stride + 1D2 = D1全连接层:type:fc, num_neurons:10, activation:sigmoid, drop_prob: 0.5type:层类型num_neurons:全连接神经元个数activation:激活函数(有:sigmoid,tanh,relu等) ,可不予设置drop_prob: dropout比例(表示每次迭代扔掉的神经元比例,有利于防止过拟合) ,可不予设置分类层:type:softmax, num_classes:2type:层类型,分类可选 softmax, svm等num_classes:分
5、类个数Local Contrast Normalization Layer:type:lrn, k:1, n:3, alpha:0.1, beta:0.75局部归一化,类似 BatchNormalization层,有利于防止网络过拟合模型构建与训练模型构建:layer_defs = ;layer_defs.push(网络层) layer_defs.push(网络层) #搭建网络#创建并编译网络net = new convnetjs.Net();net.makeLayers(layer_defs);训练:trainer = new convnetjs.Trainer(net, method: s
6、gd, learning_rate: 0.01,l2_decay: 0.001, momentum: 0.9, batch_size: 10, l1_decay: 0.001);method:优化器,有sgd,windowgrad,adadelta,nesterov, adagrad等learning_rate:学习率l2_decay:L2 正则化系数momentum:sgd优化器的动量系数,其他优化器没有这一项batch_size:批数据个数l1_decay:L1 正则化系数更多详细内容及解释请查阅https:/cs.stanford.edu/people/karpathy/convnetjs/docs.html