Ai开发培训要多久

人气:441 ℃/2022-11-21 10:27:09

参与AI开发的培训,需要多久才可以完成呢?我们一起来了解一下。

培训根据每个人的基础不同,培训所需的时间也不相同,如果是零基础的小白从头开始学习,大概需要五个月左右的时间,如果有python编程语言的基础,差不多一个月左右就可以完成了。

资料拓展

AI的作用

AI智能可以给生活中带来许多的便利,比如生活中的无人超市,也是使用了AI技术。还能给各种行业带来便利,比如农业自动播种自动浇水,还有医疗行业的大数据分袖,手机的人脸识别等功能都是通过AI人工智能实现的。

AI使用的编程语言

AI开发可以使用Python、java、Lisp、Prolog、C ++、Prolog这六种语言,AI指的是人工智能的意思,AI是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。

AI工程师是什么

AI开发工程师是使用着人工智能的算法,进行多种领域的技术的研究,分析,开发,还需要对系统进行维护,优化,运营的技术人员,也就是程序员。

AI开发就业前景

Ai开发工程师就业前景很好,2017年ai人工智能写入了2017的党代会报告里,人工智能进入了无人驾驶汽车、个人生活、金融服务、电商运营、医疗服务、教育培训等各个领域中

ai算法工程师培训班

百战-AI算法工程师就业班

课程链接:https://www.itwangzi.cn/4781.html

Transformer一、Transformer
  1. Transformer 是一种新的、基于 attention 机制来实现的特征提取器,可用于代替 CNN 和 RNN 来提取序列的特征。

    Transformer 首次由论文 《Attention Is All You Need》 提出,在该论文中 Transformer 用于 encoder - decoder 架构。事实上 Transformer 可以单独应用于 encoder 或者单独应用于 decoder 。

  2. Transformer 相比较 LSTM 等循环神经网络模型的优点:

1.1 结构
  1. 论文中的 Transformer 架构包含了 encoder 和 decoder 两部分,其架构如下图所示。

1.1.1 attention
  1. 编码器和解码器的 attention 都是采用 scaled dot attention 。

    设有 M 个 query 向量 、 M 个 key 向量 、 M 个 value 向量 ,其中 query 向量和 key 向量的维度为 ,value 向量的维度为 。经过 attention 之后,位置 m 的输出为:其中 表示位置 m 与位置 i 之间的权重:

    则有:

    令:,其中 softmax 沿着矩阵的行归一化。令:

    则有: 。即:

  1. 事实上,一组多个attention 的效果要优于单个 attention,这称作multi-head attention 。

    给定 query 矩阵 、key 矩阵 、value 矩阵 ,multi-head attention 的 head i 先通过一个线性映射然后再经过 attention,得到 head i 的输出 :其中:

  2. 论文中选择 。为了保证 multi-head attention 的表达空间与 single-head attention 一致,论文中选择:

  3. multi-head attention 将整个 attention 空间拆分成多个 attention 子空间,其表达能力更强。

    从原理上看,multi-head 相当于在整体计算代价几乎保持不变的条件下,引入了更多的非线性从而增强了模型的表达能力。

  4. 在论文中,有三种方式使用多头注意力机制:

1.1.2 全连接层
  1. encoder 和 decoder 还包含有全连接层。对 encoder/decoder 的每个 attention 输出,全连接层通过一个 ReLU 激活函数以及一个线性映射:

1.1.3 embedding 层
  1. 网络涉及三个 embedding 层:

1.1.4 position embedding
  1. 从 attention 的计算公式 可以看到:调整输入的顺序对 attention 的结果没有任何影响。即:attention 的输出中不包含任何顺序信息。

    事实上输入的顺序对于很多任务是非常重要的,比如 我喜欢喝牛奶,而不喜欢喝咖啡 与 我喜欢喝咖啡,而不喜欢喝牛奶 的语义完全不同。

  2. 论文通过将位置编码添加到 encoder 和 decoder 底部的输入 embedding 来解决问题。即有:

    其中 为位置 i 的position embedding , attention 权重与位置有关。

    对于同一个输入序列如果打乱序列顺序,则不同 token 的 attention 权重发生改变使得 attention 的结果不同。

  3. 位置编码有两种选择:

  4. 论文的实验表明:通过参数学习的position embedding 的效果和采用固定的position embedding 相差无几。

    另外,固定方式的 position embedding 可以在测试阶段处理那些超过训练序列长度的测试序列。

1.2 Transformer vs CNN vs RNN
  1. 假设输入序列长度为 n,每个元素的维度为 : 。输出序列长度也为 n ,每个元素的维度也是 d :。可以从每层的计算复杂度、并行的操作数量、学习距离长度三个方面比较 Transformer、CNN、RNN 三个特征提取器。

  2. 作为额外收益,self-attention 可以产生可解释性的模型:通过检查模型中的注意力分布,可以展示与句子语法和语义结构相关的信息。

1.3 实验结果
  1. 训练包含两个训练数据集:

  2. 训练在 8 NVIDIA P100 GPU 上,相近大小的 句子对 放到一个batch 里,每个训练 batch 包含大约 25000个源 token 和 25000个 翻译 token 。

  3. 在 WMT 2014 English-German/ WMT 2014 English-French 翻译任务上,各种模型的效果如下图:

  4. 为了评估不同参数的影响,论文在 English-German 翻译任务中采用不同的模型,评估结果是 newstest2013 验证集上得到。

