zoukankan      html  css  js  c++  java
  • lesson3 overfitting -fastai

    VGG:3*3
    Imagenet:7*7,9*9
    论文中证明3*3更胜一筹,但是用多少并没有定论
    微调:删掉模型的中间
    只对最后一层微调:model.pop,就删掉了最后一层

    如何决定训练多少层?:·看论文上的可视化结构,清楚每一层的语义层次,哪一层的语义操作和自己的模型相关  ·试验

    欠拟合:使用的模型不够复杂不够强大到能完成你的任务 或者 没有足够的参数;
    过拟合:参数太多,训练时间太长,训练集上的准确率远远高于测试集和验证集,意味着模型变得过分严格的识别训练集上的内容

    如何把vgg的权重加到去掉dropout的vgg模型中?:return 二分之一的权重~没有dropout但相当于dropout

    卷积层是进行计算的地方,dense layer是内存所在地


    避免过拟合但是不删除重要信息:1增加更多数据 2数据扩增 3使用更多泛化结构 4正则化,如dropout,L2正则化
    ---》由于数据扩增,我们不能进行任何的与计算,因此需要重新计算卷积层而耗费时间
    ---》何时需要数据扩增?比如猫狗,不需要上下反转,因为从来没有看到过倒立着的猫狗;但是可以旋转、resize,因为由于拍摄方式不同,可以得到这些图片
    ---》对图片变为黑白算是一种扩增吗?:不,因为kaggle的图片就是彩色的,颜色也是一种重要信息,去掉了颜色,就把判断过程复杂化了
    ---》可以在输入图片处dropout吗?:简单的说是ok的,但是删除模型信息和删除输入信息是不同的,前者可以有效避免过拟合,后面会丢失信息

    建立batches:使用数据生成器image.ImageDtaGenerator

    验证集没有数据增加和变动,是持续固定的:因为它是检查的标准

    batch normalnization:数值-均值/标准差, 给数值不同的权重,对loss的影响也很不同;当输入数值差距很大时,特别是使用softmax,会让朕个模型变得很脆弱,意味着很难学会获得最好的权重组
    ---》总是需要标准化输入信息
    ---》实际情况中,不仅要标准化输入值,也要标准化激活值(但是不仅仅是-均值/标准差,因为这样简单的操作并不会起作用,SGD是很难对付的,如果它想要提高某个权重,但是你想通过-均值/标准差来对抗它,那么SGD又会重新提高该权重
    ---》采用bacthnorm:(1)快十倍,因为一般会使用高10倍的学习率 (2)能够在不需要删除任何模型信息的情况下,减少过拟合
    ---》batchnorm的实现:像标准化输入层一样标准化中间层,同时增加了两个可训练的参数,其中v一个参数乘以所有的激活值,另一个参数和所有的激活值相加;这两个参数也会融合到梯度计算中,因此现在模型知道它能够重新调整所有权重(在不需要把任何一个权重删除的情况下)
    从而有效的控制权重 ~ 放在dense layers之后,当作用于卷积层时,需要BatchNormalization(axis=1)

    np.expand_dims:keras卷积操作中,希望又一定量的通道,所以对于灰度图的输入,需要要用~来加入empty dimension
    Flatten():讲输入的图片转化为向量
    epoch=1,学习率设为0.1,epoch=2,学习率设为0.01,即epoch增长的同时,降低学习率;在每个epoch的多个batch中,观察知道出现过拟合时停止学习率的减小

    Ensembing(集合):建立多个版本的模型然后把他们组合起来,来提高每个模型的性能 -- 即把不同学习率的model组合,最后return model
    同一个model可以获取6个:相同的方式进行训练,但是以不同的随机起点开始
    ---》all_preds.shape为(6,10000,10),即10000个输入测试图片,10个输出,6个model
    ---》all_preds.mean就是找出不同model的错误点,计算平均值

  • 相关阅读:
    2018 蓝桥杯省赛 B 组模拟赛(一)-年龄
    在win10系统下安装和卸载Ubuntu系统(为了搞双系统)的各种办法
    2018 CCPC 中国大学生程序设计竞赛-网络选拔赛 1004(D题 )Find Integer(三角函数+费马大定理)
    HDU(杭州电子科技大学) 2614 Beat (BFS写法)
    SQL server用到的SQL语句备份下
    【SQL Server】SQL触发器经验详解
    SQL SERVER 语句大全
    sqlserver 触发器实例代码
    触发器deleted 表和 inserted 表详解
    SQL server触发器中 update insert delete 分别给写个例子被。
  • 原文地址:https://www.cnblogs.com/rosyYY/p/8692378.html
Copyright © 2011-2022 走看看