如何实现包含具有不同激活功能的神经元的单个隐藏层?

卡维娅·拉詹德兰(Kaviya rajendran)

我正在尝试在TensorFlow 2.0中创建自定义神经网络模型。我知道,在TF2.0社区中一再建议,应该使用Functional API中的现有模块来构建自定义模型。

但是,在我的模型中,要求一个隐藏层具有具有不同激活功能的神经元例如,我想要一个具有三个神经元的隐藏层,其中一个是线性的,另外两个是S型的。最终的模型只是重复将此层堆叠N次。

tf.keras.layers模块中没有适当的功能来实现上述功能。有没有办法使用类似MyDenseLayer(tf.keras.layers.Layer)的类定义自己实现此目的?然后,通过堆叠此自定义图层,我很容易构建完整的模型。

sohv89

您可以执行以下操作,

import tensorflow as tf
from tensorflow.keras.layers import Input, Lambda, Activation, Dense
from tensorflow.keras.models import Model

def f(x):
  return tf.stack([a(c) for c,a in zip(tf.unstack(x[0], axis=1), x[1])], axis=1)

inp = Input(shape=(10,))
out = Dense(3)(inp)
out = Lambda(lambda x: f(x))(
        [out, [Activation('linear'), Activation('sigmoid'), Activation('sigmoid')]]
      )
model = Model(inputs=inp, outputs=out)

说明

诀窍在Lambda层中。

  • 首先在Dense分割输出axis=1
  • 使用激活对它进行压缩,并在应用相应的激活时迭代压缩列表
  • 堆叠输出以创建单个张量

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Matlab中创建一个具有一层感知器神经元隐藏层和一层径向基础神经元隐藏层的神经网络?

在单层中具有多个激活功能类型的神经元有意义吗?

计算 Keras 中的神经元(具有不同的层),我的方法正确吗?

隐藏层的神经元数量

神经网络模型如何在单个层中为每个神经元学习不同的权重?

如何计算神经网络隐藏层中神经元的目标输出?

神经网络:输入层是否包含神经元?

如何使用 Keras Tuner 微调具有可变层数的 ANN,每个层都有可变数量的神经元?

自定义keras激活功能适用于不同的神经元

如何为tf.keras模型的隐藏层选择输出神经元的值?

如何基于NN中的输入和输出确定最佳隐藏层和神经元?

如何在java中的神经元类中实现可修改的激活函数?

使用具有MFCC功能的kohonen网络进行语音识别。如何设置神经元及其重量之间的距离?

如何使用 keras 构建具有单个隐藏层的神经网络?

如何理解“个体神经元是激活空间的基本方向”?

浅层多层网络的输出,在每个神经元中具有线性激活函数,权重是线性的 -> FALSE?

神经网络的最后一层应包含多少个神经元?

如何为具有4个带有角膜的神经元的输出计算类权重?

如何在Keras中实现恒定的神经元?

你如何在 ANN 中实现神经元?

如何定义神经元神经元?

给定足够的隐藏神经元,神经网络可以近似任何功能吗?

访问神经网络权重和神经元激活

R 中的 nnet 包仅用于拟合具有单个隐藏层的神经网络吗?

当使用具有单个输出神经元张量流的神经网络时,损失和准确性为0

VGG的每一层有多少神经元进入?

具有两个神经元的神经网络

如何通过MATLAB在输出层中将n维神经元值转换为一维

torch7:如何连接同一层的神经元?