gpt4 book ai didi

python - Relu函数,返回0和大数

转载 作者:行者123 更新时间:2023-11-30 22:16:01 24 4
gpt4 key购买 nike

嗨,我是 tensorflow 神经网络的新手。我获取了 space365 数据集的一小部分。我想制作一个神经网络来在 10 个地点之间进行分类。

为此,我尝试制作一个 vgg 网络的小型副本。我遇到的问题是,在 softmax 函数的输出处,我得到了一个单热编码数组。在我的代码中查找问题时,我发现 relu 函数的输出要么是 0,要么是一个很大的数字(大约 10000)。

我不知道我错在哪里。这是我的代码:

def variables(shape):
return tf.Variable(2*tf.random_uniform(shape,seed=1)-1)

def layerConv(x,filter):
return tf.nn.conv2d(x,filter, strides=[1, 1, 1, 1], padding='SAME')
def maxpool(x):
return tf.nn.max_pool(x,[1,2,2,1],[1,2,2,1],padding='SAME')

weights0 = variables([3,3,1,16])

l0 = tf.nn.relu(layerConv(input,weights0))
l0 = maxpool(l0)

weights1 = variables([3,3,16,32])
l1 = tf.nn.relu(layerConv(l0,weights1))
l1 = maxpool(l1)

weights2 = variables([3,3,32,64])
l2 = tf.nn.relu(layerConv(l1,weights2))
l2 = maxpool(l2)

l3 = tf.reshape(l2,[-1,64*32*32])

syn0 = variables([64*32*32,1024])
bias0 = variables([1024])
l4 = tf.nn.relu(tf.matmul(l3,syn0) + bias0)
l4 = tf.layers.dropout(inputs=l4, rate=0.4)

syn1 = variables([1024,10])
bias1 = variables([10])
output_pred = tf.nn.softmax(tf.matmul(l4,syn1) + bias1)

error = tf.square(tf.subtract(output_pred,output),name='error')
loss = tf.reduce_sum(error, name='cost')

#TRAINING

optimizer = tf.train.GradientDescentOptimizer(learning_rate)
train = optimizer.minimize(loss)

神经网络的输入是256*256像素的归一化灰度图像。学习率为 0.1,批量大小为 32。

提前谢谢您!!

最佳答案

reLu 的本质是:

def relu(vector):
vector[vector < 0] = 0
return vector

和softmax:

def softmax(x):
e_x = np.exp(x - np.max(x))
return e_x / e_x.sum(axis=0)

softmax 的输出是一个 one-hot 编码数组,这意味着存在问题,而且可能有很多问题。

您可以尝试降低初学者的learning_rate,您可以使用1e-4/1e-3并检查。如果不起作用,请尝试添加一些正则化。我也对你的权重初始化表示怀疑。

调节:这是回归的一种形式,将系数估计限制/正则化或缩小到零。换句话说,这种技术不鼓励学习更复杂或更灵活的模型,以避免过度拟合的风险。 -Regularization in ML

链接到:Build a multilayer neural network with L2 regularization in tensorflow

关于python - Relu函数,返回0和大数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50085955/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com