大数据 > 如何在远程会议的时候静音吃薯片?微软团队用AI去除视频噪声

如何在远程会议的时候静音吃薯片?微软团队用AI去除视频噪声

2020-04-29 09:00阅读(79)

来源:vb 编制的 大数据摘要上个月,微软宣布其闲暇,Facebook工作场所和团队,谷歌的环聊聊天竞争对手的日常活跃用户已超过4400万。 这个里程碑掩盖了它后来发

1

来源:vb

编制的

大数据摘要上个月,微软宣布其闲暇,Facebook工作场所和团队,谷歌的环聊聊天竞争对手的日常活跃用户已超过4400万。 这个里程碑掩盖了它后来发布的一些新功能。 大多数功能都很简单明了:动手功能表明您有话要说; 脱机和低带宽支持,即使网络连接不畅或没有网络,也可以阅读和回复聊天消息; 然后将聊天弹出到另一个窗口。 还有一个实时降噪功能引起了人们的注意-Microsoft演示了AI如何减少通话时分散干扰的背景噪声。

我们都有相似的经验:我们让某人打开静音或找到安静环境的次数是多少? 实时降噪将过滤掉某人的键盘输入,一包筹码的声音以及会议中使用的吸尘器的声音。 AI会实时消除背景噪音,因此您只能在通话中听到声音。 它是如何做到的? 为了找到答案,VB采访了Microsoft团队团队的项目经理Robert aichner。

是新的冠状病毒危机,迫使数百万人在家中学习和工作,协作和视频会议工具的使用激增。 Microsoft将其团队作为Microsoft 365订阅套件的一部分来推广,作为针对企业和消费者的解决方案。 该公司依靠机器学习的优势来确保AI功能是其最大的功能之一。 当最终发布时,实时背景噪声抑制功能将为嘈杂的企业和家庭带来好消息。 此外,Microsoft构建此功能的方式对使用机器学习的其他公司具有指导意义。

固定噪声和非固定噪声

当然,Microsoft团队,商务用Skype和Skype以及其他通信工具和视频会议应用程序都具有抑制噪音的能力很多年了。 但是这些噪声抑制只能消除固定的噪声,例如在后台运行的计算机风扇的声音或空调的声音。 传统的降噪方法是在说话暂停时估计参考噪声,并假设连续的背景噪声不会随时间变化,然后将其滤除。

扩展了Microsoft团队的全文,以进一步抑制非固定噪音,例如吠叫或关门。 “那不是固定的。”艾希纳解释说。 “通常,您无法在暂停时估计这种噪声。但是现在,机器学习使您可以创建带有大量代表性噪声的训练集进行训练。”实际上,在

上,微软早先在GitHub上发布了其训练集 今年,“促进这一领域的研究”。 尽管第一个版本是公开可用的,但是Microsoft仍在积极致力于扩展数据集。 该公司的一位发言人证实,作为实时降噪功能的一部分,通话期间不会过滤掉数据集中的某些类型的噪声,包括乐器,笑声和歌曲。

GitHub链接:

https://github.com/microsoft/dns-challenge/tree/master/datasets

微软不能简单地分离人类的声音,因为某些噪音也具有相同的频率。 在语音信号频谱中,一些噪声不仅出现在语音间隙中,而且与语音本身重叠。 因此,滤除噪声几乎是不可能的-因为语音和噪声重叠,并且无法区分两者。 相反,您需要训练网络以了解噪声和声音是什么样的。

语音识别和噪声抑制

为了澄清这一点,艾奇纳将用于噪声抑制的机器学习模型与用于语音识别的机器学习模型进行了比较。 对于语音识别模型,您需要记录用户在麦克风中讲话的大量语音数据,并通过记录数据内容手动标记这些数据。 与将麦克风输入映射到文本不同,降噪专注于将嘈杂的语音转换为纯语音。

aichner说:“我们训练了一个模型来理解噪声和语音之间的差异,然后该模型试图仅保留语音。”我们有一个训练数据集,可以收集数千种不同的人声和100多种噪声类型。 接下来,我们要做的是将没有噪声的干净语音与噪声混合在一起,以模拟麦克风信号。接下来,我们向模型提供干净语音作为注释数据。就像您告诉模型,“请从这些信号中提取干净的信号。 嘈杂的数据,就像标记数据一样。 这是在监督学习中训练神经网络的方法。 您必须具有一些标记数据。 “用于语音识别的

,注释数据是与麦克风说话的实际内容。对于实时噪声抑制,注释数据是干净的语音。通过提供足够大的数据集(在这种情况下,数百小时的数据),Microsoft 可以有效地训练其模型。“即使我的声音没有出现在训练数据中,该模型也可以泛化并减少噪声。”艾奇纳说,“因此,当我讲话时,该模型可以从噪声中真正提取出清晰的声音。 时间,然后将其发送给远程人员。”

