【AI大模型技术】2.神经网络 - 教程

news/2025/12/7 12:06:00/文章来源:https://www.cnblogs.com/yangykaifa/p/19317902

更多内容:XiaoJ的知识星球


目录

    • 2.神经网络
      • 2.1 神经网络基本组成
      • 2.2 神经网络训练
        • 2.2.1 训练示例
        • 2.2.2 减小损失函数:梯度下降
      • 2.3 词向量:Word2Vec
        • 2.3.1 CBOW模型(Continuous bag-of-words)
        • 2.3.2 Skip-Gram模型(Continuous Skip-Gram)
        • 2.3.3 负采样(Negative sampling)
        • 2.3.4 分层softmax(Hierarchical softmax)
        • 2.3.5 其他训练技巧
      • 2.4 循环神经网络(RNN)
        • 2.4.1 RNN基础
        • 2.4.2 RNN的变种:门控循环单元(GRU)
        • 2.4.3 RNN的变种:长短期记忆网络(LSTM)
        • 2.4.4 RNN的变种:双向RNN
      • 2.5 卷积神经网络(CNN)
        • 2.5.1 CNN主导组成:
        • 2.5.2 CNN工作原理
        • 2.5.3 CNN用于句子表示
        • 2.5.4 网络结构
        • 2.5.5 CNN vs. RNN


.

2.神经网络

2.1 神经网络基本组成

1)单个神经元:

在这里插入图片描述

2)单神经网络:

在这里插入图片描述

3)多层网络:

在这里插入图片描述

非线性函数的意义:例如激活函数

4)输出层:

在这里插入图片描述

线性输出层&Sigmoid层

在这里插入图片描述

多分类层:

在这里插入图片描述

.

2.2 神经网络训练

训练目标:最小化损失函数。

2.2.1 训练示例

均方误差(Mean Squared Error)

min ⁡ θ J ( θ ) = min ⁡ θ 1 N ∑ i = 1 N ( y i − F θ ( x i ) ) 2 \min_{\theta} J(\theta) = \min_{\theta} \frac{1}{N} \sum_{i=1}^{N} \left( y_i - F_{\theta}(x_i) \right)^2θminJ(θ)=θminN1i=1N(yiFθ(xi))2

交叉熵(Cross-entropy)

min ⁡ θ J ( θ ) = min ⁡ θ − 1 N ∑ i = 1 N log ⁡ P model ( F θ ( x i ) = y i ) \min_{\theta} J(\theta) = \min_{\theta} -\frac{1}{N} \sum_{i=1}^{N} \log P_{\text{model}} \left( F_{\theta}(x_i) = y_i \right)θminJ(θ)=θminN1i=1NlogPmodel(Fθ(xi)=yi)

在这里插入图片描述

2.2.2 减小损失函数:梯度下降

随机梯度下降(Stochastic Gradient Descent):

θ new = θ old − α ∇ θ J ( θ ) ∣ α 步长或学习率就是 步长或学习率就是 \theta^{\text{new}} = \theta^{\text{old}} - \alpha \nabla_{\theta} J(\theta) \\ | \\ \alpha θnew=θoldαθJ(θ)α是步长或学习率

  • 梯度(Gradient):输出对输入的每个维度的偏倒数

