​​​​​​​神经网络基础讲解 一

​一.神经网络

​1. 全连接神经网络(Fully Connected Network, FCN)​

​核心概念:​

  • ​输入层​​:接收原始数据(如数字、图片像素等)   数字矩阵 。
  • ​隐藏层​​:对数据进行计算和变换(可以有多个隐藏层)。
  • ​输出层​​:给出最终结果(如分类标签、预测值等)。

​计算方式:​
每个神经元的输出计算如下:

a=h(w⋅x+b)

  • x:输入数据
  • w:权重(决定输入的重要程度)
  • b:偏置(调整输出的偏移)
  • h:激活函数(如 ReLU、Sigmoid,让网络能学习复杂模式)

​特点:​

  • ​全连接​​:每一层的每个神经元都与下一层的所有神经元相连。
  • ​适合简单任务​​(如分类数字、预测房价),但处理图像等高维数据时效率较低。

​2. 神经网络的训练与优化​

​核心目标:​
找到最佳的 ​​权重(w)​​ 和 ​​偏置(b)​​,让模型的预测尽可能准确。

​训练过程:​

  1. ​前向传播​​:输入数据经过网络计算,得到预测值 y。
  2. ​计算误差​​:用 ​​损失函数(Loss Function)​​ 衡量预测值与真实值的差距。
  3. ​反向传播​​:从输出层反向调整 w 和 b,让误差变小。
  4. ​优化算法​​(如梯度下降):不断更新参数,使模型越来越准。

​简单理解:​

  • 就像学习骑自行车,一开始会摔倒(误差大),但通过不断调整(优化参数),最终能骑得稳(预测准)。

​3. 卷积神经网络(CNN)的引入​
​为什么需要 CNN?​
全连接网络在处理图片时:
  • ​参数太多​​(一张 100x100 的图片,全连接层可能有上百万参数!)
  • ​计算太慢​​,且容易过拟合。

​CNN 的核心:卷积核(Filter)​

  • ​作用​​:像一个小窗口,在图片上滑动,提取局部特征(如边缘、纹理)。
  • ​优点​​:
    • ​参数更少​​(共享权重,减少计算量)。
    • ​保留空间信息​​(适合图像、视频等数据)。

​典型结构:​

  1. ​卷积层(Convolution)​​:提取特征
  2. ​池化层(Pooling)​​:降低数据量(如取最大值或平均值)
  3. ​全连接层(FC)​​:最终分类或回归

​适用场景:​

  • 图像识别(如人脸检测、物体分类)
  • 视频分析、医学影像处理等

​总结对比​
​网络类型​​适用场景​​核心特点​
​全连接网络(FCN)​简单分类、回归(如房价预测)所有神经元相连,参数多
​卷积网络(CNN)​图像、视频等空间数据用卷积核提取特征,参数更高效

​为什么需要激活函数?​

​核心问题:​
如果不用激活函数,多层神经网络会退化成“单层线性模型”。

  • ​例子​​:假设激活函数是线性的,比如 h(x)=2x,那么一个 3 层网络的计算过程是:y(x)=h(h(h(x)))=2×2×2×x=8x这其实等价于单层网络 y(x)=8x,多层网络没有发挥任何优势。

​关键作用:​
激活函数引入​​非线性​​,使得神经网络可以:

  • 学习复杂模式(比如图像中的曲线、文本中的语义关系)。
  • 解决线性模型无法处理的问题(如分类复杂数据)。
  • 让深层网络真正发挥“深度”价值,而不是简单堆叠线性计算。

​1. Sigmoid 激活函数​

​公式:​

​特点:​
✅ ​​优点​​:

  • 输出在 (0,1) 之间,适合做​​概率输出​​(比如二分类问题,判断“是猫”或“不是猫”)。
  • 计算简单,早期神经网络常用。

❌ ​​缺点​​:

  1. ​梯度消失​​:
    • 当输入 z 很大或很小时,导数 y′ 接近 0,导致参数(w,b)几乎不更新,深层网络训练困难。
    • 比如,z=10 时,y≈1,y′≈0,梯度几乎消失。
  2. ​输出不对称​​: 
    •         输出恒为正(> 0),导致后续层的输入总是正数,影响参数优化效率。
  3. ​训练慢​​:
    •         梯度更新方向不稳定,优化过程耗时较长。

