LSTM之TF-LSTM和Grid-LSTM

本文介绍了一种新的LSTM变体——时频LSTM(TF-LSTM),用于语音识别任务。TF-LSTM结合了时间LSTM(T-LSTM)和频率LSTM(F-LSTM)的优点,能有效捕捉语音信号的时频特性。与传统的CNN相比,TF-LSTM在特征提取方面表现更佳,尤其在处理频带间相关性时。然而,其计算复杂度较高,训练速度较慢。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载:https://www.jianshu.com/p/31384e5e6e16

目录

一、简介

二、T-LSTM

三、F-LSTM

优点:

四、TF-LSTM

五、Grid-LSTM


一、简介

F-LSTM和TF-LSTM主要目的是为了取代CNN作为特征提取的工具,来达到对频带间相关性建模的目的。F-LSTM和TF-LSTM也是通过类似卷积的方式,通过一个小的滑动窗来捕获语音的平移不变性。

因为使用Peephole方式的LSTM效果更好一些,因此本文提到了LSTM都是使用Peephole连接方式。
通过对比实验,Grid-LSTM与TF-LSTM特征提取的效果要比CNN好很多,但同时计算速度也慢很多。

                                                                                      T/F-LDNN

二、T-LSTM

T-LSTM就是原始的LSTM,沿着时间轴,将每帧输入LSTM中进行预测。即上图横向。

三、F-LSTM

F-LSTM的形式与T-LSTM类似,只不过输入有变化,其中的

即将每帧语音按照长为 F的滑动窗 进行分割,并且 步长为S,输入到F-LSTM中。
则特征维度为N的一帧语音被分割为L = (N - F)/S + 1 块。

形式化表述:

其中:

F-LSTM单元引入了如下信息:

优点:

  1. 与CNN类似,也是采用权值共享减少参数个数;
  2. 可以提取频带局部结构;
  3. 卷积通过pooling捕获频率的平移不变性,F-LSTM能够实现类似max-pooling的作用,并且省去了对pooling操作调参的步骤;

 

四、TF-LSTM

                                                                                        手绘示意图

因为语音的时域和频域存在相关性,因此对时频同时建模来引入时频之间的相关性。

形式化表述:

TF-LSTM单元引入了如下信息:

五、Grid-LSTM

TF-LSTM与Grid-LSTM的最大差别就是Grid-LSTM在time-domain和frequency-domain分别各有一个LSTM单元,而TF-LSTM是将time-domain和frequency-domain放在一个LSTM单元里。
Grid-LSTM分别得到时域和频域的输出,然后将两者拼接(concatenate)到一起。

但是两个LSTM单元在训练时计算量很大,导致Grid-LSTM训练速度比TF-LSTM慢很多,但是也可以令gF-LSTM和gT-LSTM的权值共享,可以加快LSTM的训练速度,降低计算开销。

形式化表述:

Grid-LSTM单元引入了如下信息:


 

### CNN-LSTM 模型的超参数设置与调优方法 CNN-LSTM 模型是一种结合卷积神经网络(Convolutional Neural Network, CNN)长短期记忆网络(Long Short-Term Memory, LSTM)的混合架构,广泛应用于时间序列预测任务。为了获得良好的性能表现,合理设置并优化超参数至关重要。 #### 1. 常见超参数及其作用 以下是 CNN-LSTM 模型中常见的超参数以及它们的作用: - **CNN 层的卷积核数量** 卷积核的数量决定了模型能够提取多少不同的局部特征。增加卷积核数量可以增强模型的学习能力,但也可能导致过拟合[^1]。 - **CNN 层的卷积核大小** 卷积核的尺寸影响了模型捕获的空间模式范围。较小的卷积核适合捕捉细粒度特征,较大的卷积核则更适合全局特征。 - **LSTM 层的单元数量** LSTM 的隐藏层单元数控制着模型的记忆容量表达能力。过多的单元会增加计算负担,而太少可能无法充分建模复杂的动态特性。 - **学习率 (Learning Rate)** 学习率决定梯度下降过程中每一步更新权重的速度。较高的学习率可能会导致训练不稳定甚至发散;较低的学习率虽然更稳定,但收敛速度较慢。 - **训练轮数 (Epochs)** **批处理大小 (Batch Size)** 训练轮数指整个数据集被用来训练模型的次数,而批处理大小表示每次迭代使用的样本数目。这两者共同影响模型的收敛性泛化能力。 #### 2. 调优策略 针对上述超参数,有多种有效的调优方式可供选择: - **基于经验的手动调整** 初始阶段可以根据领域知识或已有研究推荐值来设定超参数。例如,在图像分类任务中常用的小尺度卷积核(如 \(3 \times 3\) 或 \(5 \times 5\)) 可作为起点。 - **网格搜索 (Grid Search)** 网格搜索通过穷举法遍历指定范围内所有可能的超参数组合,最终选取使目标函数达到最优的那个配置。然而这种方法耗时较长,尤其当维度较大时不可行。 - **随机搜索 (Random Search)** 随机搜索从候选区间内随机抽取若干组超参数进行评估,相比网格搜索能更快探索高维空间,并且往往能找到接近最佳解的结果。 - **贝叶斯优化 (Bayesian Optimization)** 这种高级算法利用概率模型推断潜在的最佳区域,从而指导后续试验点的选择,具有更高的效率准确性。 #### 3. 实际应用中的注意事项 在实际操作期间还需注意以下几点事项以提升效果: - 数据量充足与否直接影响到能否有效防止过拟合并获取良好推广性能; - 复杂结构意味着更高运算需求,因此需考虑硬件条件限制因素; - 不同应用场景下各类误差衡量标准重要程度各异,应综合考量选用合适评价体系。 ```python import tensorflow as tf from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense model = Sequential() # 添加一维卷积层 model.add(Conv1D(filters=64, kernel_size=3, activation='relu', input_shape=(n_timesteps, n_features))) model.add(MaxPooling1D(pool_size=2)) # 将三维张量展平成二维再送入LSTM model.add(LSTM(50, activation='relu')) model.add(Dense(1)) model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.001), loss='mse') history = model.fit(X_train, y_train, epochs=200, batch_size=32, validation_data=(X_val, y_val)) ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值