神经网络入门:从感知机到激活函数

什么是神经网络

神经网络(Neural Network) 是一种模拟生物神经系统工作方式的计算模型,是机器学习和深度学习的核心组成部分。它的设计灵感来源于人脑中神经元之间的连接和信息传递方式。神经网络通过模拟这种结构,能够从数据中学习复杂的模式和关系,并用于解决各种任务,如分类、回归、生成等。

神经网络的一些基本概念

神经网络的基本组成

神经网络由多个层(layers)组成,每一层包含多个神经元(neurons),神经元之间通过**权重(weights)偏置(biases)**连接。以下是神经网络的核心组件:

神经元(Neuron)
  • 神经元是神经网络的基本单元,模拟生物神经元的工作方式。
  • 每个神经元接收来自其他神经元的输入,对这些输入进行加权求和,然后通过一个激活函数(Activation Function)生成输出。

数学表达式:y=f(\sum_{i=1}^n w_ix_i+b)

其中:

  • x_i是输入,
    • w_i是权重,
    • b是偏置,
    • f激活函数(如 Sigmoid、ReLU 等)。
层(Layer)
  • 输入层(Input Layer):接收原始数据(如图像像素、文本向量等)。
  • 隐藏层(Hidden Layer):通过非线性变换提取数据的特征。一个神经网络可以有多个隐藏层。
  • 输出层(Output Layer):生成最终的预测结果(如分类概率、回归值等)。
权重和偏置(Weights and Biases)
  • 权重(Weights):连接神经元之间的参数,决定输入对输出的影响程度。
  • 偏置(Biases):为每个神经元添加一个额外的参数,用于调整输出的偏移。
激活函数(Activation Function)
  • 激活函数引入非线性,使神经网络能够学习复杂的模式。
  • 常见的激活函数包括:
    • Sigmoid:将输入映射到 (0, 1) 区间。
    • ReLU(Rectified Linear Unit)f(x)=max(0,x),是目前最常用的激活函数。
    • Tanh:将输入映射到 (-1, 1) 区间。
    • Softmax:用于多分类任务的输出层,将输入转换为概率分布。

什么是感知机

感知机是由 Frank Rosenblatt 在 1957 年提出的一种二分类模型,是神经网络的最早形式之一。它的结构非常简单,可以看作是一个单层的神经网络。

下面我们来看一个感知机的示例(最简单的神经网络),在一个区块中有蓝橙两种颗粒,让感知机分别识别出其中的橙色和蓝色(简单的二分类)。

实验中的要素的一些解释:

数据点的颜色(蓝色和橙色)

  • 含义:表示数据点的真实类别(标签)。
    • 蓝色点:属于类别 A。
    • 橙色点:属于类别 B。
  • 分布:当前数据集是“圆形分布”(dataset=circle),因此数据点会围绕中心形成内外两个环形区域(内圈和外圈),不同颜色代表不同类别。

背景区块的颜色(渐变区域)

  • 含义:表示模型对输入空间的分类预测结果。
    • 蓝色区域:模型预测该区域属于类别 A。
    • 橙色区域:模型预测该区域属于类别 B。
  • 分界线:颜色过渡的交界处是模型的“决策边界”。边界越清晰,说明模型对分类结果越自信;边界模糊则表示模型对某些区域的分类存在不确定性。

示例说明:其中蓝色的点和黄色的点代表其真实的颜色,正方形区域的背景色是预测的颜色,上图是初始化状态即模型还没开始预测的状态。

上图是预测后的状态,可以看到正方形的区域已经有了蓝色背景和橙色背景(效果不是很好,蓝色和橙色并没有完全的区分开),目前只有一层神经网络和一个神经元,我们尝试再增加几个神经元试试。

可以看到加了2个神经元后,橙色和蓝色的区分效果变的更好一点了(正方形区域的左侧又有一块被识别出是橙色),我们尝试再增加几层神经网络试试效果。

