GPT(Generative Pre-Training)论文解读及实现(一)

1 GPT Framework

1.1 Unsupervised pre-training

Given an unsupervised corpus of tokens U = {u1, . . . , un}, we use a standard language modeling objective to maximize the following likelihood:
在给定语料上下文环境下,目标时最大化下面的语言模型,即在给定前 i-1个词和参数θ前提下,使第 i 个词出现的概率最大。
在这里插入图片描述

we use a multi-layer Transformer decoder [34] for the language model
我们使用多层Transormer decoder层来实现GPT,公式如下图所示。
U是输入语料,We是全量字典token embedding矩阵,Wp是位置embedding 矩阵,n代表了有n层transformer_block.
p(u)是最后输出的softmax概率
在这里插入图片描述
在这里插入图片描述](https://img-blog.csdnimg.cn/7cb38e56f8a14b5daa2dbf2ab6b1a7bd.png)

1.2 Unsupervised pre-training

有了上面的预训练模型后,在进行下游任务。
在给定数据x1,x2 …,xm 和label y时,
① 将数据 X输入上面预训练模
② 取预训练模型的transformer_block最后一层作为预训练模型输出
③ 在预训练模型输出结果上再加一层全连接层,权重Wy,得到分类模型。
④ 最大化分类模型
在这里插入图片描述

We additionally found that including language modeling as an auxiliary objective to the fine-tuning helped learning by improving generalization of the supervised model, and accelerating convergence.
怎加语言模型作为微调模型的附属任务,有利于改善模型泛化能力和加快收敛。
整个微调任务,只增加了参数Wy,没有增加任何其他参数。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

3d Max中的Arnold渲染为黑色,这样处理!

使用Arnold渲染视图(ARV)时,图像保持黑色。 快照功能和常规3ds Max渲染设置可按预期生成图像。 解决方案: 解决方案可能需要执行下面的一项或多项操作: 添加光源 检查场景文件是否包含光源。如果场景中没有光源,渲染结果为黑色…

vue中使用v-for实现两次嵌套循环,判断某子元素是否显示,进行复杂表单校验

一、需求场景: 有以下一个使用场景,名称111、名称222、名称333,是放在一个大数组里的,然后通过第一层for循环显示出来的。名称333数组里又包含自己的子数组,子数组再通过第二次for循环展示出来。当我们选择发放方式的…

Linux(驱动编程)(调试技术)(imx6ull)

调试技术 1、在写驱动程序时函数未包含头文件 在linux内核源码driver/char目录下输入命令 grep “XXXX” * -nrw查看次函数在那个.c里用过,然后在vscode界面下按altp搜索这个.c就可以参考这个.c的头文件。 2、编译完驱动跟应用后先 insmod xxx.ko //插入 cat /…

4.9 x64dbg 内存处理与差异对比

LyScript 插件中针对内存读写函数的封装功能并不多,只提供了最基本的内存读取和内存写入系列函数的封装,本章将继续对API接口进行封装,实现一些在软件逆向分析中非常实用的功能,例如ShellCode代码写出与置入,内存交换&…

Nativefier 将网站打包成桌面程序

Nativefier是一个命令行工具,仅仅通过一行代码就可以轻松地为任何的网站创建桌面应用程序 1 Mac 电脑 安装Nativefier 打开终端 npm install nativefier -g2 创建一个桌面应用程序: nativefier "https://biglead.blog.csdn.net/article/details…

Pytorch基本使用—激活函数

✨1 介绍 ⛄ 1.1 概念 激活函数是神经网络中的一种数学函数,它被应用于神经元的输出,以决定神经元是否应该被激活并传递信号给下一层。常见的激活函数包括Sigmoid函数、ReLU函数、Tanh函数等。 🎄 1.2 性质 激活函数是神经网络中的一种重…

RFID系统的部署流程和关键环节

RFID系统的部署与集成对于实现高效的物流管理、提升运营效益和实现自动化过程至关重要。本文将为您解释RFID系统的部署流程和关键环节,并探讨RFID系统与现有IT基础设施的集成方式。我们还将提供RFID系统部署和集成中常见问题的解决方案,帮助您制定RFID系…

ELK日志分析系统

目录 开始 第一台安装elasticsearch-head插件 第一台node1安装logstash 配置收集系统日志 第一台 安装kibana第一台 第三台 简述: 日志分析是运维工程师解决系统故障,发现问题的主要手段。日志主要包括系统日志、应用程序日志和安全日志。系统运…

cesium 实现多颗卫星与多颗地面站雷达通信效果

最主要的部分是计算空间内两点之间的距离以及卫星对地点是否在雷达扫描范围内 先看效果 1.计算空间内两点之间的距离 //计算距离 function distance(point1, point2) {var point1cartographic = Cesium.Cartographic.fromCartesian(point1);var</

基于STM32智能窗帘控制系统仿真设计(含源程序+proteus仿真+讲解视频)

# 基于STM32智能窗帘设计&#xff08;含源程序proteus仿真&#xff09; 仿真&#xff1a;proteus8.11 程序编译器&#xff1a;keil 5 编程语言&#xff1a;C语言 编号C0007 资料下载链接 讲解视频 基于STM32的简易智能窗帘控制系统仿真设计 功能说明&#xff1a; 实现功能&a…

Kubernetes:快速入门指南

原文作者&#xff1a;NGINX 原文链接&#xff1a;Kubernetes&#xff1a;快速入门指南 转载来源&#xff1a;NGINX 官方网站 NGINX 唯一中文官方社区 &#xff0c;尽在 nginx.org.cn 什么是 Kubernetes&#xff1f; Kubernetes又称为 k8s&#xff0c;是一个开源平台&#xff…

Java虚拟机(JVM)

Java虚拟机&#xff08;JVM&#xff09; 类加载 类加载 Java类加载的过程可以分为以下几个步骤&#xff1a; 加载&#xff08;Loading&#xff09;&#xff1a;类加载的第一步是将类的字节码文件加载到内存中。 通过类的全名&#xff0c;全限定名&#xff08;包括包名和类名&…