为什么我们必须退出Tensorflow?

为什么我们必须退出Tensorflow?,tensorflow,machine-learning,deep-learning,dropout,Tensorflow,Machine Learning,Deep Learning,Dropout,我读过这篇文章。通过在ANN中制造非活性中子,脱落将有助于防止过度装配。但是下一个问题 既然我们可以调整安的中子量,为什么我们必须放弃中子?。例如,这段代码有什么不同 首先 第二 model = tf.keras.models.Sequential([ tf.keras.layers.Flatten(input_shape=(28, 28)), tf.keras.layers.Dense(80, activation='relu'), tf.keras.layers.Dense(10

我读过这篇文章。通过在ANN中制造非活性中子,脱落将有助于防止过度装配。但是下一个问题

既然我们可以调整安的中子量,为什么我们必须放弃中子?。例如,这段代码有什么不同

首先

第二

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(80, activation='relu'),
  tf.keras.layers.Dense(10)
])

我们使用80个中子,而不是100个中子,在每个训练阶段使用80个中子,其中20个中子会脱落。使用脱落,随机选择并移除一些神经元。在测试阶段,使用每个神经元

因此,第一种方法是使用100个神经元,但它们是这样训练的。 [第一次]H1、H2、H3、…、H80接受培训 [第二次]H61、H62、…、H100正在进行培训


第二种方法是使用80个神经元,每次都进行训练。

辍学可能会移除训练中的少数神经元,以减少过度拟合。在第一个代码中,在训练期间,20%的神经元将丢失,这意味着与这些神经元相关的权重在训练期间不会更新。在测试过程中,所有的神经元都会在那里,网络会看到所有的100个神经元。对于第二种情况,在训练和测试期间,网络将在训练和测试面部看到80个神经元

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(80, activation='relu'),
  tf.keras.layers.Dense(10)
])