计算梯度:

  • 一个函数:

    • 给定一个有1个输出和n个输入的函数:

    F ( x ) = F ( x 1 , x 2 , ⋯ , x n ) F(x) = F(x_1, x_2, \cdots, x_n)F(x)=F(x1,x2,,xn)

    • 它的梯度是一个偏导数的向量:

    ∂ F ∂ x = [ ∂ F ∂ x 1 , ∂ F ∂ x 2 , … , ∂ F ∂ x n ] \frac{\partial F}{\partial x} = \left[ \frac{\partial F}{\partial x_1}, \frac{\partial F}{\partial x_2}, \ldots, \frac{\partial F}{\partial x_n} \right]xF=[x1F,x2F,,xnF]

  • Jacobian矩阵:

    • 给定一个有m个输出和n个输入的函数:

    F ( x ) = [ F 1 ( x 1 , x 2 , … , x n ) , F 2 ( x 1 , x 2 , … , x n ) , … , F m ( x 1 , x 2 , … , x n ) ] F(x) = \left[ F_1(x_1, x_2, \ldots, x_n), F_2(x_1, x_2, \ldots, x_n), \ldots, F_m(x_1, x_2, \ldots, x_n) \right]F(x)=[F1(x1,x2,,xn),F2(x1,x2,,xn),,Fm(x1,x2,,xn)]

    • Jacobian矩阵是一个( m * n )矩阵的偏导数:

    ∂ F ∂ x = [ ∂ F 1 ∂ x 1 … ∂ F 1 ∂ x n ⋮ ⋱ ⋮ ∂ F m ∂ x 1 … ∂ F m ∂ x n ] ( ∂ F ∂ x ) i j = ∂ F i ∂ x j \frac{\partial F}{\partial x} = \left[ \begin{array}{cccc} \frac{\partial F_1}{\partial x_1} & \ldots & \frac{\partial F_1}{\partial x_n} \\ \vdots & \ddots & \vdots \\ \frac{\partial F_m}{\partial x_1} & \ldots & \frac{\partial F_m}{\partial x_n} \end{array} \right] \quad \left( \frac{\partial F}{\partial x} \right)_{ij} = \frac{\partial F_i}{\partial x_j}xF=x1F1x1FmxnF1xnFm(xF)ij=xjFi

  • 链式法则求梯度:

    • 单变量函数:
      z = 3 y y = x 2 d z d x = d z d y d y d x = 3 × 2 x = 6 x \begin{align*} z &= 3y \\ y &= x^2 \\ \frac{dz}{dx} &= \frac{dz}{dy} \frac{dy}{dx} = 3 \times 2x = 6x \end{align*}zydxdz=3y=x2=dydzdxdy=3×2x=6x

    • 多变量函数:
      h = f ( z ) z = W x + b ∂ h ∂ x = ∂ h ∂ z ∂ z ∂ x = ⋯ \begin{align*} h &= f(z) \\ z &= Wx + b \\ \frac{\partial h}{\partial x} &= \frac{\partial h}{\partial z} \frac{\partial z}{\partial x} = \cdots \end{align*}hzxh=f(z)=Wx+b=zhxz=

  • 链式法则计算示例:

在这里插入图片描述

  • 反向传播(Backpropagation):

    • 前向传播:

    在这里插入图片描述

    • 反向传播:(蓝色内容)

    在这里插入图片描述

    • 反向传播计算梯度:

    在这里插入图片描述

    • 反向传播计算梯度,示例:

在这里插入图片描述

.

2.3 词向量:Word2Vec

Word2vec应用一个固定大小的滑动窗口,沿着句子移动。

每个窗口中,中间词是目标单词(target word),其他单词是上下文单词(context words)

在这里插入图片描述

2.3.1 CBOW模型(Continuous bag-of-words)

CBOW:根据上下文单词预测目标单词的概率。

在这里插入图片描述

假设窗口大小为5,不考虑context词的次序,预测“too”过程如下图:

2.3.2 Skip-Gram模型(Continuous Skip-Gram)

skip-gram:根据目标单词预测上下文单词的概率。

假设窗口大小为5,不考虑context词的次序,根据“too”预测其他Context词语的过程如下图:

在这里插入图片描述

2.3.3 负采样(Negative sampling)

只采样高频部分的单词。降低计算量。

示例:

  • Skip-Gram模型–非负例采样:

在这里插入图片描述

  • Skip-Gram模型–负例采样:只采样4个负例词

在这里插入图片描述

2.3.4 分层softmax(Hierarchical softmax)