2.1 结构
  1. Universal Transformer 总体计算流程如下图所示:

  2. Universal Transformer 基于 BERT 结构进化而来。

  3. 编码器 encoder :给定一个长度为 m 的输入token 序列 :

    其中 为 token 的一维 embedding 。

    其中 分别将 query, key, value 映射成 维度, 用于调整 concate 的输出结果。

  4. 解码器和编码器的结构基本相同,有以下不同的地方:

    其中 j 为输出的位置。

  5. Universal Transformer 的训练采用 teacher-forcing 策略。

2.2 ACT
  1. 在文本处理任务中,文本中的某些单词相比较于文本中的其它单词可能更难以理解。对于这些难以理解的单词,可能需要执行更多的处理步骤。

    Adaptive Computation Time(ACT) 技术就是通过为每个 token 计算个性化的迭代时间步来解决这个问题。

  2. 在 Universal Transformer 中,ACT 在每个循环为每个 token 计算一个停止概率。

    一旦该 token 应该停止计算,则该 token 的状态直接向后传递,直到所有的 token 都停止计算,或者达到一个最大的迭代步阈值。

2.3 实验结果
  1. BABI Question-Answering 数据集:包含20种不同的任务,每个任务都是根据一段文本来回答问题。该数据集的目标是:通过对每个故事中的事实 fact 进行某种类型的推理,从而衡量语言理解能力。实验结果如下所示,其中:

  2. 针对 BABI 任务的可视化分析表明:

  3. 针对 BABI 任务的可视化分析表明:Universal Transformer 类似动态记忆网络dynamic memory network,它具有一个迭代注意力的过程。Universal Transformer 模型根据前一个迭代的结果(也称作记忆)来调节其注意力分布。下图为注意力权重在不同时间步上的可视化,左侧不同的颜色条表示不同 head 的注意力权重(一共4个头)。

三、Transformer XL
  1. Transformer解决的核心问题是:如何将任意长度的文本序列编码成一个固定维度的隐向量。

  2. vanilla model 没有任何跨 segment 的信息流,这会带来两个问题:

  3. vanilla model 不仅在训练期间遇到问题,在推断期间也会遇到问题。Transformer 在推断期间反复执行推断过程,每次推断都根据前几轮输入结果和输入来预测下一个输出结果。

  4. Transformer XL 通过引入递归机制和相对位置编码来解决上述问题。

3.1 Segment-level 递归
  1. 为解决固定长度上下文的局限性,Transformer XL 引入了 Segment-level 递归机制。

  2. 令 segment 长度为 n ,第 个segment 的输入为 token 序列: ;第 个 segment 的输入为: 。假设网络有 L 层,第 l 层网络每个位置的输出隐状态分别为 :

    其中 为 d 维列向量。令:考虑 Segment-level 递归机制,则 的第 l 层各位置的隐向量为:

    其中 SG 表示冻结参数(不用计算梯度),concate 表示沿位置拼接:

    其中 分别为 query,key,value 转换矩阵。

    其中 Transformer-Layer 为常规的 Transformer 层。

  3. 与标准 Transformer 不同,这里计算 key 向量和 value 向量时使用了扩展上下文,其中 缓存了前一个 segment 的状态。

    这种在前后两个 segment 之间共享状态的方式构成了 segment-level 的递归,因此上下文信息可以跨 segment 流动。

  4. 是在 中被使用的,这不仅跨了一个段,也垮了一层。这显著的区别于其它的 RNN 语言模型。

    正因为如此, Transformer XL 最大依赖长度扩展到了 。

    下图中,每个位置的 context 都是它左下方的4个位置。

5.Transformer XL 的训练方式类似于 BPTT,但是与 BPTT 不同的是:Transformer XL 缓存了上一个 segment 的多组隐向量。

理论上不仅可以缓存前一个 segment ,也可以缓存前面 m 个 segment。

3.2 相对位置编码
  1. 采用 segment-level 递归机制之后存在一个问题:如何保持位置信息的一致性。令:

    可见 和 都采用了同样的位置编码,因此模型没有任何信息来区分一个token 是位于 segment 还是 segment 。

  2. 令:

    则Transformer 的 attention score (不考虑 softmax 归一化,以及除以 )为:

    它表示 query i 与 key j 的相关性。

  3. Transformer XL 引入相对位置编码。位置 j 相对于位置 i 的距离为 b=j-i,则位置 j 相对于位置 i 的 relative position embedding 为:

    令 为Transformer XL 中使用的最大相对距离,令相对位置编码矩阵为:

    Transformer XL 修改 attention score 为:

3.3 实验结果
  1. Transformer XL 验证了 word-level 语言模型(以困惑度 PPL 为指标),以及 char-level 语言模型(以 bpc:Bit per Character 为指标) 。其中包含以下数据集:

  2. 在 WikiText-103 数据集上验证 segment-level 递归、相对位置编码的作用,验证结果如下。其中:

  3. 此外,由于 Transformer XL 采取了缓存前一个 segment 的状态的策略,因此会消耗更多的内存。下图给出在相同 GPU 内存的约束条件下的比较结果。

    结果表明:即使 Transformer XL 由于内存约束而不得不使用一个较小的 backprop len ,其最终效果仍然超越 Transformer 。

  4. 为了证明 Transformer XL 能够解决上下文碎片问题,作者在 One Billion Word 数据集上做了实验。

    因为该数据集的句子经过混洗,导致不需要对长期依赖建模。因此效果的提升一定是由于模型能够解决上下文碎片,而不是由于模型捕捉到更长的上下文。

推荐

首页/电脑版/网名
© 2025 NiBaKu.Com All Rights Reserved.