[论文解读] RSO: A Gradient Free Sampling Based Approach For Training Deep Neural Networks
RSO(随机搜索优化)是一种无梯度、基于采样的方法,用于训练深度神经网络,通过迭代测试网络权重的扰动,并仅在小批量损失减少时更新权重。它在MNIST上达到99.1%的准确率,在CIFAR-10上达到81.8%,且参数更新次数远少于SGD,表明在不使用反向传播或学习率调优的情况下,围绕初始化进行随机搜索也能非常有效。
We propose RSO (random search optimization), a gradient free Markov Chain Monte Carlo search based approach for training deep neural networks. To this end, RSO adds a perturbation to a weight in a deep neural network and tests if it reduces the loss on a mini-batch. If this reduces the loss, the weight is updated, otherwise the existing weight is retained. Surprisingly, we find that repeating this process a few times for each weight is sufficient to train a deep neural network. The number of weight updates for RSO is an order of magnitude lesser when compared to backpropagation with SGD. RSO can make aggressive weight updates in each step as there is no concept of learning rate. The weight update step for individual layers is also not coupled with the magnitude of the loss. RSO is evaluated on classification tasks on MNIST and CIFAR-10 datasets with deep neural networks of 6 to 10 layers where it achieves an accuracy of 99.1% and 81.8% respectively. We also find that after updating the weights just 5 times, the algorithm obtains a classification accuracy of 98% on MNIST.
研究动机与目标
- 探索无梯度优化通过随机采样是否能有效训练深度神经网络而不依赖反向传播。
- 评估在随机初始化权重附近进行随机搜索是否能实现与标准反向传播相当的性能。
- 研究是否可显著减少基于采样方法训练深度网络时的参数更新次数。
- 评估在过参数化的深度网络中,是否可行以更简单、不可微的优化策略替代反向传播。
提出的方法
- RSO通过扰动单个权重并测试其在小批量上损失是否下降,执行类似马尔可夫链蒙特卡洛的搜索。
- 仅当扰动后的权重使损失降低时才更新权重,更新规则为:$ w_{i+1} = \begin{cases} w_i, & f(x,w_i) \leq f(x,w_i + \Delta w_i) \\ w_i + \Delta w_i, & f(x,w_i) > f(x,w_i + \Delta w_i) \end{cases} $
- 该算法按顺序逐个更新权重,每次仅测试一个扰动,并保留表现更优的权重。
- 通过缓存中间层激活值,复用前向传播结果以减少深层网络优化时的计算成本。
- 该方法避免了学习率超参数,并且不依赖梯度大小或方向进行更新。
- 该方法在MNIST和CIFAR-10上的图像分类任务中,使用6-10层CNN进行评估,仅使用RSO进行训练,未引入其他优化器。
实验结果
研究问题
- RQ1像RSO这样的无梯度采样方法是否能有效训练深度神经网络而不依赖反向传播?
- RQ2RSO中的参数更新次数与标准SGD训练相比,在收敛速度和最终准确率方面如何?
- RQ3在过参数化的深度网络中,围绕随机初始化的随机搜索是否足以找到良好的极小值?
- RQ4RSO是否能在不进行学习率调优或梯度计算的情况下,在MNIST和CIFAR-10等标准基准上实现具有竞争力的性能?
主要发现
- RSO在MNIST上使用6-10层CNN实现了99.1%的测试准确率,与标准反向传播方法相当。
- 在CIFAR-10上,RSO达到81.8%的准确率,表明其在更复杂数据集上的有效性。
- 仅在每层进行5次参数更新后,RSO在MNIST上即达到98%的准确率,表明其初始收敛速度极快。
- 尽管单次更新计算成本更高,RSO达到竞争性性能所需的参数更新次数比SGD少一个数量级。
- 顺序权重更新在收敛速度上优于并行策略,尤其在CIFAR-10上表现更明显,尽管通过更长的训练周期,并行化可缩小差距。
- 缓存中间激活值使MNIST的FLOPs降低3.0倍,更深网络中降低3.5倍,显著提升了训练效率。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。