位置: IT常识 - 正文

深入理解TDNN(Time Delay Neural Network)——兼谈x-vector网络结构(深入理解linux内核)

编辑:rootadmin
深入理解TDNN(Time Delay Neural Network)——兼谈x-vector网络结构 概述TDNN(Time Delay Neural Network,时延神经网络)是用于处理序列数据的,比如:一段语音、一段文本将TDNN和统计池化(Statistics Pooling)结合起来,正如x-vector的网络结构,可以处理任意长度的序列TDNN出自Phoneme recognition using time-delay neural networksx-vector出自X-Vectors: Robust DNN Embeddings for Speaker Recognition此外,TDNN还演化成了ECAPA-TDNN,而ECAPA-TDNN则是当前说话人识别领域,在VoxCeleb1数据集的三个测试集VoxCeleb1 (cleaned)、VoxCeleb1-H (cleaned)、VoxCeleb1-E (cleaned)上的最强模型,因此学习TDNN还是很有必要的x-vector的网络结构x-vector是用于文本无关的说话人识别的,因此需要处理任意长度的序列,其网络结构如下图所示: 上图的迷惑性其实非常大,有必要好好讲解一下,现在我给出从frame1到frame4层(frame5与frame4本质上是一样的,只不过卷积核数量不同)的可视化结果 输入:每个特征图表示一帧,特征图的通道数为24,表示一帧的特征数(原文是24维fbank特征),特征图的分辨率是1,在这里需要明确:语音是1维数据,因此特征图并不是二维图,而是一个值,24个特征图堆叠起来构成24维fbank特征frame1frame1的特征图经过1维卷积得到,卷积核大小inchannels×kernelsize×outchannels=24×5×512inchannels \times kernelsize \times outchannels=24\times5\times512inchannels×kernelsize×outchannels=24×5×512frame1的每个特征图下面连接的5条线,表示卷积核。这5条线不是5根细线,而是5根麻花线,每根麻花线由inchannels=24inchannels=24inchannels=24根细线组成,每根细线连接一个特征。每根细线的权重都是一样的,每根麻花线的权重不一样 kernelsize=5kernelsize=5kernelsize=5,对应闭区间[t−2,t+2][t-2,t+2][t−2,t+2]一共5帧的上下文,也可以表示为{t−2,t−1,t,t+1,t+2}\left \{ t-2,t-1,t,t+1,t+2 \right \}{t−2,t−1,t,t+1,t+2},之所以表格说frame1的输入是120,是因为将5帧上下文的特征都计算进去了5×24=1205\times24=1205×24=120outchannels=512outchannels=512outchannels=512,表示卷积核的厚度是512,可以理解为5根麻花线堆叠了512次,每次堆叠都得到新的5根麻花线,都符合“每根细线的权重都是一样的,每根麻花线的权重不一样”。5根麻花线同时运算,得到一个值,从而frame1的每个特征图其实也是一个值,且通道数为512,对应表格中的frame1的输出是512frame2frame2的特征图经过1维膨胀卷积得到,卷积核大小inchannels×kernelsize×outchannels=512×3×512inchannels \times kernelsize \times outchannels=512\times3\times512inchannels×kernelsize×outchannels=512×3×512不要被膨胀卷积吓到了,膨胀卷积的kernelsize=3kernelsize=3kernelsize=3,表示3根麻花线中,第2根麻花线连接第t帧,第1根麻花线连接第t-2帧,第3根麻花线连接第t+2帧,对应表格中的{t−2,t,t+2}\left \{ t-2,t,t+2 \right \}{t−2,t,t+2}共3帧的上下文,这就是膨胀卷积和标准卷积的不同之处,隔帧连接在PyTorch中,1维卷积的api为 torch.nn.Conv1d(inchannels,outchannels,kernelsize,stride=1,padding=,dilation=1,groups=1,bias=True,paddingmode=′zeros′,device=None,dtype=None)torch.nn.Conv1d(inchannels, outchannels, kernelsize, stride=1, padding=0, dilation=1, groups=1, bias=True, paddingmode='zeros', device=None, dtype=None)torch.nn.Conv1d(inchannels,outchannels,kernelsize,stride=1,padding=0,dilation=1,groups=1,bias=True,paddingmode=′zeros′,device=None,dtype=None) 其中,dilation=1dilation=1dilation=1表示标准卷积,frame2的膨胀卷积需要设置dilation=2dilation=2dilation=2在这里我们也发现一点:TDNN其实是卷积的前身,后世提出的膨胀卷积,在TDNN里已经有了雏形,只不过TDNN是用于1维数据的frame3、frame4没有引进新的运算。frame3需要设置dilation=3dilation=3dilation=3,而frame4的卷积核大小inchannels×kernelsize×outchannels=512×1×512inchannels \times kernelsize \times outchannels=512\times1\times512inchannels×kernelsize×outchannels=512×1×512,因为kernelsize=1kernelsize=1kernelsize=1,所以与MLP(dense layer)没有本质区别,卷积核通过在每一帧上移动,实现全连接,因此可以看到有些代码实现用kernelsize=1kernelsize=1kernelsize=1的卷积替代全连接从frame1到frame5,每次卷积的步长stridestridestride都等于1,从而对每一帧都有对应的输出,也就是说,对于任意长度的帧序列,frame5的输出也是一个同等长度的序列,长度记为TTT,而由于frame5的outchannels=1500outchannels=1500outchannels=1500,所以表格中统计池化的输入是1500×T1500 \times T1500×T统计池化的原理颇为简单,本质是在序列长度TTT这一维度求均值和标准差,然后将均值和标准差串联(concatenate)起来,所以池化后,序列长度TTT这一维度消失了,得到了150015001500个均值和150015001500个标准差,串联起来就是长度为300030003000的向量segment6、segment7和Softmax都是标准的MLP,不再赘述最后segment6输出的512512512长度的向量,被称为x-vector,用于训练一个PLDA模型,进行说话人识别,可以计算一下,提取x-vector所需的参数 frame1+frame2+frame3+frame4+frame5+segment6=120×512+1536×512+1536×512+512×512+512×1500+3000×512=420,0448\begin{aligned} &frame1+frame2+frame3+frame4+frame5+segment6 \\ =&120 \times 512 + 1536 \times 512 + 1536 \times 512 + 512 \times 512 + 512 \times 1500 + 3000 \times 512 \\ =&420,0448 \end{aligned}==​frame1+frame2+frame3+frame4+frame5+segment6120×512+1536×512+1536×512+512×512+512×1500+3000×512420,0448​参数量并不能代表计算量,因为输入网络的是任意长度的帧序列
本文链接地址:https://www.jiuchutong.com/zhishi/299905.html 转载请保留说明!

