电子商务网站建设商城网站深圳家具定制

pingmian/2025/10/8 14:57:06/文章来源:
电子商务网站建设商城网站,深圳家具定制,dedecms网站入侵,做个人博客的网站一、说明 变形金刚是一种深度学习架构#xff0c;为人工智能的发展做出了杰出贡献。这是人工智能和整个技术领域的一个重要阶段#xff0c;但也有点复杂。截至今天#xff0c;变形金刚上有很多很好的资源#xff0c;那么为什么要再制作一个呢#xff1f;两个原因#xff… 一、说明         变形金刚是一种深度学习架构为人工智能的发展做出了杰出贡献。这是人工智能和整个技术领域的一个重要阶段但也有点复杂。截至今天变形金刚上有很多很好的资源那么为什么要再制作一个呢两个原因 我精通自学根据我的经验能够阅读不同的人如何描述相同的想法极大地增强了理解。我很少读一篇文章并认为它的解释足够简单。技术内容创作者总是倾向于过度复杂化或解释不足的概念。应该很清楚没有什么是火箭科学甚至火箭科学也不是。你可以理解任何事情你只需要一个足够好的解释。在本系列中我试图做出足够好的解释。        本系列将尝试为那些对人工智能几乎一无所知的人和那些知道机器学习的人提供一个合理的指导。在本系列中我打算假设你知道的比我在准备本系列时阅读的变形金刚文章要精炼。         此外我将结合直觉、数学、代码和可视化使该系列的设计像糖果店一样——适合每个人。考虑到这是一个相当复杂的领域的高级概念我会冒着你的想法的风险“哇这太慢了停止解释明显的东西”但如果你对自己说“他到底在说什么 二、变形金刚值得你花时间吗         有什么大惊小怪的真的有那么重要吗好吧因为它是世界上一些最先进的人工智能驱动技术工具例如GPT等的基础所以它可能是。         尽管与许多科学进步一样之前已经描述了一些想法但对架构的实际深入完整的描述来自“注意力是你所需要的一切”论文该论文声称以下内容是“简单的网络架构”。         图片来自 原始论文         如果你像大多数人一样你不会认为这是一个简单的网络架构。因此我的工作是努力当你读完这个系列时你会想这仍然不简单但我确实明白了。         那么这个疯狂的图表到底是什么         我们看到的是一个深度学习架构这意味着这些方块中的每一个都应该被翻译成一段代码所有这些代码一起将做一些事情到目前为止人们真的不知道该怎么做。         变压器可以应用于许多不同的用例但最著名的可能是自动聊天。一个可以谈论许多主题的软件就好像它知道很多一样。在某种程度上类似于矩阵。         我想让人们更容易只阅读他们真正需要的东西这样这个系列就会根据我认为变形金刚故事应该被讲述的方式进行分解。第一部分在这里它将是关于架构的第一部分 - 输入。 三、输入 龙从蛋中孵化婴儿从肚子里冒出来人工智能生成的文本从输入开始。我们都必须从某个地方开始。 什么样的输入这取决于手头的任务。如果你正在构建一个语言模型一个知道如何生成相关文本的软件变形金刚架构在各种场景中很有用输入是文本。尽管如此计算机能否接收任何类型的输入文本、图像、声音并神奇地知道如何处理它其实不然。 我相信你认识一些不太擅长文字但擅长数字的人。计算机就是这样。它不能直接在CPU/GPU计算发生的地方中处理文本但它肯定可以处理数字正如您很快就会看到的将这些单词表示为数字的方式是秘诀中的关键成分。 图片来自VaswaniA.等人的原始论文。 3.1 分词器 标记化是将语料库您拥有的所有文本转换为机器可以更好地利用的较小部分的过程。假设我们有一个包含 10,000 篇维基百科文章的数据集。我们获取每个字符并对其进行转换标记化。有很多方法可以标记文本让我们看看OpenAI的标记器如何使用以下文本来实现 “许多词映射到一个令牌但有些则不是不可分割。 像表情符号这样的 Unicode 字符可以拆分为许多包含基础字节的标记 通常彼此相邻的字符序列可以组合在一起1234567890 这是标记化结果 图片来自OpenAi取自此处 如您所见大约有 40 个单词取决于您的计数方式标点符号。在这 40 个单词中生成了 64 个令牌。有时标记是整个单词如“Manywordsmap”有时它是一个单词的一部分如“Unicode”。为什么我们要把整个单词分成更小的部分为什么还要分句我们本可以让他们保持联系。最后无论如何它们都会转换为数字那么如果令牌的长度是 3 个字符还是 30 个字符计算机的观点有什么区别         令牌有助于模型学习因为文本是我们的数据所以它们是数据的特征。设计这些功能的不同方法将导致性能变化。例如在句子“滚出去!!!!!!”中我们需要确定多个“”是否与一个不同或者它是否具有相同的含义。从技术上讲我们可以将句子作为一个整体但是想象一下单独观察人群与每个人在哪种情况下你会得到更好的见解 现在我们有了令牌我们可以构建一个查找字典使我们能够摆脱单词并使用索引数字。例如如果我们的整个数据集是句子“上帝在哪里”。我们可以构建这种词汇表它只是单词的键值对和表示它们的单个数字。我们不必每次都使用整个单词我们可以使用数字。例如{其中0是1上帝 2}。 每当我们遇到“是”这个词时我们都会用1代替它。有关更多代币化器的示例您可以查看Google开发的令牌器或使用OpenAI的TikToken玩更多内容。 3.2 从字到矢量 直觉         我们在将单词表示为数字的旅程中取得了很大进展。下一步是从这些标记生成数字语义表示。为此我们可以使用一种名为Word2Vec的算法。细节目前不是很重要但主要思想是你取一个向量我们现在将简化考虑一个常规列表任何大小的数字论文的作者使用了512这个数字列表应该代表一个单词的语义含义。想象一个数字列表如[-2,4-3.7,41...-0.98]它实际上保存了一个单词的语义表示。它应该以这样的方式创建如果我们在 2D 图上绘制这些向量则相似项将比不同项更接近。 正如你在图片中看到的从这里拍摄“婴儿”接近“aw”和“睡着”而“公民”/“州”/“美国”也在某种程度上组合在一起。         *2D词向量又名2个数字的列表即使对于一个单词也无法保持任何准确的含义如前所述作者使用了512个数字。由于我们无法绘制具有 512 个维度的任何内容因此我们使用一种称为 PCA 的方法将维度数量减少到两个希望保留大部分原始含义。在本系列的第 3 部分中我们将深入了解这种情况是如何发生的。 Word2Vec 2D演示文稿 - 图片来自Piere Mergret。 它有效您实际上可以训练一个模型该模型将能够生成具有语义意义的数字列表。计算机不知道婴儿是一个尖叫的剥夺睡眠的超级甜蜜的小人但它知道它通常会在“aw”周围看到婴儿这个词比“国家”和“政府”更常见。我会写更多关于这种情况是如何发生的但在那之前如果你有兴趣这可能是一个查看的好地方。 这些“数字列表”非常重要因此它们在 ML 术语中有自己的名称即嵌入。为什么要嵌入因为我们正在执行嵌入如此有创意这是将术语从一种形式单词映射到另一种形式数字列表的过程。这些是很多。 从这里开始我们将调用单词嵌入正如所解释的那样它们是数字列表这些数字包含它被训练表示的任何单词的语义含义。 3.3 使用 Pytorch 创建嵌入 我们首先计算我们拥有的唯一代币的数量为简单起见假设为 2。嵌入层的创建是 Transformer 体系结构的第一部分就像编写以下代码一样简单 *一般代码备注 — 不要将此代码及其约定视为良好的编码风格它是专门为使其易于理解而编写的。 代码 import torch.nn as nnvocabulary_size 2 num_dimensions_per_word 2embds nn.Embedding(vocabulary_size, num_dimensions_per_word)print(embds.weight) --------------------- output: Parameter containing: tensor([[-1.5218, -2.5683],[-0.6769, -0.7848]], requires_gradTrue) 我们现在有一个嵌入矩阵在这种情况下是一个 2 x 2 矩阵由从正态分布 N0,1 派生的随机数生成例如均值为 0 且方差为 1 的分布。 请注意requires_gradTrue这是Pytorch语言表示这4个数字是可学习的权重。它们可以并且将在学习过程中进行自定义以更好地表示模型接收的数据。 在更现实的情况下我们可以期待更接近 10k x 512 的矩阵它以数字表示我们的整个数据集。 vocabulary_size 10_000 num_dimensions_per_word 512embds nn.Embedding(vocabulary_size, num_dimensions_per_word)print(embds) --------------------- output: Embedding(10000, 512) *有趣的事实我们可以想到更有趣的事情你有时会听到语言模型使用数十亿个参数。这个初始的不太疯狂的层包含 10_000 x 512 个参数即 5 万个参数。这个LLM大语言模型是困难的东西它需要大量的计算。         这里的参数是这些数字-1.525 等的一个花哨的词只是它们可能会发生变化并且在训练期间会发生变化。         这些数字是机器的学习这就是机器正在学习的。稍后当我们给它输入时我们将输入与这些数字相乘我们希望得到一个好的结果。你知道什么数字很重要。当你很重要时你会得到自己的名字所以这些不仅仅是数字这些是参数。 为什么使用多达 512 而不是 5因为更多的数字意味着我们可以产生更准确的含义。太好了别想小了那就用一百万吧为什么不呢因为更多的数字意味着更多的计算更多的计算能力更高的训练成本等等512被发现是中间的好地方。 3.4 序列长度 在训练模型时我们将把一大堆单词放在一起。它的计算效率更高并且有助于模型学习因为它将更多的上下文放在一起。如前所述每个单词都将由一个 512 维向量包含 512 个数字的列表表示每次我们将输入传递给模型也称为正向传递时我们将发送一堆句子而不仅仅是一个。例如我们决定支持 50 个单词的序列。这意味着我们将在一个句子中取 x 个单词如果 x 50 我们拆分它并只取前 50 个如果 x 50我们仍然需要大小完全相同我很快就会解释为什么。为了解决这个问题我们在句子的其余部分添加了填充这是特殊的虚拟字符串。例如如果我们支持一个 7 个单词的句子并且我们有句子“上帝在哪里”。我们添加 4 个填充因此模型的输入将是“上帝在哪里PAD PAD PAD PAD”。实际上我们通常会添加至少 2 个特殊的填充以便模型知道句子的开始位置和结束位置因此它实际上是类似于“StartOfSentence上帝在哪里PAD PAD EndOfSentence”。 * 为什么所有输入向量的大小必须相同因为软件有“期望”矩阵有更严格的期望。你不能做任何你想要的“数学”计算它必须遵守某些规则其中一个规则是足够的向量大小。 3.5 位置编码 直觉         我们现在有一种方法可以在我们的词汇表中表示和学习单词。让我们通过对单词的位置进行编码来使其变得更好。为什么这很重要因为如果我们取这两句话 1. 男人玩我的猫 2.猫和我的男人一起玩 我们可以使用完全相同的嵌入来表示这两个句子但句子的含义不同。我们可以想到这样的数据其中顺序无关紧要。如果我计算某事的总和我们从哪里开始并不重要。在语言中——顺序通常很重要。嵌入包含语义含义但没有确切的顺序含义。它们在某种程度上确实保持了秩序因为这些嵌入最初是根据某种语言逻辑创建的婴儿看起来更接近睡眠而不是状态但同一个词本身可以有多个含义更重要的是当它处于不同的上下文中时它的含义不同。 将单词表示为没有顺序的文本是不够的我们可以改进这一点。作者建议我们在嵌入中添加位置编码。我们通过计算每个单词的位置向量并将其相加求和两个向量来做到这一点。位置编码向量必须具有相同的大小以便可以添加它们。位置编码的公式使用两个函数正弦表示偶数位置例如第 0 个单词、2d 单词、第 4 个、第 6 个等和余弦表示奇数位置例如第 1、3、5 个等。 可视化         通过查看这些函数红色的sin蓝色的余弦你也许可以想象为什么特别选择这两个函数。函数之间存在一些对称性就像单词和它前面的单词之间存在对称性一样这有助于建模表示这些相关位置。此外它们输出从 -1 到 1 的值这是非常稳定的数字它们不会变得超大或超小。 Formula image from the original paper by Vaswani, A. et al. 在上面的公式中上行表示从 0 i 0 开始的偶数并继续为偶数 2*1、2*2、2*3。第二行以相同的方式表示奇数。 每个位置向量都是一个 number_of_dimensions在我们的例子中为 512向量数字从 0 到 1。 代码 from math import sin, cos max_seq_len 50 number_of_model_dimensions 512positions_vector np.zeros((max_seq_len, number_of_model_dimensions))for position in range(max_seq_len):for index in range(number_of_model_dimensions//2):theta pos / (10000 ** ((2*i)/number_of_model_dimensions))positions_vector[position, 2*index ] sin(theta)positions_vector[position, 2*index 1] cos(theta)print(positions_vector) --------------------- output: (50, 512) 如果我们打印第一个单词我们看到我们只能互换得到 0 和 1。 print(positions_vector[0][:10]) --------------------- output: array([0., 1., 0., 1., 0., 1., 0., 1., 0., 1.]) 第二个数字已经更加多样化。 print(positions_vector[1][:10]) --------------------- output: array([0.84147098, 0.54030231, 0.82185619, 0.56969501, 0.8019618 ,0.59737533, 0.78188711, 0.62342004, 0.76172041, 0.64790587]) *代码灵感来自这里。 我们已经看到不同的位置导致不同的表示。为了将部分输入作为一个整体下图中以红色平方我们将位置矩阵中的数字添加到输入嵌入矩阵中。我们最终得到一个与嵌入大小相同的矩阵只是这次数字包含语义顺序。 图片来自VaswaniA.等人的原始论文。 四、总结 本系列的第一部分红色矩形到此结束。我们讨论了模型获取其输入。我们看到了如何将文本分解为其特征标记将它们表示为数字嵌入以及为这些数字添加位置编码的智能方法。 下文将将重点介绍编码器块第一个灰色矩形的不同机制每个部分描述一个不同颜色的矩形例如多头注意力添加和规范等。陈玛格丽特

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/89226.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站建设领域的基本五大策略要学会网站首页的布局

