当前位置: 首页 > news >正文

GAT里面的sofamax函数的实现:

1.sofamx 公式:

2. GAT里的sofamax函数的实现:

 1.

因为指数在x轴正轴爆炸式地快速增长,如果zi比较大,exp⁡(zi)也会非常大,得到的数值可能会溢出。溢出又分为下溢出(Underflow)和上溢出(Overflow)。计算机用一定长度的二进制表示数值,数值又被称为浮点数。当数值过小的时候,被四舍五入为0,这就是下溢出;当数值过大,超出了最大界限,就是上溢出。

一个简单的办法是,先求得输入向量的最大值,然后所有向量都减去这个最大值:

2.问题是:一组数直接求softmax,和这组数取出最大值后,每个数逐个减去最大值然后求softmax的结果是一样吗? 

3. 

#下面就是GATConv中softmax的实现,就是这种防止计算上溢的实现方式N = maybe_num_nodes(index, num_nodes)
src_max = scatter(src, index, dim, dim_size=N, reduce='max')
src_max = src_max.index_select(dim, index)
out = (src - src_max).exp()
out_sum = scatter(out, index, dim, dim_size=N, reduce='sum')
out_sum = out_sum.index_select(dim, index)

 参考:

三分钟读懂Softmax函数 - 知乎 (zhihu.com)

http://www.lryc.cn/news/232849.html

相关文章:

  • Idea 编译SpringBoot项目Kotlin报错/Idea重新编译
  • 【Qt之QWizard问题】setPixmap()设置logo、background、watermark无效不显示解决方案
  • mysql 设置远程登录
  • ES的索引概念
  • text/xml和application/xml
  • 鸿蒙4.0正式版升级机型
  • 架构开发与优化咨询和实施服务
  • react hook ts 实现 列表的滚动分页加载,多参数混合混合搜索
  • Java应用如何不改代码,调整窗口大小
  • 汽车 CAN\CANFD数据记录仪
  • Kafka中topic(主题)、broker(代理)、partition(分区)和replication(副本)它们的关系
  • Mysql字符串类型编码问题
  • LabVIEW关于USRPRIO的示例代码
  • 【深度学习实验】网络优化与正则化(六):逐层归一化方法——批量归一化、层归一化、权重归一化、局部响应归一化
  • 低代码编辑平台后台实现
  • c++汉诺塔问题
  • 前端---CSS的样式汇总
  • android适配鸿蒙系统开发
  • golang学习笔记——select 判断语句
  • FLMix: 联邦学习新范式——局部和全局的结合
  • 为什么嵌入式没有35岁危机?
  • PostgreSQL设置主键从1开始自增
  • Vue数据绑定
  • js写轮播图,逐步完善
  • 算法-链表-简单-相交、反转、回文、环形、合并
  • 【500强 Kubernetes 课程】第3章 运行docker容器
  • Python中表格插件Tabulate的用法
  • 缺陷分级(过程质量bug分级)
  • pycharm/vscode 配置black和isort
  • python列出本地文件路径