翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二

news/2024/5/20 2:39:09

合集 ChatGPT 通过图形化的方式来理解 Transformer 架构

  1. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习一
  2. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习二
  3. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习三
  4. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习四
  5. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习五
  6. 翻译: 什么是ChatGPT 通过图形化的方式来理解 Transformer 架构 深度学习六
    在这里插入图片描述

在本章中,我们将深入探讨
在这里插入图片描述

网络的开始和
在这里插入图片描述

结束阶段发生的情况,
在这里插入图片描述

我将花大量时间回顾一些重要的背景知识,这些知识是熟悉Transformer的机器学习工程师的基础知识。
在这里插入图片描述

如果你已经熟悉背景知识,迫不及待地想了解更多,你可以跳到下一节,重点将放在Transformer的核心部分——注意力模块上。
在这里插入图片描述

之后,我将更详细地介绍多层感知器模块、训练过程以及之前省略的一些其他细节。

对于背景信息,这些视频是对我们深度学习课程系列的补充,你不一定要按顺序观看,
在这里插入图片描述

但在深入研究Transformer之前,我认为确保我们对深度学习的基本概念和架构有共同的理解很重要。
在这里插入图片描述

这里要明确的是,
在这里插入图片描述

机器学习是一种使用数据来指导模型行为模式的方法。
在这里插入图片描述

具体来说,你可能需要一个函数,它接受一个图像,输出一个词描述,
在这里插入图片描述

或者为给定的文本预测下一个词,
在这里插入图片描述

或者其他需要直觉和模式识别的任务,
在这里插入图片描述

虽然我们现在已经习惯了,但机器学习的核心思想是,我们不再试图编写固定的程序来完成这些任务,这是人们在人工智能最早期会做的事情。
在这里插入图片描述

相反,构建一个具有可调参数的灵活结构,就像一系列旋钮和调节器,
在这里插入图片描述

然后通过学习大量实例输入和期望输出来调整和微调参数值,从而模拟这种直觉行为。
在这里插入图片描述

例如,可能最直观的入门机器学习模型是线性回归,你将输入和输出视为单个数字,如房屋面积和价格,你要做的就是找到最适合这些数字的直线。这用于预测未来的房价。
在这里插入图片描述

这条线由两个连续的参数组成,即斜率和y截距。

线性回归的目标是确定这些参数以尽可能接近地匹配数据。

不用说,深度学习模型会更加复杂。
在这里插入图片描述

例如,GPT-3有1750亿个参数,而不仅仅是两个。
在这里插入图片描述

然而,重要的是要注意,你不能简单地构建一个具有许多参数的大型模型就能有效工作,这样做可能会导致模型严重过拟合训练数据,或者极难训练。
在这里插入图片描述

深度学习包括一系列在过去几十年中已被证明在扩展能力方面表现出色的模型类别。
在这里插入图片描述

它们成功的关键在于,它们都使用相同的训练算法:反向传播,我们在前面的章节中已经介绍过。
在这里插入图片描述

你需要理解的是,为了让这个训练算法在大规模应用中很好地工作,模型必须遵循特定的结构。

如果你了解这个结构的一些知识,你将更好地理解Transformer如何处理语言以及其背后的逻辑,否则某些设计选择可能看起来有点随意。
在这里插入图片描述

首先,无论你要构建什么样的模型,输入必须是一个实数数组。
在这里插入图片描述

这可能只是一个数字列表,或者是一个二维数组,或者更常见的是一个更高维的数组,这个通用术语叫做张量(tensor)。
在这里插入图片描述

这些输入通常通过多个不同的层逐步转换,每一层形成一个实数数组,直到最后一层,你可以将其视为输出层。
在这里插入图片描述

例如,我们文本处理模型的最终输出层是一个数字列表,表示所有可能的下一个词的概率分布。
在这里插入图片描述

在深度学习领域,这些模型的参数通常被称为权重(weight)。
在这里插入图片描述

这样称呼的原因是,这些模型的核心特征之一是,这些参数与正在处理的数据交互的唯一方式是通过加权求和。

