【原创】理解ChatGPT之注意力机制和Transformer入门

作者:黑夜路人

时间:2023年4月27日

想要连贯学习本内容请阅读之前文章:

【原创】理解ChatGPT之GPT工作原理

【原创】理解ChatGPT之机器学习入门

【原创】AIGC之 ChatGPT 高级使用技巧

GPT是什么意思

GPT的全称是 Generative Pre-trained Transformer(生成型预训练变换模型),它是基于大量语料数据上训练,以生成类似于人类自然语言的文本。其名称中的“预训练”指的是在大型文本语料库上进行的初始训练过程,其中模型学习预测文章中下一个单词,它可以完成各种自然语言处理任务,例如文本生成、代码生成、视频生成、文本问答、图像生成、论文写作、影视创作、科学实验设计等等。

下面我们用大家容易理解的方式简单介绍一下GPT模型的整个工作原理。

上面讲了我们GPT的单词是:Generative Pre-trained Transformer ,简单这三个词语拆解下来就是:

Generative - 生成下一个词

Pre-trained - 文本预训练(互联网各种文字材料)

Transformer - 基于Transformer架构(无监督学习)

GPT用中概括描述就是:通过Transformer 架构进行文本预训练后能够按照给定的文本,生成合理文本延续的模型。(文本接龙)

其中无监督训练中,核心依赖的就是Transformer模型,这是一个优秀的模型,如果说到Transformer框架比较优秀,就需要大概了解一下神经网络在这个过得的迭代发展过程,了解为什么它是一个在AI问答(ChatGPT)中优秀的模型框架。

对于ChatGPT能够取得那么好的一个互动交流的效果,最核心的是GPT机制,GPT机制里面除了预训练( Pre-trained)和人工反馈强化学习(RLHF - Reinforcement Learning from Human Feedback),最基础的就是这个T(Transformer)机制了。

整个Transformer可以简单理解为一个“无监督学习”的“文字接龙”游戏,然后完成整个核心基础大模型的训练,然后通过 RLHF 强化训练让这个LLM(大模型)看起来越来越智能。

RNN如何发展到Transformer

在我们先看一下整个Transformer发展路线图:

看到上面比较关键的几个节点主要是 RNN -> LSTM ->Attention -> Transformer ,基本就是从循环神经网络(RNN)发展长短记忆网络(LSTM),然后诞生了注意力机制(Attention),然后到Transformer(包含Multi-Head Attention多头自注意力),奠定了整个Transformer的大框架体系。

RNN(Recurrent Neural Network - 循环神经网络)

要理解RNN基本原理,我们可以简单理解理解一下。

比如当我们在识别一张图片的时候,每张图片都是独立的,认出图片中是“苹果”和对下一张图片是“梨”的识别没有影响。但是对语言来说,顺序是超级重要的。“我吃苹果”和“苹果吃我”两个句子意思完全不同,顺序也提供了信息,比如“吃”后面跟的大概率可能是食物名词。

为了理解数据之间的这种关联,人们发明了一种叫做循环神经网络的模型,简称RNN。RNN是一种神经网络,可以理解它有一个小记忆盒子,用来记住过去的数据。当新数据进来时,网络要考虑记忆盒子里保存的信息,随着新数据的输入,存储的信息也在不断更新,记忆盒子里的信息被称为“隐状态”。

RNN最常用于自然语言处理,比如说机器翻译和写诗。“机器翻译”是找到不同语言中表达相同意思的序列(中文翻译成为英文);诗歌生成是根据主题按规则生成有逻辑的词序列;改变输入和输出的类型,输入图片输出句子就是“看图说话”;语音也可以看作是一个时间序列的声音信号,语音识别和语音生成等场景也在RNN的能力范围内;股票价格变化也可以看作一个随时间变化的序列,很多量化交易模型就是基于这个认知建立的。

(中间的h就是隐状态,c是输入,y是输出)

RNN能够处理序列数据,即其输入和输出都可以是序列。这是因为RNN在隐藏层里面有循环,能够维持网络的内部状态,并根据输入的序列数据不断更新状态。

