GPT中使用的Gaussian Error Linear Unit (GELU)

GPT中使用的Gaussian Error Linear Unit (GELU)

flyfish

高斯误差线性单元(GELU)
Gaussian Error Linear Unit
g e l u ( x ) = x P ( X ≤ x ) X ∼ N ( 0 , 1 ) gelu(x) = x P(X \leq x) \qquad X \sim \mathcal{N}(0, 1) gelu(x)=xP(Xx)XN(0,1)

GELU ( x ) = x P ( X ≤ x ) = x Φ ( x ) = x ⋅ 1 2 [ 1 + erf ( x / 2 ) ] , X ∼ N ( 0 , 1 ) \text{GELU}\left(x\right) = x{P}\left(X\leq{x}\right) = x\Phi\left(x\right) = x \cdot \frac{1}{2}\left[1 + \text{erf}(x/\sqrt{2})\right], X\sim \mathcal{N}(0,1) GELU(x)=xP(Xx)=xΦ(x)=x21[1+erf(x/2 )],XN(0,1)
Φ ( x ) \Phi(x) Φ(x)是标准高斯累积分布函数(standard Gaussian cumulative distribution function)
近似方式1是
0.5 x ( 1 + tanh ⁡ [ 2 / π ( x + 0.044715 x 3 ) ] ) 0.5x\left(1+\tanh\left[\sqrt{2/\pi}\left(x + 0.044715x^{3}\right)\right]\right) 0.5x(1+tanh[2/π (x+0.044715x3)])

近似方式2是
x σ ( 1.702 x ) , x\sigma\left(1.702x\right), xσ(1.702x),

