首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我们一定要用随机权重初始化神经网络

编译:yxy

出品:ATYUN订阅号

必须将人工神经网络的权重初始化为小的随机数。这是因为这是用于训练模型的随机优化算法的期望,即随机梯度下降。

要理解这种解决问题的方法,首先必须了解非确定性和随机算法的作用,以及随机优化算法在搜索过程中利用随机性的要求。

在这篇文章中,你会了解为什么神经网络权重必须被随机初始化的全部背景知识。

阅读这篇文章后,你会知道:

对于具有挑战性的问题的非确定性和随机算法的必要性。

在随机优化算法中初始化和搜索期间使用随机性。

随机梯度下降是随机优化算法,需要随机初始化网络权重。

让我们开始吧。

这篇文章分为4部分; 他们是:

确定性和非确定性算法

随机搜索算法

神经网络中的随机初始化

初始化方法

确定性和非确定性算法

经典算法是确定性的。例如,对列表进行排序的算法。

给定一个未排序的列表,排序算法,比如冒泡排序或快速排序,系统地对列表进行排序,直到得到有序的结果。确定性的意思是算法每次给出相同的列表,将以完全相同的方式执行。它将在程序的每个步骤中进行相同的动作。

确定性算法确实很不错,因为它们可以保证最佳,或最差,或平均的运行时间。可惜,它们并不适合所有问题。

有些问题对计算机来说很难。有可能是由于组合的数量;也有可能因为数据的大小。这些问题往往难到,确定性算法不能用于有效地解决它们。算法当然可以运行,但想要得出结果可能会一直运行到宇宙终结。

于是我们使用非确定性算法替换它。这些算法在执行算法时使用随机性元素进行决策。这意味着当对同一数据重新运行相同的算法时,会有不同的步骤顺序。

他们可以极大地加速获得解决方案的过程,但解决方案将是近似的,也许很好,但通常不是最佳。非确定性算法通常无法对运行时间或所找到的解决方案的质量做出有力保证。

这通常已经不错了,因为问题非常难,任何较好的解决方案通常都会令人满意。

随机搜索算法

搜索问题通常非常具有挑战性,需要使用不确定的算法,这些算法大量地利用了随机性。

算法本身并不是随机的;相反,他们会谨慎使用随机性。它们在一个边界内是随机的,被称为随机算法。

搜索的增量或步进式的性质通常意味着程序和算法被称为从初始状态或位置到最终状态或位置的最优化。例如,随机优化问题或随机优化算法。

例如,遗传算法,模拟退火和随机梯度下降。

搜索过程是从可能的解决方案空间的起点开始,向一些足够好的解决方案递增的。

它们在使用随机性方面具有共同特征,例如:

在初始化期间使用随机性。

在搜索过程中使用随机性。

我们对搜索空间的结构一无所知。因此,为了消除搜索过程中的偏差,我们从随机选择的位置开始。

随着搜索过程的展开,我们有可能陷入搜索空间的不利区域。在搜索过程中使用随机性,会让你有可能摆脱困境,找到更好的最终候选方案。

陷入困境并返回不太好的解决方案被称为陷入局部最优。在搜索过程中随机初始化和随机性一起使用。

如果我们将搜索找到的任何解决方案视为临时或候选,并且搜索过程可以多次执行,它们可以更好地协同工作。

这为随机搜索过程提供了多个机会来启动和遍历候选解决方案的空间,以寻找更好的候选解决方案 – 即所谓的全局最优解。

候选解决方案空间的导航通常使用山脉和山谷的进行类比和描述(例如,fitness landscape)。如果我们在搜索过程中最大化了得分,我们可以将空间中的“小山丘”视为局部最优,将最大的山丘视为全局最优。

神经网络中的随机初始化

我们通常使用被称为随机梯度下降的随机优化算法训练人工神经网络。

这个算法使用随机性为正在学习的数据中输入到输出的特定映射函数找到足够好的权重组合。这意味着每次运行训练算法时,特定训练数据的特定网络将拟合具有不同模型技能的不同网络。

这是一个特征,而不是一个bug。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180807B1E36X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券