Hierarchical softmax 通过构建一个二叉树来组织词汇表,其中每个词都是树的一个叶节点。然后,softmax 函数不是在整个词汇表上计算,而是在树的路径上计算。这种方法可以显著减少计算量,因为每个词的计算只依赖于它在树中的路径,而不是整个词汇表。

2.3.5 其他训练技巧

1)Sub-Sampling:为了平衡常见单词与罕见单词。

  • 某些词汇(如“的”、“是”)非常常见。若是不对这些常见词汇进行处理,训练中可能会导致模型过度关注这些词,忽视信息量更大的罕见词。

2)滑动窗口:

  • 固定滑动窗口:context词地位平等。

  • 非固定滑动窗口(soft sliding window):离target词越近的context词越要紧。

.

2.4 循环神经网络(RNN)

2.4.1 RNN基础

循环神经网络(Recurrent Neural Network,简称RNN):

  • 它能够处理序列数据,并且能够处理输入数据的前后依赖关系。

  • 关键:处理序列数据时的顺序记忆(Sequential Memory)。

RNN:

在这里插入图片描述

在这里插入图片描述

RNN语言模型:

在这里插入图片描述

RNN梯度问题:

  • 梯度消失:

    • 训练过程中,由于连续乘积中包含大量小于1的梯度,导致网络中较早时间步的梯度变得非常小,几乎接近于零。这使得网络难以学习到长距离的依赖关系。
  • 梯度爆炸:

    • 训练过程中,由于连续乘积中包含大量大于1的梯度,导致网络中较早时间步的梯度变得非常大,以至于更新权重时会导致模型不稳定。

LSTM和GRU是RNN的变种,它们凭借引入输入门、遗忘门和输出门(在LSTM中)或更新门和重置门(在GRU中)来控制信息的流动,从而有效缓解梯度消失和梯度爆炸的问题。

2.4.2 RNN的变种:门控循环单元(GRU)

GRU(Gated Recurrent Unit):指在解决传统RNN在处理长序列数据时面临的梯度消失和梯度爆炸问题。

GRU通过引入更新门(update gate)和重置门(reset gate)来控制信息的流动,有效地捕捉长距离依赖关系。

在这里插入图片描述

在这里插入图片描述

GRU的主要组成部分:

  1. 更新门(Update Gate):更新门用于控制信息的保留和更新。它决定了每个时间步的信息应该保留多少,以及需要更新多少新信息。

  2. 重置门(Reset Gate):重置门用于控制过去信息对当前状态的影响。它决定了应该忽略多少过去的信息。

  3. 候选隐藏状态(Candidate Hidden State):候选隐藏状态是一个临时的隐藏状态,它结合了当前输入和过去的信息。

  4. 最终隐藏状态(Final Hidden State)GRU单元的输出,它结合了更新门、重置门和候选隐藏状态。就是:最终隐藏状态

2.4.3 RNN的变种:长短期记忆网络(LSTM)

LSTM(Long Short-Term Memory)用来解决传统RNN在处理长序列数据时的梯度消失问题。

它通过引入门控机制来保持长期依赖关系。

LSTM的组成及流程:

在这里插入图片描述

  1. 遗忘门(Forget Gate):决定哪些信息应该从单元状态中丢弃。
  • 遗忘门决定哪些信息应该被丢弃或保留。它经过一个sigmoid层来完成,输出一个介于0(完全丢弃)和1(完全保留)之间的数值。

在这里插入图片描述

  1. 输入门(Input Gate):决定哪些新的信息将被存储。
  • 输入门由两部分组成:一个sigmoid层决定哪些值将要更新,和一个tanh层创建一个新的候选值向量。

在这里插入图片描述

  1. 单元状态(Cell State):根据遗忘门和输入门的输出进行更新。
  • 单元状态是LSTM的核心,它携带有关观察到的输入序列的信息,并在整个链中运行。

