首页>参考读物>计算机科学与技术>软件与程序设计

Swift人工智能实战:从基础理论到AI驱动的应用程序开发
作者 : [澳]马尔斯·吉尔达德(Mars Geldard) 乔纳森·曼宁(Jonathon Manning) 帕里斯·巴特菲尔德-艾迪生(Paris Buttfield-Addison) 蒂姆·纽金特(Tim Nugent) 著
译者 : 邓奕 朱雪晴 译
出版日期 : 2021-02-04
ISBN : 978-7-111-67538-9
定价 : 139.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 416
开本 : 16
原书名 : Practical Artificial Intelligence with Swift: From Fundamental Theory to Development of AI-Driven Apps
原出版社: O'Reilly Media, Inc.
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书从实战角度出发,为所有程序员和开发人员提供了使用Swift进行AI和机器学习开发的一站式服务。全书分为三部分:di一部分介绍机器学习和人工智能背后的基础知识;第二部分讨论许多有趣的主题,包括计算机视觉、音频、运动和语言;第三部分详细研究为第二部分的应用程序提供支持的技术。

图书特色

图书前言

欢迎阅读本书。
本书以基于任务的方式使用Swift进行实际的AI开发。之所以这么设计,是因为我们认为,如果你要在iOS应用程序中加入智能AI和机器学习驱动的功能,并不需要深入研究复杂的数学和算法。AI并不专属于AI专家,它应该是面向所有人的。
当今世界,各种技术层出不穷,它们已经成为我们与计算机交互的一部分。机器学习具有强大的功能,它已经能够影响、造福甚至控制人类,人们需要知道如何构建和理解AI,这一点的重要性正如当年人们需要知道如何使用计算机一样。
本书旨在让读者对常见的机器学习任务有实际的了解。通过它们,你将能够构建更好的工具,并理解正被世界上其他人使用的工具。
本书资源
建议你在阅读本书的每一章时都自己去写代码。如果你遇到困难,或者想得到代码的副本,可以访问本书配套网站(http://www.aiwithswift.com)。
受众与方法
本书的受众是已经掌握Swift编程而想了解机器学习的特定功能和技术的人。本书并不介绍基本的编程知识,因此,你需要熟悉书中示例所用的语言。
除了Swift,我们也会偶尔使用Python。Python在机器学习和AI领域的使用极其普遍。不过,本书的核心内容是Swift,所以每次使用Python时,我们会阐述理由。
最后,我们希望你熟练使用macOS和iOS,而且有一个可用于开发的Mac和一个可用于测试的iOS设备,以完成那些需要特定传感器的任务,如运动跟踪或分析相机。
本书结构
本书分为三部分。
第一部分介绍机器学习和AI的基础知识—构建应用所需的语言和工具。
第二部分讨论许多有趣的主题,包括计算机视觉、音频、运动和语言。针对每个主题,我们将展示并构建一个应用程序,重点介绍各种技术和API。在每一章的最后,都将提供一个完整的演示应用程序,展示目前为止你可以完成的实际任务。
第三部分透过现象看本质,详细研究第二部分中的应用所采用的技术。我们将深入研究机器学习的理论,并进一步说明你的设备究竟在做什么。
使用本书
我们希望本书能深深扎根于实践之中。因此,本书的结构都是围绕实际任务展开的,这些任务是你在与AI和Swift打交道时想做的事情。我们将本书分为三部分。
第一部分讨论Swift和AI以及本书采用的基于任务的方法(第1章)、可用于Swift和AI的工具(第2章),还介绍如何以及为什么使用用于实际AI的数据集(第3章)。
第二部分探讨AI可以集成到Swift应用程序中的不同领域—视觉类任务(第4章)、音频类任务(第5章)、语言和文本类任务(第6章)、运动和手势类任务(第7章)、用于生成和推荐事物的增强类任务(第8章),以及功能之外(第9章),以探索我们在第一部分末尾谈到的更先进的工具和框架。
第三部分探讨AI方法的实际工作方式(第10章)、第二部分中的任务是如何工作的(第11章),以及你自己如何才能实现这些任务的简单版(第12章)。
重要任务
本书涵盖以下领域的各个任务:
视觉
人脸检测
条形码检测
显著性检测
图像相似度
图像分类
绘图识别
风格分类
音频
语音识别
声音分类
文本和语言
语言识别
命名实体识别
词形还原、标注、分词
情感分析
自定义文本分类器
运动和手势
行为识别
绘图手势分类
行为分类
通过AI使用增强现实
增强
图像风格转换
文本生成
用GAN生成图像
电影推荐
回归预测
功能之外
安装Swift for TensorFlow
在Swift中使用Python
使用Swift for TensorFlow训练分类器
使用CoreML社区工具
在设备上更新模型
在设备上下载模型
本书的大部分内容致力于探讨如何使用Swift,以在你的应用程序中实现AI驱动的功能。因为我们对AI采用自顶向下、基于任务的学习方式,所以我们决定先对你可能遇到的工具进行讨论,详见第2章。
在这部分,我们探索了一些工具,它们可用于使用Swift创建机器学习模型和AI任务模型,以及使用Swift操作模型、处理数据和开发一些实用的AI产品。
排版约定
本书中使用以下排版约定:
斜体(Italic)
表示新的术语、URL、电子邮件地址、文件名和文件扩展名。
等宽字体(Constant width)
用于程序清单,以及段落中的程序元素,例如变量名、函数名、数据库、数据类型、环境变量、语句以及关键字。
该图示表示提示或建议。
该图示表示一般性说明。
该图示表示警告或注意。
示例代码
可以从http://www.aiwithswift.com下载补充材料(示例代码、练习、勘误等)。
这里的代码是为了帮助你更好地理解本书的内容。通常,可以在程序或文档中使用本书中的代码,而不需要联系O’Reilly获得许可,除非需要大段地复制代码。例如,使用本书中所提供的几个代码片段来编写一个程序不需要得到我们的许可,但销售或发布示例代码则需要O’Reilly出版社的许可。引用本书的示例代码来回答问题也不需要许可,将本书中的示例代码的很大一部分放到自己的产品文档中则需要获得许可。
非常欢迎读者使用本书中的代码,希望(但不强制)注明出处。注明出处的形式包含书名、作者、出版社和ISBN,例如:
Practical Artificial Intelligence with Swift,作者Mars Geldard、Jonathon Manning、Paris Buttfield-Addison和Tim Nugent,由O’Reilly出版,书号978-1-492-04481-9
如果读者觉得对示例代码的使用超出了上面所给出的许可范围,欢迎通过permission@oreilly.com联系我们。
O’Reilly在线学习平台(O’Reilly Online Learning)
40多年来,O’Reilly Media致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们拥有独一无二的专家和革新者组成的庞大网络,他们通过图书、文章、会议和我们的在线学习平台分享他们的知识和经验。O’Reilly的在线学习平台允许你按需访问现场培训课程、深入的学习路径、交互式编程环境,以及O’Reilly和200多家其他出版商提供的大量文本和视频资源。有关的更多信息,请访问http://oreilly.com。
如何联系我们
对于本书,如果有任何意见或疑问,请按照以下地址联系本书出版商。
美国:
O’Reilly Media,Inc.
1005 Gravenstein Highway North
Sebastopol,CA 95472
中国:
北京市西城区西直门南大街2号成铭大厦C座807室(100035)
奥莱利技术咨询(北京)有限公司
要询问技术问题或对本书提出建议,请发送电子邮件至bookquestions@oreilly.com。
本书配套网站https://oreil.ly/practical-ai-swift上列出了勘误表、示例以及其他信息。
关于书籍、课程、会议和新闻的更多信息,请访问我们的网站http://www.oreilly.com。
我们在Facebook上的地址:http://facebook.com/oreilly
我们在Twitter上的地址:http://twitter.com/oreillymedia
我们在YouTube上的地址:http://www.youtube.com/oreillymedia
致谢
Mars感谢她的家人和合著者,感谢他们即使在她让人无法忍受的时候也能一直支持她。她也要感谢塔斯马尼亚大学为她提供的所有机会。
她要特别感谢:Julian Dermoudy博士,让她在三年前刚开始编程时就对编程情有独钟;Nicole Herbert,作为一位优秀的学位协调员,给予了她积极工作所需要的支持与自信;澳大利亚苹果开发者社区以及苹果大学联盟(Apple University Consortium,AUC),让她获得了丰富的知识和对Swift的兴趣;她的父母,为她树立了品格上的最佳榜样。
Jonathon感谢他的父母以及他不断壮大的大家庭中其他亲人的大力支持。
Paris感谢他的母亲,没有她,他的人生将索然无味,更不用说写书了;感谢他的伙伴(也是作者之一)Mars;感谢他的所有朋友(他很幸运可以和其中几位一起撰写本书)。
Tim感谢他的父母和家人忍受他乏味的生活方式。
我们感谢Michele Cronin和Rachel Roumeliotis,他们的技能和建议对于本书的完成弥足珍贵。我们很期待将来与他们开展更多的合作!同样,我们在本书的撰写过程中打过交道的所有O’Reilly Media员工都是他们各自领域的专家。
非常感谢Tony Gray和AUC给我们和“致谢”中出现的所有人提供的巨大帮助。如果没有他们的话,我们不会写这本书。
此外还要感谢Neal Goldstein,是他将我们带进了写书这个行当,所有荣誉都应归他。
我们感谢MacLab成员提供的支持,还要感谢塔斯马尼亚大学的Christopher Lueg教授、Leonie Ellis博士和其他员工的支持。
还要感谢Dave J.、Jason I.、Nic W.、Andrew B.、Jess L.和其他启发并帮助我们的人。非常感谢苹果勤奋的工程师、作家、艺术家和其他工作者,没有他们,本书就不会存在。
也要感谢我们的技术评审人,尤其要感谢Chris Devers、Dominic Monn和Nik Saers的细致和专业精神。
最后,非常感谢所有的读者!如果你们有任何反馈意见,请告诉我们。

上架指导

计算机\人工智能

封底文字

这本实用的书为所有程序员和开发人员提供了使用Swift进行AI和机器学习开发的一站式服务,让他们可以在iOS、macOS、tvOS和watchOS的Swift应用中创建并实现基于AI和机器学习的功能。你将学习如何使用强大的AI软件构建应用功能,从而识别图像,进行预测,生成内容,进行推荐等。
对所有开发人员而言,AI越来越重要,即使你不是数据科学家或数学家,也可以在应用程序中使用AI。本书探索基于Swift的AI和机器学习技术,并讨论了AI驱动功能用在哪些场景下以及如何才有意义。书中使用了诸如基于Python的TuriCreate(来自苹果公司)和Swift for TensorFlow(来自谷歌)等工具。
本书的主要内容如下:
? 基础知识和工具:学习AI基础知识,将任务应用于模型,以及学习如何构建或查找数据集。
? 基于任务的AI:构建视觉、音频、文本、运动和增强相关的功能,了解如何转换现有模型。
? 超越:探索基于任务的实践背后的理论,探索AI和机器学习方法,并学习如何从头开始构建应用。
“ 长期来看,绝大部分的AI都不会应用于数据中心,而会应用在实际使用数据的设备上。因运行速度快且表现力强,Swift已成为实现此转变的首选语言。本书对奠定AI下一个十年基础的工具提供了精彩的介绍。”
——Jameson Toole博士
Fritz AI的联合创始人兼首席技术官

Mars Geldard是来自澳大利亚塔斯马尼亚州的研究者和计算机科学家。
Jonathon Manning是Secret 实验室的联合创始人兼技术主管,该实验室位于澳大利亚塔斯马尼亚州,已成立十几年了。
Paris Buttfield-Addison是计算机科学家和历史学家,也是Secret 实验室的联合创始人和产品研发负责人。
Tim Nugent是移动应用程序开发者、游戏设计师和计算机研究者。

译者序

AI日益成为开发者绕不开的词汇,其魅力让大多数人为之着迷。然而,与AI有关的书籍往往伴随着艰深的理论,从而令一些开发者望而却步。但本书却另辟蹊径,从实践的角度出发,让读者跟随作者去解决实际问题,同时辅以必要的AI基础知识。
请读者朋友在阅读本书的过程中,尝试跟随作者一起去完成一系列的实战任务。你会在任务的驱动下,使用Swift语言去解决问题,并在行动中领会AI的妙用,掌握AI相关的工具。但本书的价值不止于此,它还能带你快速上手苹果公司提供的各种技术和工具,比如SwiftUI这种构建UI的新颖方式,也是你能从本书中获得的额外价值。
感谢家人、朋友一直以来的陪伴和支持,尤其要感谢我的妻子,她也是本书的合译者。最后,非常感谢机械工业出版社华章分社在本书出版过程中给我们提供的帮助。

邓奕
2020年于武汉

图书目录

前言1
第一部分 基础知识和工具7
第1章 人工智能!? 9
1.1 Swift人工智能实战以及Python9
1.2 为何选择Swift12
1.3 什么是AI,它能做什么15
1.4 实用AI任务21
1.5 典型的基于任务的方法22
第2章 AI工具24
2.1 为什么采用自顶向下的方法24
2.2 优秀AI的优秀工具25
2.3 来自苹果的工具26
2.4 其他工具44
2.5 AI相邻工具45
2.6 下一步53
第3章 寻找或构建数据集54
3.1 规划和识别目标数据54
3.2 寻找数据集57
3.3 构建数据集59
3.4 准备数据集60
3.5 苹果的模型65
第二部分 任务67
第4章 视觉69
4.1 实用AI与视觉69
4.2 任务:人脸检测70
4.3 任务:条形码检测89
4.4 任务:显著性检测95
4.5 任务:图像相似度99
4.6 任务:图像分类107
4.7 任务:绘图识别124
4.8 任务:风格分类142
4.9 下一步146
第5章 音频148
5.1 实用AI与音频148
5.2 任务:语音识别148
5.3 任务:声音分类157
5.4 下一步180
第6章 文本和语言181
6.1 实用AI与文本和语言181
6.2 任务:语言识别182
6.3 任务:命名实体识别184
6.4 任务:词形还原、标注、分词185
6.5 任务:情感分析190
6.6 任务:自定义文本分类器203
6.7 下一步209
第7章 运动和手势213
7.1 实用AI与运动和手势213
7.2 任务:行为识别213
7.3 任务:绘图手势分类219
7.4 任务:行为分类231
7.5 任务:通过AI使用增强现实239
7.6 下一步240
第8章 增强241
8.1 实用AI与增强241
8.2 任务:图像风格转换242
8.3 任务:文本生成261
8.4 任务:用GAN生成图像269
8.5 任务:电影推荐285
8.6 任务:回归预测295
8.7 下一步301
第9章 功能之外302
9.1 任务:安装Swift for TensorFlow302
9.2 任务:在Swift中使用Python310
9.3 任务:使用Swift for TensorFlow训练分类器313
9.4 任务:使用CoreML社区工具314
9.5 任务:在设备上更新模型319
9.6 任务:在设备上下载模型321
9.7 下一步321
第三部分 展望323
第10章 AI和ML方法325
10.1 术语325
10.2 分类328
10.3 聚类352
10.4 下一步359
第11章 探索底层360
11.1 深入了解CoreML360
11.2 视觉366
11.3 音频372
11.4 文本和语言376
11.5 推荐382
11.6 预测382
11.7 文本生成383
11.8 生成385
11.9 CoreML的未来386
11.10 下一步388
第12章 绝知此事要躬行389
12.1 在CoreML的魔法背后389
12.2 任务:构建XOR391
12.3 代码393
12.4 训练401
12.5 下一步403

教学资源推荐
作者: 王珊珊 臧洌 张志航
作者: 刘建舟 徐承志 陈荆亮 吴奕 编著 邵雄凯 主审
作者: 王珊珊 臧洌 张志航 编著
作者: Bruce Eckel, Chuck Allison
参考读物推荐