【问题标题】:Does this neural network model exist?这种神经网络模型存在吗?
【发布时间】:2012-11-03 09:43:53
【问题描述】:

我正在寻找具有特定特征的神经网络模型。该模型可能不存在...

我需要一个不像传统人工神经网络那样使用“层”的网络。相反,我想要 [我认为的] 一个更具生物学意义的模型。

该模型将容纳大量相互连接的神经元,如下图所示。一些神经元(在图的底部)将接收输入信号,级联效应将导致连续的、连接的神经元可能根据信号强度和连接权重触发。这不是什么新鲜事,但是,没有明确的层……只是越来越远的间接连接。

如您所见,我还将网络划分为多个部分(圆圈)。每个圆圈代表一个语义域(一个语言学概念),它是围绕一个概念的核心信息;本质上,语义域是一个概念。

一个部分内的节点之间的连接比不同部分的节点之间的连接具有更高的权重。因此,“car”的节点之间的连接比将“English”连接到“car”的节点更紧密。因此,当单个部分中的神经元触发(被激活)时,很可能整个(或大部分)部分也将被激活。

总而言之,我需要将输出模式用作进一步输出的输入,等等。我所追求的是级联效应。

我希望这是有道理的。请在需要时要求澄清。

是否存在任何合适的模型来模拟我已经描述的内容?

【问题讨论】:

  • 循环神经网络? idsia.ch/~juergen/rnn.html
  • 大多数神经网络都有望学习或泛化...我很好奇如果没有学习机制(因为权重没有修改),您希望网络如何学习。除非您当然对概括或学习不感兴趣,而只对研究涟漪效应感兴趣……这本身应该很有趣!结帐Boltzman MachineHopfield_net
  • @Shayan RC 我认为使用此模型,权重仍会随着时间的推移以某种方式调整,并且还会在节点之间建立更多连接。
  • @ChadJohnson 您没有指定任何权重修改机制,因此我感到困惑......另外我假设每个神经元/节点对应于一个单词或短语。权重表明它们之间的相关性..

标签: nlp artificial-intelligence neural-network


【解决方案1】:

您的网络也模仿了这一点 http://nn.cs.utexas.edu/?fullmer:evolving

但并没有真正让网络学习,而是被替换。

这里可能会介绍

http://www.alanturing.net/turing_archive/pages/reference%20articles/connectionism/Turing%27s%20neural%20networks.html

【讨论】:

    【解决方案2】:

    涉及遗传算法的答案听起来不错(尤其是引用 Darrell Whitley 的工作)。

    另一种选择是简单地随机连接节点?这或多或少是通过循环神经网络完成的。

    您还可以查看 LeCun 非常成功的卷积神经网络,这是一个具有很多层的 ANN 示例,有点像您在此处描述的为特定目的而设计的。

    【讨论】:

      【解决方案3】:

      您的神经网络类似于使用进化算法(例如遗传算法)创建的神经网络。

      详情请参阅以下文章。

      对于这类神经网络的总结。神经元及其连接是使用进化技术创建的。因此他们没有严格的层方法。 Hans 使用以下技术:

      "遗传操作:

      交叉算子通过在两个神经网络之间交换部分部分来产生一个新的后代。它随机选择两个不同的神经网络,并选择一个隐藏节点作为枢轴点。然后,它们根据选择的枢轴点交换连接链接和相应的权重。

      变异算子改变一个连接链接和一个随机选择的神经网络的相应权重。它执行以下两种操作之一:添加新连接或删除现有连接。

      变异算子随机选择神经网络的两个节点。 如果它们之间没有连接,则连接具有随机权重的两个节点。
      否则,它会删除连接链接和权重信息。 "

      下图来自惠特利的文章。

      @ARTICLE{Han2005Evolutionary,
        author = {Sang-Jun Han and Sung-Bae Cho},
        title = {Evolutionary neural networks for anomaly detection based on the behavior
      of a program},
        journal = {Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE Transactions
      on},
        year = {2005},
        volume = {36},
        pages = {559 -570},
        number = {3},
        month = {june },
      

      }

      @article{whitley1995genetic,
        title={Genetic algorithms and neural networks},
        author={Whitley, D.},
        journal={Genetic algorithms in engineering and computer science},
        pages={203--216},
        year={1995},
        publisher={Citeseer}
      }
      

      【讨论】:

      • 所以这有点像神经网络周围的层/外壳/包装器,它会随着时间的推移修改网络?基本上是结合进化/遗传算法的神经网络?
      • 没错。它不是使用反向传播进行优化,而是使用进化/遗传算法。
      【解决方案4】:

      总而言之,我需要将输出模式用作进一步输出的输入,等等。级联效应是我所追求的。

      这听起来像是具有多个隐藏层的前馈网络。不要害怕这里的“层”这个词,如果有多个,就像你在那儿画的一样……像 5-5-7-6-7-6-6-5-6-5 -结构化网络(5 个输入,8 个隐藏层,每个隐藏层具有不同数量的节点和 5 个输出)。

      您可以以任何您喜欢的方式将节点从一层连接到另一层。您可以通过简单地使用常量零作为它们之间的权重来使一些未连接,或者如果使用面向对象的编程,只需将不需要的连接留在连接阶段之外。使用标准 NN 模型跳过层可能会更难,但一种方法可能是对权重需要跨越的每一层使用一个虚拟节点。只需将原始输出*权重值从节点复制到虚拟对象就相当于跳过一层,这也将保持标准 NN 模型的完整性。

      如果您希望网络只输出一些 1 和 0,可以使用简单的步进函数作为每个节点中的激活函数:1 表示大于 0.5 的值,否则为 0。

      我不确定这是否是你想要的,但这样你应该能够建立一个你描述的网络。但是,我不知道您打算如何教您的网络生成一些语义域。为什么不让网络学习自己的权重?这可以通过简单的输入输出示例和反向传播算法来实现。如果您使用标准模型来构建您的网络,那么学习的数学也不会与任何其他前馈网络有任何不同。最后但同样重要的是,您可能会找到适合此任务的库,只需对代码进行少量更改或根本没有更改。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-19
        • 2010-12-09
        • 2017-02-19
        • 1970-01-01
        • 2017-01-28
        • 1970-01-01
        相关资源
        最近更新 更多