虽然模型中穿插了一些非线性函数,但它们并不依赖于这些参数。
在这里插入图片描述

总的来说,我们不会直接以裸露的形式看到这些权重,而是看到它们被封装为矩阵向量乘积的不同部分。

在这里插入图片描述
如果你回想一下矩阵向量乘法的工作原理,输出的每个部分都像是权重的总和。
在这里插入图片描述

一种更直观的方式是将这些可调参数填充的矩阵,
在这里插入图片描述

视为对正在处理的数据进行向量变换的工具。

参考

https://youtu.be/wjZofJX0v4M?si=DujTHghH5dYM3KpZ


http://www.mrgr.cn/p/28681875

相关文章

《最新出炉》系列入门篇-Python+Playwright自动化测试-44-鼠标操作-上篇

1.简介 前边文章中已经讲解过鼠标的拖拽操作,今天宏哥在这里对其的其他操作进行一个详细地介绍和讲解,然后对其中的一些比较常见的、重要的操作单独拿出来进行详细的介绍和讲解。 2.鼠标操作语法 鼠标操作介绍官方API的文档地址:https://playwright.dev/docs/api/class-mous…

windows下使用命令行查看已存储的wifi密码

netsh wlan show interface查看当前已连接wifi信息 netsh wlan show profiles查看所有已保存的wifi配置文件 netsh wlan show profiles name="XXXXXX" key="Clear"查看特定配置文件详情,包括wifi密码,密码在“关键内容”行

springboot lua检查redis库存

需求 最近需求需要实现检查多个马戏场次下的座位等席对应库存渠道的库存余量,考虑到性能,决定采用Lua脚本实现库存检查。 数据结构 库存层级结构 redis库存hash类型结构 实现 lua脚本 --- 字符串分割为数组 local function split(str, char)local…

JAVA IO/NIO 知识点总结

一、常见 IO 模型简介 1. 阻塞IO模型 最传统的一种IO模型,即在读写数据过程中会发生阻塞现象。当用户线程发出IO请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线…

和comate一起,用JavaScript实现一个简易版五子棋小游戏

前言 五子棋起源于中国,是全国智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏。双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上,先形成五子连珠者获胜。 这次和Baidu Comate智能代码助手共同完成这个小游戏…

9.3.k8s的控制器资源(deployment部署控制器)

目录 一、deployment部署控制器概念 二、deployment资源的清单编写 三、小结 功能 使用场景 原理 四、deployment实现升级和回滚 1.编辑deployment资源清单(v1版本) 2.创建service资源用于访问 ​编辑 3.修改deploy清单中pod镜像版本为V2 4…

如何分析慢SQL语句

如果一条sql执行很慢的话,通常会使用MySQL自动的执行计划explain来去查看这条sql的执行情况,比如在这里面可以通过key和key_len检查是否命中了索引,如果本身已经添加了索引,也可以判断索引是否有失效的情况,第二个,可以通过type字段查看sql是否有进一步的优化空间,是否存…

sonarqube(一)安装

一、前置条件: 安装工具如下:JDK MySql服务器 SonarQube SonarScanner二、下载和安装 1.jdk和mysql和sonar有版本对应的要求,sonar7.5对应jdk1.8和mysql>=5.6,<8.0 下载地址:http://www.sonarqube.org/downloads/ 下载完成后解压后点击StartSonar.bat启动即可。 或者…

shell翻译官

shell脚本概述 shell的作用&#xff1a; 完成自动化运维工作&#xff0c;批量完成重复操作&#xff0c;结合crontab完成周期性任务 shell编程规范&#xff1a; Shell脚本的编写 vim XXX.sh 1.申明解释器 #!/bin/bash #!/bin/python 2.编写注释信息 要以 # 号开…

Verilog中4位数值比较器电路

某4位数值比较器的功能表如下。 请用Verilog语言采用门级描述方式&#xff0c;实现此4位数值比较器 参考代码如下&#xff1a; &#xff08;CSDN代码块不支持Verilog&#xff0c;代码复制到notepad编辑器中&#xff0c;语言选择Verilog&#xff0c;看得更清楚&#xff09; t…

