一文彻底搞懂Transformer - FFNN(前馈神经网络)

news2024/11/28 20:48:11

Transformer

**__**一、神经网络(N**eural Network**)**__**

神经网络: 神经网络(Neural Networks)是一种模仿生物神经网络的结构和功能的数学或计算模型。它由大量的人工神经元(也称为节点或处理单元)相互连接而成,这些神经元之间通过带有权重的连接进行信息的传递和处理。

神经网络的设计灵感来源于对生物神经系统(特别是大脑)的研究,尽管它们并不完全等同于生物神经网络,但已经成功地应用于各种复杂的计算问题,包括模式识别、预测、数据分类、聚类等。

神经网络

神经网络结构:由多个层(包括输入层、隐藏层和输出层)构成,层内包含多个神经元,神经元之间通过带权重的连接相互传递信息,并通过激活函数进行非线性转换。

  1. 层(Layers):神经网络通常由多个层组成,包括输入层、隐藏层(可以有多个)和输出层。输入层接收外部数据,隐藏层对数据进行处理,输出层产生网络的最终输出。

  2. 神经元(Neurons):神经网络的基本处理单元,模拟生物神经元的功能。每个神经元接收来自其他神经元的输入信号,对这些信号进行加权求和,并应用一个激活函数来决定是否将信号传递给其他神经元。

  3. 连接(Connections):神经元之间的连接,每条连接都有一个权重(Weight),这个权重决定了该连接在信号传递中的重要性。权重的值在学习过程中被调整,以优化神经网络的整体性能。

  4. 激活函数(Activation Functions):神经元在接收到加权求和的输入后,会通过一个非线性函数(即激活函数)来决定其输出。常见的激活函数包括Sigmoid、ReLU(Rectified Linear Unit)等,它们为神经网络引入了非线性特性,使得网络能够学习复杂的数据表示。

**_二、多层感知机(MLP)_**

多层感知机: 多层感知机(Multilayer Perceptron,简称MLP)是机器学习中的一种基本且重要的神经网络模型。多层感知机由多个神经元层组成,每一层的神经元与相邻层的所有神经元相连,即全连接。

  • 输入层: 接收外部输入数据,并将其传递给下一层。

  • 隐藏层: MLP中的中间层,其神经元数量可以根据需要进行调整。隐藏层通过线性变换和激活函数引入非线性,从而能够处理复杂的非线性关系。

  • 输出层: 负责输出模型的预测结果。输出层的神经元数量取决于问题的类型,例如二分类问题通常使用一个神经元,多分类问题则使用多个神经元。

多层感知机

前馈神经网络: MLP属于前馈神经网络(Feedforward Neural Network)的范畴。前馈神经网络的主要特性在于数据的单向流动,即从输入层开始,经过隐藏层,最终到达输出层,每一层的神经元只接收来自前一层的输出作为输入,并不涉及层内或层间的反馈连接。

多层感知机

FFNN模型表达式: FFNN(x) = max(0, xW1 + b1)W2 + b2 (2)

在前馈神经网络中,权重(W)和偏置(b)是两个非常重要的参数,它们决定了神经元之间的连接强度和神经元的输出。

  • 权重(W):权重是神经网络中的连接参数,用于描述不同神经元之间的连接强度。在神经网络的前向传播过程中,输入数据会与权重进行加权求和,从而影响神经元的输出。权重的大小和正负决定了输入数据对输出数据的影响程度。

  • 偏置(b):偏置是神经网络中的一个附加参数,用于调整神经元的输出。偏置的作用类似于线性方程中的截距项,它使得神经元的输出可以偏离原点。偏置的存在使得神经网络能够学习更加复杂的函数关系。

权重W和偏置b

激活函数: 激活函数(Activation Function) 是在前馈神经网络中用于将神经元的输入映射到输出端的函数。它决定了节点是否应该被激活(即,是否让信息通过该节点继续在网络中向后传播)。

在神经网络中,输入通过加权求和(权重(W)和偏置(b)),然后被一个函数作用,这个函数就是激活函数。

