深度学习与人工智能革命:part IV

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
NLP 自学习平台,3个模型定制额度 1个月
NLP自然语言处理_基础版,每接口每天50万次
简介: 本文是该系列内容的第4部分内容,主要讨论深度学习为何使用MongoDB数据库,并提供相关使用实例。

本篇是系列博客的第部分,如果没有看过前面两部分内容的读者建议阅读一下。

I部分内容中,主要是讲解人工智能的历史以及它现在高速发展的原因;

II部分内容中,将讨论一下人工智能、机器学习和深度学习之间的区别;

第III部分内容中,将深入研究深度学习以及在为新项目选择数据库时需要评估的关键事项;

在今天的第IV部分内容中,将讨论深度学习为何使用MongoDB,并提供相关使用实例;

由于本文内容是第IV部分内容,讨论深度学习为何使用MongoDB,并提供相关使用实例。如果读者想快速将四部分的内容全部看完,可以下载本文的附件。

为什么MongoDB适合深度学习?

如果你没有阅读第III部分的内容,强力推荐阅读一下,以更多地了解在做深度学习项目时选择数据库应该考虑的关键因素有哪些。在以下的讲解部分中,开发者和数据科学家可以利用MongoDB作为一个灵活、可扩展、高性能的分布式数据库来满足人工智能应用开发的严峻考验。

灵活的数据模型

MongoDB的文档数据模型,便于开发者和数据科学家存储和结合其他任何数据库的数据,且没有放弃利用复杂的验证规则来管理数据的质量。该模式可以在不停用应用程序或数据库的情况下动态地修改数据,这是由关系数据库系统的模式修改或重新设计的代价高所引起的。

这种数据模型的灵活性对于深度学习是特别有价值的,这需要不断的实验来发现新的见解和预测:

输入数据集可以包括快速变化的结构化数据和非结构化数据,这些数据集可以从点击流、日志文件、社交网络和物联网传感器流、CSV文件、txt文本、图像、视频等,这些数据集很多都不能映射成关系数据库固定的行和列格式。

深度学习的训练过程中往往会增加新的隐藏层、特征标签、参数以及输入数据,这需要频繁地修改底层数据模型。

因此,一个支持各种输入数据集的数据库能够无缝地修改模型训练的参数,这对于深度学习而言是不可多得的。

丰富的编程和查询模型

MongoDB为开发者和数据科学家提供本地驱动程序和认证连接来建立深度学习模型,PyMongo驱动器是一个用于MongoDB的Python工具,也是一个被推荐的Python操作MongoDB数据库的方式。社区也开发了R语言的MongoDB客户端,这也可用于R语言程序员。

MongoDB的查询语句和丰富的二级索引使得开发人员能够开发应用程序,可以以多种方式查询和数据分析。数据可以在毫秒级的响应时间内通过单键、范围、文本搜索、图表和地理空间查询到复杂的聚合和MapReduce任务。

为了在分布式数据库集群上并行处理数据,MongoDB提供了聚合管道(aggregation pipeline)和MapReduce。MongoDB聚合管道是仿照数据处理管道的基本原理设计,数据经过一个一个的阶段,每阶段将数据处理后的结果传递给下一个阶段,最终得到多重处理后的结果。其中,最基本的管道阶段提供像查询等操作的过滤器及输出文档格式的转换等功能,其它管道操作提供按特定字段对文档进行分组、排序以及聚合数组中的内容等功能。此外,管道阶段可以使用操作符进行相关计算,比如计算跨文档集合的平均值或标准差等。MongoDB同样也提供了原生MapReduce操作,使用JavaScript函数来执行相关的map和reduce阶段。

除了原生的查询框架外,MongoDB同样也提供了针对Apache Spark的一种高性能连接器,该连接器连接了Spark所有的库,包括Python、R、Scala和Java。对于机器学习、图表以及SQL API等分析而言,MongoDB数据可以作为其数据帧和数据集。

针对于Apache Spark的MongoDB连接器可以利用好MongoDB的聚合管道以及提取、筛选和处理其所需数据范围的二级索引。比如,分析特定地理位置的所有客户这一任务,简单的非关系数据存储不支持二级或在数据库中聚合。而在这种情况下,Spark需要基于简单的主键提取所有数据,这意味着数据科学家和工程师们在进行该过程时需要更多的时间上和硬件上的开销。为了最大限度地提高性能,对于分布式数据集而言,MongoDB连接器可以将弹性分布数据集(RDDs)和源MongoDB节点同地协作,进而最小化跨集群之间的数据移动并减少延迟。

