Day15 —— 大语言模型简介

news2024/11/25 22:24:38

大语言模型简介

    • 大语言模型基本概述
      • 什么是大语言模型
      • 主要应用领域
      • 大语言模型的关键技术
      • 大语言模型的应用场景
    • NLP
      • 什么是NLP
      • NLP的主要研究方向
      • word2vec
        • word2vec介绍
        • word2vec的两种模型
    • 全连接神经网络
      • 神经网络结构
      • 神经网络的激活函数
      • 解决神经网络过拟合问题的方法
      • 前向传播与反向传播
        • 前向传播
        • 反向传播(Back Propagation,BP)
    • RNN
      • 认识RNN
      • RNN的应用领域
      • 常见的RNN模型
    • LSTM
      • 认识LSTM
      • LSTM的“门结构”
      • Seq2Seq模型
        • Seq2Seq表现形式
        • Encoder+Decoder
      • Attention模型
        • 引入Attention模型的必要性
        • Seq2Seq+Attention模型
    • Encoder-Decoder框架
    • Attention模型
      • Attention机制的本质思想
      • Attention 原理的3步分解
    • Self Attention自注意力模型
    • Transformer模型

大语言模型基本概述

什么是大语言模型

大语言模型(Large Language Models)是一种基于深度学习的自然语言处理(NLP)模型,用于处理和生成人类语言文本。

主要应用领域

  • 自然语言理解(NLU)
  • 文本分类
  • 信息抽取
  • 情感分析
  • 命名实体识别
  • 自然语言生成(NLG)
  • 文本生成
  • 摘要生成
  • 机器翻译
  • 对话生成与响应

大语言模型的关键技术

  1. 预训练技术:预训练语言模型,自回归模型,Transformer结构。
  2. 深度学习技术:神经网络,激活函数,注意力机制。
  3. 自然语言处理技术:分词技术,词向量表示,句法分析。
  4. 迁移学习技术:知识蒸馏,多任务学习,增量学习

大语言模型的应用场景

  1. 智能客服:
    大语言模型可以通过理解客户的问题和需求,提供准确、及时的答案和建议,提高客户满意度。大语言模型可以针对常见问题编写自动化回复脚本,减轻人工客服的工作负担,提高服务效率。大语言模型可以通过情感分析技术,理解客户的情感和情绪,以便更好地满足客户需求。

  2. 智能写作
    大语言模型可以运用自然语言生成技术,快速生成高质量的文章、新闻报道和文案等文本内容。大语言模型也可以进行诗歌创作,能够根据特定主题或要求,创作出具有意境和韵律的诗歌。大语言模型可以实现不同语言之间的文本翻译,为跨文化交流提供便利。

  3. 智能推荐
    大语言模型可以通过分析用户的历史行为和喜好,实现个性化推荐,提高用户满意度。大语言模型可以根据用户的兴趣和行为,精准投放广告,提高广告效果和转化率。大语言模型可以分析大量内容,过滤掉不良信息,为用户提供更加安全、健康的内容环境。

NLP

什么是NLP

NLP(Natural Language Processing),即“自然语言处理”,主要研究使用计算=机来处理、理解及运用人类语言的各种理论和方法,属于人工智能的一个重要研究方向。简单来说,NLP就是如何让计算机理解人类语言。

NLP的主要研究方向

NLP是一个庞大的技术体系,研究方向主要包括机器翻译、信息检索、文档分类、问答系统、自动摘要、文本挖掘、知识图谱、语音识别、语音合成等。相较于CNN重点应用于计算机视觉领域,RNN则更多地应用于NLP方向。

word2vec

word2vec介绍

word2vec是一种基于神经网络的词嵌入技术,通过训练神经网络得到一个关于输入X和输出Y之间的语言模型,获取训练好的神经网络权重,这个权重是用来对输入词汇X进行向量化表示的。

