machine-learning - 为什么神经网络中权重的随机初始化会起作用?

标签 machine-learning neural-network

神经网络权重为何的问题cannot be initialized as 0's已经被问过很多次了。答案很简单:零初始权重将导致层中的所有节点学习相同的东西,因此对称性必须被打破。

但是,我无法理解的是,为什么将权重初始化为一些接近于零的随机数。甚至更先进的初始化技术(例如 Xavier)也仅修改方差,使其保持接近于零。链接问题中的一些答案指出存在多个局部最优,但我严重怀疑这个论点的有效性,因为以下原因:

单个逻辑回归的(通常)成本函数具有唯一的最小值。尽管如此,这一见解可能无法推广到多个节点,所以让我们暂时忘记它。

为了论证的目的,假设存在多个局部最优值。那么正确的随机化技术不应该是在整个可能权重域上的蒙特卡罗式随机化技术,而不是一些大约为零的随机 epsilon 吗?是什么阻止权重在几次迭代后再次收敛?我能想到的唯一理由是,原点处存在全局最大值,并且所有局部最优值都很好地“径向”分布,因此任何方向上的微小扰动都足以使您沿着梯度向下移动到不同的局部最优值,即可能性极小。

PS1:我在 Stack Overflow 主站点上问这个问题是因为我的引用资料在这里。

PS2:为什么初始权重的方差以这种方式缩放的答案可以在here中找到。 。然而,它并没有解决我的问题,即为什么随机初始化会起作用,因为权重可能会收敛,或者更确切地说,权重会“发散”以“学习”不同的特征。

最佳答案

您已经找到了主要原因:我们需要不同的内核,以便内核(节点)区分它们的学习。

首先,随机初始化并不总是有效;有时模型无法收敛,具体取决于您对模型结构和超参数的调整程度;这从早期迭代的损失函数中可以明显看出。

对于某些应用,存在局部最小值。然而,在实际使用中,问题复杂性的令人高兴的结果是这些最小值具有非常相似的精度。简而言之,我们找到哪种解决方案并不重要,只要我们找到一个即可。例如,在图像分类(例如 ImageNet 竞赛)中,有许多特征可用于识别照片。与(更简单的)PCA 一样,当我们拥有一组与所需输出高度相关且彼此之间高度相关的特征时,我们使用哪一组特征并不重要。这些功能与 CNN 的内核同源。

关于machine-learning - 为什么神经网络中权重的随机初始化会起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47103229/

相关文章:

machine-learning - 涉及数字范围作为标签的多标签分类

frameworks - 机器学习人工智能框架的设计

machine-learning - 神经网络(输入和输出层)

python - 如何通过 Keras Wrapper(或一般)传递参数?

opencv - 用于对象分类的神经网络的优化配置

algorithm - 对角簇的 K-Means

algorithm - 有关不同计算机科学领域的资源

machine-learning - 如何结合频谱聚类的拆分运行以获得巨大的亲和性矩阵

neural-network - 反向传播的不同损失函数

python - 多层感知器,在 Python 中可视化决策边界 (2D)