项目计划书(Word原件)

项目开发计划包括项目描述、项目组织、成本预算、人力资源估算、设备资源计划、沟通计划、采购计划、风险计划、项目过程定义及项目的进度安排和里程碑、质量计划、数据管理计划、度量和分析计划、监控计划和培训计划等。 软件资料清单列表部分文档&#xff1a; 工作安排任务书…

《Python编程从入门到实践》day21

# 昨日知识点回顾 设置背景颜色 在屏幕中央绘制飞船 # 今日知识点学习 12.5 重构&#xff1a;方法_check_events()和_update_screen() 12.5.1 方法_check_events() import sys import pygame from Settings import Settings from Ship import Shipclass AlienInvasion:"…

java的三种编译(JAVAC,JIT,AOT)

1.javac把java代码编译成字节码(中间代码),然后由java虚拟机解释执行 2.jit(运行时编译)把java代码直接编译成机器码,然后由java虚拟机直接运行(缓存)。有对客户端的C1和对服务器端的C2编译器 缓存 代码优化 逃逸分析,是否超出范围。对不同逃逸状态做优化 全局逃逸 对象超…

怎么设置一天多个时间点的闹钟提醒?

在日常生活中,我们经常需要在一天的不同时间点完成特定的任务,如定时喝水、定时查看后台数据、定时吃药等。这时候,如果能有一款软件,可以在一条日程里轻松设置多个时间点的闹钟提醒,那将大大提高我们的工作效率和生活品质。 那么怎么设置一天多个时间点的闹钟提醒呢?定时…

sql优化思路

sql的优化经验 这里解释一下SQL语句的优化的原理 1.指明字段名称&#xff0c;可以尽量使用覆盖索引&#xff0c;避免回表查询&#xff0c;因此可以提高效率 2.字面意思&#xff0c;无需过多赘述。索引就是为了提高查询效率的。 3.图中两条sql直接可以使用union all 或者 uni…

智慧工地,筑牢安全防线:严防塔吊相撞,守护施工安全之巅!

塔吊相撞的事故是一个严重的施工安全问题&#xff0c;而智慧工地则是一种利用现代科技手段提高施工安全性的解决方案。 为了避免类似事故的发生&#xff0c;智慧工地可以采取以下措施&#xff1a; 一、建立全面的监控系统 智慧工地可以建立完善的监控系统&#xff0c;通过安装…

GreatSQL的sp中添加新的sp_instr引入的bug解析

GreatSQL的sp中添加新的sp_instr引入的bug解析 一、问题发现 在一次开发中用到的sp需要添加新的sp_instr以满足需求,但是添加了数个sp_instr以后发现执行新的sp会发生core。注:本次使用的GreatSQL 8.0.32-251、sp_head.cc的init_sp_psi_keys()代码里面添加10个新的sp_instr:…

使用脚本一键部署项目的示例(脚本会创建syetemctl的系统服务)

文章目录 说明使用脚本一键部署本项目开启/停止服务开启/关闭开机自动运行更新项目 参考地址&#xff1a;https://github.com/Evil0ctal/Douyin_TikTok_Download_API?tabreadme-ov-file 说明 后续相关项目可以使用这种方式创建脚本&#xff0c;脚本均放置在项目根目录下的bas…

对于习惯使用ftp传输的企业,如何寻找最佳的替代方案?

FTP协议广泛应用各行业的文件传输场景中,对于很多企业而言,由于FTP传输应用获取门槛低、使用普遍,因此,有较为稳定的FTP使用习惯,但即便如此,也不得不面对,FTP应用存在着严重缺陷: 传输效率问题:FTP协议作为最早的互联网文件传输协议,虽然解决了传输协议有无的问题,…

Keil编译后的Code,RO,RW,ZI等相关

在使用keil开发STM32应用程序时,点击Build后在Build Output窗口中经常会有如下信息:以前一直好奇这几个参数和实际使用的STM32芯片中Flash和SRAM的对应关系,于是上网搜了一圈,做如下总结:这些参数的单位是Byte 图中几个参数分别代表 Code:代码的大小 RO:常量所占空间(加…