​适用场景​​:二分类问题的输出层(现代神经网络隐藏层一般不用 Sigmoid)。


​2. Tanh 激活函数​

​公式:​

​特点:​
✅ ​​优点​​(相比 Sigmoid):

  1. ​输出对称​​:
    • 输出在 (-1, 1) 之间,以 0 为中心,缓解了 Sigmoid 的“恒正”问题,训练更稳定。
  2. ​收敛更快​​:
    • 梯度更新更合理,模型训练速度比 Sigmoid 快。

❌ ​​缺点​​:

  1. ​梯度消失仍然存在​​:
    • 当 ∣z∣ 很大时,导数 y′ 接近 0,深层网络依然可能训练困难。
  2. ​非线性能力有限​​:
    • 和 Sigmoid 类似,Tanh 仍然是“饱和型”激活函数,对复杂数据的拟合能力不如 ReLU 等现代激活函数。

​适用场景​​:RNN、LSTM 等序列模型(隐藏层),二分类问题的输出层(替代 Sigmoid)。


​对比​
​激活函数​​输出范围​​优点​​缺点​​适用场景​
​Sigmoid​(0, 1)适合概率输出,计算简单梯度消失、训练慢、输出不对称二分类输出层
​Tanh​(-1, 1)输出对称,训练比 Sigmoid 快仍有梯度消失问题RNN/LSTM 隐藏层

3. ​​ReLU & Leaky ReLU 激活函数


​一、ReLU(修正线性单元)​

​1. 公式与计算规则​

  • ​直观理解​​:输入 > 0 时,直接输出原值;输入 ≤ 0 时,输出 0。反向传播时,正输入的梯度恒为 1,负输入的梯度为 0。

​2. 核心优势​​ ✅

  1. ​解决梯度消失​​:正区间的梯度恒为 1,深层网络训练时梯度能稳定传递(不像 Sigmoid/Tanh 会接近 0)。
  2. ​计算极快​​:只需判断是否大于 0,没有指数、除法等复杂运算,适合大规模网络(如 CNN、Transformer)。
  3. ​稀疏激活​​:负输入直接输出 0,让部分神经元“关闭”,提升模型效率。

​3. 主要缺点​​ ❌
​神经元死亡问题​​:

  • 如果某个神经元的输入长期 ≤ 0(比如初始化不好或学习率太高),它的梯度永远是 0,参数无法更新,这个神经元就“死”了,失去作用。
  • 影响:部分神经元失效,降低模型表达能力。

​适用场景​​:

  • ​绝大多数深度学习模型​​(如 CNN、全连接网络)的隐藏层默认选择。
  • 代表网络:ResNet、VGG、AlexNet 等。

​二、Leaky ReLU(带泄漏的 ReLU)​

​1. 公式与计算规则​

  • ​直观理解​​:输入 > 0 时和 ReLU 一样;输入 ≤ 0 时,输出一个很小的比例(如 0.01 倍),而不是直接归零。

​2. 核心优势​​ ✅
​解决神经元死亡​​:

  • 负输入也有微小梯度(如 0.01),神经元不会完全“死掉”,保留了学习能力。

​3. 主要缺点​​ ❌

  1. ​需要调参​​:泄漏系数 a 是人工设定的(通常 0.01),不同任务可能需要调整。
  2. ​训练可能不稳定​​:正负区间的处理方式不同,可能导致梯度更新波动。

​适用场景​​:

  • 担心 ReLU 神经元死亡的场景(如训练不稳定或深层网络)。
  • 改进版:​​PReLU​​(Parametric ReLU),让 a 变成可学习的参数,自动优化。

​三、对比
​特性​​ReLU​​Leaky ReLU​
​计算速度​⚡️ 极快(主流选择)⚡️ 快(稍慢于 ReLU)
​梯度消失​✅ 正区间无消失✅ 正区间无消失
​神经元死亡​❌ 可能死亡✅ 缓解死亡问题
​超参数​需设定泄漏系数 a

