首页 版块 访问AI主站 注册 发帖
B11040805
3
积分 积分商城
9
获赞
【百度技术学院机器学习训练营第二期】-实验作业
Ta的回复 :1、网络结构:计算每层网络结构和输入输出尺寸和参数个数。不加BN?更深?每层的尺寸变化?更多结构? 输入的尺寸为[128,3,32,32],128为batch size,表示图片有3个通道,大小为32*32; 第一层CNN卷积核为5*5,步长为1*1,卷积核个数20,,每个卷积核的feature map为(32-5)/1+1=28,而池化层窗长为2*2,步长2*2,池化之后大小为(28-2)/2+1=14,那么第一层CNN的输出为[128,20,14,14],参数量为CNN中所有卷积核的weight矩阵大小加bias向量大小,参数量为(5*5+5)*20*3=1800。加BN层不影响参数量大小,BN起到的作用在小训练集对网络启动稳定收敛的作用,在大数据集上影响不大; 第二层CNN计算同理,输入为[128,20,14,14],输出为[128,50,5,5],参数量为(5*5+5)*50*20=30000; 第三层CNN输入为[128,50,5,5],输出为[128,50,1,1],参数量为(5*5+5)*50*50=75000 输出的尺寸为[128,10]。 可以尝试更深层的CNN,但需要更小心的调节训练参数防止梯度消失问题。 2、尝试不同的Loss函数和优化算法(SGD、Momentum、Adagrad、Adam),观察效果的变化,最好的选择是什么?为什么? 在分类问题上我们一般都使用cross entropy作为损失函数,尝试四种不同的优化算法,发现各个算法最终收敛情况如下: 优化算法 验证集loss 验证集acc SGD 1.38066 0.50119 Momentum 1.00568 0.65526 Adagrad 1.27325 0.55014 Adam 1.70402 0.63519 可以看到Momentum方法最终验证集的loss最低,acc最高;而Adam次之,SGD是最差的。 3、尝试不同的样本数量:随着每个类别样本数量由少变多,模型准确率变化的曲线是怎样的?每个类别至少有多少张图片可支撑一个准确率尚可的模型? 使用图像分类模型识别世界的万事万物是否可行?(自己编写数据读取程序,而不用默认函数;先完成同学可以在班级群内推送代码,供同学们参考) 曲线的变化随着样本增加越来越接近100%。每个类别有3万张以上可以训练出一个识别准确率尚可的模型。理论上是可行的,需要注意世界万物种类繁多,很难将其穷测,需要把万物中相似的类别聚合,减少总的类别个数,否则类别过多模型收敛不好。 4、使用模型实践:拍一些身边宠物狗的照片(或网上找),处理成32*32尺寸后试试模型效果,准或不准的原因是什么? 我试了一些网上下载的图片,发现识别准主要依靠狗或者猫在画面中比较突出,能显著的从背景中抠出来,而像素或者清晰度不是主要的决定因素。
65
【百度技术学院机器学习训练营第二期】-实验作业
Ta的回复 :第二期03班 B11040805
65
切换版块
智能客服