首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向MatConvNet添加回归层

向MatConvNet添加回归层
EN

Stack Overflow用户
提问于 2015-04-07 15:19:26
回答 1查看 1.9K关注 0票数 3

我设计了一个微笑检测系统。该系统建立在深度学习的基础上,并在MatConvnet上实现。最后一层是系统的输出,根据人的微笑量有10个输出。我想用一个数字输出来转换这十个输出,在1到10之间使用一个回归层。我如何在MatConvNet中做到这一点。谢谢

EN

回答 1

Stack Overflow用户

发布于 2015-04-30 20:38:50

对于回归层,您必须将CNN的最后一层(通常是softmaxsoftmaxloss)替换为您自己的回归层。

为了在MatConvNet中定义自己的层,需要有以下内容:

  1. 损失函数
  2. 这个损失函数的梯度

回归损失函数的一个流行选择是平方误差损失。您应该看看softmaxloss是如何在MatConvNet中实现的,以及如何在examples/cnn_train.m中调用它。更多细节可以在MatConvNet文档中找到,也可以在关于平方丢失这里的反向传播的简短教程中找到。

建议:这不能回答你的问题。然而,考虑到你的问题,将你的10个输出分类转换成一个分数要比训练整个CNN进行回归要容易。

给你的十种微笑分配数字1到10。CNN会给出输入图像在所有这些类上的后验概率P(1.10)。只需取类标签上的加权和( 1*P(1) + 2*P(2) +.)得到一个真实值的数字来表示微笑的数量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29495145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档