Skip to content

Latest commit

 

History

History
72 lines (64 loc) · 2.17 KB

augment.md

File metadata and controls

72 lines (64 loc) · 2.17 KB

数据增强

数据增强是用来提升深度学习性能的非常有效的技术。通过在原始音频中添加小的随机扰动(标签不变转换)获得新音频来增强的语音数据。开发者不必自己合成,因为数据增强已经嵌入到数据生成器中并且能够即时完成,在训练模型的每个epoch中随机合成音频。

目前提供五个可选的增强组件供选择,配置并插入处理过程。

  • 噪声干扰(需要背景噪音的音频文件)
  • 速度扰动
  • 移动扰动
  • 音量扰动
  • SpenAugment增强方式

为了让训练模块知道需要哪些增强组件以及它们的处理顺序,需要事先准备一个JSON格式的扩展配置文件。例如:

[
  {
    "type": "noise",
    "params": {
      "min_snr_dB": 10,
      "max_snr_dB": 50,
      "noise_manifest_path": "dataset/manifest.noise"
    },
    "prob": 0.5
  },
  {
    "type": "speed",
    "params": {
      "min_speed_rate": 0.9,
      "max_speed_rate": 1.1
    },
    "prob": 0.5
  },
  {
    "type": "shift",
    "params": {
      "min_shift_ms": -5,
      "max_shift_ms": 5
    },
    "prob": 0.5
  },
  {
    "type": "volume",
    "params": {
      "min_gain_dBFS": -15,
      "max_gain_dBFS": 15
    },
    "prob": 0.5
  },
  {
    "type": "specaug",
    "params": {
      "F": 10,
      "T": 50,
      "n_freq_masks": 2,
      "n_time_masks": 2,
      "p": 1.0,
      "W": 80,
      "adaptive_number_ratio": 0,
      "adaptive_size_ratio": 0,
      "max_n_time_masks": 20
    },
    "prob": 1.0
  }
]

train.py--augment_conf_file参数被设置为上述示例配置文件的路径时,每个epoch中的每个音频片段都将被处理。首先,均匀随机采样速率会有50%的概率在 0.95 和 1.05 之间对音频片段进行速度扰动。然后,音频片段有 50% 的概率在时间上被挪移,挪移偏差值是 -5 毫秒和 5 毫秒之间的随机采样。最后,这个新合成的音频片段将被传送给特征提取器,以用于接下来的训练。

使用数据增强技术时要小心,由于扩大了训练和测试集的差异,不恰当的增强会对训练模型不利,导致训练和预测的差距增大。