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

  • 苹果怎么设置铃声(苹果怎么设置铃声音乐)

    苹果怎么设置铃声(苹果怎么设置铃声音乐)

  • 电脑版怎么设置自动套用格式(百度网页电脑版怎么设置)

    电脑版怎么设置自动套用格式(百度网页电脑版怎么设置)

  • 唯品会登录名可以改吗(唯品会登录名必须设置吗)

    唯品会登录名可以改吗(唯品会登录名必须设置吗)

  • qq文件用其他应用打开怎么重新设置(qq文件用其他应用打开只有微信)

    qq文件用其他应用打开怎么重新设置(qq文件用其他应用打开只有微信)

  • cad从一个图复制到另一个图怎么粘贴不了(cad从一个图复制到另一个图里缺少东西)

    cad从一个图复制到另一个图怎么粘贴不了(cad从一个图复制到另一个图里缺少东西)

  • 迅雷抱团下载什么意思(迅雷抱团才能下载)

    迅雷抱团下载什么意思(迅雷抱团才能下载)

  • 人工服务录音多久删除(人工客服录音)

    人工服务录音多久删除(人工客服录音)

  • 雅兰仕蓝牙耳机怎么充电(雅兰仕蓝牙耳机多少钱)

    雅兰仕蓝牙耳机怎么充电(雅兰仕蓝牙耳机多少钱)

  • qq匹配聊天会被别人看到吗(qq匹配聊天会封吗)

    qq匹配聊天会被别人看到吗(qq匹配聊天会封吗)

  • 华为手机最下面的三个按钮怎么设置(华为手机最下面三个键怎么设置)

    华为手机最下面的三个按钮怎么设置(华为手机最下面三个键怎么设置)

  • 淘宝黑暗模式怎么打开(淘宝的黑暗模式)

    淘宝黑暗模式怎么打开(淘宝的黑暗模式)

  • 华为avi格式放不出(华为avi播放器)

    华为avi格式放不出(华为avi播放器)

  • 腾讯视频会员如何分享给别人(腾讯视频会员如何用手机号登录)

    腾讯视频会员如何分享给别人(腾讯视频会员如何用手机号登录)

  • iphone8p怎么录屏(iphone8p如何录屏)

    iphone8p怎么录屏(iphone8p如何录屏)

  • 视频mp4格式是什么意思(视频的mp4格式是什么意思)

    视频mp4格式是什么意思(视频的mp4格式是什么意思)

  • 算法的计算量大小称为算法的(算法的计算量大小成为算法的)

    算法的计算量大小称为算法的(算法的计算量大小成为算法的)

  • 不是钉钉好友可以发信息吗(不是钉钉好友可以打电话吗)

    不是钉钉好友可以发信息吗(不是钉钉好友可以打电话吗)

  • 链信实名认证有危险吗(链信app下载安卓版实名认证)

    链信实名认证有危险吗(链信app下载安卓版实名认证)

  • 快手里拍的东西从哪里看订单(快手里拍东西在哪里修改地址)

    快手里拍的东西从哪里看订单(快手里拍东西在哪里修改地址)

  • 显卡驱动安装失败咋办(显卡驱动安装失败如何解决)

    显卡驱动安装失败咋办(显卡驱动安装失败如何解决)

  • 怎么样恢复电池健康度(vivo怎么恢复电池)

    怎么样恢复电池健康度(vivo怎么恢复电池)

  • 拼多多消费总额哪里看(怎样查询拼多多消费总额)

    拼多多消费总额哪里看(怎样查询拼多多消费总额)

  • 华为微信锁屏密码怎么设置(华为微信锁屏密码)

    华为微信锁屏密码怎么设置(华为微信锁屏密码)

  • qq影音如何加速(qq影音怎么加速)

    qq影音如何加速(qq影音怎么加速)

  • Win11如何查看系统是否激活?Windows11检查激活状态三种方法(win11怎么看电脑配置)

    Win11如何查看系统是否激活?Windows11检查激活状态三种方法(win11怎么看电脑配置)

  • 非关联企业借款利息扣除
  • 季度亏损还需要计提所得税吗
  • 购买银行理财产品的几个必须知道
  • 什么情况下做暂估
  • 个人提供劳务给个人,不开票要缴税吗
  • 股权转让交的税如何做账
  • 费用利润率计算公式是什么意思
  • 金蝶固定资产管理
  • 消费税的征收方式是代收代缴
  • 个人付款可以开发票吗
  • 生产企业没有进项税如何交增值税
  • 出口退税要交企业所得吗
  • 税负原则
  • 税控盘未上传发票查询
  • 海外仓储的税务风险你都清楚吗?
  • 公司注销前怎么平账才不用交税
  • 以前年度损益对应的科目
  • 车间固定资产修理费
  • 本月暂估入库,下月
  • 国内废钢贸易需要资质吗
  • 增值税专用发票的税率是多少啊
  • dwg文件怎么打开
  • 关于暂时性差异的所得税会计处理,正确的是
  • 违约方能否要求返还价款
  • 成本加成定价法包括()
  • 购买礼品的会计科目
  • php代码自动生成
  • mac如何修改
  • 极易一键重装系统怎么用
  • 如何选购汽车
  • php如何实现多线程
  • python中各种颜色
  • 总资产周转次数与总资产周转率
  • 阿尔卑斯山环保
  • 合宙air32f103 stlink
  • vue3.0项目实战视频
  • 纳税检查调整销售额什么意思
  • 是否就地汇总纳税
  • 出售债券的税费会计分录
  • 工会经费的使用范围有哪些
  • 一般纳税人都是按月申报吗
  • 营改增之后增值税怎么算
  • 厂房转租会计分录
  • java多线程经典案例
  • 钢贸企业税收怎么算
  • 公对公退款必须退至原账户的规定
  • 股东分红方式如何约定
  • sqlserver2008安装完在哪打开
  • mysql数据库排序
  • 车间机器设备修理费用计入什么科目
  • 扣交社保会计分录
  • 用现金券付房租违法吗
  • 合同资产根据什么来编报表
  • 员工奖励的现金有哪些
  • 购入钢材
  • 增值税专用发票抵扣期限
  • 个人承包工程如何缴纳税款
  • 在分公司签的合同能转到总公司吗?
  • 原始凭证丢了判刑吗
  • mysql中的limit用法有哪些(推荐)
  • 如何删除多余的空白表格
  • win8.1怎么关闭更新
  • openbsd6.8
  • frontpage软件
  • win10怎么切任务管理
  • linux ps-l
  • 迅雷看看电脑版 下载
  • 系统升级后c盘空间小了
  • linux中ftp命令的用法
  • 移动端一般用什么布局
  • js上滑翻页
  • jQuery简单实现title提示效果示例
  • python app爬虫教程
  • jquery文档处理有哪些
  • 判断jquery对象是否存在
  • 药店迁址流程2019
  • 深圳纳税信息查询
  • 直辖市税务局
  • 摩托车的消费税计税依据
  • 自然人电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设