RNN很厉害,图片文本等都能够很好处理,有很多适用场景。但是RNN也有明显的缺点,比如数据输入的越早,在隐状态中占的影响就越小。也就是说,如果一个句子很长,RNN就会忘记开始说了什么,标准的RNN在较长的序列上会出现梯度消失或梯度爆炸的问题,导致它无法捕捉到长期的依赖关系。为此,后来发明了RNN的改进版本——LSTM(长短期记忆网络)。

LSTM(Long Short-Term Memory,长短期记忆网络)

RNN有一定的记忆能力,但是遗憾的是它只能记住短期记忆,在各种任务中的表现不太好。那么该怎么办?

人们将目光投向了人类自己。人的记忆是有选择的,我们不会记住每一时每一刻发生的所有事,会选择性地保存重要的事情,丢弃不重要的事情。参考人类这种记忆机制,Sepp Hochreiter在1997年改造了“记忆盒子”,并找到了“门”这种机制。“门”是用来决定信息如何保存的开关,它的值在0到1之间,1表示完全保存,0表示完全丢弃。

“记忆盒子”上有三个门:

遗忘门(Forgot gate):决定记忆盒子要保存多少原有信息,也就是丢弃哪些不重要的记忆;

输入门(Input gate):决定当前网络信息有多少要保存到记忆盒子,也就是接触哪些新东西;

输出门(Output gate):决定输出记忆盒子中的信息的程度。

经过改造的记忆盒子既可以通过输入门了解当前网络状态,又可以利用遗忘门保留过去重要的信息。这就是LSTM长短期记忆模型。

通过改变记忆盒子的结构,LSTM还有许多变体,比如GRU。GRU只有两个门,更新门是遗忘门和输入门的结合,决定丢弃哪些旧信息,添加哪些新信息。 GRU还决定写入多少当前时刻的网络状态,用来捕捉短期记忆。GRU的结构更简洁,计算更高效,效果与LSTM不相上下,所以GRU变得越来越流行。还有一些包含了 Remember-负责记忆中的信息存储,Update gate-控制 Remember 中存储的信息更新 等等模块。

一个大概的LSTM网络:

Attention(注意力机制)

注意力机制不是凭空出来,主要还是从人类本身进行学习的基本人类原理。

深度学习里面的一个注意力机制,它从名字上来看,就和我们人类视觉的注意力机制是非常相似的,其实它也是借鉴于人类视觉注意力机制的。他们的核心是什么?他们的核心就是关注重点的信息,而忽略掉不重点的信息。而这个机制的形成就是人类在漫长的进化当中形成的,从大量的信息里面去获取少量的关键信息的一个主要的核心的东西,也就是人类规避危险的最核心的一种能力。

我们直接来看,比如说这样的一张图,我们首先看到的时候,我们会优先关注婴儿的脸,然后才会关注到熊熊玩具:

比如这个新闻,首先其实会看到“标题”,然后才是看到下面的内容:

上面两张图片中,我们会优先关注婴儿的脸,然后文章我们会先关注标题;比如这个新闻,这个标题这一大段文字的开头,而这些东西恰好就是这张图片的核心的最关键的位置,我们关注这些东西之后,我们会对最核心的位置再继续深入去看,比如说我们看婴儿的脸,皮肤白不白,什么表情等等;比如说我们看这个标题,看这个标题具体讲的什么,而对于其他一些无关的信息,我们就会选择把它给忽略掉。

这个核心简单可以总结为:“视觉注意力机制是人类视觉所持有的大脑信号处理器,人类视觉通过快速扫描全局图像获得需要重点关注的目标区域,也就是一般所说的注意力的焦点,而后对这一区域投入更多的注意力资源,以获取更多所需要关注的目标的细节信息,而抑制其他无用的信息”。

人类的注意力机制和和深度学习中注意力机制的一个核心,就是“关注最核心的部分,抑制其他无用的信息”。这是人类利用有限的注意力资源,从大量的信息中快速筛选出高信息的一个手段,是人类在长期进化中形成的一种生存的机制,然后Attention也学习了整个机制,能够极大的提高了信息的处理的效率与准确性。

