层次Softmax相关论文整理

2023-05-16

Softmax函数是逻辑函数的一种推广,广泛应用于神经网络的多分类问题中,然而其计算复杂度与类别大小呈线性关系,在应用于语言模型、机器翻译时会带来高额的计算量,故而不少研究尝试寻找其高效的近似方法,层次Softmax便是其中一种常用的方法,本小节中将介绍层次Softmax中的一些代表模型。

  • 1992年,Brown等人在论文《Class-based n-gram models of natural language》提出基于词类的N-gram语言模型,认为单词间存在语义或语法的相似性,故而提出可根据单词的共现信息对单词进行分类。在语言模型中根据上下文预测中心词时,先根据N-gram方法由上下文的类别预测中心词所属类别的概率,再根据类别预测中心词的的概率,中心词的预测概率便表示为两者的乘积。计算单词类别概率后再计算类中单词的概率便是层次Softmax思想的起源。
  • 2001年,Goodman等人在论《Classes for fast maximum entropy training》提出使用词类技术加速最大熵语言模型,因为最大熵语言模型需要使用Softmax函数进行归一化,故而计算量是最大熵的模型的重要局限。文中通过两个最大熵模型对语言模型进行建模,第一个最大熵模型根据上下文预测中心词的所在类别,第二个最大熵模型根据上下文和中心词的类别预测中心词。在第二个最大熵模型中,因为已知单词类别,故而缩小了需要经过Softmax计算的单词个数。该论文的提出的模型是神经网络中层次Softmax模型的雏形,并已经作为Softmax的近似加速算法进行使用。
  • 2005年,Morin等人在论文《Hierarchical probabilistic neural network language model》中首次提出层次神经网络语言模型,根据WordNet中单词的相似关系,将单词构造成二叉树的层次结构,每个单词表示为二叉树叶节点,用一个比特向量表示单词位置。在预测中心词概率的过程中,每次预测比特向量中某个维度为0或1的概率,单词的预测概率便表示为所有维度概率的积,从而将计算复杂度为K的Softmax层降至$\frac{K}{\log K}$,实验表明其速度得到了得到了极大的提升,但是模型效果不理想,困惑度显著上升。
  • 2011年,Mikolov等人在论文《Extensions of recurrent neural network language model》中提出根据以词频的分布将词汇表分成不同的簇【也是当前主要构造层次Softmax的方法】,将单词以词频排序,然后按词频的顺序将其分到每个簇中,保证每个簇的词频总和近似相等。其结果表明基于词频分簇的层次Softmax在带来加速的同时只造成困惑度的轻微上升。Mikolov在其2012年的博士毕业论文《Statistical language models based on neural networks》中表明分簇时使簇中的词频开方后的和近似相等能进一步提升模型效果。自此之后的层次Softmax研究大多都是基于频率进行划分层次的
  • 2013年,Mikolov等人在论文《Efficient Estimation of Word Representations in Vector Space》【这篇文章也是大家所熟知的Word2Vec模型】提出根据词频将单词构造成Huffman编码树,与Morin等人在论文《《Hierarchical probabilistic neural network language model》的工作相似,使用一个比特向量表示单词在二叉树的位置,不过在Huffman编码树中,词频越高的单词其比特向量维度越低,从而进一步降低计算复杂度。
  • 2017年,Grave等人在论文《Efficient softmax approximation for GPUs》提出自适应Softmax模型,其是一种在GPU上高效运行的层次Softmax模型。因GPU计算较低维度的矩阵乘法时,维度大小几乎不影响计算时间,为了充分利用GPU的并行计算,其提出一个两层的基于词频分簇的层次Softmax,将词频最高的簇与其余簇的类别置于第一层,其余簇置于第二层;并且其认为可以降低词频较低的簇的词向量维度,因其难以学好无需浪费过多的计算。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

