demi的博客

深度学习中的优化调参细节总结

深度学习中的技巧:

初始化参数尽量小一些,这样 softmax 的回归输出更加接近均匀分布,使得刚开始网络并不确信数据属于哪一类;另一方面从数值优化上看我们希望我们的参数具有一致的方差(一致的数量级),这样我们的梯度下降法下降也会更快。同时为了使每一层的激励值保持一定的方差,我们在初始化参数(不包括偏置项)的方差可以与输入神经元的平方根成反比

学习率(learning rate)的设置应该随着迭代次数的增加而减小,个人比较喜欢每迭代完一次epoch也就是整个数据过一遍,然后对学习率进行变化,这样能够保证每个样本得到了公平的对待

滑动平均模型,在训练的过程中不断的对参数求滑动平均这样能够更有效的保持稳定性,使其对当前参数更新不敏感。例如加动量项的随机梯度下降法就是在学习率上应用滑动平均模型。

在验证集上微小的提升未必可信,一个常用的准则是增加了30个以上的正确样本,能够比较确信算法有了一定的提升

卷积神经网络中的“池化层”

池化(Pooling)是卷积神经网络中另一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。

一定要在线性空间(Linear Space)中做光照计算

啥是Gamma Correction?什么是在线性空间(Linear Space)中做光照计算?先介绍下啥是Gamma(别急,先看下去,这是解释线性空间的前置知识)。这词儿N多人听说过,而且也被各种滥用。这里只解释游戏即时渲染相关的概念。首先,就是老式CRT显示器的一个问题,给显示器输入的电压和输出的亮度不成线性关系