上一篇:chatgpt实际是怎样工作的?(chattr i)

下一篇:Pytorch训练过程中出现RuntimeError: falseINTERNAL ASSERT FAILED... Couldn‘t open shared file mapping...(pytorch训练函数)

  • 小米商城怎么联系客服(小米商城怎么绑微信)

    小米商城怎么联系客服(小米商城怎么绑微信)

  • win10卓越性能有必要吗(w10的卓越性能开启后)

    win10卓越性能有必要吗(w10的卓越性能开启后)

  • 华为手机呼叫转移是怎么取消(华为手机呼叫转移怎么取消设置方法)

    华为手机呼叫转移是怎么取消(华为手机呼叫转移怎么取消设置方法)

  • 基于位置的建议(系统服务基于位置的建议)

    基于位置的建议(系统服务基于位置的建议)

  • 注册微信一定要电话号码吗(注册微信一定要银行卡吗)

    注册微信一定要电话号码吗(注册微信一定要银行卡吗)

  • 微信怎么看历史评论过的消息(微信怎么看历史头像)

    微信怎么看历史评论过的消息(微信怎么看历史头像)

  • 搜狗壁纸电脑版为什么不能用了(搜狗壁纸电脑版怎么保存)

    搜狗壁纸电脑版为什么不能用了(搜狗壁纸电脑版怎么保存)

  • 键盘指示灯亮着 按键全部失效了怎么办(键盘指示灯亮着 按键全部失效,还有声音)

    键盘指示灯亮着 按键全部失效了怎么办(键盘指示灯亮着 按键全部失效,还有声音)

  • 复印扫描是什么意思(复印扫描有用吗)

    复印扫描是什么意思(复印扫描有用吗)

  • 微信缴纳电费怎么退(微信缴纳电费怎么开票)

    微信缴纳电费怎么退(微信缴纳电费怎么开票)

  • 抖音直播间买的东西怎么查询(抖音直播间买的翡翠是真的吗)

    抖音直播间买的东西怎么查询(抖音直播间买的翡翠是真的吗)

  • 600比5互感器怎么计算用电量(600/5互感器配多大的表)

    600比5互感器怎么计算用电量(600/5互感器配多大的表)

  • 华为音频文件在哪个文件夹(华为手机音频存储在手机哪个文件夹里)

    华为音频文件在哪个文件夹(华为手机音频存储在手机哪个文件夹里)

  • 三星a50s什么时候上市(三星a50s怎么样)

    三星a50s什么时候上市(三星a50s怎么样)

  • 手手机交了话费却上不了网怎么回事(手机交完话费)

    手手机交了话费却上不了网怎么回事(手机交完话费)

  • 手机qq个性封面怎么设置(手机qq设置封面)

    手机qq个性封面怎么设置(手机qq设置封面)

  • 饿了么多人订餐谁付钱(饿了么多人订餐怎么用)

    饿了么多人订餐谁付钱(饿了么多人订餐怎么用)

  • designed by vivo什么型号(designed by vivo什么时候出来的)

    designed by vivo什么型号(designed by vivo什么时候出来的)

  • 华为p30的返回键在哪(华为p30的返回键在哪里)

    华为p30的返回键在哪(华为p30的返回键在哪里)

  • 关闭当前窗口快捷键(关闭当前窗口快捷键alt加什么)

    关闭当前窗口快捷键(关闭当前窗口快捷键alt加什么)

  • 不用电脑怎么设置路由器(不用电脑怎么设置wifi密码)

    不用电脑怎么设置路由器(不用电脑怎么设置wifi密码)

  • 电脑非法关机后不能启动怎么解决?(电脑非法关机后开机进不了系统)

    电脑非法关机后不能启动怎么解决?(电脑非法关机后开机进不了系统)

  • win11任务栏无反应怎么办?win11任务栏无反应解决方法(win11任务栏失灵)

    win11任务栏无反应怎么办?win11任务栏无反应解决方法(win11任务栏失灵)

  • Vue+ELementUI主页布局----侧边栏布局(el-aside)(vue 首页)

    Vue+ELementUI主页布局----侧边栏布局(el-aside)(vue 首页)

  • 使用STM32F103ZE开发贪吃蛇游戏(stm32f103教程)

    使用STM32F103ZE开发贪吃蛇游戏(stm32f103教程)

  • 企业为员工缴纳公积金的通知
  • 以前年度什么意思
  • 怎么恢复自然人个人信息
  • 发放工资的转账支票出票人是谁
  • 公司购买食品如何入账
  • 公司股权关系怎么填写
  • 个人销售货物缴增值税吗
  • 企业进行业务预算的编制技巧
  • 资产负债表日后调整事项与非调整事项的区别
  • 预付冲应付会计分录摘要
  • 退休回聘政策与程序
  • 怎么处理未抵扣增值税形成的留抵税额?
  • 长期股权抵消分录
  • 职工福利费计提比例一般是多少
  • 增值税发票抵扣勾选平台如何操作
  • 外币应收帐款汇兑损益现流附表
  • 企业购买扶贫物资怎么入账
  • 财务费用利息收入的账务处理
  • 免税的销售额要怎么填入报表
  • 免抵税额为什么不能抵下期
  • 占用土地行为不征收耕地占用税有哪些?
  • 建筑安装施工过程
  • 应交税金的明细科目
  • 保证金计入哪个会计科目
  • 坏账准备的计提应当关注
  • 自建房房产税计税依据及计算方式
  • 劳务派遣 税务
  • 企业党建活动经费管理办法的规定
  • 不发工资先去劳动局投诉还是仲裁
  • 使用最新版本的浏览器可以防御黑客
  • php面向对象优点,缺点
  • 笔记本电脑保养与维护
  • php定时执行代码
  • 个人独资企业怎么做账
  • 税务机关为小规模纳税人
  • php zmq
  • php实现页面浏览量
  • swoole扩展安装
  • 企业在计提短期借款利息时可能用到的会计科目有
  • 劳务派遣申报表附表一怎么填
  • 公司签发银行承兑汇票的行为属于什么行为
  • 给离职员工买社保的风险
  • 老板出差司机住哪
  • 残保金的滞纳金怎么算
  • 单位销售收入不包括哪些
  • sqlserver 恢复数据库
  • sqlserver分布式事务
  • 留抵进项税太多怎么办
  • 本年利润期末需要结转吗
  • 个体户是什么概念
  • 销售赠品的会计分录
  • 收到红票账务处理
  • 电子发票报销后退款
  • 差旅费报销单填写模板电子版
  • 企业差旅费的报销流程
  • 统计会计主要做什么
  • 兼职会计做什么工作
  • mysql多表连接的方式
  • 游戏里区和服的区分
  • mysql 5.7启动
  • win10使用技巧有什么用
  • win10怎么自定义壁纸
  • 番茄花园论坛
  • linux里vim常用命令
  • win7设置宽带拨号
  • Android游戏开发入门
  • android开发流程
  • Unity3d_用PlayerPrefs保存和读取数组
  • opengles和vulkan哪个好
  • python安装numpy和matplotlib
  • json对象如何取值
  • nodejs基础知识
  • 安卓版影音播放器哪个好用
  • js判断符
  • 响应鼠标变换表怎么用
  • 山东税务局电子税务局申报
  • 四川省税务局官方网站申报窗口
  • 设备租赁增值税怎么抵扣
  • 国家税务总局56号
  • 单位纪检员和纪检委员区别
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设