【问题标题】:Which algorithms have been proposed to learn the architecture of a deep neural network?已经提出了哪些算法来学习深度神经网络的架构?
【发布时间】:2014-02-25 13:07:10
【问题描述】:

Yoshua Benhgio 的 Learning Deep Architectures for AI 书中提到了这一点

我们应该 [...] 努力开发使用数据来确定最终架构深度的学习算法。

有人知道迄今为止提出的任何算法来实现这一点吗?

这个问题与成功的算法无关——事实上,目前似乎没有。这个问题的目的是汇总曾经提出的每一个算法,这样任何对该主题感兴趣的人都无需花费数月时间来寻找它们。

到目前为止我遇到过:


  • tiling algorithm
    • 优点:添加层和单元
    • 警告:仅用于学习布尔函数,与应用问题不太相关。

【问题讨论】:

    标签: machine-learning neural-network genetic-algorithm deep-learning


    【解决方案1】:

    我已经成功地使用了遗传算法,并使用我自己的程序(称为 TSAGANN)搜索了神经网络的最佳配置(单位级别)。

    这里是paper(抱歉,是西​​班牙语)。

    我的工作重点是:

    • 用反向传播训练的前馈人工神经网络的结构(单元数和隐藏层)研究;

    • 模拟退火 (SA)(更确切地说是 ANN)研究。

    对于所研究的问题,结果表明 SA 与 ANN 相比表现良好,并且计算强度较低。​​

    进一步的工作(从未完成)是直接使用 GA 优化 ANN 的结构和权重。在这种情况下,不需要反向传播,因为权重是由 GA 而不是由 ANN 优化的。训练集仅用于计算任何特定配置的误差。 GA 最小化了二次误差的变体。这个意义上的初步研究是非常有前途的(目的是避免人工神经网络的训练算法,非常非常慢)。

    论文使用 PROBEN1 报告结果,这是一个涵盖分类和近似问题的基准。

    “全局优化”(包括权重)似乎非常适合时间序列分析,以便在不使用循环人工神经网络的情况下进行预测。

    【讨论】:

    • 太棒了,你应该把你的论文翻译成西班牙语,这样我们都可以从中学习!你的网络有多大? (层数、神经元数、参数数)
    • 当然。翻译需要一些时间,但我会做的。然而,表格报告了最佳网络的结构和参数,以及对结果的统计研究。这部分只包含数字数据,很清楚可以理解它们的有效性。
    • 发布后通知我们!
    • 在我在回复中提供的论文链接中,您可以找到英文版本。翻译是用谷歌翻译完成的,并不完美。可能您必须使用原件才能遵循讨论和方程式编号。
    【解决方案2】:

    可以说,学习神经网络架构的最常用算法是由 Scott Fahlman 和 Christian Lebiere 开发的 Cascade Correlation。

    Here你可以找到描述,我之前在某个地方也看到过一个C实现,但是不记得在哪里了。

    【讨论】:

      【解决方案3】:

      还有其他流行的遗传算法,例如 NEAT 和 EANT,它们都是“增长”的神经网络。搜索有关它们的最新论文,以全面了解其他方法(相关工作)。

      除了增长之外,另一种方法是从一个巨大的全连接网络开始并修剪连接,直到适应度受到影响。 Mitchells 关于机器学习的书给出了很好的概述。

      当然,有多种算法同时使用增长和修剪。它们有时涉及“固定”网络的某些已建立部分,以便不再需要考虑固定权重进行优化。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-05-15
        • 2018-10-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-16
        • 2016-05-25
        相关资源
        最近更新 更多