二. 损失函数

1. 均方误差损失函数

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
    如若转载,请注明出处:http://www.pswp.cn/pingmian/85385.shtml
    繁体地址,请注明出处:http://hk.pswp.cn/pingmian/85385.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    MySQL 8.0 OCP 英文题库解析(二十二)

    Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题201~210 试题2…

    【大模型推理】PD分离场景下decoder负载均衡,如何选取decoder

    https://mp.weixin.qq.com/s?__bizMzg4NTczNzg2OA&mid2247507420&idx1&sn4b32726abd205c7f94144bcb9105330f&chksmce64b9fc7f1d8de04a40b0153302dee52262c6f104c67195e2586e75c8093b8be493f252c8a3#rd 在非 Local 场景下,Prefill 定时获取 Decode …

    【IP地址】IP应用场景的使用方向

    网络安全领域 通过IP地址查询,安全系统能够实时监控网络流量,识别异常访问行为。例如,当某个IP地址在短时间内频繁发起大量请求,且访问模式与正常用户存在明显差异时,系统可将其标记为可疑IP,触发风险预警…

    3-18 WPS JS宏 颜色设置实例应用(按条件设置单元格颜色)学习笔记

    前面讲解了关于单元格的一些格式的设置,本节课再讲解一下各种清除方法。 1.函数解析与用法 Range().clear()//清除全部 Range().Value2null //清除内容 Range().ClearContents()//清除内容 Range().ClearFormats()//清除格式 Range().EntireRow.Range()//以Ra…

    从零开始的云计算生活——第二十天,脚踏实地,SSH与Rsync服务

    目录 一.故事背景 二.SSH带外管理 1.概述 2. 配置文件 3.命令解析 4.登录方式配置 a.用户名密码登录 b.公钥验证登录 5.实操生成密钥对 三.Rsyncsersync实现数据实时同步 1.rsync概述 2.rsync运行原理 3.rsync部署 4.备份测试 配置备份目录 5.rsyncsersync 实现…

    SpringAI + DeepSeek大模型应用开发 - 初识篇

    一、认识AI 1. AI的发展 AI,人工智能(Artificial Intelligence),使机器能像人类一样思考、学习和解决问题的技术。 2. 大模型及其原理 在自然语言处理(Natural Language Processing, NLP)中,…

    c++第八天-多态

    虚函数虚析构函数纯虚函数与抽象类 多态实现的条件:(1)公有继承 (2)派生类重写基类虚函数 (3)基类指针/引用指向派生类对象 虚函数不能是构造函数,不能是静态函数,不能…

    全景图渲染Vue3+TS使用Photo Sphere Viewer插件实现

    1.Photo Sphere Viewer插件安装: title=插件安装 体验AI代码助手 代码解读复制代码npm install photo-sphere-viewer -S 或 yarn add photo-sphere-viewer -S 2.原始全景图展示 初始化标签容器 体验AI代码助手 代码解读复制代码 // 全景图的根节点必须要具备宽高 TS引用,创建…

    Redis之分布式锁(3)

    这篇文章我们来详细介绍一下如何正确地基于Redis实现分布式锁。 基于Redis的分布式锁实现 组件依赖 首先通过Maven引入Jedis开源组件&#xff0c;在pom.xml文件加入下面的代码&#xff1a; <dependency><groupId>redis.clients</groupId><artifactId&g…

    Java课堂笔记11

    三个修饰符 一、abstract&#xff08;抽象&#xff09; 1.抽象方法只能在抽象的类里&#xff0c;只有方法的声明&#xff0c;没有方法的实现。&#xff08;没有{}直接&#xff1b;结尾&#xff09;。 2.abstract修饰的类称为抽象类。 注意&#xff1a;&#xff08;1&#x…

    Linux 核心知识点整理(高频考点版)

    一、编译与工具链 GCC 编译流程 四阶段&#xff1a;预处理&#xff08;-E&#xff0c;处理头文件 / 宏&#xff09;→ 编译&#xff08;-S&#xff0c;生成汇编&#xff09;→ 汇编&#xff08;-c&#xff0c;生成目标文件&#xff09;→ 链接&#xff08;生成可执行程序&…

    轻量化社交管理方案:Skout与云手机的巧妙搭配

    在移动社交时代&#xff0c;许多用户开始尝试通过多账号管理来拓展社交圈层。近期测试了Skout社交平台与亚矩阵云手机的搭配使用&#xff0c;发现这个组合为轻量级社交账号管理提供了一个值得关注的解决方案。 基础功能介绍 这套组合的核心优势在于&#xff1a; 通过云手机实…

    ETL连接器好用吗?如何实现ETL连接?

    目录 一、ETL连接器的功能和优势 1. 数据抽取能力 2. 数据转换功能 3. 数据加载功能 4. 优势总结 二、实现ETL连接的步骤 1. 需求分析 2. 选择合适的ETL连接器 3. 配置数据源和目标系统 4. 设计ETL流程 5. 开发和测试ETL任务 6. 部署和监控ETL任务 三、ETL连接器在…

    uniapp实现聊天中的接发消息自动滚动、消息定位和回到底部

    前言 前言无需多言&#xff0c;想必大家对聊天软件的功能已经很熟悉&#xff0c; 这里不做过多赘述&#xff0c;笔者通过uniapp实现聊天中的接发消息自动滚动、消息定位和回到底部。 代码实现 <template><view class"chat-container"><!-- 消息列表…

    MyBatisMyBatis plus

    整合 MyBatis 到 Spring 或 Spring Boot 项目中&#xff0c;可以极大地简化开发流程&#xff0c;尤其是当使用 Spring Boot 时&#xff0c;它提供了自动配置功能&#xff0c;使得集成更加简便。 在 Spring Boot 中整合 MyBatis 1. 添加依赖 首先&#xff0c;在 pom.xml 文件中…

    Stable Diffusion 实战-手机壁纸制作 第二篇:优化那些“崩脸”和“马赛克”问题,让图像更加完美!

    欢迎回来!在《StableDiffusion实战-手机壁纸制作》系列的第一篇中,我们成功完成了基础操作,制作出了令人炫目的手机壁纸。 今天,我们将进入一个更高阶的领域——优化处理。因为谁不想让生成的艺术品更完美呢?尤其是避免“崩脸”和“马赛克”这种让人抓狂的问题! 创作的路…

    408第一季 - 数据结构 - B树与B+树

    B树 性质 可以看见一个节点可以有多个数字了 然后也满足左小右大的特征 然后所有的叶子节点都在同一层&#xff0c;然后2个数字的节点就可以有3个分支 然后呢&#xff0c;每个节点里面到底有几个数字是有规定的公式的 就这个公式&#xff0c;m是5阶的&#xff0c;算出来是2和…

    SSRF5 Gopher 协议对内网 Web 服务进行 sql 注入 GET 类型和POST类型

    实验环境&#xff1b; Centos7.6上同时安装sqli-lib和pikachu 一.Gopher 协议对内网 Web 服务进行 sql 注入 GET 类型 我们先访问sqli-lib第1关 然后我们构造URL&#xff1a; http://192.168.112.12/pikachu-master/vul/ssrf/ssrf_curl.php?urlhttp://192.168.112.12/sql…

    Python打卡DAY31

    DAY31&#xff1a;文件的规范拆分和写法 恩师浙大疏锦行 知识点&#xff1a; 规范的文件命名规范的文件夹管理机器学习项目的拆分编码格式和类型注解 一、机器学习项目流程&#xff1a; 1、数据加载&#xff1a;从文件、数据库、API 等获取原始数据。 - 命名参考&#xff1a;…

    字符串大数 -减法

    描述 以字符串的形式读入两个数字&#xff0c;编写一个函数计算它们的和&#xff0c;以字符串形式返回。 代码实现 大小判断&#xff1a;a - b 与 b - a 的绝对值相等将大的数放前面&#xff0c;抽离出结果的符号 import random s, t str(random.randint(1000, 9999)), s…