设计神经网络模型的4个关键
人工神经网络(ANN)是深度学习中常用的工具。可能很多人不了解人工神经网络,下面我们来了解设计神经网络模型的4个关键。
设计神经网络模型的4个关键
1、网络层布局
很少有神经网络像一个神经元那样简单。例如,大多数神经网络至少有几层。如果要以非线性方式分离数据,您将需要隐藏层,即输入和输出神经元层之间的人工神经元层。
您可能想将每个隐藏的神经元视为一个线性分类器。第一个隐藏层中的神经元数量应等于您为对数据进行分类所需绘制的线数。后面的隐藏层和输出层连接各种线性分类器。
2、激活函数
在神经网络中,激活函数是在给定特定输入的情况下确定人工神经元输出的函数。在我之前的教程中,我们使用了sigmoid函数,它的优点是强制输出在特定范围内。另一个优点是sigmoid函数是单调的——换句话说,输入的值顺序与输出的值顺序相同。sigmoid函数的一个缺点是,尤其是在sigmoid曲线相对平坦的情况下,学习可能会很慢。
另一种流行的激活函数类型称为整流线性单元(ReLU)。如果x小于0,则此函数的值只是0。否则,它是x。ReLU可以实现更快的学习过程,即使它们在x的负值和正值之间产生任意区别。从优缺点来看,双曲正切或tanh激活函数往往是sigmoid和ReLU之间的理想媒介。
3、损失函数
损失仅仅是神经网络的预测误差,在每次传递中确定。理想情况下,它应该被最小化。损失函数,或损失对输出和预测值的函数,用于更新神经网络的权重以进行下一次传递。新权重的计算以某种方式基于梯度,梯度是表示损失函数在每个点的斜率的函数。不同类型的损失函数应该用于不同类型的回归或分类任务,如此处更详细地描述。
4、优化规则
一个优化程序是一种算法或其他方法,它将更新神经网络的属性,以最小化损失。例如,它可以解释梯度更新的历史,而不仅仅是从一组或一批数据样本中更新梯度。它可能包含动量——换句话说,最新的更新将是所有先前更新的加权平均值,旧的权重呈指数衰减。