位置: 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训练函数)

  • 除甲醛净化什么最有效(除甲醛的净化器哪个品牌做得最好)

    除甲醛净化什么最有效(除甲醛的净化器哪个品牌做得最好)

  • 怎么开启荣耀60相机美颜(怎么开启荣耀60隐藏空间)

    怎么开启荣耀60相机美颜(怎么开启荣耀60隐藏空间)

  • qq音乐怎么设置闹钟铃声(qq音乐怎么设置背景图片)

    qq音乐怎么设置闹钟铃声(qq音乐怎么设置背景图片)

  • vivoy70s如何设置微信视频美颜(vivoy70s如何设置下面按键图标)

    vivoy70s如何设置微信视频美颜(vivoy70s如何设置下面按键图标)

  • 抖音怎么批量删除失效视频(抖音怎么批量删除自己视频)

    抖音怎么批量删除失效视频(抖音怎么批量删除自己视频)

  • oppok5微信视频怎样调美颜(oppo微信视频权限怎么开启)

    oppok5微信视频怎样调美颜(oppo微信视频权限怎么开启)

  • 5g的主要性能分别是什么什么和什么(5g技术主要性能优势)

    5g的主要性能分别是什么什么和什么(5g技术主要性能优势)

  • 抖音无关注别人之后又消失了(抖音没关注别人关注列表里有他)

    抖音无关注别人之后又消失了(抖音没关注别人关注列表里有他)

  • renoace什么时候上市(renoace怎么样)

    renoace什么时候上市(renoace怎么样)

  • 300m路由器匹配多大宽带(300n无线路由器)

    300m路由器匹配多大宽带(300n无线路由器)

  • 抖音点击左下角链接在哪里(抖音点击左下角链接看不到)

    抖音点击左下角链接在哪里(抖音点击左下角链接看不到)

  • 电饼铛温度不够热是什么原因(电饼铛控温开关失灵)

    电饼铛温度不够热是什么原因(电饼铛控温开关失灵)

  • 华为P30pro手机有双卡双待吗(华为p30pro手机有多长)

    华为P30pro手机有双卡双待吗(华为p30pro手机有多长)

  • 因特网属于一种什么网(因特网属于一种局域网)

    因特网属于一种什么网(因特网属于一种局域网)

  • oppor15机身多少厘米(oppor15有多大的尺寸呀?)

    oppor15机身多少厘米(oppor15有多大的尺寸呀?)

  • 微机系统总线一般分为(微机原理系统总线)

    微机系统总线一般分为(微机原理系统总线)

  • soul在哪里看来访记录(soul怎么看资料)

    soul在哪里看来访记录(soul怎么看资料)

  • 电脑文件怎么发到qq上(电脑文件怎么发送给微信好友)

    电脑文件怎么发到qq上(电脑文件怎么发送给微信好友)

  • iphone11怎么设置指纹(iphone11怎么设置面容解锁)

    iphone11怎么设置指纹(iphone11怎么设置面容解锁)

  • 腾讯大王卡拼多多免流吗(腾讯大王卡拼多多视频免流吗)

    腾讯大王卡拼多多免流吗(腾讯大王卡拼多多视频免流吗)

  • 苹果手机怎么知道购买时间(苹果手机怎么知道wifi密码)

    苹果手机怎么知道购买时间(苹果手机怎么知道wifi密码)

  • 苹果录屏自动中断(苹果录屏老是自动结束)

    苹果录屏自动中断(苹果录屏老是自动结束)

  • 快手封面怎么删除(快手作品封面的文字怎么删除)

    快手封面怎么删除(快手作品封面的文字怎么删除)

  • 华为麒麟710和970区别(华为麒麟710和骁龙778g哪个好)

    华为麒麟710和970区别(华为麒麟710和骁龙778g哪个好)

  • Java开发工具怎么下载(java开发工具怎么下载)

    Java开发工具怎么下载(java开发工具怎么下载)

  • 分配单元大小多少合适(分配单元大小多少最流畅)

    分配单元大小多少合适(分配单元大小多少最流畅)

  • linux如何关闭防火墙(linux关闭防护墙)

    linux如何关闭防火墙(linux关闭防护墙)

  • 如何查看电脑型号及配置(如何查看电脑型号信息)

    如何查看电脑型号及配置(如何查看电脑型号信息)

  • MySQL 高级查询(MySQL高级查询)

    MySQL 高级查询(MySQL高级查询)

  • 进口缴纳关税
  • 以前年度损益调整结转到未分配利润
  • 固定资产一次性折旧政策2023
  • 房产税存在往期滞纳金吗
  • 行政事业单位无偿调拨资产会计处理
  • 商业企业销售化妆品
  • 应解汇款科目
  • 没收逾期未退包装物押金收益,应计入( )科目
  • 有限公司跟股份有限公司的区别
  • 房地产未确认收入情况说明
  • 一般纳税人没有开票要交税吗
  • 小规模纳税人要做账吗
  • 劳务派遣差额征税会计分录
  • 三证合一后还要去税务局吗
  • 采购合同含税未税合同模板
  • 小规模企业税务筹划
  • 建筑行业包含哪些项目
  • sd标准差是什么意思
  • 个税申报方式可以修改去年的吗
  • 企业部门借备用金流程
  • 其他货币资金包括存出保证金吗
  • 期末增值税如何结转
  • 用人单位发放工资时跨行手续费应由谁支付
  • transformer toys
  • 一般纳税人收到小规模专票怎么抵扣
  • vcpkgsrv.exe是什么进程
  • 企业存货成本包括利润吗
  • fg726p.exe
  • vue数据实时更新
  • vue trim
  • 待安置期间生活补助费多少钱
  • 基于stm32f103c8t6的毕业设计
  • 128种chatGPT可以为人类做的事情
  • dos命令暂停停10s
  • ps如何打圈内环形文字怎么调间距
  • 小规模升级一般纳税人需要多久
  • 应收账款收不回来的情况说明
  • phpweb缓存技术
  • 增值税专用发票有几联?
  • 停车费报销怎么说委婉
  • 织梦产品详情页相关产品推荐调用代码
  • 深入浅析SQL Server 触发器
  • 结转在建工程的会计分录
  • 股权转让所得如何申报个税
  • 外来原始凭证包括一次凭证,累计凭证和汇总凭证
  • 会计报表编制基本要求
  • 小规模纳税人的税率是多少
  • 固定资产提前报废当月计提折旧吗
  • 计算税前利润时 是否考虑资金成本
  • 住宿发票 抵扣
  • 委外加工半成品入库的会计分录
  • 一般纳税人公司注册资金最低多少
  • 省外出差
  • 长期股权投资出售时其他权益变动
  • 未实际收到的投资收益
  • 人工费的发票税率怎么算
  • 实收资本怎么确认入账
  • mysql数据库中储存的是
  • FreeBSD下zfs: failed with error 6错误如何解决?
  • windows 进程管理
  • linux怎样浏览文件中的内容
  • win8升级win10系统 激活
  • linux如何修改gid
  • helpcfg是什么文件
  • msoobe.exe是什么
  • OS X Yosemite系统怎么样 OS X Yosemite功能介绍
  • centos7网卡
  • windows8的ie浏览器在哪
  • 删除了c盘安全组或用户
  • cocos2dx4.0教程
  • 利用Matplotlib对一组数据进行分析
  • 进入dos命令行
  • nodejs使用es6
  • unity怎么弄游戏小地图
  • JavaSacript中charCodeAt()方法的使用详解
  • javascript要怎么学
  • 函数 python
  • 中国税务主旨是什么?
  • 辽宁省银监局长
  • 国税系统三方协议
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设