• finetune


      微调的具体方法和技巧有很多种,这里总结了在不同场景下的微调技巧:

    1)新数据集比较小且和原数据集相似。因为新数据集比较小(比如<5000),如果fine-tune可能会过拟合;又因为新旧数据集类似,我们期望他们高层特征类似,可以使用预训练网络当做特征提取器,用提取的特征训练线性分类器。

    2)新数据集大且和原数据集相似。因为新数据集足够大(比如>10000),可以fine-tune整个网络。

    3)新数据集小且和原数据集不相似。新数据集小,最好不要fine-tune,和原数据集不类似,最好也不使用高层特征。这时可是使用前面层的特征来训练SVM分类器。

    4)新数据集大且和原数据集不相似。因为新数据集足够大,可以重新训练。但是实践中fine-tune预训练模型还是有益的。新数据集足够大,可以fine-tine整个网络。

      fine-tune实践建议:

    1)预训练模型的限制。使用预训练模型,受限于其网络架构。例如,不能随意从预训练模型取出卷积层。但是因为参数共享,可以输入任意大小的图像;卷积层和池化层对输入数据大小没有要求;全连接层对输入大小没有要求,输出大小固定。

    2)学习率。与重新训练相比,fine-tune要使用更小的学习率。因为训练好的网络模型权重已经平滑,我们不希望太快扭曲(distort)它们(尤其是当随机初始化线性分类器来分类预训练模型提取的特征时)。

  • 相关阅读:
    java Socket Tcp 浏览器和服务器(二)
    java Socket Tcp 浏览器和服务器(一)
    java Socket Tcp示例三则(服务端处理数据、上传文件)
    java Socket Udp聊天
    centos 图形界面和命令行界面切换
    python 文件中的中文编码解决方法
    PostgreSQL与MySQL比较(转)
    Python 的开发环境
    Windows 下 pip和easy_install 的安装与使用
    Linux 下的下载文件命令
  • 原文地址:https://www.cnblogs.com/llfctt/p/10278162.html
Copyright © 2020-2023  润新知