技术终于有人对语音技术来了次彻头彻尾的批判( 五 )


传统意义上 , 在机器学习中 , 新的想法已经以数学公式的形式共享了 。 这种做法历史悠久 , 也容易理解 , 但存在缺陷 。 由于如今开源工具的广泛采用 , 在构建应用解决方案、优化现有方案、解释事物运行方式(这是一项单独的艰苦工作)、构建基本模块或框架(如果百度构建的warp-ctc , 或者脸书构建的PyTorch)和创建新的数学方法存在着明显的分界线 。
机器学习的研究人员通常都同意这个看法:论文中存在很多为方程式而方程式的内容 。 但它们是否真的有助于我们理解事物的真正运行方式呢?我们以CTC(Connectionist Temporal Classification)损失为例来说明这个观点 。 几乎每篇用到这个损失的STT论文中都有专门的章节来描述 , 你可能会在其中找到一些公式 , 但是否能帮助你理解呢?
CTC损失是个复杂的问题 , 而且很可能是STT研究最大的推动力 , 但很少有论文提到它们使用了哪种实现 。 在我读过的论文中 , 还没看到下列看法 。 该怪我的无知 , 或者实现时的怪癖 , 还是他们故意忽略了这些内容呢?

  • 每3个月 , 我会将warp-ctc与PyTorch原生的CTC损失相比较 , 使用真实数据时后者无法正常运作;
  • 与标准损失相比 , CTC损失相当“激进”;
  • 通常需要某种形式的修剪或预热 , CTC损失“喜欢”爆炸;
  • 对于在第一阶段向你的网络展示哪些数据 , 你应当非常小心 。
当然 , 你可以参考原论文(由一名数学家撰写) , 或者参考stellar piece on Distill on CTC , 后者更易读懂 。 但老实说 , 我能找到的最佳解释是一个俄语视频:obscure YouTube video , 其中有两个人坐在那里通过样例来解释其运作原理 , 并借助幻灯片逐步详析 。 因此 , 论文中的所有空间都被公式占用了 , 虽然在技术上来说很可能是正确的 , 但什么也没解决 。 事实上 , 完成一个类似视频3Blue1Brown的人所做的工作非常困难 , 但很可能引用恰当的解释会是个解决方案?
试想一下 , 如果机器学习论文和出版物遵循以下模板 , 传递结果的难度要降低多少:
  • 使用这些工具包、实现和想法;
  • 进行这些主要的改动;
  • 运行这些试验 , 这是我们的结论 。
在“小型”学术数据集上训练样本低效率的过度参数化网络
我们来看看从推广ASR的原始论文Deep Speech 2开始 , 到现在进步了多少 。
技术终于有人对语音技术来了次彻头彻尾的批判
本文插图

从这篇论文改编 , 《Deep Speech 2》的论文中所报告的人类结果 。
是否似乎字符错误率(CER)和词组错误率(WER)的指标实际上降低了60% , 并超过了人类水平?因此 , 如果运行效果如此之好 , 为什么我们不能在每台设备上看到理想的STT弹出?为什么语音接口仍被认为是一项很酷的功能 , 特别是在商业应用中?
尽管根据下表的数据 , 在转到音频时 , 人类通常会有5-10%的错误率 , 但这个表格具有误导性 。 我们阅读了一些论文 , 并发现了一些情况: