输入法之模型剪枝一(基于熵的剪枝)

news/2025/5/20 22:11:12
prunning,剪枝,顾名思义就是减掉那些不重要的。

从理论上来讲,剪枝达到的效果就是剪枝后的q和剪枝前的 p 最大化相似,有两种算法 entroy-based以及rank-based。

针对model,使用相对熵来刻画D(q||p) 来刻画,保证两个model的熵区别最小,就是entropy-based。假设使用rank(p|q)来描写叙述,保证整个model的rank区别最小(主要是针对同一个bigram pair的left word),就是rank-based。

对于smoothing,我们使用的是katz平滑。
entropy-based 计算的套路:
1.针对每一条数据,计算删除后的模型參数,对于katz,又一次计算alpha,基于新/老alpha,看看整个model熵的变化,详细值參考论文公式。
   referrerpolicy=
   referrerpolicy=
   referrerpolicy=   referrerpolicy=
參数计算:
   referrerpolicy=
   referrerpolicy=

这个事情真正的难点在于,怎样分布式的计算这些信息。每次删除一条数据,明显不可行,一下子删除完也不行
通过公式来看,这里面的重点是怎样更新alpha,以及alpha确定后,怎样迭代。

rank-based算法当时也做过尝试,感觉和entropy-based差点儿相同,而且这两个都没有达到期望的效果,所以并没有深入研究

上面的算法属于理论上的算法,来刻画两个模型的距离,在输入法这个应用上,并不合适。
一般来讲,输入法原始model 的规模可能在30亿,而一个local的model须要的最多也是在1000w-2000w左右。基本上须要剪掉90%的数据,终于的model和原始model区别还是比較大的。
基于熵的剪枝,一般意义上期望是剪掉后和原始模型区别不大,依据经验来讲,剪掉20%左右的数据就非常不错了

所以真正意义上的剪枝应该基于输入法的特性来做

转载于:https://www.cnblogs.com/mfrbuaa/p/4280422.html

文章来源:https://blog.csdn.net/weixin_30466421/article/details/98630228
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:https://dhexx.cn/news/show-16753.html

相关文章

linux+shell+shuf,【shell】shuf命令,随机排序

react学习小结(生命周期- 实例化时期 - 存在期- 销毁时期)react学习小结 本文是我学习react的阶段性小结,如果看官你是react资深玩家,那么还请就此打住移步他处,如果你想给一些建议和指导,那么还请轻拍~ 目前团队内对react的使用非常普遍,之 ...创建如下三…

Java异常,配置log4j

注意: 1.Java中的所有异常都是由Throwable类的子类生成的对象,所有的异常类都是Throwable类的子类或子类的子类。Throwable类是Object类的直接子类,Error类和Exception类是Throwable类的两个直接子类。 Error 错误类 java.lang.Error 错误类一般是指虚拟…

dynamo python修改多个参数_10分钟学会Python基础知识

看完本文大概需要8分钟,看完后,仔细看下代码,认真回一下,函数基本知识就OK了。最好还是把代码敲一下。一、函数基础python入门简单地说,一个函数就是一组Python语句的组合,它们可以在程序中运行一次或多次运…

关于EventWaitHandle的Reset

http://www.codeproject.com/Articles/39040/Auto-and-Manual-Reset-Events-Revisited 转载于:https://www.cnblogs.com/chucklu/p/4281778.html

linux下uart缓存,Linux下的UART试验

一、试验概述(1)试验目的:掌握通过文件系统操作UART设备的方法.(2)在linux中,所有设备都是以文件的形式被打开并进行读/写操作的,本试验中使用POSIX兼容的文件操作接口函数对底层设备进行操作.其中,POSIX是Portable Operating System Interfa…

Docker 安装 Tomcat

Docker 安装 Tomcat 方法一、docker pull tomcat 查找 Docker Hub 上的 Tomcat 镜像: 可以通过 Sort by 查看其他版本的 tomcat,默认是最新版本 tomcat:latest 。 此外,我们还可以在控制台使用 docker search tomcat 命令来查看可用版本: …

LeetCode204:Count Primes

Description: Count the number of prime numbers less than a non-negative number, n. 比计算少n中素数的个数。 素数又称质数,是指仅仅能被1和它自身相除的自然数。须要注意的是1既不是素数也不是合数。2是最小的素数。 使用推断一个数是否是素数的函数&#xf…

exfat 分配单元大小_Golang语言内存管理之内存分配器

上一章中对于golang的并发编程说明如下:1 上下文 Context2 同步原语与锁3 定时器4 Channel5 调度器6 网络轮询器7 系统监控接下来我们来对golang的内存管理进行说明,主要内容有:1 内存分配器2 垃圾收集器3 栈内存管理— — — — — — — —…

关于Fragment 不响应onActivityResult的情况分析

大家都知道,可以通过使用 startActivityForResult() 和 onActivityResult() 方法来传递或接收参数。 但你是否遭遇过onActivityResult()不执行或者未按预想的那样执行的情况呢?这里我总结了三种情况:1、执行startActivityForResult&#xff0…

基于HTML5 SVG炫酷文字爆炸特效

这是一款使用html5 svg、css3和js制作的炫酷文字爆炸特效。该文字特效用SVG path属性将文字路径切割为很多小块,然后使用css3和js在鼠标滑过文字时制作文字爆炸分裂的炫酷效果。 在线预览 源码下载 这是一款使用html5 svg、css3和js制作的炫酷文字爆炸特效。不论是…