使用“neuralnet”软件包为不同层设置不同的激活功能

使用“neuralnet”软件包为不同层设置不同的激活功能,r,neural-network,layer,relu,R,Neural Network,Layer,Relu,再见, 我在R的neuralnet工作。 我曾经在python中使用Keras编程这种东西,所以我希望能够为不同的层设置不同的激活函数 让我解释一下。假设我想建立一个有2个隐藏层的神经网络,比如说有5个和4个神经元,输出介于-1和1之间 我想在隐藏层设置RELU或softplus,在输出层设置tanh 这里的问题是,neuralnet软件包只允许我通过参数act.fun选择一个激活函数: 我尝试将act.fun参数设置为csoftplus、softplus、tanh,但我当然会得到一个错误,因为

再见, 我在R的neuralnet工作。 我曾经在python中使用Keras编程这种东西,所以我希望能够为不同的层设置不同的激活函数

让我解释一下。假设我想建立一个有2个隐藏层的神经网络,比如说有5个和4个神经元,输出介于-1和1之间

我想在隐藏层设置RELU或softplus,在输出层设置tanh

这里的问题是,neuralnet软件包只允许我通过参数act.fun选择一个激活函数:

我尝试将act.fun参数设置为csoftplus、softplus、tanh,但我当然会得到一个错误,因为neuralnet函数只需要该参数使用一个函数

你知道我如何用这种方式设置神经网络吗?在互联网上,我只能找到用这个软件包构建的非常基本的线性神经网络。如果这是不可能的,这意味着这个包几乎是无用的,因为它将只能建立线性模型

非常感谢,
ciao

ReLu是在neuralnet 1.44.4中添加的,尚未在CRAN上,可以使用devtools::install_githubbips-hb/neuralnet。在此版本中,还可以单独更改输出激活函数output.act.fct。但是,还不可能对隐藏层进行不同的激活。 另请参见此处:

在互联网上,我只能找到用这个软件包构建的非常基本的线性神经网络。如果这是不可能的,这意味着这个包几乎是无用的,因为它将只能建立线性模型


不,不仅仅是线性模型。但请注意,该软件包来自2008年深度学习之前的时代,不是为深度网络而设计的。我还推荐Kerr,因为这里的R软件包很棒。

可能吗?但该方案并不是一个等同于Keras的框架。如果您已经在Python中使用过Keras,并且目前正在R中工作。无论如何,它都使用网状结构来处理Python,因此,如果您已经对该接口感到满意,那么您最好还是坚持使用它,除非这是R@alistaire Thsx中一个更大项目的一部分供您评论。不幸的是,我无法在当前使用的版本上安装Keras,也无法升级它。
> nn <- neuralnet(data = data, hidden = c(5, 4), act.fun =tanh)