【问题标题】:Progressing from a single neuron to two in a neural network在神经网络中从单个神经元发展到两个神经元
【发布时间】:2017-08-17 01:07:20
【问题描述】:

我发现通过simplest possible example 学习神经网络是一个很好的起点。当你像这样缩小范围时,基本的工作原理是非常容易理解的。

我认为下一步可能的最小可能是仍然只有一个隐藏层,但将隐藏层中的神经元数量从一个增加到两个,然后出现一些问题:

  1. 从单个神经元变为两个神经元(对于一项简单任务)有什么具体好处?
  2. 为什么不同的神经元用不同的随机权重初始化?这是否意味着您在 n 维环境中开始多次旅程以增加找到全局最小值的机会?
  3. 为什么从一层的所有节点向下一层的所有节点发送信号?我见过的所有数字都显示相同的多对多箭头,但没有一个解释为什么

我已经阅读了许多关于该主题的介绍文章,但我找不到任何涵盖这些问题的文章。

【问题讨论】:

    标签: machine-learning neural-network


    【解决方案1】:

    对于单个输出神经元,您只能进行二元分类。当你在输出层放置多个神经元时,你可以定义一个更复杂的分类问题。常见的情况是对 N 个类进行one-hot 编码,其中输出层中有 N 个神经元,每个神经元对应一个不同的类。 i 类的输出对于除输出 i 之外的所有输出神经元都为零,这将等于一。

    不严格要求使用不同的权重进行随机化,但可以加快网络的训练速度。由于您通常希望给定层中的每个神经元都收敛到不同的决策边界,因此以不同的随机权重开始它们会有所帮助,因为它们会更快地发散。

    没有严格要求通用 ANN 的一层中的所有神经元都连接到相邻层中的所有神经元(即全连接层)。这样做的好处之一是您可以更轻松地通过矩阵乘法计算网络输出,并且反向传播也更简单。使层完全连接允许网络产生更复杂的决策表面。从层中删除一些连接实际上与将相应的权重固定为零相同。

    【讨论】:

    • 第一段非常清楚。第二个和第三个,我仍然不明白在多对多发送信号时节点是如何协作的。或者这不能很容易地具体理解(就像一个神经元的简单例子),只是在更抽象的层面上而不了解内部工作原理,你只需要相信这些技术已经被发现可以返回良好的结果?跨度>
    • 每个神经元根据其加权输入做出二元(或近似二元)决策。从这个意义上说,全连接网络中的每个神经元的功能就像单个神经元的情况一样。不同之处在于隐藏层神经元根据其他决策(前一层的输出)做出决策。当你训练网络时,每个神经元都知道它应该关心哪些输入(来自前一层神经元的输出)以及如何将它们组合成一个决策。通常只需要了解设计网络架构的一般“内部工作原理”。
    猜你喜欢
    • 1970-01-01
    • 2016-09-08
    • 2017-05-21
    • 2016-12-15
    • 2016-09-02
    • 2021-02-07
    • 2017-09-11
    • 1970-01-01
    • 2016-12-23
    相关资源
    最近更新 更多