word2vec的两种模型
  • CBOW模型

    CBOW(Continuous Bag-of-Words Model),即“连续词袋模型”,其应用场景是根据上下文预测中间词,输入X是每个词汇的one-hot向量,输出Y为给定词汇表中每个词作为目标词的概率。

  • Skip-gram模型

    也称为"跳字模型",应用场景是根据中间词预测上下文词,所以输入X为任意单词,输出Y为给定词汇表中每个词作为上下文词的概率。

全连接神经网络

神经网络结构

在这里插入图片描述

神经网络的激活函数

在这里插入图片描述

解决神经网络过拟合问题的方法

  • 正则化

    与很多机器学习算法一样,可以在待优化的目标函数上添加正则化项(例如L1、L2正则),可以在一定程度减少过拟合的程度。

  • Dropout(随机失活)

    可以将Dropout理解为对神经网络中的每一个神经元加上一道概率流程,使得在神经网络训练时能够随机使某个神经元失效。

前向传播与反向传播

前向传播

​计算输出值的过程称为“前向传播”:将上一层的输出作为下一层的输入,并计算下一层的输出,一直到运算到输出层为止。

反向传播(Back Propagation,BP)

​反向传播(BP)根据根据J的公式对W和b求偏导,也就是求梯度。因为我们需要用梯度下降法来对参数进行更新,而更新就需要梯度。

RNN

认识RNN

RNN(Recurrent Neural Network),即"循环神经网络",是在基础神经网络模型中增加了循环机制。具体的表现形式为网络会对前面的信息进行记忆并应用于当前的计算中,即当前时刻利用了上一时刻的信息,这便是“循环”的含义。

RNN的应用领域

  • 语音识别
  • OCR识别(optical character recognition)
  • 机器翻译
  • 文本分类
  • 视频动作识别
  • 序列标注

常见的RNN模型

在这里插入图片描述

LSTM

认识LSTM

​ LSTM是Long-Short Term Memory的缩写,中文名叫长短期记忆网络,它是RNN的改进版本。为了更好地解决“梯度爆炸”和“梯度消失”的问题,让RNN具备更强、更好的记忆,于是就出现了LSTM。

LSTM的“门结构”

​ LSTM的关键就是记忆细胞(在最上面的贯穿水平线上)。记忆细胞提供了记忆的功能,使得记忆信息在网络各层之间很容易保持下去。

  • 遗忘门(Forget Gate)

​ 遗忘门的作用是控制t-1时刻到t时刻时允许多少信息进入t时刻的门控设备

​ 遗忘门的计算公式如下:
Γ t f = σ ( w f [ a t − 1 , x t ] + b f ) \Large \Gamma_t^f=\sigma(w_f[a_{t-1},x_t]+b_f) Γtf=σ(wf[at1,xt]+bf)
​ 其中,xt是当前时刻的输入,at-1是上一时刻隐状态的值

  • 输入门(Input Gate)

​ 输入门的作用是确定需要将多少信息存入记忆细胞中。除了计算输入门外,还需要使用tanh计算记忆细胞的候选值c't
Γ t i = σ ( w i [ a t − 1 , x t ] + b i ) c t ′ = t a n h ( w c [ a t − 1 , x t ] + b c ) \Large \Gamma_t^i=\sigma(w_i[a_{t-1},x_t]+b_i) \\ \Large c'_t = tanh(w_c[a_{t-1},x_t]+b_c) Γti=σ(wi[at1,xt]+bi)ct=tanh(wc[at1,xt]+bc)
​ 然后,就可以对当前时刻的记忆细胞进行更新了
c t = Γ t f c t − 1 + Γ t i c t ′ \Large c_t=\Gamma_t^fc_{t-1}+\Gamma_t^ic'_t ct=Γtfct1+Γtict

  • 输出门(Output Gate)

​ 输出门是用来控制t时刻状态值对外多少是可见的门控设备

​ 输出门与t时刻隐层节点输出值得公式为:
Γ t o = σ ( w o [ a t − 1 , x t ] + b o ) a t = Γ t o t a n h ( c t ) \Large \Gamma_t^o=\sigma(w_o[a_{t-1},x_t]+b_o) \\ \Large a_t=\Gamma_t^otanh(c_t) Γto=σ(wo[at1,xt]+bo)at=Γtotanh(ct)