可升缩性和冗余性

模型的训练时间可以通过建立一个深度学习平台以及可扩展数据库层来减少,MongoDB提供了以下一些措施来尽可能地增大吞吐量以及尽可能地减少深度学习工作负载的延迟。

WiredTiger是MongoDB的默认存储引擎,也是世界上部署最广泛的嵌入式数据管理软件,它是基于现代多核架构,并使用了多种编程技术,如风险指针、无锁算法、快速锁定和消息传递等。WiredTiger尽可能地增大每个CPU核和时钟周期内的计算工作量,此外,WiredTiger使用紧凑的文件格式和压缩存储尽可能地减少磁盘开销。

对于大多数对延迟敏感的深度学习应用而言,MongoDB可以配置存储引擎。基于WiredTiger这个存储引擎,可以在不牺牲传统数据库提供的丰富灵活查询、实时分析和可升缩能力的情况下,为用户提供内存计算的好处。

为了并行地进行模型训练以及缩放输入数据集,MongoDB使用分片(sharding)技术。MongoDB分片是完全弹性地、自动地调整集群中的数据作为输入数据集的增长,或者是添加和删除节点。

在MongoDB集群中,每个分片数据自动分发到多个驻留在不同节点上的多个副本,其副本集提供冗余性以在训练数据发生故障时恢复数据,并减少检查点的开销。

可调一致性

在一般情况下,MongoDB具有强一致性。启动深度学习应用程序可用立体读取已写入的数据库中的内容,从而避免了最终一致性系统导致的开发人员复杂。强一致性会为机器学习算法提供最准确的结果,然而,在某些情况下,如随机梯度下降算法(SGD),其结果不是很好但尚可接受。

MongoDB人工智能部署情况

基于MongoDB具备上述讨论的性质,MongoDB已经作为许多人工智能和深度学习平台的数据库,不同应用程序和行业用户的选择如下:

IBM Watson:分析与可视化

沃森分析是IBM的云托管服务,提供智能数据发现来指导数据探索、自动预测分析和可视化输出。沃森分析应用场景十分广泛,比如银行、保险、零售、电信、石油和政府应用等。MongoDB被用来管理数据存储,提供所有源数据集的元数据和分析可视化,并存储在丰富的JSON文档结构中,可以支持数以万计的用户并发访问服务。

x.ai:个人助理

x.ai是智能驱动的个人助理,它能够为用户安排会议。用户将他们的日历连接到x.ai上,然后只要邮件抄送给amy@x.ai,该公司的虚拟私人助理Amy就能接手你的会议日常安排。MongoDB作为x.ai的整个平台记录系统,支持所有的服务,包括自然语言处理、有监督学习、分析和电子邮件通信等。MongoDB灵活的数据模型成为使得x.ai迅速适应于训练集和输入数据集的关键,同时也支持复杂的数据结构。更多内容可以看此案例了解

汽车贸易商:预测价值

英国最大的汽车市场广泛应用机器学习,使用的关于车的规格及细节数据都存储在MongoDB中。比如,先前车主的个数、颜色、里程数、保险历史等。这些数据由汽车贸易商的数据科学团队编写的机器学习算法提取得到,并建立模型以预测准确的价值,然后再写入数据库中,选择MongoDB由于其灵活的数据模型和分布式设计。更多内容可以看此案例了解

Mintigo:销售和市场预测

Mintigo是一家以企业为重点的预测市场和销售的平台。在B2B营销领域,Mintigo利用数据进行营销分析和预测,识别最有可能购买其产品的潜在客户,帮助公司客户提升销量。Mintigo运行在AWS上,是用Python编写的机器学习算法。MongoDB被用来存储TB量级的数据集,这是看中了其数据流采集和存储的可扩展性和灵活性、高效的查询框架和二级索引,而无需扫描数据库中的所有记录。更多内容可以看此案例了解

零售定位分析

一个美国的移动APP开发者在MongoDB上建立的智能引擎,实时处理和存储数以百万计顾客的丰富地理空间数据点。该智能引擎使用可伸缩的机器学习和多维分析技术来展示行为模式,允许零售商通过移动设备预测和定位目标客户。MongoDB支持具有复杂索引和查询的空间数据结构,为机器学习算法提供基础。MongoDB的分片扩展设计使得公司可以容纳10-100百万的客户数据点。

