神经网络与Transformer详解
一、模型就是一个数学公式
模型可以描述为:给定一组输入数据,经过一系列数学公式计算后,输出n个概率,分别代表该用户对话属于某分类的概率。
图中 a, b 就是模型的参数,a决定斜率,b决定截距。
二、神经网络的公式结构
举例:MNIST包含了70,000张手写数字的图像,其中60,000张用于训练,10,000张用于测试,每张图像的内容只包含一个手写数字,从0到9的其中一个数字。
任务:给定一张28x28(784)像素的灰度图像,经过一系列数学公式计算后,输出10个概率,分别代表该图像中的内容是0-9某个数字的概率。
z向量可以看成从x向量抽取特征后得到的一组特征向量,其中x到z共有784组(w0,w1,…,w784)超参数。
这种在输入向量x和输出向量y之间,增加了一层z向量,并且用上述格式的计算公式去计算z向量和y向量中的每一个数值的结构,就叫做神经网络。
2.1、神经网络的参数设计
设定z向量的长度为784,则x向量与z向量等长。简化公式:z[i] = x[i+1] - x[i](下一个像素值-当前像素值)
相当于把公式 z0 = w0 * x0 + w1 * x1 + w2 * x2 + … + w782 * x782 + w783 * x783 + w784的系数 w0设置为-1,w1设置为1,w2及以后的系数全部都设置为0,公式自然变成了 z[0] = x[1] - x[0]。
第一个图是原始的像素图,第二个是线性变换(前一个减后一个)后的像素图,第三个是非线性变换(大于0的取1)后的像素图。
再加一层z向量:特征提取
在x层和y层之间,加入多层z向量,用以提取更深层特征,这种多层结构,叫做深度神经网络。而通过计算机完成大规模数学计算以找到相对更优的w参数组合的过程,就叫做机器学习,也就是我们所说的模型训练。
2.2、Transformer模型
2.2.1、Tokenization - 文本变成Token
首先,我们要把这一段文字,变成一组Token,也就是词元化(Tokenization)。
⼦词(subword)词元化是词元化的⼀种,这种⽅案把会单词再切得更细⼀些,⽤更基础的