创建连续条件随机场的自定义损耗

2024-04-28 21:13:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在尝试使用Keras实现1中显示的网络。该模型可分为两部分:第一部分称为超像素深度网络,它对以超像素分割的图像进行深度回归,第二部分是一个连续的条件随机场层,其目标是确保视频每帧预测的深度图的时空一致性。每个部分都有一组参数,W用于超级像素网络,alpha_s&alpha_t用于CRF。两种方法都采用随机梯度下降法联合训练。在

我实现超级像素深度网络没有问题,它只是VGG-16的前31层,然后是超级像素池层。对我来说,最棘手的是CRF层和以下损失函数:

loss function expression

在这个等式中:

  • 我是一个视频帧。在
  • d是地面真实超级像素深度的Nx1矢量,其中N是视频中的超级像素数。在
  • L是一个NxN矩阵,取决于alpha_s、alpha_t以及分割算法给出的超级像素之间的时空关系。在
  • Z是估计的超级像素深度的Nx1向量,取决于W

如果我没搞错,这个损失函数没有传统形式的“loss(y_true,y_pred)”,而是使用y_true(表达式中的d)和网络权重(z和L)。我的想法是使用函数API并编写一个自定义的损失函数来计算-logp(d | I),但是我想知道如何计算梯度?我读到hereKeras负责梯度计算,只要我们只使用现有的操作,但矩阵求逆不在tensorflow后端。我打个电话行吗矩阵求逆?在

谨致问候, 安布罗斯

1赵、徐然、王迅、陈启超。”使用深卷积神经网络和时空条件随机场的时间一致深度图预测〉,《计算机科学与技术杂志》32.3(2017):443-456。link


Tags: 函数alpha网络true视频矩阵像素条件