首页 版块 访问AI主站 注册 发帖
星光ld1
2564
积分 积分商城
27
获赞
【百度技术学院机器学习训练营第二期】-实验作业
Ta的回复 :回答比较长,这边先放上第一问: 1. 网络结构: 1) 首层输入 输入层,输出(-1, 3, 32, 32) 参数量 0 2) 第一卷积池化batch-normalization Conv+Pool+Bacth,输出(-1, 20, 14, 14) 这边有三个操作分别是卷积、池化、批归一化 其中只有卷积操作有训练参数 卷积核为 5x5,共20个卷积核 总参数量 (5*5+1)*20=520 池化核 2x2, 步长2 输出维度分析: 卷积后变为(-1, 20, 32-5+1, 32-5+1)=(-1, 20, 28, 28) 池化后变为(-1, 20, 28/2, 28/2)=(-1, 20, 14, 14) 批归一化后维度不变(-1, 20, 14, 14) 3) 第二卷积池化batch-normalization Conv+Pool+Bacth,输出(-1, 50, 5, 5) 这边有三个操作分别是卷积、池化、批归一化 其中只有卷积操作有训练参数 卷积核为 5x5,共50个卷积核 总参数量 (5*5+1)*50=1300 池化核 2x2, 步长2 输出维度分析: 卷积后变为(-1, 50, 14-5+1, 14-5+1)=(-1, 50, 10, 10) 池化后变为(-1, 50, 10/2, 10/2)=(-1, 50, 5, 5) 批归一化后维度不变(-1, 50, 5, 5) 3) 第三卷积池化 Conv+Pool,输出(-1, 50, 1, 1) 这边有两个操作分别是卷积、池化 其中只有卷积操作有训练参数 卷积核为 5x5,共50个卷积核 总参数量 (5*5+1)*50=1300 池化核 2x2, 步长2 输出维度分析: 卷积后变为(-1, 50, 5-5+1, 5-5+1)=(-1, 50, 1, 1) 池化这边感觉其实不必要在池化了图像特征图尺度已经为1了没必要再池化,池化过程应该是通过padding的方式进行保持了图像的大小(-1, 50, 1, 1) 4) FC layer 输出(-1, 10) 这边应该涉及到三个操作: Flatten、FC、Softmax 其中只有FC有训练参数 总参数量 (50+1)*10=510 整个网络参数量: 3630 输出维度分析: Flatten后(-1, 50) FC后(-1, 10) Softmax后(-1,10) 网络总参数520+1300*2+510=3630
65
【百度技术学院机器学习训练营第二期】-实验作业
Ta的回复 :补充:BN的作用是层内实现缓解Internal Covariate Shift问题,使得各层权重参数分布的均值方差落在一定范围内,相当于一个全局归一化层,可以使用大的学习率,从而加快训练速度,对于比较深的网络有无batch-normalization有较大的影响
65
【百度技术学院机器学习训练营第二期】-实验作业
Ta的回复 :2. 不同Loss和优化算法的影响 优化算法上: Adam优化相对较快,采用了自适应学习率的相关技术,实现多变量之间学习速率差异,以及优化的过去信息依赖,相当于结合了Adagrad和Momentum算法两者的优势,对于大部分问题可以在较短的时间内获得较好的解,但是查阅资料可以发现尽管Adam有良好适应性,但是通过精细调节学习率SGD算法下,往往网络可以获得更佳的表现 不同Loss: 常见loss主要有MSE,CEE,MAE等 通过尝试MSE替换CEE发现交叉熵做分类的效果相比于MSE更好。 尝试分析: 直觉上,如果MSE去评估,实际观测获得的是0 1的离散结果,但是其实 其他类别仍然存在发生概率,采用这种描述,没有道理,而且MSE会将错误类别趋于平均化,上述调整对于分类问题是不必要的,而交叉熵通过分布采样的观点,衡量了两个分布之间的差异,认为实际的观测是潜藏的分布的抽样更make sense 数值上,sigmoid/cross-entropy+MSE会使得问题的优化变成一个非凸优化问题,导致优化过程掉入local-optimum的概率增大,而采用交叉熵仍然保持凸优化问题的本质。另一方面,使用MSE时,w、b的梯度均与sigmoid函数对z的偏导有关系,而sigmoid函数的偏导在自变量非常大或者非常小时,偏导数的值接近于零,这将导致w、b的梯度将不会变化,也就是出现所谓的梯度消失现象;而使用cross-entropy时,w、b的梯度就不会出现上述的情况 所以Loss在分类问题上最好选择交叉熵或者类似的基于概率分布描述的loss,优化器上Adam优化器更计算经济,能够较快拿到一个比较好的结果。
65
【百度技术学院机器学习训练营第二期】-实验作业
Ta的回复 :是(50+1)*10或者你可以理解为50*10+10,其中50*10是前一层输出的50个结果与后层输出之间的连接权重,10为作用在结果上的偏置
65
【百度技术学院机器学习训练营第二期】-实验作业
Ta的回复 :4. 不太准。原因: 1)模型在训练和验证集合上的准确率均不高,且验证集准确率明显低于训练集,反应模型实际并没能够很好的学习图像分类任务且在训练过程中存在过拟合现象。从这个角度应该考虑修改模型结构,拓宽模型的假设空间,使得模型能够更好的学习图像分类任务,同时加入正则化、Dropout、EarlyStop等技巧防止过拟合的发生。 2)测试图像与验证和训练图像偏差较大,远远偏离了训练和测试数据同分布的假设,导致预测不准确。上述偏差可能来源于图像的类别不在训练和测试集内,图像的角度,大小,明暗,色彩等原因。从这个角度可以考虑通过数据增强对于模型的训练数据加以旋转、平移、放缩、截取部分等方式进行数据增强,使得训练数据与测试数据的分布尽可能接近。
65
【百度技术学院机器学习训练营第二期】-实验作业
Ta的回复 :下面是题三的结果: 采用均衡采样5个训练batch上每个类别构成训练集和验证集,每个类别的采样数分别为[10,20,50,100,200,500,1000,2000,5000],并将构成的集合80%用于训练,20%用于验证,在训练过程中采用early stop(基于验证集的准确率,patients=3)。最后测试准确率在完整的测试集上进行即test10,以实现比较准确的泛化能力评估。 [图片] 从上述结果中可以看出,训练准确率与样本对数基本呈现线性关系,随着样本数的提高,准确率逐渐提高,且可以看出在当前模型架构下每个类别sample 500个样本可以获得一个尚可的模型(基于肘部法则的判断)
65
【百度技术学院机器学习训练营第二期】-实验作业
Ta的回复 :忘记跟帖开头注明了: 第二期02班 + L
65
【百度技术学院机器学习训练营第二期】-实验作业
Ta的回复 :其他问题上不知道,这个问题上目前我做出来的结果还是与sample的10对数基本线性的
65
【百度技术学院机器学习训练营第二期】-实验作业
Ta的回复 :下面是问题5的VGG net构建: [代码] VGG16,VGG19为原始的VGG版本,VGG16_bn,VGG19_bn为增加了batch-norm的VGG版本。VGG16,VGG19,VGG16_bn,VGG19_bn的计算准确率分别为0.0977,0.1021,0.8156,0.8177.
65
原帖已删除
Ta的回复 :为百度点赞
0
原帖已删除
Ta的回复 :2020更加强大
0
原帖已删除
Ta的回复 :这么多度小*吗?
0
原帖已删除
Ta的回复 :嗯哒,后面去体验一下
0
原帖已删除
Ta的回复 :对哒,有机会一定要都试试
0
百度福利专区的积分夺宝 想夺个笔记本咋就这么难!
Ta的回复 :小哥,期望几百积分能抽中笔记本,你以为你是欧皇吗?还是老老实实攒积分吧
14
建议,aistudio的比赛能加个难易程度标签吗
Ta的回复 :有道理+1
2
原帖已删除
Ta的回复 :说的对
0
积分兑换扣除后会降低自己的等级吗?
Ta的回复 :会降的吧
4
请问模型不设置cpu或gpu运行场所会报错吗?
Ta的回复 :你没发出代码,原因不清楚啊,里面有没有定义place?
3
PaddlePaddle如何只进行卷积运算不训练
Ta的回复 :对于那一层把训练梯度设置`stop_gradient=True`就可以吧? 参考(https://www.paddlepaddle.org.cn/documentation/docs/zh/faq/train_cn.html#q-stop-gradient-true) 如果是定义的模型应该只要把mode改为eval模式就可以
2
切换版块
智能客服