【问题标题】:Dying ReLU problem when initial training data normalized [closed]初始训练数据归一化时死亡的 ReLU 问题[关闭]
【发布时间】:2020-04-18 07:35:13
【问题描述】:

我使用了归一化并由 n 个特征组成的训练数据。训练样例数为 m。 我已经实现了深度学习模型 Keras,第一层为

model.add(layers.Dense(32,input_shape=(n,),activation='relu')

由于我的训练数据使用均值 0 和标准值 1 进行归一化,因此如果神经网络遇到死亡 Relu 问题,因为许多数据点在训练期间的值小于 0。

当训练数据用均值0和标准1进行归一化时,是否应该在第一层使用Relu?

【问题讨论】:

    标签: python tensorflow machine-learning keras deep-learning


    【解决方案1】:

    正如我在elsewhere 解释的那样,在

    model.add(Dense(32,input_shape=(n,),activation='relu')
    

    当用作 Keras 顺序 API 中的第一层时(即带有input_shape 参数),有一个隐式输入层;当我们使用 Keras 函数式 API 编写相同的东西时,这一点会更清楚地显示出来,即:

    inputs = Input(shape=(n,))                 # input layer
    x = Dense(32, activation='relu')(inputs)   # 1st hidden layer
    

    因此,从这个角度来看,ReLU 显然没有直接应用于您的输入。

    【讨论】:

      【解决方案2】:

      只要您不直接在输入上应用 relu,它就可以工作!

      【讨论】:

      猜你喜欢
      • 2018-01-06
      • 2019-01-28
      • 1970-01-01
      • 1970-01-01
      • 2019-02-02
      • 1970-01-01
      • 2016-11-28
      • 2021-11-02
      • 1970-01-01
      相关资源
      最近更新 更多