在Tensorflow中最小化连接主义时间分类(CTC)损失的最佳优化器
我目前正在尝试将用于语音识别的双向RNN(LSTMCell)的ctc损失降至最低。我正在使用MomentumOptimizer来实现这一点,正如我提到的一个示例中所使用的那样,但我既没有使用它的理论依据,也不知道这是否是用于更新权重的最佳优化器。下面给出了我如何计算损失和优化器的示例代码在Tensorflow中最小化连接主义时间分类(CTC)损失的最佳优化器,tensorflow,speech-recognition,lstm,recurrent-neural-network,Tensorflow,Speech Recognition,Lstm,Recurrent Neural Network,我目前正在尝试将用于语音识别的双向RNN(LSTMCell)的ctc损失降至最低。我正在使用MomentumOptimizer来实现这一点,正如我提到的一个示例中所使用的那样,但我既没有使用它的理论依据,也不知道这是否是用于更新权重的最佳优化器。下面给出了我如何计算损失和优化器的示例代码 loss = tf.nn.ctc_loss(outputs, targets, seq_len) optimizer = tf.train.MomentumOptimizer(learning_rate, Mo
loss = tf.nn.ctc_loss(outputs, targets, seq_len)
optimizer = tf.train.MomentumOptimizer(learning_rate, Momentum).minimize(tf.reduce_mean(loss))
请让我知道是否有更好的优化器,我可以使用 你需要进行实验。最受欢迎的是
Momentum
、Adam
和AdaGrad
。不幸的是,没有好办法。一般来说,这些优化器可以合理地处理各种各样的问题,但没有什么可以替代尝试所有超参数。我使用RMSPropOptimizer(0.001)为文本识别任务获得了最佳结果。当然,这并不意味着它可以很好地用于其他任务,比如语音识别。你需要进行实验。最受欢迎的是Momentum
、Adam
和AdaGrad
。不幸的是,没有好办法。一般来说,这些优化器可以合理地处理各种各样的问题,但没有什么可以替代尝试所有超参数。我使用RMSPropOptimizer(0.001)为文本识别任务获得了最佳结果。当然,这并不意味着它可以很好地用于其他任务,如语音识别。