当前位置:  开发笔记 > 编程语言 > 正文

CNTK:序列到序列处理的损失函数

如何解决《CNTK:序列到序列处理的损失函数》经验,为你挑选了0个好方法。

我正在为音素对齐做一个序列到序列的模型.特别是我的火车数据看起来像配对序列(音素 - 长度),其中音素是单热矢量,长度是浮点数.所以我想用一个音素序列为模型提供信息并获得相应的长度序列.

我的网络通常是这样构建的:

model = Sequential(
    EmbeddingLayer{embeddingSize} : 
    RecurrentLSTMLayerStack {lstmDims} :
    LinearLayer{1}
)

如果我LinearLayer{1}做对了,应该从lstmDims1 转换为1.因此,当我用长度为N的序列提供模型时,我应该得到一个长度为N的结果序列.

现在我想建立一个适当的损失函数,我认为应该是已知结果序列的元素和模型输出之间的平均差异.应该通过时间轴进行平均,以便可以管理不同长度的序列.

我打算做点什么

objectives = Input(1) #actually a sequence here as stated in the reader
result = model(features)
errs = Abs(objectives - result)
loss_function = ReduceMean(errs)
criterionNodes  = (loss_function)

但在减少运营中,它明确指出

这些操作不支持减少序列.相反,您可以通过重复实现此目的.

我不确定如何使用复发来完成我的任务.我也不确定整个概念是否合适.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有