以下是改写后的内容:
本次主要讲解的内容包括:
- 基本神经元作为线性分类器的单个神经元为何需要深度网络而非“肥胖”网络?
- 为什么人工神经网络中的神经元需要激活函数?
- 一些重要的激活函数及其优缺点。
- 神经网络中的偏置有什么意义?
- 初始化神经网络的参数是否可以全为零?
- 交叉熵损失函数的意义及其相对于平方差损失的优势。
神经元
下图左侧展示了一个生物神经元的结构,右侧展示了常用的数学模型。尽管看起来相似,但人工神经元的设计受到了生物神经元的启发。关键要点包括:
- 在生物神经元中,树突接收信号,信号在细胞体中相加。如果最终的和超过某个阈值,神经元会被激活并向轴突发送一个峰值信号。注意,这是一个脉冲信号。
- 在数学模型中,输入信号首先经过加权求和加上偏置,得到待激励值,然后输入到激活函数中,最终输出的是一个激励后的值。激活函数可以看作对生物神经元的激活率进行建模。
- 神经元可以分为两个部分:输入信号的加权求和加上偏置,以及激活函数对求和后的激活或抑制。
- 生物神经元更为复杂,其中生物输入是脉冲形式,而现代数学模型通常接收数值输入。不过,现在也有一些脉冲人工神经网络可供研究。
作为线性分类器的单个神经元
例如基础的逻辑回归,结合神经元的知识,可以看出逻辑回归就是一个激活函数为sigmoid的单层简单神经网络。这意味着只要在神经元的输入端有一个合适的损失函数,就可以使其成为一个线性分类器。然而,对于非线性的模型,如SVM和神经网络,它们采用了不同的方法:神经网络通过多个隐藏层实现非线性函数的拟合,而SVM则采用核技巧。两者各有优劣,神经网络因其灵活性和丰富的技巧而更受欢迎,而SVM虽然理论优美,但在实际应用中可能需要更多工作来设计核函数。
为什么需要深度神经网络而不是“肥胖”网络?
“肥胖”网络的隐藏层数较少,尽管研究表明浅层网络也能拟合任何函数,但需要大量的神经元。实验显示,当准确率相近时,参数数量差异显著,这说明通常使用深层网络而不是浅层“肥胖”网络。
- 注意:讨论神经网络层数时,一般不包括输入层。激活函数主要涉及梯度的更新。
为什么人工神经网络中的神经元需要激活函数?
下图展示了普通的线性分类器,效果不佳。当发现线性分类器不满足要求时,可以通过增加一层来拟合更复杂的函数。然而,即使增加了一层,最终结果仍然是线性方程。加入激活函数可以解决这个问题,使网络具备拟合非线性函数的能力。
简单来说,激活函数使神经网络具备拟合非线性函数的能力,从而增强了其表达能力。根据万能近似定理,前馈神经网络可以通过线性层和至少一层具有“挤压”性质的激活函数,以任意精度近似任何函数。
一些重要的激活函数
Sigmoid
- 优点:良好的解释性。
- 缺陷:饱和导致梯度消失;输入不是零中心的;exp()运算较慢。
Tanh
- 优点:输入是零中心的。
- 缺陷:同样存在梯度消失问题;计算慢。
ReLU
- 优点:加速随机梯度下降的收敛;广泛应用于深度学习。
- 缺陷:可能导致神经元“死亡”。
Leaky ReLU
- 优点:非饱和公式;解决ReLU死亡问题。
- 缺陷:效果不稳定。
ELU
- 优点:具有ReLU的优点,同时解决了ReLU的缺陷。
- 缺陷:每个神经元的参数数量增加一倍,可能导致过拟合。
Maxout
- 优点:具备ReLU的所有优点,没有ReLU的缺陷。
- 缺陷:每个神经元的参数数量增加一倍,难以训练,容易过拟合。
如何使用激活函数
建议使用ReLU激活函数,同时注意设置好学习率。如果发现ReLU单元死亡,可以考虑使用Leaky ReLU或Maxout,不再使用sigmoid函数。
神经网络中的偏置有什么意义?
最基础的神经元感知器如下:
- 偏置度量了神经元产生正(负)激励的难易程度。
- 偏置不需要正则化,正则化偏置可能导致欠拟合。
初始化神经网络的参数可以全为零吗?
在没有隐层的情况下,可以将所有参数初始化为零。但在有隐层的情况下,特别是使用sigmoid激活函数时,所有参数初始化为零会导致学习失败。对于深度模型,通常不会使用零初始化所有参数。
交叉熵损失函数的意义及其相对于平方差损失的优势
交叉熵损失函数在信息论中产生,后来成为机器学习中的重要工具。它的优势在于:
- 正值;
- 当输入接近期望输出时,交叉熵值接近零。
- 使用交叉熵代替二次代价函数可以避免sigmoid函数导数引起的梯度消失问题,从而加快学习速度。
希望以上内容对您有所帮助。