非线性“压缩”函数(squash函数)详解

        非线性“压缩”函数(squash函数)是一类将输入数据映射到某个特定范围内的函数,它的核心作用是 引入非线性,并对输入值进行“压缩”或“限制”,使得输入数据的数值域被映射到一个固定的、有界区间内。这类函数在机器学习、神经网络和信号处理等领域中广泛应用。


1. 什么是非线性“压缩”函数?

定义:

        非线性“压缩”函数(squash function)是指将输入 x 压缩到某个有限范围 [a,b] 内的一类函数。输入值 x 可以是任意实数,而输出值 f(x) 总是在某个有界范围内。

核心特点:

  1. 非线性:输出值与输入值之间不是简单的线性关系。
  2. 压缩:将任意实数输入压缩到某个有界范围,例如 [0,1] 或 [−1,1]。
  3. 单调性(常见):通常,这类函数是单调递增的,输入越大,输出值越接近边界。

2. 为什么需要非线性“压缩”函数?

在神经网络中的重要作用:

  1. 引入非线性

    • 真实世界中的问题通常是非线性的,例如图像识别、自然语言处理等。
    • 如果神经网络只使用线性激活函数,那么网络最终等价于一个线性变换,无法学习复杂的非线性映射。
    • 非线性“压缩”函数为网络引入了非线性,使其具备了强大的表达能力。
  2. 输出范围有界

    • 有界的输出值有助于稳定训练,防止数值过大或过小引发计算问题(如梯度爆炸或消失)。
    • 可以将输出值映射到某个特定范围,适用于不同的任务。例如,二分类问题的输出通常被压缩到 [0,1][0,1] 区间。
  3. 数据映射和归一化

    • 在信号处理或机器学习中,将数据压缩到特定区间有助于规范化输入,减少计算复杂度。

3. 常见的非线性“压缩”函数及其底层原理

        以下是几种常用的非线性“压缩”函数的详细解释,包括其数学表达式、性质、图像以及底层实现原理。


3.1 Sigmoid 函数

数学定义:

        f(x) = \frac{1}{1+e^{x}}

输入-输出映射:
  • 输入 x 为任意实数 (−∞,+∞)。
  • 输出 f(x) 的范围为 (0,1)。
底层原理:
  • Sigmoid 函数是一个典型的 S型函数(S-shape),它将输入数据压缩到 (0,1) 区间。
  • 当 x→−∞,f(x)→0(→代表趋近于的意思)。
  • 当 x→+∞,f(x)→1。
  • 在 x=0 处,Sigmoid 的输出为 0.5。
导数(梯度):

Sigmoid 的导数为:

                 {f}'(x) = f(x) * (1-f(x))

  • 可以看到,Sigmoid 的导数也依赖于 f(x),这使得梯度随着输入的绝对值增大而减小。
优缺点:
  • 优点:简单,适用于二分类输出。
  • 缺点:当输入较大或较小时,梯度趋于零,导致 梯度消失 问题。

3.2 Tanh 函数

数学定义:

                f(x) = tanh(x) = \frac{e^{x}-e^{-x}}{e^{x}+e^{-x}}

输入-输出映射:
  • 输入 x 为任意实数 (−∞,+∞)。
  • 输出 f(x) 的范围为 (−1,1)。
底层原理:
  • Tanh 是一种 平移和缩放 过的 Sigmoid 函数,它具有更好的对称性。
  • 当 x→−∞,f(x)→−1。
  • 当 x→+∞,f(x)→1。
  • 在 x=0 处,Tanh 的输出为 0。
导数(梯度):

Tanh 的导数为:

                {f}'(x) = 1 - f(x)^{2}

  • 梯度不会像 Sigmoid 那样受限于输出的绝对值大小。
优缺点:
  • 优点:输出范围在 [−1,1] 之间,更适合数据的归一化处理。
  • 缺点:仍然存在梯度消失问题。

3.3 Softsign 函数

数学定义:

                f(x) = \frac{x}{1+ \left | x \right |}

输入-输出映射:
  • 输入 x 为任意实数。
  • 输出 f(x) 的范围为 (−1,1)。
底层原理:
  • Softsign 是 Tanh 的一个变种,使用分段线性函数实现非线性压缩。
  • 相比于 Tanh,它的计算更简单。
导数:

Softsign 的导数为:

                 {f}'(x) = \frac{1}{(1+ \left | x \right |)^{2}}

  • 梯度在输入较小时较大,输入较大时逐渐减小。

3.4 ReLU(Rectified Linear Unit)

数学定义:

                f(x)=max(0,x)

输入-输出映射:
  • 输入 x 为任意实数。
  • 输出 f(x) 的范围为 [0,+∞)。
底层原理:
  • ReLU 将所有负值压缩为 0,而正值保持线性输出。
导数:

ReLU 的导数为:

                {f}'(x) = \left\{\begin{matrix} 1,x > 0 & \\ 0,x \leqslant 0& \end{matrix}\right.

优缺点:
  • 优点:简单高效,解决了梯度消失问题。
  • 缺点:对于 x≤0,梯度为零,可能导致神经元“死亡”。

3.5 Softmax 函数(多分类压缩函数)

数学定义:

        对于一个输入向量 x=[x_{1},x_{2},...,x_{n}],Softmax 定义为:

        ​​​​​​​        f(x_{i}) = \frac{e^{xi}}{\sum_{j=1}^{n}e^{xi}}

输入-输出映射:
  • 输入为向量。
  • 输出为向量,所有元素都在 (0,1) 范围内,且总和为 1。

4. 总结

        非线性“压缩”函数(如 Sigmoid、Tanh、Softsign 等)通过将输入值映射到一个有界范围,引入非线性特征,为神经网络提供了强大的表达能力。不同函数适用于不同的场景,选择合适的压缩函数对于优化模型性能至关重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值