当前位置: 首页 > article >正文

深度学习|表示学习|卷积神经网络|非线形如何帮助卷积操作|11

如是我闻: “With a non-linearity, we get a detector of a feature at any position in the image”,强调了非线性(non-linearity)在卷积神经网络中扮演的关键作用。

在这里插入图片描述


1. 什么是非线性?

非线性指的是在卷积操作后,应用一个非线性激活函数(如 Sigmoid、ReLU、Tanh 等)来对卷积的结果进行变换。

在这个例子中
  • 使用的是 Sigmoid 函数,定义为:
    sigm ( x ) = 1 1 + e − x \text{sigm}(x) = \frac{1}{1 + e^{-x}} sigm(x)=1+ex1
    这个函数会将输出值变换到 ([0, 1]) 的范围内。
  • 在公式中:
    sigm ( 0.02 ⋅ x i ∗ k i j − 4 ) \text{sigm}(0.02 \cdot x_i * k_{ij} - 4) sigm(0.02xikij4)
    步骤
    1. x i ∗ k i j x_i * k_{ij} xikij 是卷积操作的结果;
    2. 结果先乘以 0.02 0.02 0.02(一个缩放系数);
    3. 再减去一个偏置 4 4 4(用于调节激活位置);
    4. 最后通过 Sigmoid 激活函数变换得到输出值。
为什么这叫非线性?

因为激活函数(比如 Sigmoid)是非线性的,它会对输入值做非线性变换。相比于单纯的线性操作(如卷积和加权求和),非线性使得模型具有更强的表达能力。


2. 为什么卷积操作需要非线性?

卷积操作本质上是一个线性操作,只对图像中的局部区域做加权求和。如果只使用卷积而不引入非线性,那么整个网络的计算过程就会变成一个单一的线性变换,再多层的叠加也不能捕捉复杂的特征。

举个简单的例子:
  • 假设有两个卷积层 C 1 C_1 C1 C 2 C_2 C2,如果没有非线性函数:
    C 2 ( C 1 ( x ) ) = W 2 ⋅ ( W 1 ⋅ x ) = ( W 2 ⋅ W 1 ) ⋅ x C_2(C_1(x)) = W_2 \cdot (W_1 \cdot x) = (W_2 \cdot W_1) \cdot x C2(C1(x))=W2(W1x)=(W2W1)x
    结果等价于一个简单的线性变换。再多层也不会改变这个性质。
  • 如果引入非线性:
    C 2 ( sigmoid ( C 1 ( x ) ) ) C_2(\text{sigmoid}(C_1(x))) C2(sigmoid(C1(x)))
    每层的输出都会经过非线性变换,能够捕捉更复杂的特征,网络的表示能力大大增强。

3. 非线性的作用:特征检测器

通过添加非线性,卷积操作可以成为某种特征的检测器

  • 卷积核 k i j k_{ij} kij 用于检测图像中的某种局部特征(比如边缘、角点)。
  • Sigmoid 激活函数会将卷积结果转换为 [ 0 , 1 ] [0,1] [0,1] 的概率值,表明某个特征是否存在。
示例解释
  • 输入图像 x i x_i xi:包含高亮的像素(255),它们构成一个模式。
  • 卷积后的值 x i ∗ k i j x_i * k_{ij} xikij:是线性叠加的结果,但可能有正有负,值域很大。
  • 加非线性后的值
    • 如果某个位置的卷积结果高(表明卷积核检测到特征),Sigmoid 会将输出激活为接近 1。
    • 如果卷积结果低(未检测到特征),Sigmoid 会将输出压缩到接近 0。

在这个例子中:

  • 特定位置(比如亮点区域)被卷积核检测后,输出值(post-activation)在 0.75 附近。
  • 未检测到特征的区域输出接近 0.02,表明没有显著特征。

总结:引入非线性后,卷积操作可以将高维特征(边缘、模式等)转换为更有意义的激活值,这使得模型具备了“特征检测器”的能力。


4. 为什么非线性对图像特征检测非常关键?

(1) 捕捉复杂模式

图像中的复杂模式可能是非线性的,比如物体的边缘、纹理、形状等。单纯的线性操作无法充分表达这些特征,而非线性函数能将线性变换的结果变得更灵活。

(2) 去除噪声、强化重要特征

激活函数(如 Sigmoid)可以对高卷积响应的区域进行强化(值接近 1),对低响应区域进行压缩(值接近 0)。这会让检测到的特征更加显著,同时弱化无关区域。

(3) 增加模型的深度和非线性能力

只有引入非线性,叠加多层卷积才能捕捉更复杂的特征,构成深度神经网络。


5. 总的来说

  1. 增强特征检测能力:在卷积操作后,通过 Sigmoid 激活函数,可以更好地将高卷积响应(检测到特征)与低响应(未检测到特征)区分开。
  2. 模拟概率输出:Sigmoid 的值域是 ([0, 1]),很适合解释为某特征存在的概率。
  3. 提升网络表达能力:引入非线性后,网络能够处理更复杂的特征组合。

以上


http://www.kler.cn/a/520854.html

相关文章:

  • 小阿卡纳牌
  • RKNN_C++版本-YOLOV5
  • Hystrix熔断器与异常处理的艺术
  • 游戏策划的分类
  • Lua 环境的安装
  • libOnvif通过组播不能发现相机
  • 寒假学web--day09
  • 堆的简要分析与实现(Java)
  • CentOS/Linux Python 2.7 离线安装 Requests 库解决离线安装问题。
  • UE学习日志#12 Niagara特效大致了解(水文,主要是花时间读了读文档和文章)
  • 重回C语言之老兵重装上阵(十三)C 预处理器
  • 2025美赛美国大学生数学建模竞赛A题完整思路分析论文(43页)(含模型、可运行代码和运行结果)
  • C# 探秘:PDFiumCore 开启PDF读取魔法之旅
  • Apache Flink 概述学习笔记
  • java基础-容器
  • ORACLE-主备备-Failover
  • 每日 Java 面试题分享【第 12 天】
  • Ansible自动化运维实战--yaml的使用和配置(7/8)
  • 企业知识管理平台的对比分析与优化策略探讨
  • 蓝桥杯模拟算法:蛇形方阵
  • cloc下载和使用
  • C#新语法
  • ES filter和post_filter的区别
  • IDEA全局搜索Ctrl+Shift+F失效
  • vim的特殊模式-可视化模式
  • 超市数字化落地:RWA + 智能体赋能实体零售数字化