在神经网络中,我们有诸如动量、学习率、激活函数等参数。所以我的问题是,为了创建一个优秀的深度神经网络,应该选择哪些参数?另外,是否有基于此选择参数的标准?
回答:
这个问题有点复杂,我不确定你的问题格式是否适合StackOverflow,因为它不一定是一个编程问题。
然而,选择超参数是机器学习中最大的挑战之一。没有一个正确答案可以告诉你“X和Y会比Z和W给你更好的结果”,因为这个问题涉及到很多因素。你尝试进行什么样的建模,你的目标是什么,你的数据是什么,等等。
我建议的第一部分紧跟上面我的问题“你的目标是什么”。如果是分类、回归或其他什么。一旦你能回答这个问题,你可能需要确定你的损失函数。这本身就是一个挑战,但这里是我提供的一个链接,它对不同的损失函数及其使用进行了很好的概述:https://machinelearningmastery.com/how-to-choose-loss-functions-when-training-deep-learning-neural-networks/
其次,确定其他参数是一个完全不同的挑战。从批量大小、学习率、优化器等方面来看,永远不可能得到一个明确的答案。然而,一些技术使用网格搜索,本质上是你在循环式序列中运行你的模型,测试所有你想尝试的可能参数。Keras调谐器就是这样一种可以做到这一点的工具。
总的来说,我认为你应该对深度学习这个主题进行进一步的研究。https://www.deeplearning.ai/ai-notes/optimization/这里是一个有帮助的链接,可以提供一些见解。