aihot  2017-05-08 08:29:36  赢咖4平台 |   查看评论   

 深度学习

当我第一次碰到Kaggle图像识别竞赛的结果时,我不相信他们。我花了多年的时间与机器视觉,并报告准确的棘手的任务,如区分狗和猫超越任何我看到,或想象我会很快看到任何时间。为了了解更多,我接触了一个竞争对手,Daniel Nouri,他演示了他如何使用Decaf开源项目做到这一点。更好的是,他向我展示了他如何快速地将它应用于我们在Jetpac上的一系列其他图像识别问题,并且产生比我的传统方法更好的结果。
 
我从来没有遇到过这么大的改进,从一个几乎从来没有听说过的几年前的技术,所以我对痴迷于更多的理解。为了能够在数亿张照片中使用它,我建立了我自己的专业库,以有效地运行在低端机器和嵌入式设备的集群上的预测,我也花了几个月来学习神经网络的黑暗艺术。现在我热衷于分享我发现的一些东西,所以如果你对什么是深度学习很感兴趣,并且它将如何帮助你,我将在一系列的博客帖子中覆盖基础在雷达,和在即将到来的电子书。
 
那么,什么是深度学习?
 
这是一个涵盖建立和训练神经网络的特定方法的术语。神经网络自20世纪50年代以来就一直存在,并且像核聚变一样,它们是一个令人难以置信的实验室想法,其实际部署受到不断延迟的困扰。我将详细介绍神经网络如何工作一段时间,但现在你可以将它们视为决策黑盒子。它们采用数字数组(可以表示像素,音频波形或字),在该数组上运行一系列函数,并输出一个或多个数字作为输出。输出通常是一些属性的预测,你想从输入猜测,例如一个图像是否是一只猫的图片。

在黑盒子内部运行的函数由神经网络的存储器控​​制,称为权重的数组,定义输入如何组合和重组以产生结果。处理像猫检测这样的现实问题需要非常复杂的函数,这意味着这些数组非常大,在最近的计算机视觉网络的情况下包含大约6000万个数字。使用神经网络的最大障碍是如何将所有这些海量数组设置为值,这将很好地将输入信号转换为输出预测。
 
训练
 
让研究人员在他们身上工作的神经网络的理论性质之一是它们应该是可教的。在小规模上展示如何提供一系列示例输入和预期输出,并通过机械过程将权重从初始随机值递增到更好的数字,产生更准确的预测(我会给后来的实际演示)。问题一直是如何在更复杂的问题,如语音识别或计算机视觉与更大的权重做同样的事情。
 
这是2012年Imagenet论文的真正突破,引发了神经网络当前的复兴。 Alex Krizhevsky,Ilya Sutskever和Geoff Hinton汇集了一大堆加速学习过程的不同方式,包括卷积网络,巧妙使用GPU以及一些新奇的数学技巧,如ReLU和dropout,并且表明在几周内,可以训练一个非常复杂的网络,以超越传统的计算机视觉方法的水平。
 
这不是一种错误,类似的方法已经非常成功地用于自然语言处理和语音识别。这是深度学习的核心 - 已经发现的新技术,允许我们构建和训练神经网络来处理以前未解决的问题。
 
它与其他方法有什么不同?
 
对于大多数机器学习,困难的部分是识别原始输入数据中的特征,例如图像中的SIFT或SURF。深度学习消除了手动步骤,而是依靠训练过程来发现输入示例中最有用的模式。您仍然必须在开始训练之前对网络的内部布局做出选择,但是自动功能发现使得生活更容易。在其他方面,神经网络也比大多数其他机器学习技术更通用。我已经成功地使用原始的Imagenet网络来识别从来没有训练的对象类,甚至做其他图像任务,如场景类型分析。用于架构和训练网络的相同的底层技术对于所有种类的自然数据是有用的,从音频到地震传感器或自然语言。没有其他办法几乎是灵活的。
 
为什么要深入挖掘?
 
底线是深度学习工作非常好,如果你处理来自现实世界的凌乱的数据,它将是未来几年在你的工具箱中的一个基本要素。直到最近,这是一个晦涩难懂的领域,但它的成功带来了很多伟大的资源和项目,使得比以往任何时候更容易开始。我期待着带你通过其中一些,深入了解网络的内部工作,一般有一些乐趣探索我们可以用这种新技术做什么!
 

除特别注明外,本站所有文章均为 赢咖4注册 原创,转载请注明出处来自什么是深度学习

留言与评论(共有 0 条评论)
   
验证码:
[lianlun]1[/lianlun]