激活函数

激活函数的主要作用如下:

  1. 增加非线性:神经网络中,如果只有线性变换,那么无论神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当。引入非线性激活函数,使得神经网络逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。

  2. 特征转换:把当前特征空间通过一定的线性映射转换到另一个空间,让数据能够更好地被分类。

激活函数的作用

前馈神经网络模型训练: 前馈神经网络训练通过随机初始化参数,利用反向传播算法计算梯度,并采用优化算法如随机梯度下降来迭代更新参数,以最小化损失函数并提升模型性能。

模型训练的本质,通过不断训练、验证和调优,让模型达到最优的一个过程。

  1. 参数初始化:神经网络的参数(包括权重和偏置)在训练开始前会被随机初始化。

  2. 前向传播:在训练过程中,输入数据通过神经网络进行前向传播,计算出模型的输出。这个过程涉及将输入数据与每一层的权重和偏置进行线性组合,然后应用激活函数来引入非线性。

  3. 反向传播:利用反向传播算法来计算损失函数相对于模型参数的梯度。这个过程涉及从输出层开始,逐层计算损失对参数的偏导数,并将这些梯度信息从输出层传播回输入层。

  4. 参数更新:得到梯度后,使用优化算法(如随机梯度下降SGD、Adam、RMSprop等)来更新模型的参数。优化算法根据计算出的梯度来调整模型参数,以最小化损失函数。

  5. 迭代训练:上述步骤(从前向传播到参数更新)会反复进行,直到模型在验证集上的性能达到满意的水平,或者达到预设的训练轮数(epochs)。

神经网络模型训练

三、Transformer前馈神经网络

Transformer前馈神经网络: 在Transformer的编码器和解码器中,自注意力层之后紧跟着的是前馈神经网络(FFNN)。FFNN的主要作用是接收自注意力层的输出,并对其进行进一步的非线性变换,以捕获更复杂的特征和表示。

Transformer架构

Transformer前馈神经网络两层结构: 包括两个线性变换,并在它们之间使用ReLU激活函数。 两个线性层的差异主要体现在它们的作用和维度变化上。

第一层线性变换负责将输入映射到更高维度的空间,并引入非线性;而第二层线性变换则负责将输出映射回与输入相同的维度(或兼容的维度),通常不引入额外的非线性。

  1. 第一层线性变换:这是一个全连接层,它接收自注意力层的输出作为输入,并将其映射到一个更高维度的空间。这个步骤有助于模型学习更复杂的特征表示。

  2. 激活函数:在第一层全连接层之后,通常会应用一个非线性激活函数,如ReLU(Rectified Linear Unit)。ReLU函数帮助模型捕获非线性关系,提高模型的表达能力。

  3. 第二层线性变换:这也是一个全连接层,它将前一层的输出映射回与输入相同的维度(或与模型其他部分兼容的维度)。这一层通常没有非线性激活函数。

Transformer前馈神经网络
在大模型时代,我们如何有效的去学习大模型?

现如今大模型岗位需求越来越大,但是相关岗位人才难求,薪资持续走高,AI运营薪资平均值约18457元,AI工程师薪资平均值约37336元,大模型算法薪资平均值约39607元。
在这里插入图片描述

掌握大模型技术你还能拥有更多可能性

• 成为一名全栈大模型工程师,包括Prompt,LangChain,LoRA等技术开发、运营、产品等方向全栈工程;

• 能够拥有模型二次训练和微调能力,带领大家完成智能对话、文生图等热门应用;

• 薪资上浮10%-20%,覆盖更多高薪岗位,这是一个高需求、高待遇的热门方向和领域;

• 更优质的项目可以为未来创新创业提供基石。

可能大家都想学习AI大模型技术,也_想通过这项技能真正达到升职加薪,就业或是副业的目的,但是不知道该如何开始学习,因为网上的资料太多太杂乱了,如果不能系统的学习就相当于是白学。为了让大家少走弯路,少碰壁,这里我直接把都打包整理好,希望能够真正帮助到大家_。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,下面是我整理好的一套完整的学习路线,希望能够帮助到你们学习AI大模型。

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