可以用自然界中的一些概念来拟人化地描述注意力机制,可以关注到这些特点:

1. 聚焦: 就像我们的视觉系统可以聚焦在视野中的某个区域,注意力机制也可以聚焦在输入序列的某些部分,并为其赋予更高的权重。这种聚焦能力使模型可以专注在当前最重要和相关的信息上。

2. 过滤: 我们的感知系统会过滤掉很多不太相关和重要的信息,只选择critical信息。同样,注意力机制也具有过滤的功能,它可以过滤掉输入序列中不太相关的元素,只选择最相关和重要的信息。

3. 上下文感知: 人类在理解语言时会根据上下文来正确解释某个词或短语的意思。同样,注意力机制可以将上下文信息融入当前输入的表达中,从而产生上下文相关的输出。这使模型的预测结果更加合适当前输入的上下文。

4. 关注漂移: 人类的注意力不是固定不变的,我们可以根据需求随时改变关注的目标。注意力机制也具有类似的能力,它可以随时根据输入的重要性来改变注意力的分配,从而动态地聚焦在当前最相关的输入上。这种动态的注意力分配使模型更加灵活和强大。

所以,注意力机制类似于人类注意力的一些特点,比如聚焦、过滤、上下文感知和关注漂移的能力,这使注意力机制具有选择性地关注输入序列的某些部分,过滤不太相关的信息,并根据上下文来调整注意力分布的能力,从而产生更加准确的输出结果。这些特点都被神经网络学习过去,然后进行模拟。

Attention在深度学习的应用

注意力在图片和文本中的应用

以上就是利用注意力机制进行关键信息识别,所有白色区域就是为下面图片识别生成文字:

一个带有注意力机制文本计算的LSTM网络:

既然自然界和人类有注意力机制这件事,那么在深度学习中,如何计算注意力,就是如何判断图片和文本中哪个内容是更需要关注的。

图片注意力计算

在图片处理中,注意力机制的主要原理也是判断当前输入与输入序列中每个历史元素(此处为像素)之间的相关性,并根据相关性为每个像素赋予权重,这些权重决定了哪些像素需要特别注意和聚焦,哪些需要过滤。

具体来说,注意力机制会计算当前输入特征与每一个历史像素之间的相似度或相关性,相似度越高的像素被赋予更大的权重,表示其对当前输入特征更重要,需要更多注意;相似度越低的像素被赋予更小的权重,表示其影响较小,可以被过滤。

那么,在图片中,注意力机制主要通过以下方法来判断两个输入之间的相关性:

1. 空间注意力:计算两个像素在空间上的相对位置关系,位置越近的像素相关性越高,权重越大。这种注意力可以捕捉空间结构信息。

2. 通道注意力:如果两个像素在RGB通道上值越接近,则认为其相关性越高,权重越大。这可以学习通道之间的依赖关系。

3. 分层注意力:在空间注意力和通道注意力的基础上,可以建立多层注意力,高层综合低层结果与输入计算相关性。这使注意力可以在不同抽象层面审视输入,更加准确。

4. 相似性注意力:直接采用点乘或余弦相似度等方法计算两个像素之间的相似性,相似性越高则相关性越强,权重越大。

在图片处理中,注意力机制主要是通过计算当前输入特征与每个像素的相关性,为后者赋予不同的权重,并据此产生当前输入特征的新表示。相关性越高的像素影响越大,权重越大,这使得模型可以选择性地关注输入图像中的重要区域,过滤不太相关的背景区域。这种过程模拟了人类在理解图片时对重要信息的注意力分配机制。

文本注意力计算

在文本处理中,注意力机制的主要原理是:判断当前输入与输入序列中每个历史元素之间的相关性,并根据相关性为每个历史元素赋予权重,这些权重决定了哪些历史元素需要特别注意和聚焦,哪些需要过滤。

