欢迎阅读本书。.本书以基于任务的方式使用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出版社的许可。引用本书的示例代码来回答问题也不需要许可,将本书中的示例代码的很大一部分放到自己的产品文档中则需要获得许可。.非常欢迎读者使用本书中的