k2-fsa differentiable Finite State Acceptor

Dan在Interspeech上的toturial演讲

上述实验的复现

ctc的拓扑和神经网络的输出共同组成lattice,弧上的标签为输入标签和输出标签,每一列代表T,因此共有15个。beam=2为什么组成这样的图没太看懂。

ragged tensor用一个线性的数组来表示不规则的数据结构,可以在cuda中进行并行的计算。

解析:如果一个数据在二维vec中的索引是array[idx0][idx1],设idx01是它在raggedarray中的索引。

设idx0x是array[idx01][0],则idx01 = idx0x + idx1。

在k2官方文档中对以ragged array格式储存的fsa介绍如下

  • 每个子序列中包含同一个源状态的所有弧。
  • 终状态是[]

  • 对于每个FSA的操作,k2的autograd记录了每个输出对应的输入的哪一条弧,也就是arc_map

    • 在某些算法中,每个输出对应着0个或1个输入弧 -->此时的arc_map是一个torch的tensor(或者对于一些二元函数来说(例如intersection)是一对arc_map)
    • 在某些算法中(例如确定化),每个输出弧对应着一系列的输入弧 --> 此时的arc map是一个ragged tensor。(为了适应这种运算,对确定化算法有一些适应性改变)
  • 有了这些arc maps,还有合适的索引操作,就可以简单的利用prtorch的autograd机制了。

  • 在反向传播中,我们把梯度传回到原来的输入弧上,所以这里面蕴含的思想是,输出弧的分数等于所有的输入弧的和(和的计算方法有直接加和和对数加和两种),在大多数算法中都是这样。

    • 在k2官方教程中的示例

附:Tropical Semiring以最下为加法运算,以加法为乘法运算。

附:log semiring

我的理解:k2中的fsa设计并没有具体的物理含义,我们可以更多的把它理解成一种计算的框架。因此其中的一些操作细节,并非原创的算法设计,而是继承于原有的一些机器学习中的算法,衍生发展出来的。(例如,上面说到的fsa中的反向传播,其物理意义和算法都是跟torch中一脉相承的)

  • “attributes”:如上所说,可以把k2-fsa当作一种框架,任意的属性都用在fsa之上,比如说lm的分数等。在途中的示例中,将lm_score作为一种属性赋给了a_vec这个fsa之上
  • 他们是以弧的索引为索引的

可爱的dan

k2-fsa differentiable Finite State Acceptor(Dan 的 toturial总结)相关推荐

  1. FST(Finite State Transducers, 有限状态转换器)简介及示例

    一.简介 Finite State Transducers 简称 FST, 中文名:有穷状态转换器.FST目前在语音识别和自然语言搜索.处理等方向被广泛应用. 例如,在自然语言处理中,经常会遇到一些针 ...

  2. lucene随笔-FST(Finite State Transducer)有限状态传感器

    lucene版本:6.5.1 有限状态传感器,FST(Finite State Transducer)在lucene中扮演着非常重要的一个角色,在4.0后的版本lucene大量使用了这种数据结构,主要 ...

  3. 计算机态,(计算机)有限态自动机,FSM(finite state machine),音标,读音,翻译,英文例句,英语词典...

    补充资料:ω-有限自动机 ω-有限自动机 ω-finite state automata 1094·.一youx一anz}dongJ-..有限自动机(.一rinite state automata)一 ...

  4. 有限状态机FSM(finite state machine) 二

    有限状态机FSM(finite state machine) 二 延续上一篇继续有限状态机 上一篇中的状态切换判断是在每一个状态类的 OnExecute 方法中各种 if else 硬编码逻辑 当状态 ...

  5. FSM(Finite State Machine,有限状态机)设计

    有限状态机(Finite State Machine, FSM),根据状态机的输出是否与输入有关,可分为Moore型状态机和Mealy型状态机.Moore型状态机输出仅仅与现态有关和Mealy型状态机 ...

  6. Verilog学习笔记HDLBits——Finite State Machines(1)

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.Finite State Machines 1.Simple FSM 1(asychronous reset) 2 ...

  7. HDLBits 系列(8)——Sequential Logic(Finite State Machines(一))

    目录 3.2 Sequential Logic 3.2.5 Finite State Machines 1. Simple FSM 1 (asynchronous reset) 2. Simple F ...

  8. 《计算机组成与CPU设计实验》5有限状态机的Verilog HDL描述(Finite State Machine,FSM)

    多数控制逻辑都可以用有限状态机描述 状态机 状态机是组合逻辑和时序逻辑的特殊组合 时序逻辑用于存储状态 组合逻辑用于产生次态和产生输出 状态的数量是有限的,故称为有限状态机(Finite State ...

  9. 【HDLBits 刷题 9】Circuits(5)Finite State Manchines 1-9

    目录 写在前面 Finite State Manchines Fsm1 Fsm1s Fsm2 Fsm2s Fsm3comb Fsm3onehot Fsm3 Fsm3s Design a Moore F ...

  10. 【HDLBits 刷题 10】Circuits(6)Finite State Manchines 10-17

    目录 写在前面 Finite State Manchines Lemmings1 Lemmings2 Lemmings3 Lemmings4 Fsm onehot Fsm ps2 Fsm ps2dat ...

最新文章

  1. ATS插件中配置文件自动更新思路
  2. AI 是否拥有意识?从意识的定义说起
  3. JavaScript之Style属性学习
  4. Unity3D與IE8兼容有問題
  5. 绝地求生大逃杀最新服务器,《绝地求生大逃杀》将建立该国家或地区玩家的专有服务器!...
  6. Linux内核分析 - 网络
  7. mac 10.10 apache php,在Mac上10分钟搞定Apache服务器配置
  8. 【通信原理课程设计】8PSK调制解调技术的设计与仿真(MATLAB)
  9. 思科生成树协议STP/RSTP
  10. 初学者python笔记(字符串用法解析)
  11. JZ The First Day 总结
  12. 修复 www.shouyela.com 造成的 IE 问题
  13. hduoj 1518square
  14. php html 去空格 换行,实用的php清除html,php去除空格与换行,php清除空白行和换行,提取页面纯文本...
  15. iPhone手机上最不起眼的5款APP,用过的人都赞不绝口!
  16. 裴礼文数学分析中的典型问题与方法第3章一元微分学练习
  17. fatal: unable to access ‘https://github.com/thm123/algos.git/‘: Received HTTP code 400 from proxy af
  18. 投资人不投了、撤资了,创业者怎么办?
  19. java word 分页显示_java使用freemaker 导出word 包含分页,表格循环,word改xml格式化...
  20. vue中基础理论知识

热门文章

  1. 快手科技更新招股书:前11个月营收525亿元,引入10家基石投资者
  2. php 清除word标签,word如何取消修改标注
  3. 微信小问题2021-10-14
  4. (数据分析)网课评论分析
  5. mac 外接显示器 发热严重 解决方案
  6. 常识——(adb)小米VR正式版使用第三方APP,电脑充当手机的蓝牙手柄,实现确认功能,从电脑键盘向手机输入文字
  7. Java 第三方ui库_Uiautomator打包使用第三方库,报错的解决方案
  8. sqlServer2014用sql server身份认证登录
  9. android /mnt/sdcard 只读,Android重要的文件目录mnt/sdcard 和 /sdcard
  10. 计算机类应届毕业生的求职历程