具体来说,注意力机制会计算当前输入与每个历史输入之间的相似度或相关性,相似度越高的元素被赋予更大的权重,表示其对当前输入更重要,需要更多注意;相似度越低的元素被赋予更小的权重,表示其影响较小,可以被过滤。

那么,注意力机制是如何判断两个输入之间的相关性的呢?主要采用以下方法:

1. 点乘注意力:计算两个输入的向量表示(Embedding)之间的点积,点积越大则相关性越高。

2. 缩放点乘注意力:在点乘注意力的基础上,对点积结果除以一个缩放因子(如向量维度的平方根),这样可以使得权重分布更集中,关注更重要的元素。

3. 多头注意力:使用多个注意力头,每个头有自己的Query、Key和Value,最终将每个头的输出拼接或求平均以产生最终输出。这使模型可以从不同角度审视相关性,更加准确。

4. 位置编码:对输入序列的输入 Embedding 加入位置信息,以便模型可以利用位置信息判断相关性。位置更靠近的两个输入相关性更高。

所以,文本的注意力机制主要是通过计算当前输入与历史输入的相关性,为后者赋予权重,并据此产生当前输入的新表示。相关性越高的历史输入影响越大,权重越大,这使得模型可以选择性地关注输入序列中的重要元素,过滤不太相关的元素。这种过程模拟了人类在解码文本时的注意力分配机制。

Transformer模型概要

Transformer 解决seq2seq的问题

在机器学习里,一般需要解决的问题主要包括,我输入一个东西给模型,然后模型输出一个东西(比如一个词或者是一张图)然后输出:(比如单词翻译或者是分类问题)

或者是输入一堆东西,然后输出一个东西,整个输入序列最后输出一个标签:(比如分类问题,或者是情感分析)

再进一步,在计算中,可能是N个输入向量,输出也是N个标签(输入输出向量是固定的):

还有一种常见是输入N个向量,输出可能是M个标签,这种问题叫做Seq2Seq(Sequence to Sequence,机器学习中比较典型的一种方式,常见比如AI问答、机器翻译等):

ChatGPT可以认为是一种Seq2Seq的问题,用户输入一堆Prompt,然后GPT输出一堆文本。Seq2Seq实现了从一个序列到另外一个序列的转换,比如Google曾用Seq2Seq模型加attention模型来实现了翻译功能,类似的还可以实现聊天机器人对话模型。经典的RNN模型固定了输入序列和输出序列的大小,而Seq2Seq模型则突破了该限制。

Seq2Seq 这种结构最重要的地方在于输入序列和输出序列的长度是可变的。

一般处理seq2seq的问题都会采用 Encoder-Decoder 的结构,输入一个seq,经过encoder各种处理,然后decoder成为一个目标想要的内容,比如经典的RNN中的Encode-Decoder架构:

Encoder-Decoder架构,我们举例看一个翻译的场景:

对于ChatGPT中T 就是我们上文提到的Transformer框架,Transformer就是一种处理seq2seq的模型设计。上面这个图可以简单理解为,Transformer 框架基本工作结构图 ,它本质就是一个Encoder-Decoder 的结构。

Transformer和LSTM/RNN 的区别

本质使用RNN或者LSTM都能够解决这种AI问答的问题,但是Transformer对比它们有这些更多优点:

1. 并行计算:RNN和LSTM是顺序模型,计算过程中每个步骤的输出都依赖于上一步的输出,无法并行计算。而Transformer采用Attention机制,可以并行计算所有 timesteps,大大提高计算速度。

2. 长期依赖学习:RNN和LSTM虽然有循环结构可以捕捉上下文信息,但在较长序列中难以学习长期依赖,会出现梯度消失问题。而Transformer通过采用Attention机制,可以直接建模任意两个timesteps之间的依赖关系,更好地学习长期依赖。

3. 训练更稳定:RNN和LSTM中的循环结构使得其训练过程较为困难,参数选择和初始化都会对最终结果产生较大影响,并且容易出现梯度爆炸问题。而Transformer的非循环结构使其训练更加稳定。