层次Softmax相关论文整理 的相关文章

  • pb 数据窗口设置操作

    1 使DataWindow列只能追加不能修改 如何使DataWindow中的数据只能追加新记录而不能修改 xff0c 利用 Column 的 Protect 属性可以很方便的做到这一点 xff0c 方法如下 xff1a 将每一列的 Prot
  • redis如何查看版本号?

    1 启动服务端 xff1a redis server 2 启动客户端 xff1a redis cli 3 客户端输入 xff1a info 即可
  • Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/**]

    问题 xff1a tomcat容器启动时报错 xff1a Failed to start component StandardEngine Catalina StandardHost localhost StandardContext 原因
  • LoggerFactory.getLogger用法。

    转自 xff1a http blog csdn net aiqinhai1016 article details 8819434 使用指定类初始化日志对象 在日志输出的时候 xff0c 可以打印出日志信息所在类 如 xff1a Logger
  • oracle如何查看已创建的序列?

    执行如下sql xff0c sql如下 xff1a select from user sequences 如果需要查看某个特定的序列 xff0c 如下 xff1a select from user sequences where seque
  • 解决:Generation aborted due to errors detected during the verification of the model.

    转自 xff1a http blog csdn net successful555 article details 7582154 1 用PowerDesigner15建模 xff0c 在Database gt Generate Datab
  • java.sql.SQLException: 无效的列类型: 1111 (jdbcType相关)

    转自 xff1a http blog csdn net stronglyh article details 45369611 mybatis报错 xff1a java sql SQLException 无效的列类型 1111 Java sq
  • oracle函数例子

    oracle函数例子 如下 xff1a select GET CHILD DEPT 579 from dual 定义如下 xff1a CREATE OR REPLACE FUNCTION GET CHILD DEPT v id IN NUM
  • js在字符串中镶嵌变量

    function renderAtype value record var vstr 61 39 39 if record data atype 61 61 0 vstr 43 61 34 lt img ext qtip 61 39 新闻公
  • 不积跬步无以至千里,不积小流无以成江海

    博客搬家了 xff0c 惊不惊喜 xff1f 意不意外 xff1f
  • golang使用mux实现http自定义路由

    最近在做坐席管理的服务 xff0c 其中需要对上层业务提供外部的REST接口 xff0c 去对坐席 坐席组 租户域进行增删改查操作 采用了gorilla开发的mux实现自定义路由 package地址如下 xff1a github com g
  • 【Win】Win10系统PowerShell命令大全

    Win10系统PowerShell命令大全 Windows PowerShell是一种命令行外壳程序和脚本环境 xff0c 不久的将来 xff0c 它将会替换掉命令提示符 CMD 1 打开PowerShell环境 Windows 10 中已
  • Linux Mint 使用 VNC Server (x11vnc) 进行远程屏幕

    https community linuxmint com tutorial view 2334 This tutorial was adapted from here Remove the default Vino server sudo
  • PID算法原理及模板讲解

    很早都想写一栏关于PID算法的专栏 xff0c 整个大学期间把谈恋爱的时间都拿来搞PID算法了 xff08 这样你们还不信我是真的搞PID的嘛 xff09 为了学习PID算法买过平衡小车之家的平衡车 xff08 最后拆成玩具了 xff09
  • 对抗样本(对抗攻击)入门

    什么是对抗样本 xff1f 从2013年开始 xff0c 深度学习模型在多种应用上已经能达到甚至超过人类水平 xff0c 比如人脸识别 xff0c 物体识别 xff0c 手写文字识别等等 在之前 xff0c 机器在这些项目的准确率很低 xf
  • 百度北京站2014研发笔试

    1 OSI七层模型 2 物理层 3 数据链路层 4 网络层 5 传输层 6 会话层 7 表示层 8 应用层 2 进程间数据共享的方式三种 文件映射 共享内存 信号 匿名管道 命名管道 邮件槽 剪贴板 3 TCP UDP区别 4 打印数组的所
  • VNC 设置屏幕分辨率

    http blog sina com cn s blog 7195909a01012ugl html 先前公司使用SecureCRT登陆linux写代码 xff0c SecureCRT缺点是交互式的 xff0c 网络状态不好时 xff0c
  • vsfpd配置说明

    是否允许匿名登录FTP服务器 xff0c 默认设置为YES允许 用户可使用用户名ftp或anonymous进行ftp登录 xff0c 口令为用户的E mail地址 如不允许匿名访问则设置为NO anonymous enable 61 YES
  • 正则表达式 ?: 的理解

    是 不想被捕获的时候使用 比如 a z 0 9 43 这个正则表达式里 里面的内容被捕获了 xff0c 反向引用的时候可以用上 一般正则替换的时候用的多 像UBB代码 但是 如果写成 a z 0 9 43 跟上面 正则表达式 整体匹配是一样
  • HDFS源码分析——DataNode启动流程

    DataNode启动流程 1 概述2 解析secureMain createDataNode instantiateDataNode makeInstance new DataNode startDataNode 2 1 initDataX

随机推荐

  • 在未知包名的情况下用ADB命令导出手机上对应的apk

    一 背景 很多时候 xff0c APK文件只存在于应用市场 xff0c 在PC上无法直接下载 用手机下载下来后就直接安装了 xff0c 也不能保存原始的APK文件 APK安装到手机后 xff0c Android系统会保存一份和原始APK一模
  • BP神经网络基础——推导过程

    彻底搞懂BP神经网络 理论推导 43 代码实现 xff08 C 43 43 xff09 哔哩哔哩 bilibili
  • 关于noVNC连接TightVNC黑屏问题

    noVNC连接TightVNC 2 8 8 黑屏问题 查阅大量资料才知道是bug 降低到tightvnc 2 6 0 setup 64bit 版本就解决了 赶快降版本吧 xff01 后面才发现不是这个问题 下载一个虚拟显示器软件 或者插一个
  • xrandr 常用命令 用于双显示器 切换屏幕

    xrandr常用命令 xff08 这里的VGA与LVDS分别换成第1步中的设备名 xff0c 如VGA1 LVDS1 xff09 xff1a xrandr output VGA same as LVDS auto 打开外接显示器 auto
  • Ubuntulinux离线安装ClamTk杀毒软件步骤和使用方法

    Ubuntulinux离线安装ClamTk杀毒软件步骤和使用方法 一 安装杀毒软件 1 拷贝杀毒软件所需安装包到主机 2 进入软件包目录下执行如下命令进行安装 xff1a sudo dpkg i libcurl4 7 68 0 1ubunt
  • 一步解决双系统时间不一致问题

    当你从Windows系统切换到Ubuntu系统时 xff0c 会发现时间居然便差了8个小时 xff0c 这是怎么回事 xff1f 相信很多和我一样初次体验双系统的小伙伴都会遇到这样的问题 xff0c 本人也是在网上看了很多解决办法 xff0
  • 最新Ubuntu系统 22.04.1 LTS版本 支持开启WIFI热点

    桌面操作系统一直是WIndows的天下 xff0c 但由于Linux系统的开源理念和众多开发者的共同努力 xff0c 诞生了很多基于Linux的开源操作系统 xff0c Ubuntu就是世界上最流行的Linux系统之一 xff0c Ubun
  • 电脑自动安装垃圾软件怎么办?拒绝重装系统,教你一招搞定!

    相信读到这篇文章的你也遭遇了和我一样的痛苦 xff0c 我非常理解 xff0c 希望我的这个方法能解决你的问题 我使用了各种杀毒软件 xff0c 各种管家 xff0c 各种安全卫士 xff0c 各种系统急救箱 xff0c 电脑安全模式下查杀
  • Python学习笔记(三)

    最近在学习慕课上的公开课 Python语言程序设计 xff0c 该课程是国家精品 xff0c 由来自北京理工大学的 嵩天团队精心打造 xff0c 讲解清晰 xff0c 层层递进 xff0c 想跟我一起学习的可点击蓝色课程名称直接跳转到该课程
  • 我的创作纪念日

    机缘 最开始是有了一台新电脑 xff0c 就想体验体验一下装机过程 xff0c 从硬件到软件 买的配件自己组装的电脑 xff0c 点亮电脑以后 xff0c 又装上了Windows系统 xff0c 后来又想体验一下Linux系统 xff0c
  • 国产ChatGPT之初体验

    ChatGPT的大火 xff0c 不仅让人惊讶现代人工智能的发展速度 xff0c 更让人增加了人类会不会被人工智能取代的担忧 ChatGPT属于NLP自然语言处理人工智能 xff0c 虽然仍然有很多不足 xff0c 但在其能力范围内 xff
  • GLPT团队程序设计天梯赛 模拟赛 2023

    L1 1 嫑废话上代码 span class token macro property span class token directive hash span span class token directive keyword incl
  • Matplotlib填充色Colormap

    Matplotlib填充色Colormap Matplotlib 有许多可通过 matplotlib cm get cmap 访问的内置 colormap 还有一些外部库有许多额外的颜色图 xff0c 可以在 Matplotlib 文档的第
  • ZeroMQ---订阅发布模式

    概述 ZeroMQ的订阅发布模式是一种单向的数据发布 xff0c 当客户端向服务端订阅消息之后 xff0c 服务端便会将产生的消息源源不断的推送给订阅者 一个发布者 xff0c 多个订阅者的关系 1 xff1a n xff0c 当发布者数据
  • STM32实验二:按键输入实验总结

    跑马灯实验中IO口是输出口 xff0c 下面我们研究STM32的IO口作为输入口 xff1a STM32的IO口输入使用时是通过调用做输入使用的时候 xff0c 是通过调函数GPIO ReadInputDataBit 来读取 来读取 IO口
  • 学习笔记1

    人工智能 使一部机器像人一样进行感知 认知 决策 执行的人工程序或系统 深度学习的 不能 算法输出不稳定 xff0c 容易被 攻击 发生微小变化 xff0c 图像极易被改变 模型复杂度高 xff0c 难以纠错和调试模型 层级复合程度高 xf
  • Linux输入输出重定向

    linux文件描述符 xff1a 0标准输入 1标注输出 2标准错误输出 echo 输出到终端 gt 输出重定向到文件 echo test test txt就会把输出从终端重定向到test Tex文件 cast test txt查看文件te
  • Spring的事务传播行为

    propagation required spring默认的事务传播行为 xff0c 标识该方法必须运行在事务中 如果当前事务存在 xff0c 则方法会在该事务中执行 xff0c 否则创建一个新的事务 propagation support
  • Matlab版本对应CUDA

    Matlab对应CUDA
  • 层次Softmax相关论文整理

    Softmax函数是逻辑函数的一种推广 xff0c 广泛应用于神经网络的多分类问题中 xff0c 然而其计算复杂度与类别大小呈线性关系 xff0c 在应用于语言模型 机器翻译时会带来高额的计算量 xff0c 故而不少研究尝试寻找其高效的近似