在这里插入图片描述

三、AI大模型经典PDF书籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

四、AI大模型各大场景实战案例

在这里插入图片描述

结语

【一一AGI大模型学习 所有资源获取处(无偿领取)一一】
所有资料 ⚡️ ,朋友们如果有需要全套 《LLM大模型入门+进阶学习资源包》,扫码获取~

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

本文转自 https://mp.weixin.qq.com/s/5bJErlJHREiarUYenZYrAQ,如有侵权,请联系删除。

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

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

相关文章

罗德与施瓦茨(RS)FSW50,FSW85,FSW67信号和频谱分析仪

Rohde & Schwarz FSW50,FSW67,FSW85信号和频谱分析仪 高性能罗德与施瓦茨 (R&S) FSW50 信号和频谱分析仪专为方便、准确和快速而设计。其独特的触摸屏、直观的多视图结果显示和优化的用户指南使 R&S FSW50 分析仪的操作高效便捷。凭借其无与伦比的相位噪声、无与伦…

数学生物学-2-离散时间模型(Discrete Time Models)

上一篇介绍了一个指数增长模型。然而,我们也看到,在现实情况下,细菌培养的增长是在离散的时间(在这种情况下是小时)进行测量的,种群并没有无限增长,而是趋于以S形曲线趋于平稳,称为“…

[ACL 2024] Revisiting Knowledge Distillation for Autoregressive Language Models

Contents IntroductionMethodRethinking Knowledge Distillation for Autoregressive LMsImproving Knowledge Distillation with Adaptive Teaching Modes ExperimentsReferences Introduction 作者提出 Autoregressive KD with Adaptive Teaching Modes (ATKD),通…

Go语言开发通过本地数据xdb文件​查询获取IP地址的归属地区及运营商名称

说明: 用本地数据,离线识别ip属地,用于显示用户ip属地,不依赖第三方的api接口,本地数据包解析,解析速度快10微秒级别的查询效率。返回数据固定格式:国家|区域|省份|城市|ISP,例如&a…

c++11(三)

一、可变参数 1、可变参数模板 c语言中的 scanf 和 printf 可以支持我们传入任意个数的参数&#xff0c;原理就是用了参数包。 //可变参数包 template<class ...Args> void Print(Args... args) {} Args&#xff1a;模板参数包 args&#xff1a;函数形参参数包 声明…

检查linux系统中异常进程

1、查看非root运行的进程 [rootbastion-IDC ~]# ps -U root -u root -N 2、查看root运行的进程 [rootbastion-IDC ~]# ps -u root 注意&#xff1a;UID为0的进程&#xff0c;查看该进程所打开的端口和文件 [rootbastion-IDC ~]#ps -ef 查看进程 [rootbastion-IDC ~]# l…

Lesson 77 Terrible toothache

Lesson 77 Terrible toothache 词汇 appointment n. 预约 构成&#xff1a;point v. 指&#xff0c;指向 用法&#xff1a;point to 人 / 物    指着&#xff0c;指向……    point out 指出&#xff08;问题&#xff09; 相关&#xff1a;game point 局点    matc…

statsmodels学习笔记

statsmodels学习笔记 统计模型、假设检验和数据探索。statsmodels是一个python模块&#xff0c;提供了用于估计许多不同统计模型的类和函数&#xff0c;以及用于统计测试和统计数据探索。每个估计器都有一个广泛的结果统计列表。根据现有的统计软件包对结果进行测试&#xff0c…

【C++】深入解析C/C++内存管理:new与delete的使用及原理

C语法相关知识点可以通过点击以下链接进行学习一起加油&#xff01;命名空间缺省参数与函数重载C相关特性类和对象-上篇类和对象-中篇类和对象-下篇日期类 本章将分享C为何放弃malloc/free系列&#xff0c;选择新系列new/delete去管理内存。深度探索new/delete的使用及其原理,m…

VBA注释 (<*> + <*>)

