FaSNet(filter-and-sum network)
1. 研究动机与问题
- 传统波束成形(beamforming)方法在语音增强、语音分离和语音识别任务中表现良好,但大多数为非因果(non-causal)系统,需要较长的上下文来稳健估计通道间特征。
- 在需要低延迟(low-latency)的应用场景中(如实时语音处理),传统频域方法存在明显不足:频率分辨率与输入信号长度之间的权衡会导致可感知的系统延迟。
- 基于掩膜(mask-based)的神经波束形成器在因果/在线场景下性能会严重下降。
2. 现有神经波束形成器的三大分类
| 类别 | 方法 | 特点 |
|---|---|---|
| 滤波法 (Filtering-based) | 学习一组波束成形滤波器,进行滤波-求和(FaS) | 时域或频域,滤波器可为固定或自适应 |
| 掩膜法 (Masking-based) | 通过估计 T-F 掩膜来计算空间协方差特征,用于 MVDR/GEV 等 | 依赖长片段进行稳健估计,在线性能差 |
| 回归法 (Regression-based) | 隐式地通过网络学习多通道到单通道的映射 | 不显式生成波束成形滤波器 |
FaSNet则是基于滤波法进行展开。按照我的理解来说,这里的滤波法就是在不依赖导向矢量的情况下学习波束权重,如果要不依赖导向矢量,则像是FaSNet,最常使用的就是互相关函数(其实也差不多),这里我也不知道为什么作者把MVDR归为masking based,不深究了
核心思想
FaSNet核心思想就是一个双阶段网络,直接处理时域数据,优点是实时与低延迟
第一阶段
由图可知,第一阶段需要计算参考麦克风和其他麦克风的互相关(论文中直接使用余弦相似度),并且由图中我们可以看到,所有信号均进行了截取,并且参考信号的截取长度更长,为3L,应该是为了充分得到互相关信息,也就是说每个通道的时间差应该在这个3L范围内
互相关计算会生成N-1个[1,2L+1]互相关向量(余弦相似度向量,NCC特征),然后通过平均池化为[1,2L+1]
然后,对于参考通道信号,有一层额外线性层将其投影为K维,与NCC特征拼接为[1,K+2L+1]输入进TCN网络(TCN网络内容不再展开)
TCN最终会输出C个用于参考信号的波束形成滤波器[C,2L+1],C为声源个数
参考信号通过滤波器后,即为第一阶段输出:去噪后的参考信号
第二阶段
将第一阶段输出作为输入(这里我们就不讨论声源个数的问题了),与每个通道再进行互相关计算得到N-1个NCC特征[1,2L+1]
与第一阶段不同的是,第二阶段是对其他麦克风通道信号进行额外投影至K维,再与NCC特征拼接,输入到一个共享TCN中。第二阶段的TCN输出为N个波束形成信号(可以理解为与参考信号进行了对齐的信号),最后与参考通道相加得到最终波束形成信号
关键技术细节
- 帧级处理:帧长 L,hop size H,上下文窗口 3L(覆盖 ±L 的跨麦克风延迟)
- NCC 特征:代替传统频域的 GCC-PHAT 特征,同时包含 TDOA 信息和信号内容信息
- TCN 结构:每个 TCN 有 R 个 repeat,每个 repeat 含 P 个 1-D 卷积块(R=2, P=5),嵌入维度 K=64,参数仅 0.76M
- 门控输出层:
tanh(pW+b) ⊙ σ(pV+q),用于生成滤波器
损失函数
- 信号质量任务:SI-SNR(尺度不变信噪比)
- ASR 任务:Mel 谱图的 SI-MSE
- 采用 uPIT(排列不变训练)解决输出排列问题
实验与数据集
| 任务 | 描述 | 使用数据集 |
|---|---|---|
| ESE | 回声噪声环境下的语音增强(去噪+去混响) | TIMIT + 模拟 RIR |
| ESS | 回声噪声环境下的两说话人语音分离 | TIMIT + 模拟 RIR |
| ASR | 多通道远场语音识别 | CHiME-3 |
- 圆形全向麦克风阵列(最多 4 个,直径 10cm),(这也太少了)
- 使用 image method 模拟房间脉冲响应(gpuRIR 工具)
- 源距离、房间尺寸随机采样