目录

文章目录

  • 目录
  • Beam Search算法
    • 1. 简介
    • 2. 算法细节
    • 3. 具体实现
    • 4.算法优化

Beam Search算法

1. 简介

  • 在对话生成任务中,解码策略有自回归与非自回归两种方法。其中自回归的解码策略包括了greedy,beam search,top-k以及top p等方法。每种方法都有自己的优缺点。本文主要针对beam search方法做详细的介绍。其它相关的解码策略后面会有相应的文章进行介绍,这里就不多做说明。
  • 在自回归的解码方法,主要是在inference阶段,输入query,然后decoder一步一步的生成词,后一个词的生成依靠前面生成的词和query,一直到生成终止符停止,最后将所有顺序生成的词连在一起就是一个完整的句子。在每一个step中,模型最后一个一般是来说是dense层,经过softmax之后,会得到一个vocab size的向量。这个过程对于所有的自回归解码策略都是一样的,不同的就是后续的处理流程,比如说,greedy则是取向量元素中最大的值的index对应的词最后生成的词。
  • 通过上面的描述,我们可以将解码任务抽象为在一个高为max_len(生成句子的最大长度),

最详尽版本:一文带你了解beam search算法相关推荐

  1. 公式太多,读不懂? 一文带你领略KNN近邻算法~简单易懂

    ↑ 点击上方[计算机视觉联盟]关注我们 K近邻算法采用测量不同特征值之间的距离方法进行分类. K-近邻算法工作原理: 存在一个样本数据集合,也称作训练样本集,并且样本集中的每个数据都存在标签,即我们知 ...

  2. 9个元素换6次达到排序序列_一文带你读懂排序算法(三):堆排序算法

    国庆节快乐~点击上方文字关注我们哦 堆是一种特殊的树形数据结构,其每一个结点都有一个值,通常提到的堆都是指一棵完全二叉树,根结点的值小于(或大于)两个子结点的值,同时,根结点的两个子树也分别是一个堆. ...

  3. 简单选择排序_一文带你读懂排序算法(一):冒泡 amp; 快速选择排序 amp; 简单插入排序算法...

    点击上方「蓝字」关注我们 排序是确保数据规则有序的有效手段.日常开发里,我们常用到的是"冒泡"."插入排序"."选择排序"三种.大部分情况下 ...

  4. 归并排序时间复杂度_一文带你读懂排序算法(四):归并算法

    点击上方蓝字关注我们 归并排序的基本思想核心是分治,就是把一个复杂的问题分成两个或多个相同或相似的子问题,然后把子问题分成更小的子问题,直到子问题可以简单的直接求解,最原问题的解就是子问题解的合并.算 ...

  5. 一文带你秒懂数据结构与算法的三大要素、五大特征!

    我叫<数据结构与算法>,是计算机世界的四大基石之一. 想来我应该是惹人怜爱的吧(认真脸),因为我仿佛听到了无数个初入计算机世界的同学的呐喊声(

  6. 一文带你了解人脸检测算法的类型及其工作原理

    在过去的几年里,人脸识别受到了广泛的关注,被认为是图像分析领域最有前途的应用之一.人脸检测可以考虑人脸识别操作的很大一部分.根据其强度将计算资源集中在持有人脸的图像部分.图片中的人脸检测方法很复杂,因 ...

  7. 一文带你读懂HTTP协议的前世今生

    点击上方蓝字关注我们 HTTP,Hypertext Transfer Protocol,超文本协议,是在万维网上传输文件(如文本.图形图像.声音.视频和其他多媒体文件)的规则集.如果web用户打开他们 ...

  8. 代码统计工具1.1版本技术文档

    代码统计工具1.1版本技术文档 说明:主要记录自己在做这个项目的过程中用到的方法和相关技术 1.首先面临的问题就是怎样选择一个目录,网上搜索了一下,下面是解决方案(用到目录对话框) (1)从默认的磁盘 ...

  9. 训练的神经网络不工作?一文带你跨过这37个坑

    近日,Slav Ivanov 在 Medium 上发表了一篇题为<37 Reasons why your Neural Network is not working>的文章,从四个方面(数 ...

最新文章

  1. mysql 聚簇索引和非聚簇索引_聚簇索引和非聚簇索引
  2. 写给初学者的Tensorflow介绍
  3. 浅谈Struts2下
  4. linux如何执行平台,如何在Linux平台运行HelloWorld及测试项目
  5. IEnumerable 遍历用法
  6. Android入门(二) | 项目目录及主要文件作用分析
  7. 谁抢走了中国男人的老婆?
  8. 不起眼的小动作可能葬送安全措施
  9. (笔试题)和一半的组合数
  10. python程序收发文件_使用python脚本发送eml文件
  11. 这个时代,“寒门再难处贵子”【转载】
  12. node.js + 企业微信实现定时推送消息
  13. golang 字符串拼接性能比较
  14. HTML5简单个人主页设计
  15. ES中关于must和should组合使用过程中较为复杂的问题
  16. Nginx 使用./nginx -s reload报错 [error] open() “/opt/nginx/logs/nginx.pid“ failed (2: No such file or di
  17. 12种高效的管理方法
  18. 最新-开源可视化安全管理平台Ossim5.0使用
  19. 对地球生命的来源持有怀疑
  20. Linux 防火墙安装与配置

热门文章

  1. 顺利完成由mambo迁移到mambors
  2. Roslyn入门(3): 修改本程序的源码
  3. shell find指令的用法
  4. Android接入WebView(四)——浏览器书签与历史记录详细处理
  5. “在中国,为中国”,戴尔如何将数字化变革for real?
  6. 植入式广告渐趋疲软,社会化营销方兴未艾
  7. 公路村村通 (30 分)
  8. 敌我识别的代码怎么生成
  9. java docx转html
  10. 电蒸汽发生器蒸汽压力的调节控制