4. 更少的参数:RNN和LSTM需要的参数较多,而Transformer通过使用Attention机制,可以用更少的参数获得同等或更好的性能。

5. 无需标定的输入输出:RNN和LSTM对序列进行编码时,通常需要在输入序列两端添加特殊的起始和结束标记,Transformer则无此要求。

Transformer 框架的优秀不只是 Encoder-Decoder 机制,更主要的是它Multi-Header Attention机制。transformer架构完全依赖于Attention机制(注意力机制),解决了输入输出的长依赖问题,并且拥有并行计算的能力(Multi-head),大大减少了计算时间。self-attention模块,让源序列和目标序列首先“自关联”起来,这样的话,源序列和目标序列自身的Embedding(单词嵌入)表示所蕴含的信息更加丰富,而且后续的FFN(前馈网络)层也增强了模型的表达能力。Muti-Head Attention模块使得Encoder端拥有并行计算的能力。

Transformer对比RNN和LSTM具有 并行计算,计算速度更快,学习长期依赖更好,不易出现梯度消失问题,训练更加稳定,不易出现梯度爆炸问题,参数更少,空间复杂度和计算复杂度更低,无需在输入输出序列添加特殊标记 等优点,所以是一个非常优秀的神经网络模型。

Transformer 既可以看作一种模型,也可以看作一种架构。如果从具体的模型实现来看,如BERT,GPT等等,这些都是基于Transformer架构设计的独立的模型,用于不同的自然语言处理任务,可以看作是各种模型。但如果从更高的层面来理解,Transformer本质上提出了一种基于注意力机制的encoder-decoder框架或架构。这个架构中的主要组件,如多头注意力机制、位置编码、残差连接以及前馈神经网络都是通用的构建块。

所以,从这个意义上讲,Transformer更像是一种统一的架构或框架。研究人员可以基于这个架构,通过选择不同的训练语料或任务,设计出用于不同目的的变体模型,如:

- BERT:通过自监督的方式,在大规模语料上预训练得到的Transformer模型,用于语言理解。

- GPT:通过自我监督学习在大规模语料上预训练得到的Transformer模型,用于语言生成。

- Transformer-Align:用于序列对齐任务的Transformer模型。

- Graph Transformer:用于处理图数据的Transformer模型。

所以,总的来说,我的理解是:Transformer提出的是一个通用的注意力为基础的神经网络架构,而各种基于该架构设计的模型,如BERT,GPT等则可以看作是该架构的具体实例。这些具体的实例模型通过选择不同的数据集以及训练目标,可以完成不同的自然语言处理任务。

总结

Transformer模型的主要优点如下:

1. 并行计算。Transformer可以并行计算所有时间步,计算速度很快,这是其相比RNN和LSTM的最大优势。

2. 学习长期依赖。Transformer通过Attention机制可以直接建模任意两个时间步之间的依赖关系,可以很好地学习长期依赖,不容易出现梯度消失问题。

3. 训练更稳定。Transformer的非循环结构使其训练过程更加稳定,不容易出现梯度爆炸问题,参数选择也更加灵活。

4. 参数更少。相比RNN和LSTM,Transformer需要的参数更少,尤其在更长序列的任务中参数量的差距更加明显。

5. 无需标定的输入输出。Transformer无需在序列两端添加特殊的开始和结束标记。

Transformer主要缺点如下:

1. Transformer contains no recurrence. 形式上Transformer没有循环结构,丢失了RNN的一些特征。例如,Transformer无法很好地建模周期时间序列。

2. Transformer可能不适合较短序列。对于较短的序列,Transformer的参数相对较多,并不一定优于RNN和LSTM。

3. 计算复杂度较高。Transformer中的Attention计算成本比较大,在一些计算资源受限的情况下可能会出现瓶颈。

4. 缺乏韵律和时域信息。Transformer不像RNN和LSTM中包含循环结构和隐状态,无法很好地建模时域和韵律信息。

