收藏本站

计算机视觉领域的核心算法--人工神经网络

人工智能传感器 人工智能传感器 1520 人阅读 | 0 人回复

发表于 2021-8-26 16:58:17 | 显示全部楼层 |阅读模式

计算机视觉领域的核心算法--人工神经网络
深度学习是机器学习的一个子领域,涉及受大脑结构和功能启发的算法,称为人工神经网络。
如果你刚开始涉足深度学习领域,或者你前段时间对神经网络有一些经验,你可能会感到困惑。我知道我最初很困惑,我的许多同事和朋友在 1990 年代和 2000 年代初学习和使用神经网络也是如此。
该领域的领导者和专家对深度学习是什么有一些想法,这些具体而微妙的观点为深度学习的全部意义提供了很多启示。
深度学习是大型神经网络
Coursera 的Andrew Ng和百度研究院的首席科学家正式创立了谷歌大脑,最终导致深度学习技术在大量谷歌服务中的产品化。
他已经发表了很多关于深度学习是什么的演讲和文章,这是一个很好的起点。
在早期关于深度学习的演讲中,安德鲁在传统人工神经网络的背景下描述了深度学习。在 2013 年题为“深度学习、自学学习和无监督特征学习”的演讲中,他将深度学习的思想描述为:
使用大脑模拟,希望:
– 使学习算法更好,更易于使用。
– 在机器学习和人工智能方面取得革命性进步。
我相信这是我们迈向真正人工智能的最佳机会
后来他的评论变得更加微妙。
Andrew 认为深度学习的核心是我们现在拥有足够快的计算机和足够的数据来实际训练大型神经网络。在 2015 年 ExtractConf 大会上,在题为“数据科学家应该了解深度学习的内容”的演讲中讨论为什么现在是深度学习起飞的时机时,他评论道:
我们现在可以拥有非常大的神经网络和……我们可以访问的大量数据
他还评论了重要的一点,即一切都与规模有关。当我们构建更大的神经网络并用越来越多的数据训练它们时,它们的性能会不断提高。这通常与在性能上达到稳定水平的其他机器学习技术不同。
对于大多数老一代学习算法……性能将趋于稳定。……深度学习……是第一类算法……可扩展。… 性能会随着您向他们提供更多数据而变得越来越好.
最后,他明确指出,我们在实践中看到的深度学习的好处来自监督学习。
在 2015 年的 ExtractConf 演讲中,他评论道:
今天深度学习的几乎所有价值都是通过监督学习或从标记数据中学习
早前在2014 年与斯坦福大学进行的题为“深度学习”的演讲中,他发表了类似的评论:
深度学习疯狂起飞的一个原因是它在监督学习方面非常出色
安德鲁经常提到,随着该领域的成熟,可以处理大量可用的未标记数据,我们应该并且将会看到轨道的无监督方面带来更多好处。
Jeff Dean是 Google 系统和基础设施组的向导和 Google 高级研究员,参与并可能部分负责 Google 内部深度学习的扩展和采用。Jeff 参与了 Google Brain 项目以及大型深度学习软件 DistBelief 和后来的TensorFlow 的开发。
在 2016 年题为“构建智能计算机系统的深度学习”的演讲中,他发表了类似的评论,深度学习实际上就是大型神经网络。
当您听到深度学习这个词时,就会想到一个大型的深度神经网络。深度是指典型的层数,因此这是新闻界采用的流行术语。我通常认为它们是深度神经网络。
他已经多次进行这个演讲,并且在同一个演讲的一组修改后的幻灯片中,他强调了神经网络的可扩展性,表明使用更多的数据和更大的模型,结果会变得更好,而这反过来需要更多的计算来训练。
深度学习是分层特征学习
除了可扩展性之外,深度学习模型的另一个经常被提及的好处是它们能够从原始数据中执行自动特征提取,也称为特征学习。
Yoshua Bengio是深度学习的另一位领导者,尽管他一开始对大型神经网络能够实现的自动特征学习有着浓厚的兴趣。
他根据算法使用特征学习发现和学习良好表征的能力来描述深度学习。在他 2012 年题为“ Deep Learning of Representations for Unsupervised and Transfer Learning ”的论文中,他评论道:
深度学习算法试图利用输入分布中的未知结构来发现良好的表示,通常在多个级别,并根据较低级别的特征定义较高级别的学习特征
他在 2009 年题为“ Learning deep architectures for AI ”的技术报告中详细阐述了这些方面的深度学习观点,他在报告中强调了层次结构在特征学习中的重要性。
深度学习方法旨在学习特征层次结构,其中特征层次结构的较高层次由较低层次的特征组合而成。在多个抽象层次上自动学习特征允许系统学习复杂的函数,将输入直接从数据映射到输出,而不完全依赖于人工设计的特征。
在与 Ian Goodfellow 和 Aaron Courville 合着的名为“深度学习”的即将出版的书中,他们根据模型架构的深度来定义深度学习。
概念的层次结构允许计算机通过将更简单的概念构建出来来学习复杂的概念。如果我们绘制一个图表,显示这些概念是如何相互叠加的,那么这个图表很深,有很多层。出于这个原因,我们将这种方法称为 AI 深度学习。
这是一本重要的书,很可能在一段时间内成为该领域的权威资源。这本书继续将多层感知器描述为一种用于深度学习领域的算法,给出了深度学习包含人工神经网络的想法。
深度学习模型的典型例子是前馈深度网络或多层感知器 (MLP)。
Peter Norvig是谷歌的研究总监,以其题为“人工智能:一种现代方法”的人工智能教科书而闻名。
在 2016 年的一次题为“深度学习和可理解性与软件工程和验证”的演讲中,他以与 Yoshua 非常相似的方式定义了深度学习,重点是使用更深层次的网络结构所允许的抽象力量。
一种学习,其中您形成的表示具有多个抽象级别,而不是直接输入到输出
为什么称之为“深度学习”?
为什么不只是“人工神经网络”?
Geoffrey Hinton是人工神经网络领域的先驱,共同发表了第一篇关于 训练多层感知器网络的反向传播算法的论文。
他可能已经开始引入短语“ deep ”来描述大型人工神经网络的发展。
他在 2006 年与他人合着了一篇题为“深度信念网络的快速学习算法”的论文,其中描述了一种训练受限玻尔兹曼机器“深度”(如在多层网络中)的方法。
使用互补先验,我们推导出一种快速、贪婪的算法,该算法可以一次一层地学习深度、有向的信念网络,前提是前两层形成无向关联记忆。
这篇论文和 Geoff 合着的题为“ Deep Boltzmann Machines ” on an undirected deep network的相关论文受到了社区的好评(现在被引用了数百次),因为它们是网络贪婪分层训练的成功例子,允许前馈网络中的更多层。
在《科学》杂志的一篇题为“用神经网络降低数据的维度”的合着文章中,他们坚持使用“深度”的相同描述来描述他们开发比以前典型的层数多得多的网络的方法。
我们描述了一种初始化权重的有效方法,它允许深度自动编码器网络学习比主成分分析更好的低维代码,作为降低数据维度的工具。
在同一篇文章中,他们发表了一个有趣的评论,与 Andrew Ng 关于最近计算能力的增加和对大型数据集的访问的评论相吻合,这些评论在更大规模使用时释放了神经网络未开发的能力。
自 1980 年代以来,很明显,通过深度自动编码器的反向传播对于非线性降维非常有效,前提是计算机足够快,数据集足够大,并且初始权重足够接近一个好的解决方案。现在三个条件都满足了。
在 2016 年与皇家学会进行的题为“深度学习”的演讲中,杰夫评论说,深度信念网络是 2006 年深度学习的开端,而这一新一波深度学习的第一个成功应用是在 2009 年题为“语音识别”使用 Deep Belief Networks 进行声学建模”,实现了最先进的结果。
正是结果让语音识别和神经网络社区注意到了,使用“深度”作为之前神经网络技术的差异化因素可能导致名称发生变化。
正如您所期望的那样,皇家学会演讲中对深度学习的描述非常以反向传播为中心。有趣的是,他给出了反向传播(读作“深度学习”)上次没有在 1990 年代起飞的 4 个原因。前两点与上面 Andrew Ng 关于数据集太小和计算机太慢的评论相符。
深度学习作为跨领域的可扩展学习
深度学习在输入(甚至输出)是模拟的问题领域表现出色。意思是,它们不是表格格式的一些数量,而是像素数据的图像、文本数据的文档或音频数据的文件。
Yann LeCun是 Facebook Research 的主管,是擅长图像数据中对象识别的网络架构之父,称为卷积神经网络 (CNN)。这项技术取得了巨大的成功,因为与多层感知器前馈神经网络一样,该技术可根据数据和模型大小进行扩展,并且可以通过反向传播进行训练。
这使他将深度学习定义为非常大的 CNN 的发展,这些 CNN 在照片中的对象识别方面取得了巨大成功。
在 2016 年劳伦斯利弗莫尔国家实验室的一次题为“加速理解:深度学习、智能应用和 GPU ”的演讲中,他将深度学习一般描述为学习分层表示,并将其定义为构建对象识别系统的可扩展方法:
深度学习 [是] … 一系列模块,所有这些模块都是可训练的。……深,因为在识别物体的过程中[有]多个阶段,所有这些阶段都是训练的一部分”
深度学习 = 学习分层表示
Deep Learning = Learning Hierarchical Representations
Slide by Yann LeCun,保留所有权利。
Jurgen Schmidhuber是另一种流行算法之父,像 MLP 和 CNN 一样,也可以随着模型大小和数据集大小进行缩放,并且可以通过反向传播进行训练,但它专门用于学习序列数据,称为长短期记忆网络 (LSTM),一种循环神经网络。
我们确实看到将该领域称为“深度学习”的措辞有些混乱。在他 2014 年题为“神经网络中的深度学习:概述”的论文中,他确实评论了该领域的命名问题以及深度学习与浅层学习的区别。他还有趣地根据问题的复杂性而不是用于解决问题的模型来描述深度。
浅层学习在哪个问题深度结束,深度学习开始?与深度学习专家的讨论尚未对这个问题做出决定性的回答。[…],为了这个概述的目的,让我定义一下:深度 > 10 的问题需要非常深度的学习。
Demis Hassabis是DeepMind的创始人,后来被谷歌收购。DeepMind 突破性地将深度学习技术与强化学习相结合来处理复杂的学习问题,例如玩游戏,在玩 Atari 游戏和使用 Alpha Go 的围棋游戏中得到了著名的证明。
为了与命名保持一致,他们将他们的新技术称为深度 Q 网络,将深度学习与 Q-Learning 相结合。他们还将更广泛的研究领域命名为“深度强化学习”。
在他们 2015 年发表的题为“通过深度强化学习进行人类级控制”的自然论文中,他们评论了深度神经网络在其突破中的重要作用,并强调了分层抽象的必要性。
为了实现这一点,我们开发了一种新型代理,即深度 Q 网络 (DQN),它能够将强化学习与一类称为深度神经网络的人工神经网络相结合。值得注意的是,深度神经网络的最新进展,其中使用多层节点来逐步构建更抽象的数据表示,使人工神经网络能够直接从原始感官数据中学习对象类别等概念。
最后,Yann LeCun、Yoshua Bengio 和 Geoffrey Hinton 在《自然》杂志上发表了一篇被认为是该领域定义性论文的论文,题为“深度学习”。在其中,他们以清晰的深度学习定义开头,突出了多层方法。
深度学习允许由多个处理层组成的计算模型学习具有多个抽象级别的数据表示。
稍后根据表示学习和抽象来描述多层方法。
深度学习方法是具有多个表示级别的表示学习方法,通过组合简单但非线性的模块获得,每个模块将一个级别(从原始输入开始)的表示转换为更高、更抽象级别的表示. [...] 深度学习的关键方面是这些特征层不是由人类工程师设计的:它们是使用通用学习程序从数据中学习的。
这是一个很好的通用描述,可以轻松描述大多数人工神经网络算法。这也是一个很好的结尾。
概括
在这篇文章中,您发现深度学习只是基于大量数据的非常大的神经网络,需要更大的计算机。
尽管 Hinton 及其合作者发表的早期方法侧重于贪婪的分层训练和自动编码器等无监督方法,但现代最先进的深度学习侧重于使用反向传播算法训练深度(多层)神经网络模型。
最流行的技术是:
多层感知器网络。
卷积神经网络。
长短期记忆循环神经网络

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则