g e l u ( x ) = 1 2 x ( 1 + e r f ( x 2 ) gelu(x) = \frac{1}{2} x (1 + erf(\frac{x}{\sqrt{2}}) gelu(x)=21x(1+erf(2 x)
numpy 实现

import numpy as npdef gelu(x):return 0.5 * x * (1 + np.tanh(np.sqrt(2 / np.pi) * (x + 0.044715 * np.power(x, 3))))import matplotlib.pyplot as plt# 创建一个包含从-10到10的值的数组
x = np.linspace(-10, 10, 1000)# 计算 GELU 函数的值
y_gelu = gelu(x)# 绘制 GELU 函数的图像
plt.plot(x, y_gelu, label='GELU')
plt.title('GELU Activation Function')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid(True)
plt.show()

Pytorch实现

import torch
import torch.nn as nn
import numpy as npdef gelu1(x):m = nn.GELU()return  m(x)def gelu2(x):cdf = 0.5 * (1.0 + torch.erf(x / np.sqrt(2.0)))return x * cdf
import matplotlib.pyplot as plt# 创建一个包含从-10到10的值的数组
x = torch.linspace(-10, 10, 1000)# 计算 GELU 函数的值
y_gelu1 = gelu1(x)
y_gelu2 = gelu2(x)
# 绘制 GELU 函数的图像
plt.plot(x, y_gelu1, label='GELU1')
plt.plot(x, y_gelu2, label='GELU2')
plt.title('GELU Activation Function')
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.grid(True)
plt.show()

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

2024年【山东省安全员C证】免费试题及山东省安全员C证作业考试题库

题库来源:安全生产模拟考试一点通公众号小程序 山东省安全员C证免费试题根据新山东省安全员C证考试大纲要求,安全生产模拟考试一点通将山东省安全员C证模拟考试试题进行汇编,组成一套山东省安全员C证全真模拟考试试题,学员可通过…

LangChain表达式LCEL(四)

使用LangChain进行流式处理 流式处理对于基于 LLM 的应用程序对最终用户的响应至关重要,重要的 LangChain 原语,如 LLMs、解析器、提示、检索器和代理实现了 LangChain Runnable 接口。 该接口提供了两种常见的流式内容的方法: sync strea…

【Qt】使用Qt实现Web服务器(六):QtWebApp用户名密码登录

1、示例 1)演示 2)登录 3)显示 2、源码 示例源码Demo1->LoginController void LoginController::service(HttpRequest& request, HttpResponse& response) {

【Linux】/proc文件系统

🔥博客主页:PannLZ 😘欢迎关注:👍点赞🙌收藏✍️留言 文章目录 /proc文件系统1.获取与进程相关的信息:/proc/ID2./proc 目录下的系统信息3. 访问/proc 文件4.动态创建/proc文件系统4.1创建目录4.2创建proc…

双点双向路由引入实验

双点双向路由引入实验 1、OSPF和ISIS路由协议的优先级分别是什么:OSPF:10,150,ISIS:15,15 2、加表原则:当不同的路由协议学习到相同的目的网络,比较优先级,优先级数值小…

普发Pfeiffer分子泵TMH-U1001PC-1601PC安装使用维护说明

普发Pfeiffer分子泵TMH-U1001PC-1601PC安装使用维护说明

2024年【化工自动化控制仪表】考试试卷及化工自动化控制仪表模拟考试题

题库来源:安全生产模拟考试一点通公众号小程序 化工自动化控制仪表考试试卷是安全生产模拟考试一点通总题库中生成的一套化工自动化控制仪表模拟考试题,安全生产模拟考试一点通上化工自动化控制仪表作业手机同步练习。2024年【化工自动化控制仪表】考试…

【LeetCode-153.寻找旋转排序数组的最小值】

已知一个长度为 n 的数组,预先按照升序排列,经由 1 到 n 次 旋转 后,得到输入数组。例如,原数组 nums [0,1,2,4,5,6,7] 在变化后可能得到: 若旋转 4 次,则可以得到 [4,5,6,7,0,1,2]若旋转 7 次&#xff0…

Java 模拟Spring,实现IOC和AOP的核心(一)

在这里我要实现的是Spring的IOC和AOP的核心,而且有关IOC的实现,注解XML能混合使用! 参考资料: IOC:控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种…

纯前端导出Excel

纯前端导出Excel,其他地方自行修改,这是例子,配合xlsx.full.min.js 下载地址:https://gitcode.com/TaoZY512/xlsx/blob/master/xlsx.full.min.js function exportExcel(filename,sheetName, jsonArray ) {//展示的顺序&#xff…

Java项目:70 ssm小学生课外知识学习网站+vue

作者主页:源码空间codegym 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文中获取源码 项目介绍 管理员;首页、个人中心、医护人员管理、科室管理、病人管理、病房管理、病人信息管理、病历管理、医嘱管理、手术安排管理、药品信…

2024-3-17上机C++刷题

题目一: 反序数_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/e0d06e79efa44785be5b2ec6e66ba898?tpId60&tqId31035&tPage2&ru/kaoyan/retest/1001&qru/ta/tsing-kaoyan/question-ranking #include<iostream> using namespace s…

进度图画法

exce表格进度图画法&#xff0c;体现在条形图以及“格子”的空间的填充两种办法。 1.excel表格画进度图 备注&#xff1a;表格照着就是可以了&#xff0c;主要是画直线的办法 在形状的下拉菜单中选择直线&#xff0c;按住shift&#xff08;可以画直线&#xff09; 画直线后&a…

【数据结构与算法】(18):树形选择排序:按照锦标赛的思想进行排序

&#x1f921;博客主页&#xff1a;Code_文晓 &#x1f970;本文专栏&#xff1a;数据结构与算法 &#x1f63b;欢迎关注&#xff1a;感谢大家的点赞评论关注&#xff0c;祝您学有所成&#xff01; ✨✨&#x1f49c;&#x1f49b;想要学习更多数据结构与算法点击专栏链接查看&…

【系统架构师】-计算机网络

1、网络的划分 网络性能指标&#xff1a;速率、带宽(频带宽度或传送线路速率)、吞吐量、时延、往返时间、利用率。 网络非性能指标&#xff1a;费用、质量、标准化、可靠性、可扩展性、可升级性、易管理性和可维护性。 总线型(利用率低、干扰大、价格低)、 星型(交换机转发形…

学习笔记3/22

UNIAPP 导入文件 在使用 src"vue/js" 导入文件时&#xff0c;确保路径正确。 .el 类只对第一个生效 要确保 .el 类对所有元素都生效&#xff0c;可以使用选择器 .el 前面加上元素类型&#xff0c;例如 div.el。 数据声明 避免刻意使用 _ 和 &#xffe5; 声明数据…

第九节:Vben Admin实战-系统管理之角色管理实现-上

系列文章目录 第一节:Vben Admin介绍和初次运行 第二节:Vben Admin 登录逻辑梳理和对接后端准备 第三节:Vben Admin登录对接后端login接口 第四节:Vben Admin登录对接后端getUserInfo接口 第五节:Vben Admin权限-前端控制方式 第六节:Vben Admin权限-后端控制方式 第七节…

【并查集专题】【蓝桥杯备考训练】:网络分析、奶酪、合并集合、连通块中点的数量、格子游戏【已更新完成】

目录 1、网络分析&#xff08;第十一届蓝桥杯省赛第一场C A组/B组&#xff09; 2、奶酪&#xff08;NOIP2017提高组&#xff09; 3、合并集合&#xff08;模板&#xff09; 4、连通块中点的数量&#xff08;模板&#xff09; 5、格子游戏&#xff08;《信息学奥赛一本通》…

flink1.18.0报错 an implicit exists from scala.Int => java.lang.Integer, but

完整报错 type mismatch;found : Int(100)required: Object Note: an implicit exists from scala.Int > java.lang.Integer, but methods inherited from Object are rendered ambiguous. This is to avoid a blanket implicit which would convert any scala.Int to a…

linux项目发布

目录 jdk Tomcat Tomcat自启服务&#xff08;远程发布&#xff09; mysql nginx 添加Nginx官方yum源 配置防火墙 1、安装虚拟机 时间与日期&#xff1a;ntp1.aliyun.com 2、安装jdk&Tomcat&mysql 2.1 准备工作 1.换源 下载wget&#xff1a;yum -y install …