
人工智能AI 虚拟现实VR 黑客帝国
文章平均质量分 77
人工智能AI 虚拟现实VR的最高境界-黑客帝国
Ankie(资深技术项目经理)
AI First!20年资深WiFi/BT/UWB技术专家。
合作咨询:ankiller@163.com
展开
-
重新梳理Attention Is All You Need(Transformer模型),从输入到输出
Transformer模型已经成为当前所有自然语言处理NLP的标配,如GPT,Bert,Sora,LLama,Grok等。假如《Attention Is All You Need》类比为爱因斯坦的侠义相对论,Transformer模型则堪称E=MC^2之等量公式。看过论文之后,我们按照输入输出顺序重新梳理一遍这个模型:原创 2024-03-25 00:07:17 · 1562 阅读 · 2 评论 -
人工智能AI 虚拟现实VR的最高境界-黑客帝国-全文
Matrix是一部伟大的科幻史诗,启发了人工智能AI和虚拟现实VR。现在想想,我们是不是就生活在自己的梦境里呢?亦真亦幻,真的很有意思。全剧终。原创 2024-01-09 07:00:00 · 1029 阅读 · 0 评论 -
论文InstructGPT (2)2022.3 Training language models to follow instructions with human feedback;架构
2020.3 InstructGPT是ChatGPT的前身,openAI从InstructGPT开始探索商业化GPT,本来是外包团队来做强化学习,后来变成全世界人都来给ChatGPT做强化学习。例如:文心一言的结果里面有几个button,好,坏,重新来一个。其实就是告诉模型当前的结果好不好。InstructGPT需要3步:(1) supervised fine-tuning (SFT),(2)reward model (RM) training,(3) reinforcemen原创 2024-05-15 00:02:27 · 697 阅读 · 0 评论 -
论文InstructGPT (1)2022.3 Training language models to follow instructions with human feedback;通过人类反馈微调
2020.5 GPT-3 Language Models are Few-Shot Learners 强调不要做微调,不要做应试。只做few-shot少样本配置,期望达到AGI通用人工智能。然而到了2020.3 InstructGPT,开发方向180度掉头回去做微调!测试结果表明:通过人类反馈微调的效果更好。1.3B参数的InstructGPT模型的参数数量比175B的GPT-3少了100倍,但其输出仍比GPT-3的输出更好。因此我们看出,通往远大目标的路,并非一条直线,而是一个波浪线。原创 2024-05-10 00:01:51 · 1534 阅读 · 0 评论 -
人工智能论文:BERT和GPT, GPT-2, GPT-3 的简明对比和主要区别
BERT使用的是transformer的encoder,双向,专注于完形填空。对于缺失的内容和应试内容比较擅长。GPT使用的是transformer的decoder,单向,专注于预测,因为decoder看不到后面的字符,训练GPT的预测性能。BERT和GPT-1都使用了微调,以应对各种考试。而后期GPT-2,GPT-3抛弃微调,专注于通用人工智能。原创 2024-04-30 00:09:37 · 915 阅读 · 0 评论 -
人工智能论文:GPT, GPT-2, GPT-3 对比和演进的思路
第一篇主要强调 无监督预训练+有监督微调+transformer decoder第二篇接续第一篇的结论,我们进一步强调了无监督学习的重要性,并致力于推动其向通用人工智能的方向发展。通过 scaling law+zero-shot设定,不做微调,不仅仅为了应试目的。第三篇接续第二篇的目标,继续探索通用人工智能的实现路径。我们参考了人类的学习方式,即只需少量示例就能快速适应并执行新的语言任务。GPT-3在这一方向上取得了显著进展,通过进一步提高模型尺寸,并避免繁琐的有监督微调过程,仅通过少量样本配置,便达原创 2024-04-29 22:24:18 · 1242 阅读 · 0 评论 -
jupyter notebook的各种问题和解决办法
2,直接安装jupyter: pip install jupyter -i https://pypi.tuna.tsinghua.edu.cn/simple。找到jupyter的路径,比如以下路径,增加到环境变量里面。1,不要安装anaconda全家桶,速度慢,而且会安装另外一套python和库,导致代码跑不起来,容易crash。如果想跑某个具体的notebook,可以cmd定位到那个目录,然后再运行jupyter notebook。shift+enter:执行当前代码块并进入下一代码块。原创 2024-03-29 00:17:08 · 1646 阅读 · 0 评论 -
学习Dive into Deep learning:2.2 数据预处理,pandas
为了能用深度学习来解决现实世界的问题,我们经常从预处理原始数据开始, 而不是从那些准备好的张量格式数据开始。在Python中常用的数据分析工具中,我们通常使用pandas软件包。像庞大的Python生态系统中的许多其他扩展包一样,pandas可以与张量兼容。原创 2024-03-28 00:25:21 · 302 阅读 · 0 评论 -
学习Dive into Deep learning:2.1数据操作,张量(tensor)
首先,我们介绍张量使用过Python中NumPy计算包的读者会对本部分很熟悉。无论使用哪个深度学习框架,它的张量类(在MXNet中为ndarray, 在PyTorch和TensorFlow中为Tensor)都与Numpy的ndarray类似。但深度学习框架又比Numpy的ndarray多一些重要功能: 首先,GPU很好地支持加速计算,而NumPy仅支持CPU计算;其次,张量类支持自动微分。这些功能使得张量类更适合深度学习。如果没有特殊说明,本书中所说的张量均指的是张量类的实例。原创 2024-03-27 01:30:00 · 972 阅读 · 0 评论 -
论文BERT(4): 2018.10 Pre-training of Deep Bidirectional Transformers for Language Understanding;总结
BERT这一论文的核心观点在于,它巧妙地融合了ELMo的双向性特征和GPT的微调策略。经过一系列实验验证,我们发现这种双向性与微调技术的结合,确实能显著提升模型在各项任务上的表现。更进一步地,当我们通过增加模型的大小来扩展其容量时,模型的性能还能得到进一步的提升。这些发现共同构成了BERT论文的关键论点,展示了其在自然语言处理领域的强大潜力与优势。原创 2024-04-27 00:15:00 · 868 阅读 · 0 评论 -
论文BERT(3): 2018.10 Pre-training of Deep Bidirectional Transformers for Language Understanding;架构
在本节中,我们将介绍BERT及其详细实现。我们的框架包含两个步骤:预训练和微调。在预训练阶段,模型会在不同的预训练任务上针对未标记数据进行训练。在微调阶段,BERT模型首先使用预训练参数进行初始化,然后使用来自下游任务的有标记数据对所有参数进行微调。每个下游任务都有独立的微调模型,尽管它们都是使用相同的预训练参数进行初始化的。原创 2024-04-26 00:09:01 · 826 阅读 · 1 评论 -
论文BERT(2): 2018.10 Pre-training of Deep Bidirectional Transformers for Language Understanding;相关工作
在“相关工作”(Related Work)部分,作者通常会回顾前人在此领域的探索与成果,为后续的讨论奠定坚实的基础。通过梳理之前的研究状态,论文作者通常会提出自己的独特见解和新的研究思路,以推动该领域的进一步发展。1,无监督特征的方法(Unsupervised Feature-based Approaches),我们重点关注了ELMo的工作。这项工作强调了词嵌入预训练的重要性,并且特别指出了双向处理的必要性。通过无监督的方式对词嵌入进行预训练,我们能够获得更为丰富和准确的词表示,为后续的任务提供有力的支原创 2024-04-25 23:41:38 · 937 阅读 · 0 评论 -
论文BERT(1): 2018.10 Pre-training of Deep Bidirectional Transformers for Language Understanding;摘要,引言
GPT v1(2018.6) 使用了transformer效果很好,Google团队看到后,隔了4个月就是2018.10自己做了一个3.5亿(350m)参数的BERT,把榜单统统刷了一遍。GPT v1的参数大概1.1亿(110m),BERT的训练素材更大。GPT使用的是transformer的decoder,专注于预测,因为decoder看不到后面的字符,训练GPT的预测性能。BERT使用的是transformer的encoder,专注于完形填空。对于缺失的内容和应试内容比较擅长。原创 2024-04-24 00:16:27 · 1572 阅读 · 0 评论 -
人工智能论文GPT-3(5):2020.5 Language Models are Few-Shot Learners;总结
随着GPT-3性能的逐步提升,OpenAI愈发重视其社会责任。首先,GPT-3的强大能力也带来了潜在的风险。它能够轻易地生成假新闻、误导性信息、垃圾邮件、网络钓鱼内容,甚至可能滥用法律和政府流程、进行欺诈性学术论文写作以及实施社会工程学伪装等,这些都可能给社会带来不良影响。其次,由于GPT-3是基于无监督学习的,它会在处理大量文本时提取客观的权重。然而,这些权重有时可能反映出某些不公平的偏见,比如性别歧视、种族歧视或对特定信仰的偏见等。这需要我们投入更多的工作来识别和纠正这些潜在问题。最后,功耗原创 2024-04-23 00:12:31 · 844 阅读 · 0 评论 -
人工智能论文GPT-3(4):2020.5 Language Models are Few-Shot Learners;结果;局限性;结果报告而非论文
随着时间的推移,OpenAI似乎逐渐走向封闭而非开放。GPT-3的论文,本质上更像是一份结果报告,其中详尽地罗列了各类测试结果。鉴于篇幅所限,我便不再一一赘述。原创 2024-04-22 00:15:00 · 944 阅读 · 0 评论 -
人工智能论文GPT-3(3):2020.5 Language Models are Few-Shot Learners;架构;训练数据集;开源
自GPT-3问世以来,OpenAI对于其技术实现的细节采取了相当谨慎的态度,仅仅以大致的框架进行了介绍。随着时间的推移,OpenAI似乎变得更为封闭而非开放,这也正是马斯克对OpenAI提出批评的核心所在。现在,我们普遍认识到,虽然许多模型都基于Transformer架构,但各家在应用上的方法却大相径庭。在这场竞赛中,OpenAI已经取得了显著的领先地位,其他公司只能奋力追赶。面对这种压力,一些公司甚至选择开源他们的技术,希望借助群众的力量共同对抗OpenAI。或许在未来的某一天,OpenAI会公开原创 2024-04-21 00:18:01 · 1046 阅读 · 0 评论 -
人工智能论文GPT-3(2):2020.5 Language Models are Few-Shot Learners;微调;少样本Few-Shot (FS)
GPT-3论文标题明确指出:“Language Models are Few-Shot Learners”,这揭示了GPT-3模型采用了少样本(few-shot)学习模式,而非传统的微调模式。GPT-3致力于实现通用人工智能的目标,因此它选择了少样本模式进行推理,而不是仅仅通过微调来应试。在少样本模式下,模型接收任务的几个演示作为条件输入,但不进行权重更新,从而保持其通用性和灵活性。然而,少样本模式也存在一些局限性。相比于微调模式,它在应对特定任务时的应试能力可能稍逊一筹。这是因为微调模式允许模型针对特原创 2024-04-20 00:28:52 · 1641 阅读 · 1 评论 -
人工智能论文GPT-3(1):2020.5 Language Models are Few-Shot Learners;摘要;引言;scaling-law
1,2019年2月,OpenAI推出了GPT-2,仅仅时隔一年三个月,即2020年5月,他们又发布了GPT-3,这一创新成果正式点燃了整个AI行业的热情。先前的GPT-2、Bert等模型虽然在专业领域的应试得分尚算不错,但它们的通用能力却相对有限,可以说是较为“智障”。然而,GPT-3的出现彻底改变了这一局面,它具备了与人类进行基本自然语言理解的能力。2,GPT-3的模型跟GPT-2一样,其核心在于训练参数的显著提升。GPT-2拥有1.5B的训练参数,而GPT-3则高达175B,整体提升幅度超过100倍原创 2024-04-19 00:56:33 · 1627 阅读 · 2 评论 -
人工智能论文GPT-2(4):2019.2 Language Models are Unsupervised Multitask Learners;讨论;结论
1,GPTv2在足够大且多样的数据集上进行训练时,它能够在多个领域和数据集上表现出色。2,GPTv2在零样本设置下,专业性能依然强大。通用性能强3,继续加强无监督学习。原创 2024-04-18 00:15:00 · 1036 阅读 · 0 评论 -
人工智能论文GPT-2(3):2019.2 Language Models are Unsupervised Multitask Learners;实验结果;
1,2018.10 Google的BERT性能超过了GPT v1,OpenAI准备了4组GPT v2的配置与其对比:最小的模型与原始GPT相当,110M第二小的模型与BERT中最大的模型相当,345M。最大的模型为GPT-2,它的参数数量比GPT多出一个数量级。1542M测试结果表明:参数越大,性能越高。这也就是所谓的scaling law。军备竞赛一发不可收拾。2,OpenAI目标清楚:想做通用人工智能。希望不要仅仅在那几个专业赛道卷。因此GPT v2模型训练好了之后,直接测试各种项目,结果原创 2024-04-17 00:15:00 · 806 阅读 · 0 评论 -
人工智能论文GPT-2(1):2019.2 Language Models are Unsupervised Multitask Learners;摘要;引言;增强通用能力,而不是特定应试能力
1, GPT v2的背景是:GPT v1(2018.6) 使用了transformer效果很好,Google团队看到后,隔了4个月就是2018.10自己做了一个3.5亿(350m)参数的BERT,把榜单统统刷了一遍。GPT v1的参数大概1.1亿(110m),BERT的训练素材更大。又隔了4个月,GPT v2(2019.2)直接把训练参数提高到了15亿(1.5B),5倍于BERT,正式拉开军备竞赛。2,GPT v2想解决的问题是:加强无监督学习,让模型更智能,更容易泛华。增强通用能力,而不是特定应试原创 2024-04-15 00:06:13 · 967 阅读 · 0 评论 -
人工智能论文GPT-2(2):2019.2 Language Models are Unsupervised Multitask Learners;方法;训练数据集;输入表示
1,在GPT v1的架构里面,3.2 有监督微调和 3.3 针对特定任务的输入转换 特别介绍了针对不同应用做不同的微调。而在GPT v2希望避免这类工作,让模型可以更加通用。因此直接准备了更大的数据集,这些数据集已经包含了各种应用,比如 英法翻译,阅读理解等等。让模型自行无监督学习,实现通用语言理解能力。2,在输入表示方面,GPT v2使用了介于单词和字节之间的,改进的Byte Pair Encoding字节对编码(BPE)。3,改进了transformer的结构,来适配GPT v2原创 2024-04-16 00:15:00 · 857 阅读 · 0 评论 -
人工智能论文GPT v1(3):2018.6 Improving Language Understanding by Generative Pre-Training;分析;结论;顺势而为,推动趋势;
1,GPT v1通过实验证明了transformer模型要比之前的LSTM(例如 RNN等)都要好。换句话说OpenAI 恰逢其时,当时尝试各种模型,刚好transformer出现,openAI慧眼识珠,选中了这匹好马,大大提高了性能。类比一下乔布斯放弃flash。每种技术都有他的生命周期,很幸运的是,OpenAI选中了transformer这项朝阳技术,并推动transformer发扬光大。2,GPT v1引入了一个框架,通过生成式预训练和判别式微调,使用单个与任务无关的模型实现强大的自然语言理解原创 2024-04-14 00:15:00 · 790 阅读 · 0 评论 -
人工智能论文GPT v1(2):2018.6 Improving Language Understanding by Generative Pre-Training;架构;实验
1,本篇介绍了框架和各种任务的实现。2,GPT只使用了transformer的解码器,不用编码器。12层768维状态和12个注意力头3,各种结果对比。原创 2024-04-13 00:15:00 · 584 阅读 · 2 评论 -
人工智能论文GPT v1(1):2018.6 Improving Language Understanding by Generative Pre-Training;摘要;引言
1, 2017.6 Google deepmind team发布了transformer “attention is all you need”。一年之后2018.6 OpenAI率先选择transformer模型进行训练并正式发布了GPT-1,获得了很好的结果。这给后续的创新带来了新的思路,特别后来的BERT等,进一步提高了性能。2,今天重新看GPT-1这篇论文,我们可以看出,长城筑成非一日之功,也是逐步提高。3,虽然这篇文章本身有点过时2018.6了,跟GPT后面的实现有点不同,但是我们着重要看原创 2024-04-12 00:07:31 · 1054 阅读 · 0 评论 -
Transformer模型-decoder解码器,target mask目标掩码的简明介绍
解码器层是对前面文章中提到的子层的包装器。它接受位置嵌入的目标序列,并将它们通过带掩码的多头注意力机制传递。使用掩码是为了防止解码器查看序列中的下一个标记。它迫使模型仅使用之前的标记作为上下文来预测下一个标记。然后,它再通过另一个多头注意力机制,该机制将编码器层的输出作为额外的输入。最后,它通过位置全连接前馈网络。在这些子层中的每一个之后,它都会执行残差相加和层归一化。原创 2024-04-10 00:15:00 · 1987 阅读 · 0 评论 -
Transformer模型-encoder编码器,padding填充,source mask填充掩码的简明介绍
encoder编码器层是对之前文章中提到的子层的封装。它接收位置嵌入的序列,并将其通过多头注意力机制和位置感知前馈网络。在每个子层之后,它执行残差连接和层归一化。因为要循环n次,所以封装到一起就比较方便。为了充分利用多头注意力子层的优势,输入标记会先通过一堆编码器层,然后再传递给解码器。这在文章开头的图片中用Nx表示,而上面的图片展示了这些堆叠的编码器如何将其输出传递给解码器层,这将在下一篇文章中讨论。原创 2024-04-09 00:15:00 · 2359 阅读 · 0 评论 -
Transformer模型-Feed Forward前馈网络,MLP和Relu激活函数的简明介绍:即2个线性层,中间通过Relu()连接。
位置感知Position-Wise前馈网络(FFN)由两个全连接层(fully connected dense layers,就是线性层(Linear Layer),或密集层(Dense Layer))组成,或者也可以称为多层感知机(MLP:multi-layer perceptron)。在层与层之间,使用ReLU激活函数,即max(0, X)。任何大于0的值保持不变,而任何小于或等于0的值都将变为0。它引入了非线性,有助于防止梯度消失。原创 2024-04-08 00:15:00 · 3251 阅读 · 0 评论 -
Transformer模型-add & norm(残差连接&归一化)的简明介绍:残差连接,增加深度,不丢失初始的特征;归一化,避免梯度消失,减少运算
add&norm在transformer的每个子层都出现:add增加残差连接,可以增加深度,不丢失初始的特征。norm归一化,因为把原始的特征加回来,避免梯度消失,减少运算,进行归一化处理。原创 2024-04-07 00:15:00 · 3250 阅读 · 0 评论 -
Transformer模型-Normalization归一化的简明介绍:将特征转换为可比较尺度的过程,一般是[0,1] or [-1,1]之间
一般而言,Normalization归一化是将特征转换为可比较尺度的过程。有许多方法可以对特征进行归一化。在机器学习中,对特征进行归一化是因为具有不同尺度的特征的模型需要更长的训练时间;这是因为梯度下降需要更多时间来收敛。根据Pinecone的说法,不进行归一化可能导致大的误差梯度最终爆炸,从而使模型不稳定。因此,在许多情况下,在将数据插入模型之前应该进行归一化。原创 2024-04-06 00:15:00 · 2805 阅读 · 0 评论 -
Transformer模型-数据预处理,训练,推理(预测)的简明介绍
Transformer模型-数据预处理,训练,推理(预测)的简明介绍。在继续探讨之前,假定已经对各个模块的功能有了充分的了解,我们从头梳理一遍流程。原创 2024-04-11 00:15:00 · 2337 阅读 · 0 评论 -
Transformer模型-Multi-Head Attention多头注意力的简明介绍
今天介绍transformer模型的Multi-Head Attention多头注意力。通过之前文章,假定我们已经理解了attention;今天我们按顺序来梳理一下整合之后的顺序。原创 2024-04-05 00:30:00 · 1798 阅读 · 0 评论 -
Transformer模型-线性层(Linear Layer),全连接层(Fully Connected Layer)或密集层(Dense Layer)的简明介绍:通过训练得出最佳拟合线
线性层(Linear Layer)是神经网络中的一种基本层,也被称为全连接层(Fully Connected Layer)或密集层(Dense Layer)。线性层在神经网络中起到的作用是对输入数据进行线性变换。线性层的基本操作可以表示为:(y) 是输出向量。(W) 是权重矩阵,其中的每个元素都是可学习的参数。(x) 是输入向量。(b) 是偏置向量,也是一个可学习的参数。线性层会对输入数据 (x) 进行线性组合,并通过加上偏置 (b) 得到输出 (y)。原创 2024-04-04 00:30:00 · 11109 阅读 · 0 评论 -
Transformer模型-broadcast广播的简明介绍:拉伸张量
广播发生在将较小的张量“拉伸”以具有与较大张量兼容的形状,以便执行操作时。广播是一种有效执行张量操作而不创建重复数据的方式。原创 2024-04-02 00:15:00 · 286 阅读 · 0 评论 -
Transformer模型-softmax的简明介绍:转为概率分布,马太效应
softmax:常用于神经网络的输出层,以将原始的输出值转化为概率分布,从而使得每个类别的概率值在0到1之间,并且所有类别的概率之和为1。这使得Softmax函数特别适用于多类分类问题,其中模型需要预测输入样本属于多个可能类别中的哪一个。原创 2024-04-03 00:07:12 · 2701 阅读 · 0 评论 -
Transformer模型-Positional Encoding位置编码的简明介绍
位置编码用于为序列中的每个标记或单词提供一个相对位置。在阅读句子时,每个单词都依赖于其周围的单词。例如,有些单词在不同的上下文中具有不同的含义,因此模型应该能够理解这些变化以及每个单词所依赖的上下文。一个例子是单词“trunk”。在一种情况下,它可以用来指大象用鼻子喝水;在另一种情况下,它可能指的是被闪电击中的树干。由于模型使用长度为d_model的嵌入向量来表示每个单词,因此任何位置编码都必须与之兼容。使用整数来表示位置似乎很自然,比如第一个标记为0,第二个标记为1,以此类推。然而,这个数字很快就会增长,原创 2024-04-01 00:30:00 · 1114 阅读 · 0 评论 -
Transformer模型-Dropout的简明介绍:丢掉一些元素,防止过度拟合
Dropout 是一种神经网络正则化技术,它在训练时以指定的概率丢弃一个单元(以及连接)p。这个想法是为了防止神经网络变得过于依赖特定连接的共同适应,因为这可能是过度拟合的症状。直观上,dropout 可以被认为是创建一个隐式的神经网络集合。原创 2024-04-01 00:30:00 · 2803 阅读 · 0 评论 -
Transformer模型-Input Embedding 嵌入层的简明介绍
今天介绍transformer模型的Input Embedding 嵌入层。嵌入序列需要分词器tokenizer、词汇表和索引,以及词汇表中每个单词的三维嵌入。Embedding a sequence requires a tokenizer, a vocabulary of words and their indices, and a three-dimensional embedding for each word in the vocabulary.分词器将序列分割为其标记tokens。创建分原创 2024-03-31 00:45:56 · 1144 阅读 · 0 评论 -
Transformer模型-权重矩阵Wq,Wk,Wv的简明介绍
学习transformer模型的时候,权重矩阵Wq,Wk,Wv给我造成了很大的困扰:1,为啥要加W*?2,这个W*是从哪里来的?搜索了各种信息,消化理解如下:1,W*权重矩阵就是训练的目的,就是要找到合适的W*(weights)。2,W* 是函数nn.Linear初始化的,默认为随机数。经过不断地训练,更新,最终获得比较好的结果原创 2024-03-31 00:15:00 · 5214 阅读 · 2 评论 -
Transformer模型-用jupyter演示逐步计算attention
学习transformer模型-用jupyter演示如何计算attention,不含multi-head attention,但包括权重矩阵W。原创 2024-03-30 00:20:05 · 857 阅读 · 0 评论