总体来说,Transformer的主要优势在于并行计算、学习长期依赖以及训练稳定性,但也存在一定的缺点,如无循环结构、处理短序列时效果可能不佳、计算复杂度高以及建模时域和韵律信息的能力较弱等。选用什么样的模型还需要根据具体任务的需求和数据特征进行权衡。

本文概要的了解了一下Transformer的整个发展历程,以及在Transformer中占据主导地位的Attention注意力机制的基本自然界面和深度学习中的工作原理。

希望能够稍微对Transformer模型有个印象和好感,了解这个神器背后的基本自然规律。

取代你的不是AI,而是比你更了解AI和更会使用AI的人!

##End##


想关注更多技术信息,可以关注"黑夜路人技术” 公众号

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

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

相关文章

新传专业需要计算机二级吗,大学生有必要去考取计算机二级证书吗?

满意答案 JKSNX 2020.09.22 采纳率:41% 等级:12 已帮助:4161人 这是个很常见的问题。每年总有两个月,学校的教务会发一则“计算机二级报考通知”,大家便开始讨论计算机二级有没有用,身体却很诚实地交上7…

跨考安大计算机研究生难吗,关于跨考安大新传这件事,你现在纠结的问题我们都知道!...

灵魂拷问:你为什么想要跨考新传? 因为兴趣…?热爱…?新闻理想…? 还是因为…? (开玩笑啦)即便有以上因素存在,大家选择了新传也有大部分原因是因为喜欢,比如说我,虽然综合…

新传工作运用计算机吗,Windows 7正式退休,这些解决办法你必须了解

2020年1月14日,微软Windows 7系统正式停止技术支持,你的计算机将不会中断或停止工作,但如果你的Windows 7计算机出现问题,它将不再收到任何问题的技术支持、软件更新、安全更新或修复。 现在微软在官方网站上公布了最新的Windows …

新传工作运用计算机吗,计算机等现代办公技术运用给文秘工作带来的新思考1...

电子计算机技术的运用发展被称为人类科学技术发展的"第三次革命",计算机技术在办公室的普及运用也使秘书工作由"笔杆子"向"键盘子"转变,计算机的运用操作成为了现代从业秘书的必备技能,与运而生的办公自动化大…

新传要不要学计算机,大学新生入学要带电脑吗?学长给出建议,不知道的会很“吃亏”...

教之而不受,虽强告之无益。譬之以水投石,必不纳也,今夫石田虽水润沃,其干可立待者,以其不纳故也。——张载 01前言 今年高考结束已经走了一段时间了,虽然成绩都还没有被公布,但相信很多考生的心…

服开与编排,老兵新传

前段时间,有同学问:编排与服开是什么关系?现在运营商都建设编排系统,那是不是服务开通以后就退出 OSS 舞台了?为什么会出现编排?这些问题对于行业老兵来说感慨万千,而对于新兵来说就要通过追溯其…

考研最卷的专业,我提名新传

不少专业的研究生统招考试都是一场“千军万马过独木桥”的残酷竞争,只是有的专业卷得明明白白,而有的专业多少让人意想不到 ——“钱途”一般,却也能卷上天,比如新传。 新传,指的是新闻传播类学科,除了主要…

Hitachi Vantara老兵新传

Hitachi Vantara正在书写一部“老兵新传”! 所谓“老”,是指Hitachi Vantara的前身HDS(Hitachi Data Systems)资历老,它曾是企业级存储市场的领导者;何为“新”?Hitachi Vantara于2017年9月才正…

计算机知识讲座图片,计算机ppt辅导讲座

原标题:计算机ppt辅导讲座 2020年11月4日下午1:30,在竞秀南楼304,润园书院学习部请到了赵燕飞老师为大家带来了一次细致实用的计算机关于ppt的辅导讲座。同时也是为了丰富同学们的计算机知识,教同学们熟练运用计算机知识制作精美的ppt。本次讲…

【简单】使用ChatGPT和QT从零开始构建一个计算器应用

在这篇博文中,我将向大家展示如何使用ChatGPT和Qt来构建一个完整的计算器应用。我们将从零开始,逐步引导您完成整个项目,包括需求分析、软件设计、代码编写等环节。该项目代码全部由GPT编写,10分钟完成。 一,项目概述 本项目旨在…