自然语言处理(NLP)

一个北美的人工智能开发者已经构建了由主要消费电子产品嵌入到智能家居和移动设备中的自然语言处理软件。设备和用户之间的所有交互都存储在MongoDB中,然后反馈给学习算法。选择MongoDB的原因是其架构的灵活性,且支持快速变化的数据结构。

将数据科学引入人才招聘

该公司与财富500强的人力资源部门合作,利用数据科学和员工情况处理成堆的简历和候选者。该公司通过将人工智能应用于简历以外的数据数千个信息源,包括公共的和企业数据,为申请者提供实时分析和优先次序。通过人工智能算法产生的预测分析,招聘人员可以立即确定主动申请以及潜在的应聘者中最佳的候选人,加快整个招聘过程、降低雇佣成本。选择MongoDB作为底层数据库是由于其数据模型的灵活性和可伸缩性,此外,大范围的安全管理权保护了个人可识别信息(PII)。

作者信息

Mat Keep,产品营销总监,目前就职于MongoDB团队。

个人主页:https://www.linkedin.com/in/matkeep/

本文由北邮@爱可可-爱生活老师推荐,阿里云云栖社区组织翻译。

文章原标题《Deep Learning and the Artificial Intelligence Revolution: Part 4》,作者:Mat Keep,译者:海棠,审阅:袁虎。


 

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
15天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
190 55
|
1月前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
11天前
|
机器学习/深度学习 人工智能 搜索推荐
医疗领域的人工智能:诊断和治疗的革命
医疗领域的人工智能:诊断和治疗的革命
147 84
|
25天前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
130 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
24天前
|
机器学习/深度学习 人工智能 自然语言处理
揭秘人工智能:深度学习的奥秘与实践
在本文中,我们将深入浅出地探索深度学习的神秘面纱。从基础概念到实际应用,你将获得一份简明扼要的指南,助你理解并运用这一前沿技术。我们避开复杂的数学公式和冗长的论述,以直观的方式呈现深度学习的核心原理和应用实例。无论你是技术新手还是有经验的开发者,这篇文章都将为你打开一扇通往人工智能新世界的大门。
|
24天前
|
机器学习/深度学习 人工智能 算法
深度学习在图像识别中的革命性应用####
本文不采用传统摘要形式,直接以一段引人入胜的事实开头:想象一下,一台机器能够比人类更快速、更准确地识别出图片中的对象,这不再是科幻电影的情节,而是深度学习技术在图像识别领域带来的现实变革。通过构建复杂的神经网络模型,特别是卷积神经网络(CNN),计算机能够从海量数据中学习到丰富的视觉特征,从而实现对图像内容的高效理解和分类。本文将深入探讨深度学习如何改变图像识别的游戏规则,以及这一技术背后的原理、关键挑战与未来趋势。 ####
52 1
|
27天前
|
机器学习/深度学习 人工智能 编解码
深度学习在图像识别中的革命性进展###
近年来,深度学习技术在图像识别领域取得了显著成就,极大地推动了人工智能的发展。本文探讨了深度学习模型如何通过模拟人类视觉系统来提高图像识别的准确性和效率,并分析了几种主流的深度学习架构及其在实际应用中的表现。此外,还讨论了当前面临的挑战及未来可能的发展方向。 ###
48 4
|
29天前
|
机器学习/深度学习 人工智能 自然语言处理
揭秘AI:深度学习的奥秘与实践
本文将深入浅出地探讨人工智能中的一个重要分支——深度学习。我们将从基础概念出发,逐步揭示深度学习的原理和工作机制。通过生动的比喻和实际代码示例,本文旨在帮助初学者理解并应用深度学习技术,开启AI之旅。
|
1月前
|
机器学习/深度学习 人工智能 算法
深度学习在图像识别中的革命性进展####
近年来,深度学习技术已彻底革新了图像识别领域,实现了从量变到质变的飞跃。本文旨在探讨深度学习如何推动图像识别技术的边界拓展,通过分析其核心算法的演变、关键突破及未来趋势,揭示这一领域快速发展背后的关键因素。不同于传统摘要形式,本文将以故事化手法,简述深度学习与图像识别交织发展的历程,展现技术背后的创新火花与挑战应对。 ####
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解人工智能中的深度学习技术及其最新进展
深入理解人工智能中的深度学习技术及其最新进展