赞
踩
如今AI热潮席卷而来,深度学习、神经网络等名词也或多或少的映入每个人的眼帘,然而,面对这些逼格满满又苦大仇深的专业词汇,我们作为一个没有接触过的普通人,往往会有隔离与疏远感。本文的目标,是帮助揭开AI的面纱,初步理解深度学习的基本概念。
通过数学模型模拟人脑的神经元网络结构来处理数据。
人脑是如何处理数据的呢?神经元与神经元相连接,数据以电信号的形式在神经元网络中传播。
深度学习模拟的就是电信号在神经网络中传播的过程:
实际概念 | 数学模型概念 |
---|---|
电信号 | 张量(多维向量) |
神经元 | 数学公式:y = G(ax+b) |
神经元的连接方式 | 数学公式的参数传递方式(不同网络类型) |
y = G(ax+b)
x-输入 | a-权重 | b-偏移 |
---|---|---|
y-输出 | G()-激活函数 | ax+b-加权和 |
各个神经元的权重、偏移量等值是随机初始化的,正向传播的过程是将一组数据放入模型,从左到右走完整个网络,得到模型计算值(预测值)的过程。
损失函数是一个评价函数 P(预测值) = 损失值,损失函数越小,则模型表现越好,这里,就涉及到了两大类损失函数:
反向传播是深度学习训练最重要的环节,因为这个环节会对模型参数进行调整,以尽可能得到更小的损失值,我们继续以上面的过程为例子:
损失值 = P(预测值) = P(G(ax+b)) = PG(a, x, b)
我们希望改变a的值,让损失值变小,因此,我们就可以对PG(a,x,b)求a的导数,让a沿着斜率(梯度)下降的方向变化。
实际上,自然语言处理是一个很大的范畴,但落到如今,我们更常提到并且更感兴趣的,是生成式的语言大模型。那么,语言大模型是如何完成对话的,其训练过程又是如何呢?
我们以【你吃了吗?吃了!】这组对话为例,结合我们第一章提到的深度学习过程,来复刻模型的训练过程:
上面演示的是一个最简单的对话训练过程,在这个过程中,首先要把输入(你吃了吗?)与输出(吃了!)编码成数学模型能直接计算的数据,之后,经过深度学习梯度下降的过程,完成模型训练。
这个时候出现了一个问题,和我们做赏析题一样,现实中,往往问题很短,但是答案很长,
这时,聪明的我们就想到了一个办法,我们能不能把一段连续的字符串切割成一个个子串,然后将某个子串作为输入,计算下一个字是什么:
都
都是
都是勇
都是勇敢的
都是勇敢的,
都是勇敢的,你
都是勇敢的,你破
都是勇敢的,你破旧
都是勇敢的,你破旧的
都是勇敢的,你破旧的玩
都是勇敢的,你破旧的玩偶
随着字符串越来越长,那么编解码过程造成的信息失真就会非常严重,那么该如何解决这个问题?
这个时候就要提到包括ChatGPT在内的主流大模型都会使用的自注意力机制,在这里,我们不解析原理,只分享表现,所谓的自注意力机制,就是模型在生成文字的过程中,会考虑已经生成的词语之间的关系以及对生成的下一个词语的影响:
都
都是
都是勇
都是勇敢
都是勇敢的,
都是勇敢的,你
都是勇敢的,你破
都是勇敢的,你破旧
在自注意力机制的影响下,语言的生成可以更加准确。
在上面一节,我们提到了注意力机制,那么什么是注意力机制呢?
AIGC生成式大模型于我们而言,最直观且最常见的表现形式就是Q&A,我们提出问题,模型做出回答,回答的过程,而这个问题,本质上就是通过一个字符序列推演出另一个字符序列的过程(seq2seq问题)。
我们无法穷举所有seq的可能,因此,解决seq2seq问题,就需要对seq进行语言识别(或者说编码),以下面的对话为例:
-你吃了吗?/你吃饭了吗?/恰好了吗?
-吃了。/好了。/吃完了。
我们可以看到,一个相同的问题和回答有不同的seq呈现形式,编码的过程,就是将上述提到到问题抽象出其本意(对于吃饭的询问),而在数据的世界中,一切仪式形态的终极都是数字的排列组合(多维矩阵)。因此,在数学世界中,解决seq2seq问题,就需要针对问题,通过编码的形式转化为语义矩阵,之后对矩阵进行推演,生成答案的矩阵,最后,经过解码的过程生成,从答案矩阵中得到我们想要的结果。
seq是由一个个元素组成的,不同的元素组成方式,最终的语义也是相去甚远,因此,如何在编解码的过程中合理准确的考虑seq组成元素间的组合效果,是问题的关键所在。
针对我们上面提到的问题,有两种常用的思考方式:
RNN的方案很简单,我们在对seq中的第N个元素编码时,同时考虑前N-1个元素的编码结果:
通过这种递归的方式(本质是一个马尔可夫决策链),最后推演出整个seq的语义。
CNN(卷积神经网络),本质上是考虑一个范围区间内数据的影响:
如上,同时考虑N-1,N,N+1三个元素对语义的综合影响,遍历整个seq的所有元素,最后得到整个seq的语义。
上面提到的RNN与CNN本身都是有一定缺陷的,不过这对于我们非算法研究者而言,不是关注的重点,对于RNN与CNN的介绍只是想让大家都对seq2seq问题有一个初步的概念。
GhatGTP解决seq2seq问题用的是Attention注意力机制。Attention 的思路是一步到位获取全局信息:
(A,B是全局序列矩阵 )
Google模型中的注意力机制如下:
其中的Q、K、V是三个矩阵,这3个变量都是由原seq对应的矩阵与参数矩阵乘积得到的。
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。