太突然了,不会ChatGPT就被淘汰,很多公司开始行动了!

上周末分别和两拨朋友约了饭局。周六约的是国内最大ERP厂商的朋友,饭桌上大家聊的最多的话题就是ChatGPT,他们上面领导发话了,让尽快引入ChatGPT,寻求突破。周日约见的是一波搞游戏开发的朋友,聊的最多话题也是ChatGPT…

ChatGPT 大浪潮下,哪些行业会被淘汰?

在 ChatGPT 大浪潮下,随着新技术的不断涌现和应用,一些传统行业或者是不适应发展节奏的行业可能会被淘汰。 我们先来看看,以下是可能受到影响的一些行业: 1、银行和金融行业:区块链技术的发展和数字货币的出现使得原本…

chatgpt赋能python:如何用Python打包项目不卡顿

如何用Python打包项目不卡顿 随着Python语言的普及和不断发展,越来越多的开发者选择使用Python作为主要的开发语言来开发应用程序。然而,许多Python开发者不知道如何打包他们的项目,或者他们打包后的项目存在性能问题。在本文中,…

告别卡顿困扰:IDEA 性能优化设置

大家好,我是老赵 在我们日常使用IDEA进行开发时,可能会遇到许多卡顿的瞬间,明明我们的机器配置也不低啊?为什么就会一直卡顿呢? 原来这是因为IDEA软件在我们安装的时候就设置了默认的内存使用上限(通常很小…

chatgpt赋能python:Python卡顿怎么办?这里有十年经验告诉你

Python卡顿怎么办?这里有十年经验告诉你 Python是一种高级编程语言,并且是一种面向对象、动态类型的脚本语言。它在科学计算、爬虫、人工智能等领域有着广泛的应用。然而,有时在使用Python进行开发时,可能会遇到卡顿或运行缓慢的…

chatgpt 逐字输出 使用fetch/eventSource/fetchEventSouce进行sse流式处理

前端使用vue 1.逐字输出 闪动css样式 <span id"response_row" class"result-streaming">{{ item.assistantContent }}</span>.result-streaming:after {-webkit-animation: blink 1s steps(5, start) infinite;animation: blink 1s steps(5,…

【python】数据预处理:分位数归一化 Quantile Normalization + INSCODE AI创作助手测试

文章目录 写在前面标准化/归一化z-score标准化示例 python模块qnorm实现分位数归一化R代码实现分位数归一化分位数归一化 - NSCODE AI创作助手的回答*Q1&#xff1a;Quantile Normalization是什么&#xff1f;**Q2-1: 什么时候用Quantile normalization&#xff1f;**Q2-2: 什么…

解决Postman发起请求一直转圈加载没有反应的问题

问题描述 Postman像下面这样一直在发起请求&#xff0c;等待响应 可能的原因 路径写错了&#xff0c;找不到路径存在跨域问题 第一个问题很容易排查&#xff0c;这里说下第二个问题&#xff0c;跨域问题通常有两种解决方案&#xff0c;如下&#xff1a; (1)CORS技术 : 现…

vite首次打开界面加载慢问题/解决

写在前面 网上都说vite要比webpack快&#xff0c;但个人感受&#xff0c;默认情况下, vite项目的启动确实比webpack快&#xff0c;但如果某个界面是首次进入&#xff0c;且依赖比较多/比较复杂的话&#xff0c;那就会比较慢了。 这篇文章就是用来记录&#xff0c;关于vite慢的…

【机器学习 吴恩达】2022课程笔记(持续更新)

一、机器学习 1.1 机器学习定义 计算机程序从经验E中学习&#xff0c;解决某一任务T&#xff0c;进行某一性能P&#xff0c;通过P测定在T上的表现因经验E而提高 eg&#xff1a;跳棋程序 E&#xff1a; 程序自身下的上万盘棋局 T&#xff1a; 下跳棋 P&#xff1a; 与新对手下…