2015ICCV会议最佳论文奖,即有着“计算机视觉界最高奖”之称的马尔奖(Marr Prize)授予了由微软剑桥研究院(Microsoft Research, Cambridge UK)、卡内基梅隆大学和意大利布鲁诺凯斯勒研究中心(Fondazione Bruno Kessler)合作的论文“深度神经决策森林(Deep Neural Decision Forests)”。论文提出将分类树模型和深度神经网络的特征学习相结合进行端到端训练的深度学习方法。该方法使用决策森林(decision forest)作为最终的预测模型,提出了一套完整的、联合的、全局的深度学习参数优化方法。在手写数据库MNIST和图像分类数据库ImageNet的实验中都取得了超越当前最好方法的结果。这是傅建龙老师、梅涛老师和罗杰波老师对本篇论文的简介。
本人最近要作这篇文章的组会报告,在以上三位老师介绍的基础上,有了大概的了解,对这篇论文进行了学习。我们做深度学习的同学都知道,怎么训练学习模型和测试是重点,即将深度学习框架和随机森林结合在一起,如何前向传播和反向传播呢?以及叶子节点预测分布的更新?本篇博客分为三个部分重点阐述这些问题。
一、前向传播
预备知识:由图可知,每个分离节点(split nodes)的参数由DNN来学习(representation learning),DNN最后一层是全连接层,每个节点单元的输出作为分离节点决策函数(d1,d2,...)的输入参数,本篇论文采用的决策函数是sigmoid函数。知道决策函数后,我们可以计算其路径函数(routing function),每棵树的根节点,其路径函数的值赋予1,然后乘以该节点的决策函数值d,得到左边子节点的路径函数1*d,右边子节点的路径函数值为1*(1-d),以此类推,可以计算出每颗决策树节点的路径函数。
首先,我们要初始化分离节点决策函数的参数(theta),以及对叶子节点分布参数(pai)初始化为均匀分布。然后根据上面内容计算各个节点的路径函数(routing function)。当数据集的标签确定时,叶子节点的预测类别也是确定的,初始化时是均匀分布,当训练完成时,其(prediction)满足一定的概率分布。
然后,当样本来时,通过DNN,得到分离节点决策函数的参数,从而计算出决策函数和路径函数(routing function),到叶子节点时,我们使用该节点的路径函数乘以该节点监督类别的概率,作为预测输出,并通过对每个节点的预测输出进行求和,得到这棵树的预测输出,这样,我们就可以得到各个类别的概率输出。
二、反向传播
本篇论文的反向传播分为两个部分,第一部分是决策树的反向传播,第二部分是DNN的反向传播,紧跟在决策树后面,DNN的反向传播大家都很清楚。下面我们重点说一下本篇论文决策树如何反向传播?
由Decision tree决定的梯度部分,可以换算成如下公式:
即,由决策函数和A函数决定,在反向传播的过程中,首先达到的是叶子节点,通过以上公式,可以计算出叶子节点的决策函数和A函数,再往上,父节点的A函数由子节点的A函数相加得到,以此类推,只需一次反向遍历,就可以完成反向传播。
三、叶子节点分布函数
本篇论文采用交替迭代的方法,依次更新决策函数的参数和叶子节点分布函数,以上内容是对决策函数参数的迭代,对叶子节点分布函数的迭代如下:
为什么采用这个更新策略,文章作者在补充材料里进行了证明,即采用这种方式,目标函数是收敛的。本篇论文的迭代策略是:
以上是我对本文的理解,错误之处,烦请指出,谢谢!
关于2015 ICCV会议情况,推荐这篇文章:【CCCF动态】视觉的饕餮盛宴:第15届国际计算机视觉会议