在这里插入图片描述

  1. 输出门(Output Gate):决定隐藏状态的输出值,隐藏状态包含关于前一状态和当前输入的信息。
  • 输出门决定下一个隐藏状态的值,隐藏状态包含关于前一状态和当前输入的信息。

在这里插入图片描述

2.4.4 RNN的变种:双向RNN

双向循环神经网络(Bi-directional Recurrent Neural Network,Bi-RNN):

双向RNN的工作原理

在这里插入图片描述

.

2.5 卷积神经网络(CNN)

2.5.1 CNN核心组成:
  1. 卷积层(Convolutional Layer)
  1. 激活函数(Activation Function)
  1. 池化层(Pooling Layer)
  1. 全连接层(Fully Connected Layer)
  1. 归一化层(Normalization Layer)
  1. softmax层
2.5.2 CNN工作原理
  1. 前向传播
  • 输入图像通过卷积层,滤波器提取特征并生成特征图。

  • 激活函数对特征图进行非线性转换。

  • 池化层减少特征图的空间尺寸。

  • 最后,全连接层对特征进行整合并输出最终结果。

  1. 反向传播
  • 在训练过程中,通过反向传播算法计算损失函数关于网络参数的梯度。

  • 运用梯度下降或其他优化算法更新网络权重。

2.5.3 CNN用于句子表示
2.5.4 网络结构

在这里插入图片描述

通过滑动窗口,从输入表示中提取特征:

在这里插入图片描述

在这里插入图片描述

2.5.5 CNN vs. RNN

在这里插入图片描述

.


声明:资源可能存在第三方来源,若有侵权请联系删除!

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

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

相关文章

P3120 [USACO15FEB] Cow Hopscotch G

洛谷 由于需要考虑颜色的问题,所以可以考虑将总方法减去相同颜色的方案数,以此得到本次的结果。 使用前缀和,得到此处的方案总数。 然后就需要考虑如何处理颜色的问题了,由于需要进行区间修改与查询,很容易想到使…

Easysearch 2.0.0 性能测试

Easysearch 2.0.0 正式版性能全面提升:索引、查询及内存管理(GC)等核心性能均获显著优化。概述 Easysearch 2.0.0 正式版带来了显著的性能提升和优化改进。通过与上一个稳定版本 1.15.6 的全面对比测试,我们使用 e…

ABC435

过了三个题之后代码都不想写了,然后直接摆烂到比赛结束,掉大分。 C 竞选最乱搞做法。 对于第 \(i\) 个多米诺骨牌,可以影响到的区间的右端点是 \(a_i=\min\left\{a_i+i-1,n\right\}\)。定义一个 \(p\) 表示目前倒下…

散修带你入门鸿蒙应用开发基础:启程篇(上) - 鸿蒙

