2024年认知计算期末,估计会每年都考得不一样。
ppt第七章不考。。。(考试很杂、不完全是ppt)
数学建模过程和可计算模型(抽象数学公式)
基础原理认识和思考
1.认知科学、脑科学、AI、为什么研究认知科学 问题分解基础模型
2.神经网络、架构、抽象数学表达、激活函数(常用、作用、图像)、BP算法(过程、求解)计算公式
3.贝叶斯(非常详细:公式、解决典型实际问题、贝叶斯定理、表达式关系、计算)、监督学习、无监督学习 计算公式
4.情感分析、多模态融合分析(三国演义例子处理多模态分析)、基本原理
什么是多模态融合、为什么融合、怎么融合 问题分解基础模型
5.记忆和注意力机制、记忆怎么形成的、可以实现记忆分析信息的算法有哪些(序列分析-->RNN-->LSTM-->QKV)(LSTM…、注意力机制、QKV为什么要开根号)、transformer(可以不看具体的)计算公式
6.LLM大模型、要对于这个有想法、开放思想、S1\S2 system、主要在于自己的理解 问题分解基础模型
7.强化学习的机制、模型、环节、应用点(具身智能、agent)一种强化学习思想用它解决问题(也要考虑到社会、安全、法律、文化等等。)
目录
二、神经网络,架构、抽象与数学表达、激活函数,BP算法(过程、求解)
一. 认知科学、脑科学、AI
foundational issues:
Vision(机器视觉)、Attention、Dopamine and Reward(新旧事物、多巴胺调节)、
Memory(记忆)、Meaning(语义理解)、Task directed behavior(任务导向行为)
1.什么是认知科学
认知科学是研究心智和智能的科学,包括从感觉的输入到复杂问题求解,从人类个体到人类社会的智能活动,以及人类智能和机器智能的性质。它综合了心理学、神经科学、计算机科学、语言学、人类学以及哲学等多个学科的知识和方法,形成了一个独特的、跨学科的研究范式。
认知科学主要研究的是人类和机器的智能及其运作机制。它涵盖了广泛的领域,包括感知、学习、记忆、思维、决策、语言、情感、意识等多个方面。
2.什么是脑科学
脑科学研究的内容,不仅包括神经系统的结构与功能,还涉及认知神经科学等领域,旨在揭示人类大脑的结构与功能,以及人类行为与心理活动的物质基础。
3.脑科学和AI的关系
脑科学中关于大脑神经元的研究为人工神经网络的构建提供了重要启示、脑科学中关于人类学习、记忆的研究为AI的学习算法提供了重要参考、大脑的注意力机制能够让我们在面对大量信息时,选择性地关注重要的部分,忽略无关信息。
二、神经网络,架构、抽象与数学表达、激活函数,BP算法(过程、求解)
1.神经网络
1.1生物神经元
结构:
- 树突(dentrites):inputs – 输入接收器
- 细胞体(soma):输入信号求和
- 轴突(Axon):outputs – 输出发射器
- 突触(synapse):传输点
神经元在达到阈值后被激活,通过突触的电化学变化进行学习
1.2信号传递
2.抽象数学表达
感知机(无隐层、只能解决简单的线性可分问题)
多层感知机
3.激活函数
输入--非线性映射---输出
3.1常用激活函数
step阶跃函数、sign函数、sigmoid函数、tanh双曲正切函数、ReLU函数(max{0,x})、softmax函数
3.2激活函数作用
完成数据的非线性变换,解决模型的表达、分类能力不足的问题。网络更强大。
执行数据的归一化,将输入数据映射到某个范围内,限制数据扩张,降低溢出风险。
增加网络稀疏性,提高泛化能力。
ReLU激活函数可以解决梯度消失问题。
- 一些激活函数,如ReLU(Rectified Linear Unit),在输入大于0时具有非饱和性,即梯度恒为1。这意味着在正向传播过程中,激活值大于0的神经元可以保持梯度的稳定传递,避免梯度逐层缩小。
- 相比之下,传统的Sigmoid和Tanh激活函数在输入值较大或较小时,其导数会趋于0,导致梯度消失。而ReLU函数则避免了这一问题,使得梯度能够在网络中有效传播。
3.3激活函数缺点
4.BP算法
前向传播--反向传播--权重更新--迭代
确定神经元之间的连接强度,有利于网络提高在新数据上的泛化能力。
会陷入局部最优,采用梯度下降,误差函数存在很多局部极小点,会陷入局部最优梯度为0。
过程:
(1)初始化:初始化权重
(2)前向传播
(3)计算误差:计算输出层误差
(4)反向传播:通过链式法则计算每一层神经元的梯度,并将误差从输出层反向传播到隐层和输入层
(5)更新权重
(6)重复计算至收敛
三、Bayes、定理,解决一些典型实际问题
贝叶斯定理
贝叶斯推理:
四、情感分析、多模态融合,基本原理
如何用AI辨别情感:
面部表情识别、语音特征提取、文本分析、多模态。
用于此领域的主要网络类型:CNN(提取局部特征,尤其是图像)、RNN/LSTM/GRU(处理长序列、捕获语音中情感)
面部表情识别:基于几何(面部组件、形状位置,相对位置和形状变化)、基于外观特征(纹理、强度、直方图、像素值,子块二进制直方图)
为什么要研究情感分析,对AI研究的意义
(1)理解用户情感,帮助改善人机交互体验
(2)改善用户体验,智能客户服务
(3)心理健康支持
(4)情感智能教育
多模态学习:模态表示、跨模态对齐、多模态融合
一文彻底搞懂多模态 - 基础术语+基础知识+多模态学习-CSDN博客
什么是模态表示(Modal Representation)?模态表示是将不同感官或交互方式的数据(如文本、图像、声音等)转换为计算机可理解和处理的形式,以便进行后续的计算、分析和融合。
文本模态的表示:文本模态的表示方法有多种,如独热表示、低维空间表示(如通过神经网络模型学习得到的转换矩阵将单词或字映射到语义空间中)、词袋表示及其衍生出的n-grams词袋表示等。目前,主流的文本表示方法是预训练文本模型,如BERT。
视觉模态的表示:视觉模态分为图像模态和视频模态。图像模态的表示主要通过卷积神经网络(CNN)实现,如LeNet-5、AlexNet、VGG、GoogLeNet、ResNet等。视频模态的表示则结合了图像的空间属性和时间属性,通常由CNN和循环神经网络(RNN)或长短时记忆网络(LSTM)等模型共同处理。
声音模态的表示:声音模态的表示通常涉及音频信号的预处理、特征提取和表示学习等步骤,常用的模型包括深度神经网络(DNN)、卷积神经网络(CNN)和循环神经网络(RNN)等。
什么是跨模态对齐(MultiModal Alignment)?跨模态对齐是通过各种技术手段,实现不同模态数据(如图像、文本、音频等)在特征、语义或表示层面上的匹配与对应。跨模态对齐主要分为两大类:显式对齐和隐式对齐。
1.什么是多模态融合
多模态融合早期是对数据的简单拼接,现今对于融合已经有了更精细的操作,比如数据级融合,特征级融合,决策级融合。
多模态融合(Multimodal Fusion)是指将来自不同模态(如图像、文本、语音、传感器数据等)的信息进行整合、联合分析和处理,以便全面理解、推理和应用这些数据。
多模态融合技术基于不同模态的信息具有互补性的原则,通过整合多种模态的信息,可以获得更全面、更准确、更可靠的数据表示。这种技术可以应用于各种领域,如人工智能、计算机视觉、自然语言处理、机器人学等。
2.为什么需要多模态融合
单一模态的数据往往不能提供全面的信息。
多模态融合能够增强模型对不同环境和场景的适应能力。
通过融合多模态数据,可以获得更加丰富的上下文信息,从而改进任务的执行效果。
在生成任务中,如图文生成、视频生成等,多模态融合能够生成更加逼真和一致的内容。
可以应对更多复杂的任务。
3.如何进行多模态融合
多模态融合的技术涵盖了多个方面,以下是一些主要的技术:
早期融合:将不同模态的数据在个体分析之前进行融合。
晚期融合:在个体分析之后,将他们的情感预测结合起来。
一、数据层融合技术
数据层融合技术主要是直接将不同模态的数据进行拼接或整合。这种方法适用于那些原始数据之间具有高度相关性和互补性的情况。通过数据层融合,可以获得一个包含多种模态信息的统一数据集,为后续的特征提取和联合分析提供基础。
二、特征层融合技术
特征层融合技术是在特征提取之后、决策之前进行融合。不同模态的数据首先被分别处理,提取出各自的特征表示,然后将这些特征表示在某一特征层上进行融合。特征层融合技术包括多种方法,如:
特征拼接:将不同模态的特征向量直接拼接在一起,形成一个更长的特征向量。这种方法简单直接,但可能面临特征维度过高和特征冗余的问题。
加权平均:对不同模态的特征向量进行加权平均,得到一个综合的特征表示。这种方法可以减小特征维度,但权重的选择需要谨慎考虑。
深度学习:利用深度神经网络(如CNN、RNN、Transformer等)从多个模态中学习特征并进行有效融合。深度学习方法能够自动提取和融合多模态特征,显著提升了多模态信息处理的效果。
三、决策层融合技术
决策层融合技术是在各个单模态模型分别做出决策之后进行融合。每个模态的模型首先独立地处理数据并给出自己的预测结果(如分类标签、回归值等),然后将这些预测结果进行整合以得到最终的决策结果。决策层融合技术包括多种方法,如:
投票法:对多个单模态模型的预测结果进行投票,选择票数最多的预测结果作为最终决策。这种方法简单直观,但可能受到模型性能差异的影响。
加权平均法:对多个单模态模型的预测结果进行加权平均,得到一个综合的预测结果。这种方法可以减小预测结果的波动性和不确定性。
贝叶斯方法:利用贝叶斯定理将多个单模态模型的预测结果进行融合,得到一个更准确的预测结果。这种方法需要知道每个单模态模型的预测概率分布。
四、其他关键技术
除了上述三个层次的融合技术外,多模态融合还涉及一些其他关键技术,如:
跨模态学习:如何将不同模态的数据(例如,图像、文本、声音)有效地转换为统一的表示形式,以便进行联合分析。这包括跨模态表示学习、跨模态对齐和跨模态推理等方面。
多模态神经网络:深度神经网络在多模态融合中得到了广泛应用。这些模型能够从多个模态中学习特征并进行有效融合。例如,Multimodal Deep Boltzmann Machines(DBMs)和Deep Belief Networks(DBNs)等模型被提出用于多模态融合。
自注意力机制与跨模态注意力机制:自注意力机制能够捕捉数据之间的关系,跨模态注意力机制则能够通过学习不同模态之间的权重,进行有效的信息融合。
生成对抗网络(GAN):GAN在多模态生成中有广泛应用,特别是在图像与文本、图像与语音的转换中。例如,图像到文本(Image Captioning)和文本到图像(Text-to-Image)等任务中,GAN能够生成更加真实的多模态数据。
4.多模态融合举例
自动驾驶、图像描述生成、多模态影像诊断……
五、记忆与注意力机制,QKV,Transformer
1.记忆是怎么形成的
2.如何实现Attention
注意力机制分类:
soft attention and hard attention
hard集中于小区域,而soft比较发散
global attention and local attention
globla与传统注意力模型相同,所有的隐藏状态都用于计算上下文向量的权重。
local是硬注意和软注意的混合,易于训练。
上下文:Self-Attention(自注意力)、上文:Masked Multi-Head Attention(屏蔽多头自注意力)
关于Attention的超详细讲解_attention详解-CSDN博客
Attention(注意力)机制的实现可以应用于多种深度学习模型中,特别是在自然语言处理(NLP)任务中。Attention是一种在处理序列数据时,动态选择和加权输入信息的技术。核心思想是在生成每个输入时,模型可以关注到序列中的不同部分,而不仅仅依赖于固定的语义编码,能够更好的捕捉到输入序列中的重要信息
以及Attention机制实现的一般步骤和要点:
一、Attention机制的一般步骤
输入表示:
将输入数据(如文本)通过嵌入层(Embedding Layer)转换为词向量(word vectors)或特征向量。
计算Q、K、V:
使用线性变换(即矩阵乘法)从输入向量中生成查询向量(Query, Q)、键向量(Key, K)和值向量(Value, V)。
这些向量通常具有相同的维度,但可以通过不同的线性变换矩阵进行变换。
计算注意力权重:
使用点积(dot-product)或其他方法计算Q与K之间的相似度,得到注意力分数(attention scores)。
缩放注意力分数(通常使用√d_k作为缩放因子,其中d_k是K的维度),以避免数值不稳定。
应用softmax函数将注意力分数转换为概率分布,即注意力权重(attention weights)。
加权求和:
使用注意力权重对V进行加权求和,得到加权后的输出(context vector)。
这个输出表示了输入序列中所有位置对当前位置的影响,是模型理解输入的关键。
输出处理:
将加权后的输出与原始输入或其他特征进行拼接、相加或进一步处理,以生成最终的输出。
3.对于QKV的理解
一、QKV的定义与生成
定义:
Q(Query):查询向量,用于在序列中“提问”,寻找与当前位置相关的信息。
K(Key):键向量,用于存储序列中每个位置的信息,供Q进行查询时使用。
V(Value):值向量,包含了实际的信息内容,这些信息将根据Q和K的相似度(注意力权重)进行加权求和。
生成:
在Transformer模型中,QKV通常通过线性变换(即矩阵乘法)从原始输入向量中生成。
输入向量通过三个不同的线性变换矩阵(分别对应Q、K、V)进行变换,得到查询向量Q、键向量K和值向量V。
二、QKV的计算过程
点积运算:
查询向量Q与每个键向量K进行点积运算,得到相似度分数(或称为注意力分数)。
点积运算的结果反映了Q与K之间的相似度,即它们之间的相关性。
缩放因子:
为了避免相似度分数过大导致softmax函数的梯度消失问题,通常会引入一个缩放因子(通常为√d_k,其中d_k是键向量的维度)。
缩放后的相似度分数用于计算注意力权重。
softmax归一化:
对缩放后的相似度分数进行softmax归一化,得到注意力权重。
softmax函数将相似度分数转换为概率分布,使得所有权重之和为1。
加权求和:
使用注意力权重对值向量V进行加权求和,得到最终的输出。
加权求和的结果表示了序列中所有位置对当前位置的影响,是模型理解输入序列的关键。
三、QKV在算法中的应用
动态聚焦:
QKV的分离使得模型能够动态地聚焦于输入序列中与当前处理位置最相关的部分。
通过计算查询向量与键向量的点积,模型能够捕捉到序列中任意两位置之间的依赖关系,无论它们在序列中的距离有多远。
捕捉复杂依赖:
自注意力机制通过引入QKV,实现了对输入序列中所有位置信息的同时考虑。
这种机制不仅提高了模型的并行处理能力,还增强了模型对全局信息的理解。
多头注意力机制:
在Transformer模型中,通常会使用多头注意力机制来进一步提高模型的表达能力。
多头注意力机制允许模型在同一层中使用不同的注意力分布,从而捕捉输入的不同方面。
每个头都会独立计算QKV,并输出自己的注意力表示。这些表示随后被合并,以得到最终的注意力表示。
四、示例计算
假设有以下向量:
Query(Q) = [2, 3, 4]
Keys(K) = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Values(V) = [[a, b, c], [d, e, f], [g, h, i]]
计算过程如下:
计算点积:Q与K的每个元素进行点积运算。
缩放:将点积结果除以√d_k(假设d_k=3)。
softmax归一化:对缩放后的结果进行softmax运算,得到注意力权重。
加权求和:使用注意力权重对V进行加权求和,得到最终的输出。
4.可以实现信息记录的算法有哪些
RNN、seq2seq、LSTM、GRU、Transformer
RNN记忆形成
RNN的核心在于其循环连接的结构,这种结构使得RNN能够处理序列数据,并在处理过程中保留之前时间步的信息。RNN的基本单元是一个循环层,其中包含多个神经元。这些神经元不仅接收当前时间步的输入,还接收上一个时间步的输出(或称为隐藏状态)。这种设计使得RNN能够保存并传递历史信息,从而在处理序列数据时能够考虑到整个序列的上下文。
- 隐藏状态的定义:隐藏状态是RNN中用于存储之前时间步信息的内部状态。在每个时间步,RNN都会根据当前的输入和上一个时间步的隐藏状态来计算当前时间步的隐藏状态。
- 隐藏状态的更新:隐藏状态的更新是通过一组线性变换和非线性激活函数来实现的。具体来说,当前时间步的隐藏状态是当前输入、上一个时间步的隐藏状态以及它们之间的权重矩阵和偏置项的函数。这种更新机制使得RNN能够“记住”之前的信息,并用这些信息来影响当前时间步的输出。
- 记忆的实现:由于隐藏状态在每个时间步都会被更新,并且会传递到下一个时间步,因此RNN能够保留之前时间步的信息。这种保留和传递机制就是RNN的记忆能力。
但是RNN处理长序列数据时,会有梯度消失和梯度爆炸问题。而且只能按照时间步依次计算。
seq2seq:encoder-decoder
一、信息编码
输入序列处理:
Seq2Seq模型首先接收一个输入序列,这个序列可以是文本、语音等形式的序列数据。
输入序列经过预处理后,被转换成模型能够理解的数值形式,如词向量(word embeddings)。
编码器工作:
编码器是一个循环神经网络(RNN)或其变体,如长短期记忆网络(LSTM)或门控循环单元(GRU)。
编码器逐步处理输入序列的每个元素(如单词、字符等),并在每个时间步生成一个隐藏状态(hidden state)。
这些隐藏状态包含了输入序列的上下文信息,并随着序列的处理而不断更新。
上下文向量生成:
编码器在处理完整个输入序列后,会生成一个上下文向量(context vector)或称为固定长度的向量表示。
这个向量是对输入序列的全局表示,包含了输入序列的所有关键信息。
二、信息传递
编码器到解码器的信息传递:
上下文向量被传递给解码器,作为解码器生成输出序列的初始输入或条件。
在某些情况下,编码器的最后一个隐藏状态也被直接用作解码器的初始隐藏状态。
解码器的工作:
解码器同样是一个RNN或其变体,它根据上下文向量(或编码器的最后一个隐藏状态)和已经生成的输出序列(在训练过程中是目标序列的前缀)来生成下一个输出元素。
解码器在每个时间步都会更新其隐藏状态,并基于这个状态生成输出。
三、Attention机制(可选)
为了提升模型对输入序列中不同部分信息的关注能力,Seq2Seq模型通常会引入Attention机制。Attention机制允许解码器在生成每个输出时,动态地关注输入序列的不同部分,从而更准确地捕捉和利用上下文信息。
Attention分数的计算:
对于输入序列的每个元素(如单词),解码器计算一个Attention分数,这个分数表示该元素对于当前输出生成的重要性。
Attention分数通常通过计算解码器当前隐藏状态与编码器每个隐藏状态之间的相似度或相关性来得到。
上下文向量的加权求和:
根据Attention分数,对编码器的隐藏状态进行加权求和,得到一个新的上下文向量。
这个向量更加关注输入序列中与当前输出相关的部分。
解码器的更新:
解码器使用这个新的上下文向量来更新其隐藏状态,并生成下一个输出元素。
四、信息解码与输出
输出序列的生成:
解码器逐步生成输出序列的每个元素,直到达到预设的停止条件(如生成了特殊的结束符号或达到了最大长度限制)。
输出处理:
生成的输出序列经过后处理(如去除特殊符号、解码成文本等)后,得到最终的输出结果
但是固定长度的向量有限制,且按照时间步进行操作,费时。
LSTM:引入细胞状态、三个门(遗忘门f、输入门i、输出门o)
细胞状态是LSTM网络的“记忆核心”,它沿着时间序列传递,携带了重要的历史信息。三个门控单元则分别负责控制信息的遗忘、输入和输出。
遗忘门(Forget Gate):
- 作用:决定上一个时间步的细胞状态是否需要保留或遗忘。
- 实现方式:通过sigmoid激活函数输出一个0到1之间的值,表示对上一个时间步细胞状态的保留程度。值越接近1,表示保留的信息越多;值越接近0,表示遗忘的信息越多。
输入门(Input Gate):
- 作用:决定当前时间步的新信息是否要更新到细胞状态中。
- 实现方式:同样通过sigmoid激活函数输出一个0到1之间的值,表示对当前时间步新信息的接受程度。同时,LSTM还通过tanh激活函数生成一个新的候选细胞状态,这个状态包含了当前时间步的新信息。
细胞状态更新:
- 过程:根据遗忘门和输入门的输出,结合上一个时间步的细胞状态和当前时间步的候选细胞状态,来更新细胞状态。具体地,将上一个时间步的细胞状态乘以遗忘门的输出,再加上输入门输出与候选细胞状态的乘积,得到新的细胞状态。
- 重要性:细胞状态的更新是LSTM记忆形成的关键。通过遗忘门和输入门的控制,LSTM能够选择性地保留和更新信息,从而实现对长期依赖关系的捕捉。
输出门(Output Gate):
- 作用:控制从细胞状态到隐藏状态的信息流。它决定了哪部分细胞状态应该被输出到网络外部,或传递到下一个时间步的隐藏状态。
- 实现方式:通过sigmoid激活函数输出一个0到1之间的值,表示对当前细胞状态信息的输出程度。然后,将细胞状态通过tanh激活函数处理后,乘以输出门的输出,得到最终的隐藏状态。
但是LSTM处理长序列问题时,参数很多,没法并行计算,消耗的资源太多了。
GRU:结合输入门和遗忘门。门控循环单元。
Transformer:QKV
六、LLM,S1/S2
一文搞懂LLM大模型!LLM从入门到精通万字长文(2024.12月最新)_llm模型-CSDN博客
对于LLM的理解
LLM全称为Large Language Model,即大型语言模型,是一种前沿的人工智能技术,尤其在自然语言处理(NLP)领域展现出强大的潜力。
- 定义:LLM是一种基于深度学习理论的人工智能模型,通过训练海量的文本数据,掌握了语言的语法、语义及上下文信息,从而能够精准地处理和生成人类语言。
- 原理:LLM的工作原理主要基于深度学习中的无监督学习和迁移学习技术。在无监督学习中,模型在没有任何特定标签或目标的情况下在大量数据上训练,学习文本数据中的模式,并使用它们来生成新文本。迁移学习则使LLM在预训练阶段学习到的语言表示和模式可以被迁移到其他NLP任务中,通过微调来适应特定任务的需求。
-
结构:LLM的结构通常包括编码器(Encoder)和解码器(Decoder)两部分,但并非所有LLM都包含解码器部分。编码器负责将输入文本转换为向量表示,而解码器则负责将这些向量表示转换回文本输出。
-
挑战:
- 技术挑战:尽管LLM在自然语言处理领域取得了显著进展,但仍面临一系列技术挑战,如多模态融合、模型可解释性和可控性等。
- 伦理挑战:随着AI驱动的内容创作变得越来越普遍,有关创作归属和原创性的伦理问题也将逐渐浮现。
LLM(大语言模型)的基本架构主要基于Transformer架构。自2017年“Attention is all you need”论文发表以来,原始的Transformer模型为不同领域的模型提供了灵感和启发。基于Transformer框架,衍生出了一系列模型,这些模型在结构上可能有所不同,一些仅使用encoder,一些仅使用decoder,还有些同时使用encoder和decoder。LLM的分类一般分为三种:自编码模型(Encoder)、自回归模型(Decoder)和序列到序列模型(Encoder-Decoder)。以下是这三种架构的详细介绍:
一、自编码模型(AutoEncoder Model,AE)
代表模型:BERT(Bidirectional Encoder Representations from Transformers)
特点:Encoder-Only,即仅使用Transformer的编码器部分。
基本原理:在输入中随机MASK掉一部分单词,然后根据上下文预测这些单词。这种方式使得模型能够充分捕捉上下文信息,对语言内容有深入的理解。
应用场景:通常用于内容理解任务,如自然语言理解(NLU)中的分类任务(情感分析、提取式问答等)。
核心架构:BERT的架构由三个主要模块组成:最底层的Embedding模块、中间层的Transformer模块和最上层的预微调模块。其中,Embedding模块由Token Embeddings(词嵌入张量)、Segment Embeddings(句子分段嵌入张量)和Position Embeddings(位置编码张量)组成。Transformer模块则使用了经典的Transformer架构中的Encoder部分。
预训练任务:BERT包含两个预训练任务,即Masked LM(带mask的语言模型训练)和Next Sentence Prediction(下一句话预测任务)。这两个任务共同提升了BERT的语言理解能力。
二、自回归模型(Autoregressive Model,AR)
代表模型:GPT(Generative Pre-training)
特点:Decoder-Only,即仅使用Transformer的解码器部分(但去除了中间的encoder-decoder attention子层)。
基本原理:从左往右学习,只能利用上文信息进行预测。这种方式使得模型在生成式任务中表现出色,如文本摘要、翻译等。
应用场景:通常用于自然语言生成(NLG)领域的任务。
核心架构:GPT采用了Transformer的Decoder模块,但有所简化。与经典的Transformer架构相比,GPT的Decoder Block中取消了encoder-decoder attention子层,只保留了Masked Multi-Head Attention层和Feed Forward层。
训练流程:包括无监督的预训练和有监督的下游任务微调。无监督的预训练阶段旨在让模型学习语言的统计规律;有监督的下游任务微调阶段则让模型适应特定的任务需求。
三、序列到序列模型(Sequence to Sequence Model,Seq2Seq)
代表模型:T5(Text-to-Text Transfer Transformer)
特点:同时使用编码器和解码器,将每个任务视为序列到序列的转换或生成。
基本原理:通过编码器将输入序列编码为隐藏状态,然后通过解码器将隐藏状态解码为输出序列。这种方式使得模型能够处理多种NLP任务,如机器翻译、文本生成等。
应用场景:广泛应用于各种需要序列转换或生成的NLP任务。
Transformer架构变种:T5在原始的Transformer基础上进行了简化,如采用简化的Layer Normalization和相对位置编码。
预训练任务:结合MLM预训练任务和多任务预训练,大大提升了模型的通用性和泛化能力。
综上所述,LLM的基本架构主要基于Transformer架构,并衍生出了自编码模型、自回归模型和序列到序列模型三大类。每种架构都有其独特的特点和应用场景,共同推动了自然语言处理领域的发展。
七、具身、Agent,强化学习思想
强化学习通过让智能体在环境中不断试错和学习来优化其行为策略。在强化学习中,智能体(AI Agent)通过与环境的交互获得反馈,通常是以奖励的形式表示,目标是最大化长期累积奖励。这个过程可以分为以下几个关键步骤:
- 观察:智能体从环境中获取状态信息。
- 决策:基于当前状态,智能体选择一个动作。
- 执行:智能体实施所选的动作,环境作出响应并给出新的状态和奖励。
- 学习:智能体更新其策略,通常利用某种优化算法如Q-learning、SARSA等计算出最优动作。
具身智能:(Embodied Intelligence)是指一种结合了物理实体、传感器和执行器的人工智能系统。将AI Agent与物理世界相结合,使其能够感知、理解和交互于物理环境。
AI Agent:一个能够感知环境、做出决策并执行动作的智能体。它可以是软件程序、机器人或其他任何能够自主行动的实体。
强化学习的模型:
基于模型:样本效率高、泛化强;;但是模型准确率、计算复杂性、对不匹配的敏感性都有限制。
非基于模型:简单、稳健、灵活、无计算开销;;但样本效率低、解释性挑战、对于稀疏奖励的有限处理
State:代表当前的状态
Action:界定可能执行的所有动作
Reward:提供立即奖励
Q-value:未来期望的累积奖励
Policy(pai):指导智能体的行为
强化学习的模型可以用四元组<S, A, P, R>表示,其中:
- S为状态集合,表示智能体可能处于的所有状态。
- A为动作集合,表示智能体可以执行的所有动作。
- P为状态转移函数,表示在给定状态下执行某个动作后,环境转移到新状态的概率。
- R为奖励函数,表示在给定状态下执行某个动作后,智能体获得的奖励。
强化学习具体步骤:
- 初始化: 设置初始状态、动作空间、奖励函数和策略。
- 感知环境: 智能体agent感知环境并获取当前状态。
- 选择动作: 根据策略选择一个动作。
- 执行动作: 智能体执行动作并进入新的状态。
- 获得奖励: 根据新的状态和执行的动作获得奖励。
- 更新策略: 根据奖励更新策略,使智能体在未来能够选择更优的动作。
- 重复步骤2-6: 直到代理达到目标或训练结束。