【问题标题】:R deepnet package: how to add more hidden layers to my neural network?R deepnet 包:如何向我的神经网络添加更多隐藏层?
【发布时间】:2015-03-15 11:16:01
【问题描述】:

我刚开始研究“deepnet”包: http://cran.r-project.org/web/packages/deepnet/index.html

这是关于“深度学习”,所以关于多层神经网络的使用。 我已经开始使用包中提供的 train() 函数, 但我真的不明白如何在 神经网络。 标准设置包括 2 个隐藏层,但我想添加更多,比如 5 个。 你们有些人有什么想法吗?

我正在使用 sae.dnn.train() 函数,但我不明白哪个 参数控制隐藏层的数量。 下面是示例代码:

Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
x <- matrix(c(Var1, Var2), nrow = 100, ncol = 2)
y <- c(rep(1, 50), rep(0, 50))
dnn <- sae.dnn.train(x, y, hidden = c(5, 5))
## predict by dnn
test_Var1 <- c(rnorm(50, 1, 0.5), rnorm(50, -0.6, 0.2))
test_Var2 <- c(rnorm(50, -0.8, 0.2), rnorm(50, 2, 1))
test_x <- matrix(c(test_Var1, test_Var2), nrow = 100, ncol = 2)
nn.test(dnn, test_x, y)

哪个参数设置了神经网络中的隐藏层数? 如何添加更多隐藏层?

【问题讨论】:

  • 顺便说一句,h2o 非常快且可用性高,您可以尝试一下。

标签: r neural-network deep-learning r-package


【解决方案1】:

虽然我不熟悉 deepnet 包,但它的结构似乎与其他神经网络包相同。查看文档 (?sae.dnn.train) 后,您将看到:

hidden:    vector for number of units of hidden layers.Default is c(10).

现在这不是最清楚的描述,但我相信它应该与neuralnet 包中的neuralnet 函数相同。 ?neural::neuralnet

hidden:    a vector of integers specifying the number of hidden neurons 
           (vertices) in each layer.

这更清楚,您可以理解您正在创建一个向量,指定每个中的神经元(节点、顶点等)的数量。

因此,总而言之,您使用hidden = c(5, 5) 的示例适用于两层,每层有 5 个神经元。因此,如果您想要 5 个隐藏层,每个隐藏层有 5 个神经元,您只需输入 hidden = c(5, 5, 5, 5, 5)

【讨论】:

  • 谢谢@cdeterman。我修改了我的示例,是的,这似乎是层数的参数,但它似乎不适用于三层以上。那就是dnn &lt;- sae.dnn.train(x, y, hidden = c(5, 5, 5) 工作;但dnn &lt;- sae.dnn.train(x, y, hidden = c(5, 5, 5, 5)) 给出错误:“sae$encoder[[i - 1]]$B[[i - 1]] 中的错误:下标越界”。关于如何解决这个问题的任何想法?
  • 这似乎是具有多层模型的代码中的错误。您可以在 github 页面 here 自己查看代码,其中错误似乎发生在 sae_train.R 文件的第 32 行。最好联系包维护者。虽然我不知道这些包之间的确切区别,但如果您还想探索该途径,neuralnet::neuralnet 函数确实可以使用超过 3 层。
  • 谢谢。你知道neuralnets 包中是否包含 Dropout 训练?
  • @DavideChicco.it 我不确定 Dropout 培训,我怀疑不是,因为没有明确的文档另有说明。同样,可能最好的选择也是联系该包维护者(没有意识到您的要求)或查看该方法并为该包做出贡献:)。最后,我在 SE 上偶然发现了 this question 关于 darch 包的信息。它似乎不是用户友好的,但如果你不想做更多的源代码编码,它可能是最后的选择。
猜你喜欢
  • 2014-07-24
  • 2019-05-18
  • 1970-01-01
  • 1970-01-01
  • 2020-06-11
  • 2017-07-06
  • 1970-01-01
  • 1970-01-01
  • 2022-06-22
相关资源
最近更新 更多