这些deep learning(rnn、cnn)调参的经验值得分享

 

    由于机器学习(包括神经网络)调参的经验内容比较多,我的回答篇幅会较长些,我尽量浓缩每个知识点,欢迎各位讨论指点。

 

    深度神经网络,尤其是卷积神经网络(CNN)允许由多个隐藏层组成的计算模型来学习具有多个抽象层次的数据表示。这些方法大大改善了视觉对象识别,对象检测,文本识别以及药物发现和基因组学等许多领域的现状。

 

    另外,实际上在这个主题上全球已经发表了很多实用的论文,并且已经提供了一些高质量的开源机器学习工具包。然而,它可能缺乏关于如何从零开始实现不错的机器学习模型的一些实践细节。在这里将介绍一些实战性的经验技巧,即通过一些实用技巧用于快速构建和优化自己机器学习模型。

 

    假设你已经知道了机器学习的基本知识,下面我们将在机器学习模型,尤其是图像相关任务的CNN中介绍实现细节(技巧或提示),主要包括6个方面:

 

    激活功能的选择;

 

    数据增强;

 

    对图像进行预处理;

 

    网络的初始化;

 

    训练期间的技巧;

 

    适当的正规化。

 

    激活函数的选择

 

    深度神经网络的关键因素之一是激活函数,将非线性带入网络。这里将介绍一些流行的激活函数的选择技巧,并给出一点建议。

 

    一般神经网络可以选择Adam,因为Adam收敛速度的确要快一些,但结果总是不如其他优化算法。

 

    Relu并不是一定比Tanh好,如果不太懂的话,用在不合适的网络结构中,可能会导致梯度消失。

 

    relu+bn。这套好基友组合是万精油,可以满足95%的情况,sigmoid也可以组合搭配,但效果总是没有比relu好。

 

    训练期间一些技巧

 

    首先考虑滤波器和池大小。在训练期间,输入图像的大小优选为2的幂方,诸如32(例如,CIFAR-10),64,224(例如,常用的ImageNet),384或512等。此外,重要的是采用零填充的小滤波器(如3×3)和小跨度(如1),不仅减少了参数数量,而且提高了整个深度网络的准确率。同时,上面提到的一个特殊情况,即具有步伐为1的3×3滤波器可以保持图像/特征图的空间大小。对于池化层,常用的池化大小为2×2。

 

    要选择适合的学习率。建议用小批量数据(minibatch)来分割批次去训练。因此,如果您采取这种方法,则不应总是更改学习率。为了获得合适的learnigrate,利用验证集是一个有效的方法。通常,训练开始时一般学习率初设为0.1。在实践中,如果你看到你在验证集上停止了进展,把学习率除以2(或5),并继续训练,这可能会给你意想不到的惊喜。

 

    数据增强

 

    由于深层网络需要训练大量训练图像才能获得满意的性能,如果原始图像数据集包含有限的训练图像,最好是进行数据增强以提高性能。而且,在训练深度网络时,数据增强成为必须要做的事情。

 

    数据增强有许多方法,比如流行的水平翻转,随机作物和颜色抖动。此外,您可以尝试多个不同处理的组合,例如同时进行旋转和随机缩放。此外,可以尝试将所有像素的饱和度和值(HSV颜色空间的S和V分量)提高到0.25和4之间(对于片内的所有像素都是相同的),将这些值乘以0.7和1.4,并添加到-0.1和0.1之间的值。此外,您可以在图像/色块中的所有像素的色调(HSV的H分量)之间添加[-0.1,0.1]之间的值。

 

    对图像进行预处理

 

    现在我们已经获得了大量的培训样本(图像),但请不要急!其实有必要对这些图像/作物进行预处理。在本节中,我们将介绍几种预处理方法。

 

    第一个简单的预处理方法是对数据进行归一化处理,然后对它们进行正则化处理,这两行代码如下所示:

 

    其中,X是输入数据。这种预处理的另一种形式是对每个维度进行归一化,使维度上的最小值和最大值分别为-1和1。如果你有理由相信不同的输入特征具有不同的尺度(或单位),那么应用这个预处理只是有意义的,但它们应该与学习算法大致同等重要。在图像的情况下,像素的相对尺寸已经近似相等(并且范围从0到255),因此不必严格执行这个额外的预处理步骤。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI周红伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值