问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

【机器学习】改进Sigmoid函数:缓解梯度消失同时保持概率预测能力

创作时间:
作者:
@小白创作中心

【机器学习】改进Sigmoid函数:缓解梯度消失同时保持概率预测能力

引用
CSDN
1.
https://blog.csdn.net/IT_ORACLE/article/details/144209125

在深度学习领域,Sigmoid函数因其输出范围在(0,1)之间,常被用于概率预测。然而,在深层神经网络中,Sigmoid函数容易导致梯度消失问题,影响模型训练效果。本文提出了一种改进的Sigmoid函数,通过引入线性项和调整陡峭程度,既保持了概率预测能力,又有效缓解了梯度消失问题。

改进思路

增强梯度的动态范围

传统Sigmoid的梯度公式为:
当x较大或较小时,σ(x)接近0或1,梯度趋于0。这是梯度消失的根源。为了增强梯度的动态范围,可以调整函数的陡峭程度。

保持概率性质

Sigmoid函数输出在(0,1)范围内,这一性质对于分类任务的概率预测至关重要。

设计一种改进的Sigmoid

公式定义

改进的激活函数,可以定义为:

其中:

  • α>1:通过调节α控制曲线的陡峭程度,增强梯度幅度。
  • β>0:引入线性项βx,避免输出饱和。

特性分析

  1. 增强梯度:
  • 线性项βx的引入保证了在输入绝对值较大时,输出仍具有一定的变化率,避免梯度完全趋于零。
  • 参数α增强函数在靠近原点附近的非线性程度。
  1. 输出范围:
  • 基本Sigmoid的范围是(0,1),线性项的引入可能改变这一范围。但可以通过对β进行限制,使其保持接近概率的性质。
  1. 概率性质保留:
  • 在β足够小的情况下,输出值仍接近(0,1),可用于概率预测。

优点

  1. 减少梯度消失:
  • 在线性项的辅助下,即使输入较大,梯度也不会完全消失。
  1. 简单易实现:
  • 与传统Sigmoid类似,改进仅需简单调整,不增加显著计算复杂度。
  1. 增强模型学习能力:
  • 在深层网络中改进梯度传递,提升模型对深层特征的捕获能力。

参数调节

  1. 参数α:
  • 一般设置为1<α<5,增强非线性。
  1. 参数β:
  • 通常取0<β<0.1,避免线性项过度影响。

与其他改进激活函数的对比

激活函数
输出范围
是否饱和
梯度范围
特点
Sigmoid
(0,1)
概率预测,梯度消失问题严重
ImprovedSigmoid
(0,1+β)
缓解
增强
增加线性项,减缓梯度消失
ReLU
[0,∞)
恒大于零
简单高效,但无法输出概率
Leaky ReLU
[−∞,∞)
恒大于零
减少死亡神经元,但非概率性
Swish
(−∞,∞)
增强
自适应梯度,训练更稳健

代码实现

以下是改进Sigmoid函数的Python实现:

import numpy as np
import matplotlib.pyplot as plt

def improved_sigmoid(x, alpha=2.0, beta=0.1):
    return 1 / (1 + np.exp(-alpha * x)) + beta * x

# 绘制比较图
x = np.linspace(-10, 10, 100)
y_sigmoid = 1 / (1 + np.exp(-x))
y_improved = improved_sigmoid(x)

plt.figure(figsize=(8, 6))
plt.plot(x, y_sigmoid, label='Sigmoid', linestyle='--', color='blue')
plt.plot(x, y_improved, label='Improved Sigmoid', linestyle='-', color='red')
plt.axhline(0, color='black', linewidth=0.5, linestyle='--')
plt.axvline(0, color='black', linewidth=0.5, linestyle='--')
plt.title("Improved Sigmoid vs Sigmoid")
plt.legend()
plt.grid()
plt.show()

总结

通过在Sigmoid中引入线性项或调整其陡峭程度,能够有效缓解梯度消失问题,同时保持其概率预测能力。这种改进适合用于深层网络,并可以根据具体任务灵活调节参数。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号