加了一层神经网络后,效果还是不是特别理想,我们发现模型在预测的时候,预测的区块总是竖装的去划分,可以看到我们喂的FEATURES是竖装的橙蓝亮色,我们尝试去喂更多结构的特征试试。

可以看到再加了一个新的特征输入后,模型的预测结果准确度有了明显的提升,最后我们再看看把所有的示例特征都输入看看:

完美!

什么是激活函数

激活函数的核心作用

引入非线性

  • 神经网络若无激活函数,多层叠加仍等效于单层线性变换,无法拟合复杂非线性关系。

控制输出范围

  • 将神经元输出限制在特定区间(如Sigmoid输出0~1,Tanh输出-1~1),避免数值爆炸。

决策阈值化

  • 模拟生物神经元的“触发”机制(如ReLU过滤负值,Softmax生成概率分布)。

常用激活函数对比

以下为6种常用激活函数的特性总结:

激活函数

公式

输出范围

优点

缺点

适用场景

Sigmoid

\frac{1}{(1+e^{-x})}

(0, 1)

输出平滑,适合概率解释

梯度消失(两端饱和)、计算成本高

二分类输出层、门控单元(LSTM)

Tanh

\frac{e^x-e^{-x}}{e^x+e^{-x}}

(-1, 1)

中心对称,梯度更强

梯度消失(同Sigmoid)

隐藏层、RNN

ReLU

max(0,x)

[0, +∞)

计算高效,缓解梯度消失

Dead ReLU(负输入无梯度)

隐藏层(CNN、MLP主流选择)

Leaky ReLU

f(x) = \begin{cases} x & \ x > 0 \\ \alpha x \end{cases}

(-∞, +∞)

解决Dead ReLU问题

需调参α,效果依赖实现

隐藏层(ReLU改进版)

Softmax

\frac{e^{z_i}}{\sum_{j=1}^n e^{z_j}}

(0,1)且和为1

输出概率分布,天然多分类适配

仅用于输出层,数值不稳定需优化

多分类输出层

Swish

x \cdot \sigma(\beta x) = x \cdot \frac{1}{1 + e^{-\beta x}}

(-∞, +∞)

平滑非单调,实验性能优于ReLU

计算成本略高

替代ReLU的隐藏层


激活函数特性详解

1. Sigmoid与Tanh的梯度问题
  • 梯度消失:当输入绝对值较大时,导数趋近于0(如Sigmoid导数最大仅0.25),反向传播时梯度逐层衰减,导致深层网络难以训练。
  • 解决方案:深层网络中优先使用ReLU及其变体。
2. ReLU家族的核心优势
  • 稀疏激活:约50%神经元在训练中被抑制(输出为0),减少参数依赖,增强泛化能力。
  • 梯度保持:正区间导数为1,避免梯度衰减,加速收敛。
3. Softmax的特殊性
  • 归一化竞争:通过指数放大差异,使最大值的概率显著高于其他类别,适合互斥分类任务。
  • 数值稳定性:实现时需减去最大值(xi=xi−max⁡(x)xi=xi−max(x))防止指数爆炸。

激活函数选择指南

网络层

推荐激活函数

原因

隐藏层

ReLU / Leaky ReLU / Swish

计算高效,缓解梯度消失,适合深层网络

二分类输出层

Sigmoid

输出0~1概率值,天然适配二分类决策

多分类输出层

Softmax

输出概率分布,总和为1,适配互斥分类

回归任务输出层

线性(无激活)

直接输出连续值,无需限制范围

RNN/LSTM

Tanh / Sigmoid

Tanh用于状态更新(中心化),Sigmoid用于门控(0~1开关)


 

激活函数实例

还是之前的二分类的例子,ReLU函数

Tanh函数

Sigmoid函数

附录

实验地址来源:A Neural Network Playground (大家感兴趣的可以直接上去做实验)

神经网络学习视频:【官方双语】深度学习之神经网络的结构 Part 1 ver 2.0_哔哩哔哩_bilibili

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值