在VBA&#xff08;Visual Basic for Applications&#xff09;中&#xff0c;注释是一种用于向代码中添加说明或解释文本的方法&#xff0c;这些文本不会被执行。注释对于理解代码的目的、逻辑或特定部分的代码功能非常有帮助&#xff0c;尤其是在处理复杂或长的代码时。 一、…

当《黑神话:悟空》遇上openKylin,国产力量的极致碰撞!

万众瞩目的国产3A游戏巨作《黑神话&#xff1a;悟空》终于上线啦&#xff01;&#xff01;&#xff01; 在正式发售后不到24小时&#xff0c;Steam在线玩家峰值突破222万&#xff0c;在Steam所有游戏在线玩家历史峰值中排名第二。第一拨玩家纷纷晒出好评&#xff0c;称这款现象…

Python安装Crypto库报错:ModuleNotFoundError: No module named ‘Crypto‘

目录 from Crypto.Cipher import AES 1.解决方法 1、卸载Crypto和pycrypto库 2、安装pycryptodome库 二、另一种解决方法&#xff08;看的别人遇到的情况&#xff0c;我没有遇到这种情况&#xff09; from Crypto.Cipher import AES 在网上搜的教程使用第三方库实现AES算法…

消息中心业务系统集成方案:提升企业信息流动性与协作效率

在信息化时代&#xff0c;企业的业务系统之间需要实现高效的信息流动与协作&#xff0c;以支持动态的业务需求和快速的决策过程。消息中心作为企业信息管理的重要组成部分&#xff0c;通过整合各类消息和通知&#xff0c;能够提升信息传递的效率和准确性。本文将详细探讨消息中…

Nginx 配置指南

一、Nginx 简介 1.1 概述 Nginx 是一款高性能、轻量级的开源 Web 服务器和反向代理服务器&#xff0c;以其可靠性、丰富的功能和简单的配置而闻名。由 Igor Sysoev 开发&#xff0c;最初用于解决 C10K 问题&#xff0c;与传统的 Web 服务器相比&#xff0c;Nginx 采用异步事件…

使用stream()流合并两个列表

List<Author>结构如下&#xff1a; List<Reader>结构如下&#xff1a; 需求&#xff1a;将Author列表和Reader列表根据相同id合并到一个列表中 private static void mergeList() {List<Author> authors Author.getAuthors();List<Reader> readers …

阅读、分析和维护高质量开源软件有感——小计一笔

目录 一、问题分析 软件开发问题分析 动机 学什么 目的 二、要求 阅读 理解 运用 分析 评估 认知 三、案例选择 MiNotes”开源软件 方式 实践支撑软件工具 操作流程 应该学到的知识 学习过程 四、任务与输出 1.阅读开源软件 2.标注开源软件 3.分析开源…

iLogtail 开源两周年:感恩遇见,畅想未来

早在上世纪 60 年代&#xff0c;早期的计算机&#xff08;例如 ENIAC 和 IBM 的大型机&#xff09;在操作过程中会输出一些基本的状态信息和错误报告&#xff0c;这些记录通常通过打印机输出到纸带或纸卡上&#xff0c;用于跟踪操作流程和调试&#xff0c;最早期的日志系统借此…

前端必备:高效处理树形数据与数组的实用函数

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;Vue篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来Vuet篇专栏内容:Vue-树形数据处理|数组:实用函数封装 大家好&#xff0c;依旧青山&#xff0c;在开发项目过程中&a…

3、springboot时代背景

一、微服务 二、分布式 三、云原生 原生应用如何上云。 Cloud Native 上云的困难 服务自愈弹性伸缩服务隔离自动化部署灰度发布流量治理...... 上云的解决

人工智能算法工程师(中级)课程21-深度学习中各种优化器算法的应用与实践、代码详解

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能算法工程师(中级)课程21-深度学习中各种优化器算法的应用与实践、代码详解。本文将介绍PyTorch框架下的几种优化器&#xff0c;展示如何使用PyTorch中的优化器&#xff0c;我们将使用MNIST数据集和一个简单…