走进鸿蒙开发的世界 本阶段目标了解系统定位:掌握鸿蒙“面向全场景的分布式操作系统”核心定义,厘清“全场景”“分布式”的具体内涵,明确与传统单设备系统的设计理念差异。 熟知技术架构:熟悉鸿蒙四层架构(应用层…

PowerShell TOTP 身份验证器

简介双因素认证(2FA)已经成为如今最常见的安全机制,而基于时间的一次性密码(TOTP: Time-based One-Time Password)则是其中最广泛使用的技术之一。 我们平时使用的 Google Authenticator、Microsoft Authenticato…

分库分表是同一个实例内的多个不同库/不同表吗

“分库分表”绝不是简单地在 同一个 MySQL 实例 里放多个库和表。那不叫分库分表,那叫 玩具分库分表,没有任何意义。 下面我把场景讲透,让你彻底理解 分库、分表、为什么不能在同一个实例、生产怎么搞。✅ 1. 分库分…

基于STM32标准库的FreeRTOS移植与任务创建 - 详解

基于STM32标准库的FreeRTOS移植与任务创建 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas",…

Launch X431 PRO Elite: Full System CAN FD Active Tester OBD2 Scanner for Euro/American Cars

Solve Modern Automotive Diagnostics Head-On with the Launch X431 PRO Elite Diagnostic Frustration? In the world of European and American automotive repair, time is critical—and outdated tools waste i…

linux 中gzip、bzip2、xz压缩、解压缩

001、gzip[root@PC1 test]# ls a.txt [root@PC1 test]# ll -h total 39M -rw-r--r--. 1 root root 39M Dec 7 11:28 a.txt [root@PC1 test]# gzip -c a.txt > a.txt.gz ## 压缩 [root@PC1 test]# ll -h…

2025 最新工业机器人应用服务商 / 厂家 TOP5 评测!科技赋能 + 全生命周期服务权威榜单发布,重构智能制造生态

随着工业机器人应用成为制造业智能化升级的核心驱动力,市场对专业服务商的需求持续攀升。本榜单基于技术创新力、行业适配性、服务效能、全生命周期管理四大维度,结合行业实践案例与技术白皮书数据反馈,权威解析202…

【Java EE进阶 --- SpringBoot】统一特性处理

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Launch X431 PRO3 V+ Elite: Bi-Directional, ECU Coding Topology Mapping for Euro/Amer Vehicles

The Future of Automotive Diagnostics: Launch X431 PRO3 V+ Elite Delivers Precision, Speed, and Versatility Modern Vehicles Demand Modern Solutions Today’s European and American cars are more complex t…

linux单用户模式

linux单用户模式1.救援模式 可以用来修改系统配置文件,修改密码等 #方法一:开机时按e进入内核选项,在内核Linux16行把ro改成rw,行末删除到quite前追加rd.break,然后ctrl+x进入 #方法二:开机时按e进入内核选项,在…

20232405 2025-2026-1 《网络与系统攻防技术》实验八实验报告

20232405 2025-2026-1 《网络与系统攻防技术》实验八实验报告1. 实践内容(1)编写含有表单的前端代码,启用Apache,访问对应网页(2)在前端代码的基础上编写JavaScript验证用户名、密码,登陆后回显用户名,并尝试注…

实用指南:最小作用量原理MATLAB仿真

实用指南:最小作用量原理&MATLAB仿真2025-12-07 11:42 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: bloc…

2025液体钙权威品牌推荐,首选inne液体钙

液体钙因吸收高效、胃肠刺激小、服用便捷等优势,已成为全年龄段补钙的首选剂型。但市场上产品良莠不齐,有的钙源难吸收,有的配方单一,有的添加成分不安全。本榜单聚焦“精准分龄+科学配方”双重维度,筛选出真正高…

吉他自学笔记

今天开始自学吉他 唱名音名对应表

为全球宝宝选对营养:央视关注+进博亮相,德国安心之选inne

关于inne是假洋牌吗的疑问,答案其实早已被品牌扎实的背景与市场实践所印证——inne是源自德国的正统高端儿童营养品牌,绝非所谓“假洋牌”。其德国身份有着明确的资质支撑,inne总部位于德国科研重镇萨尔布吕肯,核心…

惊艳进博,新品圈粉全球,德国国民品牌inne因你守护儿童健康

在全球儿童营养领域,源自德国的inne因你品牌始终以“科学实证”为核心标签,凭借严谨的科研态度与极致的产品品质,从德国超10000家药房的国民选择,成长为全球家庭信赖的营养伙伴。品牌深耕营养领域多年,始终秉承“…

2025 年 12 月数粒机厂家权威推荐榜:覆盖防爆/高速/高精度/智能/视觉全自动等新型设备,制药食品农业电子多行业定制化解决方案深度解析

2025 年 12 月数粒机厂家权威推荐榜:覆盖防爆/高速/高精度/智能/视觉全自动等新型设备,制药食品农业电子多行业定制化解决方案深度解析 在工业自动化与智能制造浪潮的持续推动下,数粒机作为物料精确计量的核心设备,…