Seq2Seq模型

Seq2Seq表现形式

​ 在RNN的结构中,最常见的就是不等长的多对多结构,即输入、输出虽然都是多个,但是并不相等。这种不等长的多对多结构就是Seq2Seq(序列对序列)模型。

​ 例如,汉译英的机器翻译时,输入的汉语句子和输出的英文句子很多时候并不是等长的,这时就可以用Seq2Seq模型了。

Encoder+Decoder

​ Seq2Seq由一个编码器(Encoder)和一个解码器(Decoder)构成,编码器先将输入序列转化为一个上下文向量C(理解序列),然后再用一个解码器将C转化为最终输出(生成序列)。

  • 编码器(Encoder)

在这里插入图片描述

  • 解码器(Decoder)

    在这里插入图片描述

Attention模型

引入Attention模型的必要性

​Seq2Seq作为一种通用的编码-解码结构,在编码器将输入编码成上下文向量C后,在解码时每一个输出Y都会不加区分地使用这个C进行解码,这样并不能有效地聚焦到输入目标上。

Seq2Seq+Attention模型

​Seq2Seq引入Attention模型后,Attention模型(注意力模型)通过描述解码中某一时间步的状态值和所有编码中状态值的关联程度(即权重),计算出对当前输出更友好的上下文向量,从而对输入信息进行有选择性的学习。

y 1 = f ( C 1 ) y 2 = f ( C 2 , y 1 ) y 3 = f ( C 3 , y 1 , y 2 ) . . . \Large y_1=f(C_1) \\ \Large y_2=f(C_2,y_1) \\ \Large y_3=f(C_3,y_1,y_2) \\ ... y1=f(C1)y2=f(C2,y1)y3=f(C3,y1,y2)...

Encoder-Decoder框架

Encoder-Decoder框架是一种深度学习领域的研究模式,应用场景非常广泛。上图是文本处理领域里常用的Encoder-Decoder框架最抽象的一种表示。

​文本处理领域的Encoder-Decoder框架可以这么直观地去理解:可以把它看作适合处理由一个句子(或篇章)生成另外一个句子(或篇章)的通用处理模型。对于句子对<Source,Target>,我们的目标是给定输入句子Source,期待通过Encoder-Decoder框架来生成目标句子Target。Source和Target可以是同一种语言,也可以是两种不同的语言。而Source和Target分别由各自的单词序列构成:

Attention模型

Attention机制的本质思想

在这里插入图片描述

Attention 原理的3步分解

在这里插入图片描述

本质上Attention机制是对Source中元素(将Source中的构成元素想象成是由一系列的<Key,Value>数据对构成)的Value值进行加权求和,而Query和Key用来计算对应Value的权重系数。

Self Attention自注意力模型

在一般任务的Encoder-Decoder框架中,输入Source和输出Target内容
是不一样的,比如对于英-中机器翻译来说,Source是英文句子,Target是
对应的翻译出的中文句子,Attention机制发生在Target的元素Query和
Source中的所有元素之间。而Self Attention顾名思义,指的不是Target和
Source之间的Attention机制,而是Source内部元素之间或者Target内部元
素之间发生的Attention机制,也可以理解为Target=Source这种特殊情况下
的注意力计算机制。其具体计算过程是一样的,只是计算对象发生了变化而
已。引入Self Attention后会更容易捕获句子中长距离的相互依赖的特征,因为如果是RNN或者LSTM,需要依次序序列计算,对于远距离的相互依赖的特征,要经过若干时间步步骤的信息累积才能将两者联系起来,而距离越远,有效捕获的可能性越小。

Transformer模型

Transformer模型是在论文《Attention Is All You Need》里面提出来的,用来生成文本的上下文编码,传统的上下问编码大多数是由RNN来完成的,不过,RNN很难处理相隔比较远的两个单词之间的信息。

Transformer 是一种使用注意力机制(attention mechanism)的神经网络模型,能够有效地处理序列数据,如句子或文本。

它的设计灵感来自于人类在理解上下文时的方式。

