除了消失或爆炸梯度问题,我们在训练神经网络时还可能面临哪些其他问题或陷阱?
在训练神经网络时,我们可能面临哪些常见陷阱?
人工智能
神经网络
梯度消失问题
爆炸梯度问题
2021-11-06 06:26:09
2个回答
在训练或使用神经网络时或之前,有几个陷阱或问题需要您注意。我将在下面列出其中的一些,以及您在使用神经网络之前或期间需要问自己的一些问题。
过拟合和欠拟合问题,以及相关的泛化问题。你的神经网络是否可以泛化到看不见的数据?
训练和测试数据的可用性
- 您是否有足够的数据来训练您的神经网络以使其能够很好地泛化(即它既不会过拟合也不会过拟合)?
- 您的测试数据集是否足以评估您的神经网络的泛化能力?
- 您的数据是否代表了您要解决的问题?
- 您是否需要扩充或规范化您的数据?
- 你需要使用交叉验证吗?
- 您的数据是否独立且同分布 (iid)?如果您的数据是相关的,则训练可能会不稳定。当您的数据最初是相关的时,打乱您的数据可能是一个可行的解决方案。
您是否有足够的计算资源(即 GPU)来训练和测试您的神经网络?
你在解决回归或分类问题吗?在这两种情况下,输出的类型和损失函数通常会有所不同
您需要可解释性和透明度吗?如果是,那么神经网络可能不是最好的模型,因为神经元之间的连接非常模糊,并不真正代表任何有意义的交互。这就是为什么神经网络被称为黑盒。
你需要不确定性估计吗?如果是,您可能想尝试贝叶斯神经网络。典型的神经网络不太适合不确定性估计!
如果您使用神经网络进行函数逼近(例如在强化学习中),您将失去某些收敛保证。
我不能说这是深度神经网络的最大问题,但它是深度神经网络的大问题之一。
经常发生的其他问题是对训练数据的过度拟合,因此网络在测试集上表现不佳,可以使用回归来解决。所以你必须确保网络足够通用。
如果网络试图进行分类,那么输出是互包含还是互斥的,取决于您定义的损失函数,该函数将是互包含输出的分类交叉熵和互斥的二元交叉熵。
我能想到的另一件事是all zero initialization.
将网络权重初始化为零会导致相同的梯度计算,因此网络在大多数情况下都不会学习。
其它你可能感兴趣的问题