未来的你,我亲爱的女孩,愿此刻无忧无虑,开心,快乐… 工具库介绍 Apache Commons Lang 3(通常简称为Commons Lang 3)是Apache Commons项目中的一个Java工具库,它提供了一系列实用的工具类和方法…

南宁太阳能网站建设大型电子商务网站建设方案

一、涉及知识点场景切换按钮事件监听节点事件监听节点数组循环中闭包的应用动态更换sprite图片定时器预制资源二、步骤2.1 准备工作首先,我们要新建一个空白工程,并在资源管理器中新建几个文件夹​在这些文件夹中,我们用来存放不同的资源&…

沈阳商城网站开发wordpress 简洁模板

一、字符指针变量 在指针的类型中我们知道有⼀种指针类型为字符指针 char* ; ⼀般使⽤: int main() { char ch w; char *pc &ch; *pc w; return 0; } 还有⼀种使⽤⽅式如下: int main() { const char* pstr "hello bit.";//这⾥是把⼀个字…

模板建站排版跟没缓存好似的WordPress安装为什么是英文

泰国能源部与泰国安美德集团签署谅解备忘录,共同投资开发新能源在工业生产领域的应用。俞懿春 摄 泰国能源部与泰国安美德(AMATA)集团昨天在曼谷签署谅解备忘录,以公私合作模式推动安美德智慧城市开发,响应泰国政府提出…

商城网站建设4262上海seo推广服务

lua基础学习 LUA 语言1. 什么是lua?1.1 准备工作 2. 基本语法2.1 注释2.2 标识符2.3 关键字2.4 全局变量 3. 数据类型4. 变量4.1 赋值语句 5. 循环5.1 while循环5.2 for循环5.3泛型for循环5.4 repeat until 循环5.5 break 语句 6. 流程控制6.1 if语句6.2 if else 语…

手机网站建设文章一个空间安装多个织梦网站系统

文章目录 1.1 GCC 链接器 LD 介绍1.1.1 GCC 链接器 LD 常用参数介绍1.2 动态库和静态库介绍1.2.1 动态库和静态库优缺点1.2.2 库文件链接方式1.2.3 ldd 工具介绍1.2.4 静态库链接时搜索路径顺序1.2.5 动态库链接时、执行时搜索路径顺序1.2.6 头文件搜索路径1.2.7 有关环境变量上…

如何提高网站开发效率django做网站比较容易

“一个全面深度用云的时代正在到来。”在2022天猫双11技术分享中,阿里CTO程立表示,历经双11大规模场景的淬炼,阿里巴巴将云的先进性转变为技术效能的提升,今年阿里整体单位算力成本下降8%,全面用云带来了业务的敏捷创新…

专业做俄语网站建设司东莞网站优化方法

伪元素常常被误解为伪类,主要在于他们的语法相似,都是对于选择器功能的扩展,相似程度很高导致被混淆。 本文通过详细介绍伪元素和常见的使用方法,最后也会分析下伪元素与伪类的基本区别。 基本描述 CSS伪元素也是应用于选择器的…

阿里云购买域名后怎么建网站最新网站开发建设教材

理想的代码优化方式团队日常协作中,自然而然的会出现很多重复代码,根据这些代码的种类,之前可能会以以下方式处理方式描述应用时可能产生的问题硬编码多数新手,或逐渐腐坏的项目会这么干,会直接复制之前实现的代码带来…

如何自己免费做网站ip达1万的网站怎么做

分层模型 TCP 传输控制协议 UDP 用户数据包协议 四层 应用层 负责发送/接收消息 传输层 负责拆分和组装 .期间会有编号 网络层 TCP/UDP 属于网络层, 不会判断和处理编号 数据链路层 以太网 ,网络设备 TCP 连接 TCP连接需要端口,进行通信 Java 通过Socket 接收消息 发送 …

门户网站开发费需入无形资产大型电子商务建设公司

转载于:https://www.cnblogs.com/kesz/p/11124423.html

酒店 深圳 网站建设海南建设网站

string容器 概念本质string和char 区别:特点string构造函数构造函数原型 string赋值操作赋值的函数原型示例 string字符串拼接函数原型:示例 string查找和替换函数原型示例 string字符串比较比较方式 字符串比较是按字符的ASCII码进行对比函数原型示例 s…

做网站犯法吗设计网站公司湖南岚鸿公司

本篇文章主要介绍php图片处理类&#xff0c;感兴趣的朋友参考下&#xff0c;希望对大家有所帮助。示例代码如下&#xff1a;<?php /*已知问题&#xff1a;1.在图片缩放功能中&#xff0c;使用imagecreatetruecolor函数创建画布&#xff0c;并使用透明处理算法&#xff0c;但…

网站开发公司基础产品网站建设与开发 教材

机器学习过程中经常需要可视化&#xff0c;有助于加强对模型和参数的理解。 下面对梯度下降过程进行动图演示&#xff0c;可以修改不同的学习率&#xff0c;观看效果。 import numpy as np import matplotlib.pyplot as plt from IPython import displayX 2*np.random.rand(…

俱乐部网站方案实时爬虫网站是怎么做的

摘要&#xff1a;每个创业者不可能首次创业就能成功。他们的失败经验&#xff0c;或许可以指导其他创业者获得迅速成功。Joshua Hays在文章《7 things I learned from failing that you can avoid》总结了创业失败后获得的七条教训&#xff0c;希望其他创业者可以从中有所收获&…

北京公司网站制作费用即

下载文件 将AndroidManifest.xml直接放在010里面找到flag 此题根本不像个逆向题

做网站建设费用wordpress 收录少

# UGameInstance里直接调用 获取到引用了&#xff0c;就可以自然的调用。忽略 # UGameInstance里间接调用&#xff0c;通过代理调用 前置已经添加了websocket,具体步骤参考&#xff0c;链接在UWebSocketGameInstance.h里新增代理&#xff0c;并在链接成功后进行绑定。 #pragma…

淘宝优惠券网站用什么软件做外包公司排名

终于考完试了&#xff0c;寒假期间将会每天持续更新&#xff01; 447. 回旋镖的数量(Day 37) 给定平面上 n 对 互不相同 的点 points &#xff0c;其中 points[i] [xi, yi] 。回旋镖 是由点 (i, j, k) 表示的元组 &#xff0c;其中 i 和 j 之间的欧式距离和 i 和 k 之间的欧…

旅行用品东莞网站建设建网络商城网站吗

大量的应用程序、日益增长的用户规模、不断扩展的技术需求&#xff0c;以及对即时响应的持续追求。想想这些是否正是你在经历的。也许你尝试过自己构建工具来应对这些需求&#xff0c;但是大量的编码和集成工作使你焦头烂额。那你是否知道&#xff0c;有这样一个工具可以帮助你…