简单来说,Transformer 会将输入的序列分成若干个小块,并通过计算注意力得分来决定每个块在输出中的重要性。

它能够同时处理整个序列,而不需要依赖循环神经网络(RNN)等逐步处理的方法。

  • Transformer模型中包含了多层encoder和decoder,每一层都由多个注意力机制模块和前馈神经网络模块组成。encoder用于将输入序列编码成一个高维特征向量表示,decoder则用于将该向量表示解码成目标序列。
  • Transformer模型的核心是自注意力机制(Self-Attention Mechanism),其作用是为每个输入序列中的每个位置分配一个权重,然后将这些加权的位置向量作为输出。

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

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

相关文章

Docker构建多平台镜像

docker的多架构镜像构建 目前很多服务器都是基于arm架构的&#xff0c;而现在大多数的docker镜像都是基于x86架构的。一种情况就是同样的代码编译成业务包做成镜像需要部署在不同架构的服务器上&#xff0c;这个时候我们就可以使用docker的多平台构建了。 以下操作是在centos7.…

LeetCode 671.二叉树第二小的结点

这个题我们可以用数组辅助完成&#xff0c;然后进行排序后&#xff0c;再用再进行取值&#xff0c;这是我的代码块: /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/void Preorde…

Flutter开发环境搭建和调试

[你的Flutter文件夹路径]\flutter\bin 这样我们的Flutter SDK的环境变量就配置完毕了。接下来在命令提示符窗口中输入命令&#xff1a; flutter doctor 它可以帮助我们检查Flutter环境变量是否设置成功&#xff0c;Android SDK是否下载以及配置好环境变量等等。如果有相关的…

SpringBoot配置第三方专业缓存技术Redis

Redis缓存技术 Redis&#xff08;Remote Dictionary Server&#xff09;是一个开源的内存中数据结构存储系统&#xff0c;通常用作数据库、缓存和消息中间件。它支持多种数据结构&#xff0c;如字符串、哈希表、列表、集合、有序集合等&#xff0c;并提供了丰富的功能和灵活的…

.NET+Python量化【1】——环境部署和个人资金账户信息查询

前言&#xff1a;量化资料很少&#xff0c;.NET更少。那我就来开个先河吧~ 以下是使用QMT进行量化开发的环境部署和基础信息获取有关操作。 1、首先自己申请券商的QMT权限&#xff0c;此步骤省略。 2、登陆QMT&#xff0c;选择极简模式&#xff0c;或者独立交易模式之类的。会进…

centos7.9 python3环境(virtualenv)搭建及所遇错误

人望山&#xff0c;鱼窥荷&#xff0c;真正喜欢想要的&#xff0c;没有一样可以轻易得到。 目录 # 1. 解决版本冲突问题--建议不要跳过(一定要查看软链接是否链接正确) # 2. python3(virtualenv)环境搭建 # 3. virtualenv常用命令 # 4. 所遇错误解析 ## 4.1 遇到 No modul…

艺体培训机构管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;教师管理&#xff0c;学员管理&#xff0c;活动管理&#xff0c;课程管理&#xff0c;选课信息管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;论…

【计算机毕业设计】185餐厅点餐微信小程序

&#x1f64a;作者简介&#xff1a;拥有多年开发工作经验&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。&#x1f339;赠送计算机毕业设计600个选题excel文件&#xff0c;帮助大学选题。赠送开题报告模板&#xff…

【C++】——二叉搜索树(详解)

一 二叉搜索树概念 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&#xff0c;或者是具有以下性质的二叉树: ✨若它的左子树不为空&#xff0c;则左子树上所有节点的值都小于根节点的值 ✨若它的右子树不为空&#xff0c;则右子树上所有节点的值都大于根节点的值 …

累积阅读量高达1个亿了,刚好完成了一个小目标

大家好&#xff0c; 我是老洪。 做自媒体&#xff0c;这不仅仅是一个职业选择&#xff0c;更是我生活中不可或缺的一部分。 自从我踏入这个领域&#xff0c;时光如白驹过隙&#xff0c;转眼间已经走过了一段不短的旅程。 今天&#xff0c;当我打开后台数据&#xff0c;看到那累…