解读“Deep Neural Decision Forests” 2015 Winner of the David Marr Prize相关推荐

  1. [论文品读]·d-vector解读(Deep Neural Networks for Small Footprint Text-Dependent Speaker Verification)

    Deep Neural Networks for Small Footprint Text-Dependent Speaker Verification 目录 ABSTRACT 1. INTRODUC ...

  2. 【翻译】Aggregated Residual Transformations for Deep Neural Networks

    Aggregated Residual Transformations for Deep Neural Networks 作者:Saining Xie1 Ross Girshick2 Piotr Do ...

  3. 论文阅读:Aggregated Residual Transformations for Deep Neural Networks

    本萌新记录一下看过的论文,如果理解有误大佬们体谅下QAQ. 摘要: 作者提出一个用于图像分类的.简单.高度模块化的网络结构.该网络是通过重复一个构建块(building block)来构建的,该构建块 ...

  4. Deep Neural Network Architectures for Modulation Classification解读

    摘要:在这项工作中,探讨了深度学习在无线信号调制识别任务中的应用价值.最近在[1]中,引入了一个框架,通过使用GNU无线电生成一个数据集,该数据集模拟真实无线信道中的缺陷,并使用10种不同的调制类型. ...

  5. Audio-based snore detection using deep neural networks解读

    0 摘要 Background and Objective: 打鼾是一种普遍现象. 它可能是良性的,但也可能是阻塞性睡眠呼吸暂停 (OSA) 一种普遍存在的睡眠障碍的症状. 准确检测打鼾可能有助于筛查 ...

  6. AlphaGo是如何炼成的:解读论文 Mastering the game of Go with deep neural networks and tree search

    这篇发表在nature 2016年1月27日上的文章题目为:"Mastering the game of Go with deep neural networks and tree sear ...

  7. 3.Deep Neural Networks for YouTube Recommendations论文精细解读

    一.总述 今天分享的是Deep Neural Networks for Y ouTube Recommendations这篇论文的一些核心,这篇论文被称为推荐系统工程实践领域的一篇神文,每一个细节都值 ...

  8. 论文解读《Structured Pruning for Deep Neural Networks with Adaptive Pruning Rate Derivation Based on Con》

    论文:Structured Pruning for Deep Neural Networks with Adaptive Pruning Rate Derivation Based on Connec ...

  9. 吴恩达深度学习2.1练习_Improving Deep Neural Networks_initialization

    转载自吴恩达老师深度学习练习notebook Initialization Welcome to the first assignment of "Improving Deep Neural ...

最新文章

  1. Windows下Go语言的安装和运行
  2. WDS使用捕获映像制作企业自定义映像
  3. ndarray的数据类型
  4. eclipse打开jar包出现乱码问题解决方法
  5. Windows域内的时间同步
  6. PLSQL中Database怎么填
  7. Linux文件权限查看及修改命令chmod,chown
  8. java基本数据类型和包装类相互转换
  9. 黑马程序员-10 IO流2 File,properties,合并流,对象持久化,管道流,RandomAccessFile...
  10. Java启动参数与内存调优一些学习笔记
  11. NOIP2016普及组第一题:买铅笔
  12. 小结SpringMVC(二)
  13. linux centos安装wine qq,ubuntu安装wine QQ
  14. Linux中vi命令用法
  15. 这款免费的低代码平台将是你创业路上的助推器
  16. CodeForces 1293A——ConneR and the A.R.C. Markland-N【签到题】
  17. 解决Vscode使用LeetCode报错Failed to test the solution. Please open the output channel for details.
  18. 安卓掌读小说v1.5.8破解版免费分享
  19. IDEA谷歌翻译插件提示:更新 TKK 失败,请检查网络连接
  20. Photoshop:使用层遮照制作图像渐变特效(2)

热门文章

  1. 基于Kera框架的手写数字识别
  2. JAVASE零基础入门——package、封装、继承、访问权限修饰符、super、重写、Javabean 和 final 关键字
  3. 清华大学计算机接收调剂吗,2018年清华大学校内接收调剂生信息公布
  4. 仿真阿克曼小车+3D激光雷达velodyne并使用lego-LOAM与octomap建图
  5. 数据量大如何优化?如何优化数据?
  6. 思科精睿RV042路由器使用PPPOE频繁掉线解决方法
  7. Jenkins 集成蒲公英
  8. java.lang.UnsatisfiedLinkError: dlopen failed: quot;/data/app/lib/arm/libiProtectPAB.so invalid
  9. OYE-001(哦耶路由器)JTAG使能方法
  10. 搭建Android源码调试环境(三)——调试C/C++(使用CLion)