神经网络:激活函数的介绍

神经网络的激活函数是一种非线性函数,它被应用于每个神经元的输出,以引入非线性性质到网络中。

激活函数的目的是将输入转换为输出,并且将输出限制在特定的范围内。它们非常重要,因为线性变换(例如加法和乘法)的组合只会产生与输入相同的线性关系。通过使用非线性的激活函数,神经网络能够学习和表示更复杂的函数关系。

常用的激活函数包括:

  1. Sigmoid函数:它将输入映射到0到1之间的连续输出。它在二分类问题中常用作输出层的激活函数,在隐藏层中使用会导致梯度消失的问题。

  2. tanh函数:也被称为双曲正切函数,将输入映射到-1到1之间的连续输出。与Sigmoid函数相比,它的输出范围更大,但依然存在梯度消失的问题。

  3. ReLU函数:也被称为修正线性单元函数,它将负输入映射为0,并保持正输入不变。它在隐藏层中非常常用,因为它能够处理梯度消失问题,并加速网络的训练速度。

  4. Leaky ReLU函数:是ReLU函数的一种改进形式,解决了ReLU函数在负数部分出现的"死神经元"问题。它在负输入时引入一个小的负斜率,以便保持负数部分的信息流动。

  5. Softmax函数:通常用于多分类问题的输出层。它将输入向量归一化为概率分布,使得所有输出值的总和为1。

这些是神经网络中常见的激活函数,选择合适的激活函数取决于问题的特点和网络的架构。

以下是使用Python绘制这几种函数的曲线的示例代码:

复制代码
`import numpy as np
import matplotlib.pyplot as plt

# Sigmoid函数
def sigmoid(x):
    return 1 / (1 + np.exp(-x))

# tanh函数
def tanh(x):
    return (np.exp(x) - np.exp(-x)) / (np.exp(x) + np.exp(-x))

# ReLU函数
def relu(x):
    return np.maximum(0, x)

# Leaky ReLU函数
def leaky_relu(x, alpha=0.01):
    return np.maximum(alpha * x, x)

# Softmax函数
def softmax(x):
    exps = np.exp(x)
    return exps / np.sum(exps)

x = np.linspace(-10, 10, 100)

# 绘制Sigmoid函数曲线
plt.plot(x, sigmoid(x), label='Sigmoid')

# 绘制tanh函数曲线
plt.plot(x, tanh(x), label='tanh')

# 绘制ReLU函数曲线
plt.plot(x, relu(x), label='ReLU')

# 绘制Leaky ReLU函数曲线
plt.plot(x, leaky_relu(x), label='Leaky ReLU')

# 绘制Softmax函数曲线
plt.plot(x, softmax(x), label='Softmax')

plt.legend()
plt.xlabel('x')
plt.ylabel('y')
plt.title('Activation Functions')
plt.grid()
plt.show()
`
  1. Sigmoid函数的曲线特点是在输入接近正无穷大和负无穷小的时候,输出接近于1和0。它的输出范围是0到1之间,且曲线在中心点处斜率最大。

  2. tanh函数的曲线特点是在输入接近正无穷大和负无穷小的时候,输出接近于1和-1。与Sigmoid函数相比,它的输出范围更大,且曲线在中心点处斜率最大。

  3. ReLU函数的曲线特点是在输入小于零时输出为0,大于零时输出等于输入。它的图像为一条直线段,没有平滑的转折点,且在中心点处斜率始终为1。

  4. Leaky ReLU函数的曲线特点与ReLU函数类似,但在负输入时引入了一个小的负斜率。这个负斜率可以防止负数部分的输出完全消失,增加了模型的稳定性。

  5. Softmax函数的曲线特点是将输入向量归一化为概率分布。它的输出是一个概率分布,且所有输出值的总和为1。该函数适用于多分类问题,并且在输出层使用时可以将每个类别的输出解释为概率。

相关推荐
会飞的老朱5 小时前
医药集团数智化转型,智能综合管理平台激活集团管理新效能
大数据·人工智能·oa协同办公
聆风吟º6 小时前
CANN runtime 实战指南:异构计算场景中运行时组件的部署、调优与扩展技巧
人工智能·神经网络·cann·异构计算
Codebee8 小时前
能力中心 (Agent SkillCenter):开启AI技能管理新时代
人工智能
聆风吟º9 小时前
CANN runtime 全链路拆解:AI 异构计算运行时的任务管理与功能适配技术路径
人工智能·深度学习·神经网络·cann
uesowys9 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
AI_56789 小时前
AWS EC2新手入门:6步带你从零启动实例
大数据·数据库·人工智能·机器学习·aws
User_芊芊君子9 小时前
CANN大模型推理加速引擎ascend-transformer-boost深度解析:毫秒级响应的Transformer优化方案
人工智能·深度学习·transformer
智驱力人工智能10 小时前
小区高空抛物AI实时预警方案 筑牢社区头顶安全的实践 高空抛物检测 高空抛物监控安装教程 高空抛物误报率优化方案 高空抛物监控案例分享
人工智能·深度学习·opencv·算法·安全·yolo·边缘计算
qq_1601448710 小时前
亲测!2026年零基础学AI的入门干货,新手照做就能上手
人工智能
Howie Zphile10 小时前
全面预算管理难以落地的核心真相:“完美模型幻觉”的认知误区
人工智能·全面预算