Benchmarking Panoptic Scene Graph Generation (PSG), ECCV‘22 场景图生成,利用PSG数据集

2080-ti显卡复现 源代码地址 Jingkang50/OpenPSG: Benchmarking Panoptic Scene Graph Generation (PSG), ECCV22 (github.com) 安装 pytorch 1.7版本 cuda10.1 按照readme的做法安装 我安装的过程如下图所示,这个截图是到了pip install openmim这一步 下一步 下一步 这一步…

【单片机毕业设计选题24024】-房间自动除湿控制系统

系统功能: 系统分为手动和自动模式&#xff0c;上电默认为自动模式。自动模式下如果获取到湿度 值大于设定的湿度值则自动打开风扇&#xff0c;手动模式下手动开关风扇。 系统上电后显示“欢迎使用除湿控制系统请稍后”&#xff0c;两秒钟后进入主页面显示。 第一行显示系统…

【漏洞复现】Rejetto HTTP File Server 远程代码执行漏洞 (CVE-2024-23692)

免责声明&#xff1a; 本文内容旨在提供有关特定漏洞或安全漏洞的信息&#xff0c;以帮助用户更好地了解可能存在的风险。公布此类信息的目的在于促进网络安全意识和技术进步&#xff0c;并非出于任何恶意目的。阅读者应该明白&#xff0c;在利用本文提到的漏洞信息或进行相关测…

软件测试----用例篇(设计测试用例保姆级教程✅)

文章目录 前言一、测试用例概念 二、如何设计测试用例三、设计测试用例的方法3.1基于需求的设计方法3.2具体的设计方法等价类边界值正交法判定表法场景法错误猜测法 前言 在软件开发过程中&#xff0c;测试用例是至关重要的一环。它们帮助软件开发人员和测试人员确定软件是否按…

Day2: 双指针977 滑动窗口209 循环不变量原则59

题目977. 有序数组的平方 - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<int> sortedSquares(vector<int>& nums) {int left0;int rightnums.size()-1;vector<int> result(nums.size(),0);int iright;while(left<right){i…

1999-2022年 297个地级市-医院卫生院数量及床位数量(数据收集)

全国297个地级市的医院卫生院数量的稳步增长是医疗事业发展的一个重要标志。政府的持续投入和对医疗设施的改善&#xff0c;不仅提升了医疗服务的硬件水平&#xff0c;也通过引进和培养医疗人才、优化服务流程&#xff0c;提高了医疗服务的整体质量。这些举措极大地增强了人民群…

[Open-source tool]Uptime-kuma的簡介和安裝於Ubuntu 22.04系統

[Uptime Kuma]How to Monitor Mqtt Broker and Send Status to Line Notify Uptime-kuma 是一個基於Node.js的開軟軟體&#xff0c;同時也是一套應用於網路監控的開源軟體&#xff0c;其利用瀏覽器呈現直觀的使用者介面&#xff0c;如圖一所示&#xff0c;其讓使用者可監控各種…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《基于已知电网场景分段拟合智能体智能评估与自主进化方法 》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

技术师增强版,系统级别的工具!【不能用】

数据安全是每位计算机用户都关心的重要问题。在日常使用中&#xff0c;我们经常面临文件丢失、系统崩溃或病毒感染等风险。为了解决这些问题&#xff0c;我们需要可靠且高效的数据备份与恢复工具。本文将介绍一款优秀的备份软件&#xff1a;傲梅轻松备份技术师增强版&#xff0…

构建家庭NAS之一:用途和软硬件选型

用途 最近装了一台NAS&#xff0c;把结果记录一下&#xff0c;也给有兴趣的人做个参考。 我原来有一台基于英特尔Atom 525的NAS&#xff0c;一直勤勤恳恳地正常服役&#xff0c;突然有一天毫无征兆地挂了&#xff0c;只能换一台新的。 我的用途很简单&#xff1a; 备份我和…