第五章:神经网络
神经网络本事自己比较熟悉,所以只记录自己之前印象不深的知识点:局部最优解与全局最优解
局部最优解与全局最优解
多层神经网络的叠加往往会导致待优化的损失函数非凸,所以基于梯度反向传播的梯度下降法无法保证优化结果收敛到全局最优解。实践中有三种方法帮助神经网络的优化结果尽量跳出局部最优解:
- 使用不同的参数初始值开始优化,多次试验后选择优化结果最好的一组参数。
- **模拟退化(simulated annealing)**技术,每一步都以一定概率接受比当前解更差的结果,从而有助于跳出局部最小。在迭代过程中,接受次优解的概率要随迭代次数增加而降低,以保证算法稳定收敛。虽然模拟退火可以跳出局部最优解,有时也会跳出全局最优解。
- 随机梯度下降法,这个比较常见,每次迭代只使用小批量的数据。这样在计算梯度的过程中加入了随机因素。(不过我认为随机梯度下降法在减小计算量上作用更大😅)
需要注意的是,上述方法都是启发式的方法,理论上缺乏保障。