机器翻译
目前的所有机器翻译分为2个步骤:
- 对原始输入进行解析,目的是提前特征信息,提取的越全越好,熟称的“编码”。
- “循环神经网络”、“transformer”等都有编码模块,只是编码的方式不一样而已;
- 生成目标序列,熟称的“解码”,解码的通用模式:
- 每生成一个字,生成时会引入编码阶段的编码结果,生成目标字;
- 首次从“<sos> + 结合编码结果”作为输入,生成第一个字;
- 之后将"<sos> + 结合编码结果 + 生成的第一个字”作为输入,生成第二个字;
- 依次循环,直到生成出结束标记“<eos>”,整个生成过程结束;
- 这就是生成类语言处理模型生成的标准模式;
神经网络的优化技术
- 卷积处理
- 使用卷积核扫描原始输入,核心是学习卷积核的权重,使用该权重扫描所有输入;
- 不同的卷积核权重,可能提取出不同的图片特征;
- 残差网络
- 核心是将输入跳过若干层,直接和后续层相加,作为后续的输入,目的是防止层过多,输入特征消失;
- 归一化
- 核心是对网络的输出做归一化处理,及和为1,这样做可以有效解提升学习的稳定性;
神经网络的输入预处理(embedding)
输入预处理是将自然界的信息转换为计算机可以理解的数字的一种方式,例如文字处理中的“词嵌入(embedding)”,例如算法:Word2Vec。当然还有图片的这种转换。统称为“映射”。关键注意点:
- 这种转换的关键点是转换算法,及映射方法,映射方法确定后,原始数据通过映射方法就可以转换为机器可以处理的数字,常成为“向量”;
- 这种转换算法的作用,引申下,有降维和升维的作用;
- 所以这种映射算法不是简单的映射,往往是不同维度的映射,不同世界的映射,所以往往算法很复杂,会用就行,不用纠结细节;
常用网络名词
- 前馈网络
- 就是最基础的那个全连接网络
- 所有复杂网络的前处理之后,都需要用它做决策处理;
- 它才是最基础,最绕不过的那个决策部分,其他的技术都是对它的装饰;
- cnn:卷积神经网络;
- 主要针对空间场景处理,例如图片的处理;
- 用卷积核扫描原始图片,再对扫描结果进行池化(取最大值,或者评价值等),突出特征;
- 卷积核的权重学习是重点,及最终学习一个可靠的权重,用这个权重扫描图片;
- rnn:循环神经网络;
- 主要对时间场景的处理,流入语言的处理,翻译;
- 过程:
- 一个序列,从第一个字开始处理,生成隐藏状态输出值;
- 然后处理第二个字时加上第一步的隐藏值,输出第二个字的隐藏值;
- 处理第三个字时加上第二个字的隐藏值,依次类推,直到输出最终的隐藏值;
- 该值在最终生成翻译或者对话输出时,作为参考输入,起到关键作用。
- 上面说的是对输入的处理,输出的处理和输入一样,只是要将输入的计算结果作为参考,来生成输出,都是一次一个字,新字的生成,需要参考前面已生成的字和输入的内容特征。
- gan:对抗网络
- 一种架构,没有新的技术,只是组织上比较典型;
- 两个模型:生成器模型和判别器模型;
- 判别器模型负责判断生成器模型生成的真假,生成器负责欺骗判别器;
- 两个模型互相训练,最终达到合格的标志。
- seq2seq模型:
- 翻译过来就是序列到序列的模型,说的是类似语言处理这种场景的一种通用模型的通用表述;
- 前面的rnn其实就是seq2seq模型的一个具体实现;
- transformer也是seq2seq的一个实现;
- 再进一步,前面描述的翻译生成最终结果的标准模式,就是seq2seq模式的输出时的标准实现方式。
TransFormer
语音模型处理的新里程碑,及seq2seq场景的新里程碑。
- 自注意力机制
- 输入序列,每个token与序列中其他token的注意力值,及自注意力
- 相关的3个变量:Query、Key、Value
- 与这3个值相关的3个矩阵,Query矩阵、Key矩阵、Value矩阵,这个矩阵是学习时的重点;
- 输入字符串,先通过embaddiing编码,再加上位置编码,最终得到输入编码,及输入矩阵;
- 输入序列的每个编码通过和3个权重矩阵的点击得到3个矩阵,及Query、Key、Value,这就是后续处理的基础;
- 多头注意力
- 前面第一步主要的学习对象是3个权重矩阵,TransFormer架构支持多个独立的这类矩阵,分别用来关注不同的方面;熟称多头;
- 多头的目的是关注不同的方面,一个头关注一个;
- 例如一组权重矩阵关注句子的事实,另一组关注句子的情感等等;
- 位置编码
- 位置编码很复杂,会用就行,这里就不关注了。
结论:
人工智能的结构设计就2点:1.合理的映射,2利用基础的全连接网络进行决策;
- 参考所有的网络设计,无不是在合理映射上下功夫, 因为全连接没什么可设计的,重点是学习就可以了;
- 在映射上,为了更全,更自动,更智能的映射,也引入的网络;
- 所以实施关注2点:1,映射;2,学习;