自己学习深度学习时,有哪些途径寻找数据集

云计算 VS 人工智能 VS 深度学习 VS 大数据 VS 量子计算
> 云计算 VS 人工智能 VS 深度学习 VS 大数据 VS 量子计算
云计算 VS 人工智能 VS 深度学习 VS 大数据 VS 量子计算
编者按:IT行业的发展速度可谓日新月异,几年前还是个人计算机(PC)当道,如今大家都在谈论“云计算”、“大数据”和“深度学习”,已被所有这些新术语搞得晕头转向。
&“”――这个概念是指,你可以根据需要来租用应用程序,然后通过互联网来访问它们,而不是购买应用程序,然后将应用程序安装到计算机上。就是这样,这就是“”。你可能已听说过“软件即服务”这个术语(简称“SaaS”)。这实际上就是一回事。它是指通过订阅服务来获取的一种集中托管的软件。对投资者来说,这个领域已上了轨道,像客户关系管理(CRM)SaaS提供商这些公司的10年回报率超过了780%。不过对于在计算机行业寻求下一大热门的投资者来说,“”和“SaaS”已成了旧新闻。本文引用地址:  “大数据”――这正如其名。“大数据”是指像“互联网”和基因组学这些新技术带来的庞大数据集。这些数据集极其庞大、极其复杂,以至于我们无法使用传统的应用软件来分析它们。我们需要开发新的应用软件来分析所有这些“大数据”。我们在最近的一篇文章中剖析了按收入排名前5强的数据存储公司。那些公司当中只有一家是可行的投资对象。也许如今这个领域最大的玩家是Palantir Technologies公司,这家年收入250亿美元的私营公司帮助解读所有这些“大数据”。存储这些数据是一回事,分析这些数据完全是另一回事,因为如今所有数据中80%并不是结构化数据,比如新闻文章、研究报告和企业数据。这就引出了下一个术语。  “深度学习”――这个领域从本质上来说指,我们可以教计算机拿来所有那些非结构化大数据后,开始使用各种算法来解读数据,比如模拟人脑工作机理方式的“人工神经网络”。深度学习使用算法来寻找所有那些“大数据”中的复杂关系,然后我们进一步改进那些算法,让它们日趋完善。计算机根据经验逐步学习的功能正是人脑自然的工作方式,有时也叫作“认知计算”。我们都可能听说过名为Watson的IBM认知计算平台,它就采用了深度学习技术,用来将语音转换成文本以及将文本转换成语音。虽然目前还没有任何一支专业的“深度学习”股票,但是如今有好几家初创公司在探究深度学习在众多行业的应用。深度学习或认知计算是的一种形式,这引出了下一个术语。  ――这个术语是指,计算机开始处理数据,并推断出复杂关系,就像人类那样。对此我们如何加以衡量?最流行的方法被称为“图灵测试”(Turing Test),不过一些研究人员对此不屑一顾,认为只有业余爱好者才会对此有兴趣。虽然IBM是专利的主要拥有者(拥有500多项专利),但人工智能领域也有另外好多家初创公司,比如我们之前介绍的一家名为Vicarious的公司,实际上大家都看好这家公司。Vicarious开发的软件代码可以模仿人脑,同时使用相对微量的数据和计算能力。虽然如今使用微量计算能力合情合理,但如果我们可以搞定量子计算,这可能不是个问题。  量子计算――这个术语是指,我们使用神奇的量子物理学,制造一种功能比现有的任何计算机都要强大得多的计算机。我们可能会开始谈论“量子纠缠”,以及需要将事物冷冻到绝对零度,不过普通人不会在乎任何这种技术细节。量子计算有什么样的潜力,我们现在处于什么样的阶段?就在最近谷歌宣布,它使用D-Wave 2解决了一个有1000个变量的优化问题,其速度比传统计算机快1亿倍。形象地来说,D-Wave 2在一秒钟内所能处理的任务需要传统计算机花10000年才处理得了。你在量子计算领域会如何投资?目前,这个领域的厂商数量不多。  所有这些技术预计在未来几年都会迎来迅猛发展,那么散户投资者如何在这方面赚到钱呢?IBM这个名字不断提及,所以IBM是这几个领域的合适投资对象吗?由于2014年收入高达920亿美元,“大数据”和Watson目前贡献的部分对整个公司收入的影响微不足道。话虽如此,我们还是喜欢IBM的3.8%收益率,由不到50%的派息率作为保障。  虽然最有前途的公司依然是私营公司,但是将来会有退出事件和首发上市(IPO)让投资者获利颇丰。散户投资者应着眼的下一站是,未来涉及这些领域的科技公司IPO。据数据分析公司CB Insights声称,2016年有两家“大数据”初创公司可能会IPO。实际上,CB Insights公司已列出了在2016年可能IPO的530多家科技初创公司,其中许多与“大数据”有关。
分享给小伙伴们:
我来说两句……
最新技术贴
微信公众号二
微信公众号一深度学习与大数据解析
日 18:44:33
来源:学习时报  作者:陈庆修
深度学习的概念于2006年提出,是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像、声音和文本,已被应用于许多领域,如人脸识别、语音识别等。深度学习已成为人工智能领域研究的热点。
随着人工智能的迅速发展,通过深度学习,用计算机来模拟人的思考、推理、规划等思维过程和智能行为取得了长足进步。人工智能的重要特征就是拥有学习的能力,也就是说系统的能力会随着经验数据的积累不断演化和提升。近年来,正是得益于深度学习为大数据处理开辟了有效途径,人工智能得到了空前发展。
机器学习来源于早期的人工智能领域,是计算机科学和统计学的交叉学科。它使用算法来解析数据、从中学习,然后对真实世界中的事件进行决策和预测。传统人工智能的机器学习是通过标记数据进行有监督学习,随着时间推移其多样性、复杂性和进化力也随之增长,呈现加速度特点,对于这种传统算法数据量越大负担越重,很容易达到极限或产生错误结果。
深度学习有明显长处,首先它是一套丰富的建模语言,或者说是建模框架,可以用来表达数据内在的丰富关系和结构,比如图像中的2D空间结构,自然语言的时序结构;其次,它几乎是唯一的端到端(end-to-end)的机器学习系统,它的目标是直接作用于原始数据,自动逐层做数据特征变换,整个学习过程直接优化某个问题相关的目标函数,而传统的机器学习往往被分解为几个不连贯的步骤,并非一致优化某个整体的目标。
大数据给人工智能的发展提供了前所未有的机遇。随着各个行业信息化程度的普及,数据积累地越来越多。大数据资产化和规模化具有很大的潜在价值,当没有足够高效的处理工具时,即使这些数据样本再大,也难以提取出任何有价值的东西。数据的数量和效率之间存在矛盾,收集更多的数据有助于提高最终结果的准确性,但数据量越大,处理起来就越费时费力。面对海量数据,如何低成本且高效率地存储和处理大数据任重道远。
数据挖掘是个很宽泛的概念,其常用方法大多来自于机器学习这门学科。深度学习可以更好地通过增加数据集的规模来改善学习结果,它取得成功的条件是,大规模训练数据集的支撑、先进的硬件平台支持、新的优化技术的创新。
从统计和计算的角度来说,深度学习是在海量数据中寻找复杂规律的算法工具。由于以深度学习分析和处理大数据效果不错,它自然而然就成了大数据挖掘开发应用的有力工具。如果把深度学习比作火箭的发动机,大数据就是燃料,深度学习可以利用大数据这种燃料将人工智能推到一个新高度。面对万物互联时代所产生的数据暴增,深度学习大有可为。
深度学习算法可以做到传统人工智能算法无法做到的事情,而且输出结果会随着数据处理量的增大而更加准确。这将大幅度提高计算机处理信息的效率,从而吸引更多的资源向它聚合,使其发展更为迅速。深度学习使得机器学习能够实现众多的应用,并可拓展人工智能的领域范围。
以深度学习挖掘无标签的数据是大数据时代的一个热点。仅以医学领域为例,经过深度学习训练的图像识别,从辨别血液中癌症的早期成分,到识别核磁共振成像中的肿瘤,在许多情况下甚至可以做得比人更好。今后医疗就变成了一个数据处理的过程,利用深度学习可以在基因未能被勘测的区域发现自闭症和癌症的突变迹象,通过构建虚拟现实可以治疗毒瘾、酗酒、自闭症等疾病。同时,由于机器在处理病情时可以做到完全按照数据处理结果进行客观诊断,所以不会像人类一样因为情感方面的原因作出错误判断。
深度学习带来更好的信息处理能力,不仅体现在人工智能领域,还体现在信息化医疗、经济社会、军事科技和资源环境等众多领域,从而产生广泛和深远的影响。有了深度学习,人工智能就会在语音识别、计算机视觉、自然语言理解、机器人、自动驾驶等领域取得突破性进展,甚至可以像科幻小说所描述的一样,使得所有的机器辅助功能都变为可能。
总之,大数据已经变成各个行业的基础架构,而真正能帮助这些行业处理好数据,并最终实现具体应用的还是深度学习。深度学习既可以从众多领域的大数据中淘出“金子”,又可以利用这些大数据为人工智能的发展插上翅膀。
( 网站编辑:田少星 )自己学习深度学习时,有哪些途径寻找数据集? - 知乎720被浏览22034分享邀请回答/projects/mnist-in-csv/
CIFAR 10 & CIFAR 100: 32x32 彩色图像。虽不再常用,但还是用了一次,可以是一项有趣的健全检查。
ImageNet: 新算法实际上的图像数据集。很多图片 API 公司从其 REST 接口获取标签,这些标签被怀疑与 ImageNet 的下一级 WordNet 的 1000 个范畴很接近。
LSUN: 场景理解具有很多辅助任务(房间布置评估、显著性预测等)和一个相关竞争。
PASCAL VOC: 通用图像分割/分类:对于构建真实世界的图像注释毫无用处,对于基线则意义重大。
SVHN: 来自谷歌街景视图(Google Street View)的门牌号数据集。把这想象成荒野之中的周期性 MNIST。
MS COCO: 带有一个相关性竞争的通用图像理解/字幕。
Visual Genome: 非常详细的视觉知识库,并带有 100K 图像的深字幕。
Labeled Faces in the Wild:通过名称标识符,已经为被裁剪的面部区域(用 Viola-Jones)打了标签。现有人类的子集在数据集中有两个图像。对于这里做面部匹配系统训练的人来说,这很正常。
文本分类数据集(2015 年来自 Zhang 等人):一个用于文本分类的合 8 个数据集为 1 个的大型数据集。这些是用于新文本分类的最常被报道的基线。样本大小从 120K 到 3.6M, 问题从 2 级到 14 级。数据集来自 DBPedia、Amazon、Yelp、Yahoo!、Sogou 和 AG。
WikiText:来自由 Salesforce MetaMind 精心策划的维基百科文章中的大型语言建模语料库。
Question Pairs:从包含重复/语义相似性标签的 Quora 释放出来的第一个数据集。
SQuAD: 斯坦福大学问答数据集(The Stanford Question Answering Dataset)——一个被广泛应用于问题回答和阅读理解的数据集,其中每个问题的答案形式是文本的一个片段或碎片。
CMU Q/A Dataset: 手动生成的仿真陈述问题/回答与维基百科文章的难度评级相对应。
Maluuba Datasets: 用于状态性自然语言理解研究的人工生成的精密数据集。
Billion Words: 大型,有统一目标的语言建模数据集。常被用来训练诸如 word2vec 或 Glove 的分布式词表征。
Common Crawl: PB 级规模的网络爬行——常被用来学习词嵌入。可从 Amazon S3 上免费获取。由于它是 WWW 的抓取,同样也可以作为网络数据集来使用。
bAbi: 来自 FAIR(Facebook AI Research)的合成式阅读理解与问答数据集。
The Children’s Book Test:从来自古登堡计划的童书中提取(问题+上下文,回答)组的基线。这对问题回答、阅读理解和仿真陈述查询有用。
Stanford Sentiment Treebank: 标准的情感数据集,在每一个句子解析树的节点上带有细腻的情感注解。
20 Newsgroups: 文本分类经典数据集中的一个。通常可用作纯分类或任何 IR/索引算法的基准。
Reuters: 旧的,纯粹基于分类的数据集与来自新闻专线的文本。常用于教程。
IMDB:一个用于二元情感分类的更旧更小的数据集。
UCI’s Spambase: 来自著名的 UCI 机器学习库较久的经典垃圾电子邮件数据集。由于数据集的策划细节,这可以是一个学习个性化过滤垃圾邮件的有趣基线。
大多数语音识别数据集是有所有权的,这些数据为收集它们的公司带来了大量的价值,所以在这一领域里,许多可用的数据集都是比较旧的。
2000 HUB5 English: 仅仅只包含英语的语音数据,最近百度发表的论文《深度语音:扩展端对端语音识别(Deep Speech: Scaling up end-to-end speech recognition)》就是使用了该语音数据集。
LibriSpeech:包括文本和语音的有声读物数据集。它是近 500 小时由多人朗读清晰的各类有声读物数据集,且由包含文本和语音的书籍章节组织起结构。
VoxForge:带口音的语音清洁数据集,特别是对于如期望对不同口音或腔调的语音有鲁棒性需求的系统很有用。
TIMIT:只包含英语的语音识别数据集。
CHIME:包含噪声的语音识别数据集。该数据集包含真实、模拟和清洁的语音记录。实际上是记录四个说话者在四个噪声源的情况下近 9000 份记录,模拟数据是在结合话语行为和清洁无噪语音记录的多环境下生成的。
TED-LIUM:TED 演讲的语音转录数据集。1495 份 TED 演讲的语音记录,并且这些语音记录有对应的全文本。
推荐和排序系统
Netflix Challenge:第一个主要 Kaggle 风格的数据库。因为存在隐私问题,只能非正式地获得授权。
MovieLens:各种电影的评论数据库,通常用于基线协同过滤(collaborative filtering baselines)。
Million Song Dataset:在 Kaggle 上大量、富元数据(metadata-rich)、开源的数据集,有利于人们试验混合推荐系统(hybrid recommendation systems)。
Last.fm:音乐推荐数据集,该数据集能有权访问底层社交网络和其他元数据,而这样的数据集正对混合系统有巨大的作用。
网络和图表
Amazon Co-Purchasing 和 Amazon Reviews:从亚马逊以及相关产品评论数据网络爬取的如「用户买了这个同时也会买哪个」这样的语句。适合在互联网中进行推荐系统的测试。
Friendster Social Network Dataset:在 Friendster 的重心转入到游戏网站之前,这家网站发布了包含 103,750,348 个用户好友列表的匿名数据集。
地理测绘数据库
OpenStreetMap:免费许可的全球矢量数据集。其包含了旧版的美国人口统计局的 TIGER 数据。
Landsat8:整个地球表面的卫星拍摄数据,每隔几周会更新一次。
NEXRAD:多普雷达扫描的美国大气环境。
人们常常认为解决一个数据集上的问题就相当于对产品进行了一次完整的审视。因为我们可以使用这些数据集进行验证或证明一个概念,但是也不要忘了测试模型或原型是如何获取新的和更实际的数据来提高运算效果,获得优良产品的。数据驱动的成功公司通常从他们收集新数据、私有数据的能力中获得力量,从而以一种具有竞争力的方式提高他们的表现。
参考链接:2576 条评论分享收藏感谢收起121 条评论分享收藏感谢收起查看更多回答1 个回答被折叠()只需一步,快速开始
后使用快捷导航没有帐号?
& 查看内容
如何在实战路上与时俱进:深度学习最佳实践
  引言  自2006年Hinton提出神经新的训练方法起,深度学习发展迅速,促使在图像、语音、自然语言处理等多个领域有了实质性的突破,达到产业应用标准。然而,深度学习作为人工智能领域的一项前瞻技术,实践性强,入门门槛高,关于深度学习的研究与应用,现在仍有很多问题没有找到满意的答案,这些都给深度学习的广泛应用带来挑战。本文旨在提供一份清晰、简洁的深度学习实践说明,以便从事深度学习研究与工程技术人员能够快速掌握深度学习的实际经验。  第一节:深度学习概述  深度学习是模拟人脑进行分析学习的多层神经网络,它模仿人脑的机制来解释数据,处理数据,通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征表示。深度学习本质上是机器学习技术的一种,根据一般的机器学习和深度学习的工作方法和我们的经验,我们认为采用深度学习技术解决实际业务问题的完整过程主要包括五个方面:问题理解与分析、训练环境构建、数据管理、模型训练以及生产应用。基于此,我们对每个环节分别阐述最佳实践,作为研究与工程应用的参考指南。  图一:深度学习解决问题的五个基本环节  第二节:问题理解与分析  深度学习不是一项“放之四海而皆准”的技术,采用深度学习解决复杂问题,首先需对实际问题全面剖析:问题是否适合采用深度学习解决,是否具备深度学习应用的数据条件,如何将实际业务问题转换成深度学习可以解决的技术问题等。  2.1场景分析  原则上,传统机器学习能够解决的问题,深度学习都能够解决,譬如传统机器学习主要面向学习类问题,包括有监督学习(分类和回归场景),无监督学习(聚类等),均能够采用深度学习网络训练模型和应用,但是两者应用效果会有所差异。依据实践,在如下场景,可以优先考虑采用深度学习:  (1)业界提供了公开成熟的深度学习网络模型的细分场景。面对这些场景的业务问题,可以基于公开的网络模型进行网络权重微调(fine-tune),能够达到不错效果。以图像识别为例,业界已经公开了AlexNet,ResNet等深度网络模型,在解决实际图像分类问题时可避免从头训练深度模型,在该模型的基础上, 使用样本数据进行模型参数优化(fine-tune)即可。  (2)深度学习应用成功的行业,譬如,深度学习在图像分类、语音识别、自然语言处理等感知领域均取得实际应用效果,并在行业内得到验证,因此如果问题域属于图像、语音、等领域的问题,深度学习应用效果往往比较理想。  (3)业务问题本身复杂,样本数据充足,但问题本身又无法或者难以用人工的方式提取特征,此时传统机器学习无法进行模型训练,采用深度学习,可以有效发挥深度学习自动提取特征的价值。  与此同时,某些场景并不适合采用深度学习来解决问题,譬如在小规模的数据场景下,深度学习容易过拟合(Overfitting),正如奥卡姆剃刀原则所说,“如无必要,勿增实体”。  此外,深度学习模型训练过程中,需要大量的浮点计算以及矩阵运算,若问题解决方不具备高效的计算环境以及海量样本数据的客观条件,也不推荐使用深度学习解决问题。  2.2数据评估  无论是有监督学习,还是无监督学习,深度学习的模型训练都建立在大量样本的迭代训练基础之上,在采用深度学习解决实际问题之前,需对问题领域数据仔细分析,衡量数据规模与质量。以下提供几条基本原则供借鉴:  (1)深度学习能够从样本数据自动提取特征,但在实际考查准备样本数据集时,建议尽可能与问题领域的业务专家充分交流,洞察问题与数据的相关性,剔除噪声数据,这样可以大大提高模型训练的效率,少走弯路。  (2)考察问题领域的存量数据后,若发现不是特别充裕,可考虑如下方法进行数据扩充:爬取公共数据;对已有数据进行变换,扩充数据,譬如利用反射变化扩充数据;人工制造,譬如人工拍摄图像数据等;与产业界公司进行数据合作等。详见4.1节。  (3)当采用业界公开的网络模型进行微调(fine-tune),需要进一步验证问题数据类型与公开网络模型训练数据类型的相似性。若两者数据类型差距比较大,采用微调(fine-tune)的方法训练出来的模型效果往往不理想,可能需要考虑从头开始训练新的模型。  (4)样本数据在整个深度学习模型训练过程不是一成不变的,模型实际训练过程中,会视模型的训练效果,不断进行多轮数据的迭代优化等,让样本数据类型覆盖更多的实际测试数据的类型,降低噪声数据。因此,需要牢记,数据考量会贯穿整个模型训练过程。  2.3问题抽象  在利用传统机器学习分析具体问题时,需要将问题抽象为有监督学习问题或者无监督问题。如果是有监督问题,还需要进一步抽象成分类或回归问题,最后再选择适合的算法来训练模型。深度学习本质上仍属机器学习范畴,因此利用深度学习解决实际问题,需要同样的问题抽象过程:  与传统机器学习一样,有监督学习问题和无监督学习问题主要由样本数据是否需要标签来决定:  (1)有监督学习问题通过有标签训练数据集的形式,在输入和输出的数据之间建立相关性。  (2)无监督学习问题通过分析非标记数据,帮助检测数据的相似性和差异性,譬如图片搜索和欺诈检测等应用场景。  当问题定位为有监督问题后,需进一步确认是分类问题还是回归问题,判断原则如下:  (1)回归问题通常用来预测一个值,如预测下一季度银行卡消费金额、交易笔数等等,回归是对真实值的一种逼近预测。  (2)分类问题是用于将数据打上一个标签,通常结果为离散值,分类并没有逼近的概念,最终正确结果只有一个,错误的就是错误的,不会有相近的概念。  当实际问题抽象成具体深度学习技术问题后,即可以结合问题的数据类型选择合适的深度网络结构进行模型训练,譬如图像数据处理,选择卷积神经网络(CNN)等,详见5.2节。  第三节:训练环境构建  构建深度学习研究环境首先要考虑硬件环境的支持,这也是深度学习算法区别于其他机器学习算法的重要一点,同时还要依据实际需求对深度学习软件框架进行规划和选择。  3.1硬件环境选择  深度学习需要很高的内在并行度、大量的浮点计算能力以及矩阵运算,传统的基于CPU集群的技术并不擅长处理这类问题,例如,斯坦福大学的研究人员Adam Coates采用GPU将三台计算机连贯在一起进行深度学习实验,结果却得到了与Google数千台计算机一样的效果。由此可见,只有更好的硬件加速条件,才能满足现有数据和模型规模继续扩大的需求。  目前,最主流的硬件加速器件非GPU莫属。最重要的是GPU出色的浮点计算性能特别提高了深度学习两大关键活动:分类和卷积的性能,同时又达到所需的精准度,并且在相同的精度下,相对传统CPU的方式,拥有更快的处理速度、更少的投入和更低的功耗。因此,Google和Facebook等巨头也在转向使用GPU作为硬件加速的基础原件。  此外,业界也出现了其他进行深度学习硬件加速的方案。比如,部分公司正在研究采用FPGA作为进行深度学习加速,以期使其对深度学习领域经常使用的上层软件兼容性更强,并行训练架构更加灵活。同时,FPGA在单位能耗下性能更强,这对大规模服务器部署或资源有限的嵌入式应用的研究而言也至关重要。  建设深度学习硬件加速环境需要较大的资金和技术投入,需要进行精细研究并审慎选择,建议遵循以下原则:  1、选择硬件加速环境时尽量采用具备更多用户友好工具的芯片,这样能够很好的降低学习门槛。  2、建立庞大且需要平行的深度网络,需要考虑硬件的开放性、数据并行和模型并行支持度,以及单位能耗特点。  3、深度学习模型训练过程中需对深度网络进行多次反向传导运算计算量大,而深度模型进行生产应用时只需进行前向传播计算,因此建议在训练环境中采用硬件加速,生产应用环境无需进行硬件加速。  3.2常用深度学习软件框架简介  深度学习是一个发展迅速的领域,除了众多学术界专家在理论方面的贡献之外,工业界也为深度学习提供了很多工具框架,例如,伯克利视觉和学习中心开发的Caffe,推出的开源深度学习框架CNTK,LISA开发的基于Python的Theano,Google主推的TensorFlow、以及Torch、MxNet等。目前来看,业界使用最多的是Caffe、Theano和TensorFlow。  (1)Caffe  Caffe是由伯克利视觉和学习中心(Berkeley Vision and Learning Center,BVLC)开发的基于C++/CUDA/Python实现的卷积神经网络框架,提供了面向命令行、Matlab和Python的绑定接口。Caffe 遵循BSD-2协议,代码组织良好,可读性强。同时,Caffe提供了一整套工具集,可用于模型训练、预测、微调、发布、数据预处理,以及良好的自动测试。  (2)Theano  Theano是由LISA开发的基于Python的深度学习框架,可以定义数学表达式并高效地优化、求值。Theano支持机器学习中的逻辑回归(LR)、多层感知器(MLP)、深度卷积网络等监督学习方法,以及自编码器(AE)、降噪自编码器、受限玻尔兹曼机(RBM)、深度置信网络(DBN)等非监督/半监督学习方法。但是Theano计算速度慢,虽然有GPU加速,但仍然不如其他框架高效。  (3)TensorFlow  TensorFlow是Google在2015 Google Research Blog宣布推出的新一代人工智能学习。TensorFlow是一个异构分布式学习系统上的大规模机器学习框架,移植性好,小到如,大到规模集群,都能支持。同时TensorFlow支持多种深度学习模型,随着TensorFlow源码不断开放,对新硬件、新设备、新的加速库如cuDNN的支持力度也在不断提升。  3.3深度学习软件框架选择  通过对Caffe、Theano、TensorFlow的研究经验,其优势与缺陷可归纳为下表所示:CaffeTheanoTensorFlow编程语言C++,Python,MATLABPythonPython预训练模型支持是是开端多GPU数据并行是是是多GPU模型并行否实验是训练速度非常快快快操作系统支持所有操作系统Linux, OSXLinux, OSX代码开源是否否RNN模型支持否是是        在实际的工作中,需要依据问题特征和业务需求进行深度学习框架工具的选择,以下是挑选工具框架的几点建议:  (1)进行数据特征提取或基于现有模型进行微调选用Caffe。  (2)需要对预训练模型进行复杂处理选用Theano。  (3)处理适用于RNN模型的问题,选用Theano或者TensorFlow。  (4)建立庞大且需要平行的深度网络模型时选用TensorFlow。  (5)Caffe、Theano、TensorFlow各有自身独特优势,在选择某一深度学习框架时要保持对其他工具技术发展的关注。  第四节:数据管理  深度学习是建立在对大量训练数据进行学习、特征提取等基础之上的实践性方法,深度学习模型只有在海量数据输入下才能达到最好的性能,可见有效的数据对深度学习的重要性。同时,数据管理中的数据的采集、处理等各环节也很有讲究,有些实践性的技巧。  4.1数据获取  依据获取数据的成本可将市场上的数据划分为三类:免费公开数据、付费公开数据以及私有数据。以下列举了不同类型数据的获取渠道:  (1)免费公开数据源  (a)公开的数据库  公开数据库是获取海量数据最简单有效的方式。公开数据库基本按照学术问题、行业应用划分针对性较强,而且数据库中数据大都经过人工整理和标注,规范性和易用性更强。以下是一些常用的公开数据库资源列表:平台名称数据库数据特点图像分析ImageNeta、1000类物体定位;b、200类物体检测;c、视频物体检测;d、365类场景分类;e、场景解析 MSCOCO包含检测、加标题、关键点三个任务 PASCAL五个挑战:分类、检测、分割、动作分类、person layout人脸识别LFW标准的人脸识别数据集 WebFace非限制场景人脸识别 FDDB标准人脸检测集  (b)网络爬虫  网络爬虫是获取各类网站公开数据的有效工具,使用网络爬虫是研究深度学习技术的一项必备技能。网络采集器属于网络爬虫的一种,通过软件的形式实现简单快捷地采集网络上分散的内容,具有很好的内容收集作用,而且不需要技术成本,可被用作为初级的数据采集工具,例如火车采集器、八爪鱼、集搜客等。此外,针对特定网站的特定数据采集需求,也可结合开源系统自行开发爬虫工具,这样具有更高的自由性和自主性。利用爬虫可以获取一些从其它渠道获取不到的数据资源,更重要的是帮助研究者打开寻找和搜集数据的思路。  (2)付费公开数据源  (a)化数据交易平台  数据交易平台是一些专注于综合数据交易和服务的公司,其致力于融合和盘活各类资源。可以通过数据购买的方式在数据交易平台上获取深度学习训练和测试数据。国内知名的商业化数据交易凭条有优易数据、数据堂等,其提供的服务和数据资源各有特色:优易数据由国家信息中心发起,拥有国家级信息资源的数据平台,国内领先的数据交易平台。平台有B2B、B2C两种交易模式。1、政务数据 2、数据3、数据 4、管理数据5、信息数据 6、商品数据 7、消费数据 8、社交数据数据堂专注于互联网综合数据交易,提供数据交易、处理和数据API服务。1、人脸识别数据 2、智能行车数据 3、电子商务数据 4、智能语音数据 5、智能交通数据 6、智能安防数据 7、基础语音识别数据 8、自然语言理解数据 9、OCR光学字符识别数据 10、智能教育数据  (b)政府性数据交易平台  随着国家十三五规划中提出的国家大数据战略的实施,各地方政府对大数据产业发展高度重视,因而国内政府性交易平台建设也蓬勃发展,成为重要的数据源头:华东江苏大数据交易平台立足互联网金融+大数据在行业垂直市场领域,为数据撮合、许可和买卖的双方搭建透明、公平的平台,并提供数据流转过程中的征信、评估、金融、法律等数据产业生态综合服务支持。提供数据交易,预处理交易,算法交易及大数据分析、平台开发,技术服务,数据定价,数据金融,交易监督等综合服务;基于数据金融资产化方向提供撮合、买卖,典当,融资,抵押,贷款等多种合作模式,为各经济主体(包括企业、机构、个人等)盘活数据存量资源提供全面解决方案。上海数据交易中心作为上海市大数据发展“交易机构+创新基地+产业基金+发展联盟+研究中心”五位一体规划布局内的重要功能性机构,上海数据交易中心承担着促进商业数据流通、跨区域的机构合作和数据互联、政府数据与商业数据融合应用等工作职能交易中心以国内领先的“技术+规则”双重架构,创新结合IKVLTP六要素技术,采用自主知识产权的虚拟标识技术和二次加密数据配送技术,结合面向应用场景的数据互联规则,将在全面保障个人隐私、数据前提下推动数据聚合流动。贵阳大数据交易所秉承“贡献中国数据智慧 释放全球数据价值”发展理念,志在成为全球最重要的交易所,旨在推动政府数据公开、行业数据价值发现立足贵阳,通过自主开发的电子交易系统,交易所面向全球提供7×24小时永不休市的大数据交易专业服务,数据交易品种涵盖金融、政府、医疗、社会、海关、能源、社交、商品、水电煤、法院、交通、企业、、银行卡、专利、教育、物流等大数据领域  (3)私有数据源  (a)商业合作交换  目前产业发展已经进入大数据时代,数据是企业生存的核心竞争力之一,因而各行各业对自身数据的保护都倍加关注,想通过付费或爬取的方式获得企业的核心数据就变得更加困难。然而,如果行业间的数据合作能够给双方带来巨大的数据增值收益,则可以通过推动跨领域商业合作的方式进行数据互换,从而完成数据收集形成完整的数据链。  (b)自建数据库  在有些数据是外界无法获取的情况下有可能需要自主进行数据采集并维护一个小型的数据库。为了保证数据采集的有效性在进行数据采集的过程中关键是明确数据要求。以银行卡分类问题为例,通常采用照片拍摄与视频拍摄,为了避免拍摄之后复杂的裁剪旋转工作,设定如下拍摄要求:  a)在拍摄板中央固定一个卡槽,相机固定在中央上方并与板面保持平行;  b)选择阳光、阴天、夜晚三个场景于室内室外分别拍摄。  c)增加可变灯光进行场景模拟。  4.2数据预处理  获取数据后需要进行数据处理,在深度学习中,常常面临数据不足的问题,在这种情形下,深度学习算法往往难以达到最优的效果,因此需要对现有的原始数据源进行必要的扩充与拓展或称为数据合成。以图片数据处理为例,常见的数据扩充方法大致有如下几种:  (1)旋转|反射变换(rotation/reflection): 随机旋转图像一定角度,改变图像内容的朝向。  (2)翻转变换(flip):沿着水平或者垂直方向翻转图像。  (3)缩放变换(zoom):按照一定的比例放大或者缩小图像。  (4)平移变换(shift):在图像平面上对图像以一定方式进行平移,可以采用随机或人为定义的方式指定平移范围和平移步长,沿水平或竖直方向进行平移,改变图像内容的位置。  (5)尺度变换(scale):对图像按照指定的尺度因子, 进行放大或缩小; 或者参照SIFT特征提取思想, 利用指定的尺度因子对图像滤波构造尺度空间. 改变图像内容的大小或模糊程度。  (6)对比度和亮度变换: 在图像的HSV颜色空间,改变饱和度S和V亮度分量,保持色调H不变。对每个像素的S和V分量进行指数运算(指数因子在0.25到4之间), 增加光照变化。  (7)噪声扰动(noise): 对图像的每个像素RGB进行随机扰动, 常用的噪声模式是椒盐噪声和高斯噪声。  此外,从视频中提取图片也是获取大量数据的有效途径,通过自制视频转换工具可将上述图片预处理方法进行集成,这样能够有效扩大数据采集量。  4.3数据标注  对于有监督的分类任务一项重要的工作就是数据标注。目前数据标注的方法可划分为人工标记与自动化标记。  (1)人工标注  对于分类问题,可以人工将类别相同的数据放在一个文件夹中,然后通过代码遍历访问数据形成分类标签。对于检测问题,需要人工用矩形框来标记图片中的物体,往往会采用标注工具,比如LabelImg,辅助完成。  (2)自动化标记  自动化标记则是通过少量样本人工标记,然后提取传统特征(比如SIFT、LBP等)并训练分类器,接着对大量待标记样本进行分类标记。经过一次分类器分类的样本标记往往错误较多,对于这批标记数据进行抽样训练另一个分类器进行分类,对于两次具有不同标签的数据进行人工修正,则可以以少量人力得到精度较高的标记数据。  第五节:模型训练5.1常用深度网络简介  深度学习技术的核心基础是深度网络模型,在其产生和发展演进的过程产生了诸多网络结构,目前常用的深度网络结构有DBN、CNN、RNN。下表对DBN、CNN、RNN的网络结构和特特性进行了简要对比。深度置信网络(Deep Belief Network,DBN)DBN即为若干个RBM模型的叠加,是有着多层隐藏解释因子的神经网络,这些网络被“限制”为一个可视层和一个隐层,层间存在连接,但层内的单元间不存在连接。DBN的网络结构使其具备较高灵活性,因而拓展比较容易。但其输入是简单的一维向量,因而并没有考虑到图像的2维结构信息。卷积神经网络(Convolutional Neural Network,CNN)卷积神经网络包含两类组成结构:卷积层(Convolutional Layer)和子采样层(Subsample Layer)也称池化层(Pooling Layer)。其中卷基层主要用于对输入数据应用若干过滤,并进行若干类型的特征提取,自采样层用以缩减输入数据规模。CNN的权值共享网络结构使之更类似于生物神经网络,降低了网络模型的复杂度,减少了权值的数量。使图像可以直接作为网络的输入,避免了传统识别算法中复杂的特征提取和数据重建过程。而且这种网络结构对平移、比例缩放、倾斜或者共他形式的变形具有高度不变性。循环神经网络(Recurrent Neural Network,RNN)RNN是一种节点定向连接成环的人工神经网络,由于构成RNN隐藏层的基本单元存在内部循环神经回路RNN具备状态记忆和状态转换功能,从而可以处理长时间依赖的问题。RNN已经被在实践中证明对NLP是非常成功的。在RNN中,目前使用最广泛最成功的模型便是LSTMs(Long Short-Term Memory,长短时记忆模型)模型,该模型能够更好地对长短时依赖进行表达。        5.2深度网络模型选择  学界对深度网络所使用的问题已经有了基本的认识,下表给出了一些深度学习算法和对应的领域:数据应用场景输入Neutral Net文本情感分析词向量RNTN或DBN(包含滑动窗口) 命名实体识别词向量RNTN或DBN(包含滑动窗口) 词性标注词向量RNTN或DBN(包含滑动窗口) 语义角色标注词向量RNTN或DBN(包含滑动窗口)文档主题建模/语义哈希(非监督)词频深度自编码器(嵌入 DBN或SDA) 文档分类(有监督)TF-IDF(或词频)DBN,SDA图像图像识别字节流CNN 多目标识别 CNN,RNTN 图像搜索/语义哈希 深度自编码器(嵌入 DBN)声音语音识别 RNN或CNN时间序列预测分析 RNN        因而,建议从问题特征出发选择对应的深度网络结构,并遵循如下原则:  (1)对于文本领域,整体选择RNTN(递归张量神经网络)或DBN来处理,RNTN是RNN(循环神经网络)的一个变种。  (2)对于文档(相对于文本更大),选择自编码器或者DBN解决问题。  (3)对于图像来说,DBN或CNN应用更多,处理图像搜索或图片语义问题采用自编码器更好。  (4)处理声音问题,选择RNN或CNN。  (5)处理时间序列问题,比如预测分析,选择DBN或DNN。  5.3参数调优技巧  在确定深度网络结构后,需要通过大量训练和测试以获取有效的模型,以下是一些常用的参数设定和调优原则。  (1)尽量基于成熟模型进行微调(fine-tune)  深度网络参数训练优化是一项冗长而复杂的工作,若技术人员的经验不足,则容易导致训练过程参数不收敛或者陷入局部最优而得不到很好的结果。因此,基于前人已经训练好的网络参数模型进行微调是目前通行的良好实践原则。  (2)权重初始化策略  在开始训练深度网络之前,需要对网络连接权值进行初始化,目前在神经网络中建议使用的权重初始化策略是将值归一化到范围[-b,b],b为:  和分别是权值向量之前和之后的隐藏层大小,这样有助于加速网络参数收敛,避免局部最优或网络失灵。  (3)高维度网络结构克服局部最小  深层网络由于是高度非线性的,有着太多的局部极值,传统观念认为在这样的条件下很难保证能够得到一个可以接受的好的解,容易陷入局部最小。实际上通过增加深度网络的维度和训练时间,陷入局部最优解的概率会越小。当损失函数接近全局最小时,如果我们找到了真正的局部最小,那么它将非常接近全局最小,这种差异是无关紧要的。比如从alexnet、VGG、googlenet、resnet等卷积模型中进行选择并在自己的数据集进行微调。这些网络效果随层数递增,因而采用resnet或者更新的googlenet-v4将会发现测试结果会更令人满意。  (4)数据批量大小设定  增加网络强度的一种方式(受计算而不是内存限制)是,将数据分成小批量。这可以避免一些内存操作,GPU也擅长并行处理大矩阵计算。然而,增加批次的大小的话可能会对训练算法有影响,并且合并需要更多时间。重要的是要找到一个很好的平衡点,以在最短的时间内获得最好的效果。此外,使用小批量的数据,梯度会更加稳定。  (5)训练误差衡量准则  在训练与测试一个深度神经网络模型时,我们通常使用三个数据集,即训练集、开发集、测试集。模型对应这三个数据集有三个误差,训练集误差、开发集误差、与测试集误差,另外还有一个人类梳理这类问题的误差值—人类水平误差。基于此的著名的偏差-方差权衡理论是指导我们调参的准则:  人类误差与训练集误差之间的差距称为可避免的偏差,这部分误差可以通过进一步学习及模型调优来避免。而训练集和开发集之间的差距称为方差,它是训练集与开发集的分布差异造成的。  当训练误差较大时,是指模型并未达到最优解(陷入局部最优)或者模型不够表达你的数据集。这时需要更换更深的模型,或者训练更长的时间。当训练误差较小,而开发集误差较大,则是模型过拟合,即训练样本并未完全包含目标任务的数据类型,这时候需要增加训练样本或者使用正则化来防止过拟合。  如果训练集误差与开发集误差都很小,测试集误差较大,那么是开发集与测试集的分配不合适,需要增大开发集所占的比例。  (6)其他训练技巧  a)归一化实值数据,减去平均值,再除以标准差。  b)降低训练过程中的学习率。  c)使用动量,帮助参数通过停滞区。  第六节:生产应用  上述几个小节介绍的都是在深度学习研究过程中需要注意的事项,本节将讨论如何将深度网络模型与生产系统进行无缝对接。  6.1训练环境与生产环境的数据接口  实现深度学习训练模型到生产系统的迁移,需要在屏蔽训练环境和生产应用环境的软硬件环境的基础上实现网络结构和参数数据的无缝兼容。目前通行的原则是网络定义文件、网络参数文件分离。  (1)深度网络定义文件  用于定义深度网络的节点设置和节点间连接结构的参数文件,例如采用Caffe的prototext文件。  (2)深度网络参数文件  用于保存训练结束时得到的深度网络各连接之间加权值,以二进制流形式,例如采用caffe的caffemodel文件。  6.2生产应用环境服务接口  深度学习的理论模型投入生产仍需要“IT团队”花费大量时间进行系统性的改变和优化,因此在深度学习生产应用环境中,通过Restful API向企业其他生产系统提供服务是很好的形式,这样既可以屏蔽内部实现细节,又可以在产生模型变动时实现平滑的迁移。在API的规划中需包含如下必要接口:功能说明运行应用运行应用的一个版本。需要指明应用版本的 ID,运行的输入、输出,以及用户身份信息。系统从输入中获取数据,经过计算后将输出结果存储到用户指定的输出对象中。该API需向用户提供一个任务ID,用户可以使用该ID进行后续操作。更新应用对先前的应用版本进行更新。用户指明需要更新的应用ID,新版本名称、输入的数据和用户身份信息。系统通过输入数据新生成一个应用版本。该API返回一个任务ID和一个版本ID。停止任务用户传入任务ID来停止一个正在运行中的任务。查询状态用户传入任务ID来查询任务的状态。状态包括任务正在运行、运行成功、运行失败和已停止。通过查询任务状态来决定下一步操作。        6.3模型退化的解决方法  深度学习问题建模的过程中,训练数据集是固定的,大部分数据由数据合成产生,数据质地和分布可能与实际生产应用不一致,容易导致训练集误差、开发集误差、与测试集误差。因而在生产环境中进行模型应用时,随着调用案例的增加,会产生模型退化问题,即训练模型分类错误增多。要解决这一问题,可以采取以下措施:  (1)对判别置信度低或用户反馈出现判别错误的数据进行保存收集。  (2)定期利用收集到的数据对原有模型进行微调并在生产应用环境进行模型更新。  作者介绍  电子商务与电子支付国家工程实验室人工智能研究团队:费志军、刘想、王宇、华锦芝。电子商务与电子支付国家工程实验室:2013年经国家发展改革委审批认定,中国银联成为金融行业第一家获得批复建设电子商务与电子支付国家工程实验室的企业。实验室的建设目标是建成国内一 流、国际知名的电子商务与电子支付研究基地,全面加强技术攻关,力争在全球电子商务、电子货币和电子支付技术领域占据领先地位。人工智能研究团队:立足于金融支付领域,推动人工智能在金融领域的应用与推广。近期,重点研究图像识别、语音识别技术以及自然语言处理等人工智能技术在金融产品创新、信用风险防控、智能化运营、客户服务等领域的前瞻性应用。
  中国人民银行金融研究所所长,互联网金融研究中心主任孙国锋表示,央行和七部门联
  区块链数字货币和货币的数字化有着本质的区别,货币的数字化成本非常低廉。  例
科技前沿:
行业频道:

我要回帖

 

随机推荐