挑战了

和语音识别的功能,并且即使后者是实时的,噪声抑制也更容易实现。为什么以前没有实现它?微软的竞争对手可以吗? Aichner列出了构建实时噪声抑制的挑战,包括寻找代表性数据集,构建和缩小模型以及利用机器学习知识

代表性数据集

我们提到了第一个挑战: 代表性数据集。 团队花费了大量时间来弄清楚如何生成代表典型呼叫情况的声音文件。

他们从有声读物中找出了男人和女人的典型声音,因为“男人和女人的声音之间确实存在语音差异”。 他们还使用带注释的YouTube数据集来标记录音中包含的声音,例如打字和音乐。 然后,Aichner的团队使用脚本以不同的信噪比组合语音和噪声数据。 然后,通过放大噪音,他们可以模仿通话中可能发生的不同情况。

,但有声读物与电话会议完全不同。 这不影响模型并因此影响噪声抑制的效果吗?

“这是一个好点,”艾希纳(Aichner)承认。 “我们的团队还进行了一些记录,以确保我们不仅对生成的合成数据进行训练,而且还对实际数据进行处理。但是,要获得那些真实记录会变得更加困难。”

隐私限制

不允许aichner的小组查看任何用户数据。 此外,Microsoft中有非常严格的隐私保护规则。 “我不能说,”现在我将开始记录每个会议。 “因此,

团队无法使用Microsoft团队进行呼叫。即使有些员工愿意让他们记录会议,他们仍然需要在有明显噪音的情况下进行记录。

”,这就是我们只做一些小型会议的原因 现在工作,以确保我们可以使用各种设备,扬声器等收集一些真实的录音。”艾希纳说,“下一步,我们需要将它们用作测试集,即在接近真实会议场景的情况下测试数据。 让我们看看我们是否使用了准确的训练集,以及我们在测试集上的表现如何? 当然,对于我来说,理想的情况是拥有一个包含所有团队录音并带有人们听到的所有噪音的训练集。 但是现实是,我无法像获取其他开源数据一样容易地获得相同大小的数据。 “

加他说,”您可能会说它应该更好。 当然,如果有更多代表性数据,可能会更好。 因此,我认为将来可以看到是否可以进一步改进。 但是就目前而言,即使它只是使用现有的公共数据,它的表现也很好。

云和边缘

的下一个挑战是确定:如何建立神经网络,模型结构应该如何以及如何进行迭代。机器学习模型已经进行了很多调整,这需要大量的计算 ,这使aichner的团队需要花费很长时间才能理解(当然,必须是??)该模型是在GPU上训练的。

“很多机器学习任务都是在云中完成的,” aichner说,“ 例如,对于语音识别任务,如果您对着麦克风讲话,语音将被发送到云中。借助云中强大的计算能力,可以运行这些大型模型来识别这种声音。但是对我们来说,因为 是实时通信,我需要处理每个帧,如果是10毫秒或20毫秒,那么我需要在这段时间内完成处理,这样我才能立即将其发送回给您,因此无法发送 将其发送到云端,等待噪声被抑制,然后将其发送回去。 唱云可能是有意义的。 但是对于实时噪声抑制,这没有任何意义。 一旦有了机器学习模型,就应该缩小它以适合客户,可能是手机或计算机。 仅针对拥有高端机器的人的机器学习模型是没有意义的。

将处理推进到边缘

的另一个原因是,它将机器学习模型保持在边缘而不是在云中:Microsoft希望限制服务器的使用,有时甚至是在开始时。 对于Microsoft团队中的一对一呼叫,呼叫设置是通过服务器进行的,但是实际的音频和视频信号包是直接在两个参与者之间发送的。 对于小组电话或预定的会议,需要有一台服务器,但是Microsoft会最小化该服务器上的负载。 为每个呼叫执行大量服务器处理不仅会增加成本,还会增加每个其他网络跃点的延迟。 从成本和延迟的角度来看,边缘端的处理效率会更好。

:“您需要确保向客户端进行尽可能多的计算,因为它实际上并不涉及任何成本。您已经拥有一台笔记本电脑,PC或移动电话,只需执行其他操作即可。只要您 CPU没有过载,没有问题,”艾希纳说。

指出电池寿命,特别是未处于连接状态的设备的电池寿命是成本之一,艾奇纳说:“是的,当然,我们也要注意这一点,我们不希望 仅通过添加一些噪声抑制功能来减少设备的电池寿命。这绝对是另一个需要满足的问题,以确保这没什么大不了的。“

下载大小和未来的

团队不仅应该考虑可能 失败,而且