神经网络基础与训练方法详解
1. 线性神经元及其局限性
大多数神经元类型由其应用于对数几率(logit)z 的函数 f 定义。首先来看使用线性函数 (f(z) = az + b) 的神经元层。例如,在估算快餐店一餐费用时,若 (a = 1) 且 (b = 0),即 (f(z) = z),以每种食物的价格作为权重,线性神经元可以根据汉堡、薯条和汽水的份数组合,输出这一餐的价格。
线性神经元计算简单,但存在严重局限性。实际上,仅由线性神经元组成的前馈神经网络可表示为没有隐藏层的网络。然而,隐藏层对于从输入数据中学习重要特征至关重要,所以要学习复杂关系,需使用具有某种非线性的神经元。
2. 引入非线性的神经元类型
2.1 Sigmoid 神经元
Sigmoid 神经元使用函数 (f(z) = \frac{1}{1 + e^{-z}})。直观上,当对数几率 z 非常小时,其输出接近 0;当 z 非常大时,输出接近 1。在这两个极端之间,神经元的输出呈 S 形。
2.2 Tanh 神经元
Tanh 神经元使用类似的 S 形非线性函数 (f(z) = \tanh(z)),但其输出范围是从 -1 到 1。由于其输出以 0 为中心,在使用 S 形非线性时,Tanh 神经元通常比 Sigmoid 神经元更受青睐。
2.3 ReLU 神经元
修正线性单元(ReLU)神经元使用函数 (f(z) = \max(0, z)),其输出呈现出类似曲棍球棒的形状。尽管存在一些缺点,但由于多种原因,ReLU 最近在许多任务(尤其是计算机视觉)中成为首选神经元。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



