这本实用的书为所有程序员和开发人员提供了使用Swift进行AI和机器学习开发的一站式服务,让他们可以在iOS、macOS、tvOS和watchOS的Swift应用中创建并实现基于AI和机器学习的功能。你将学习如何使用强大的AI软件构建应用功能,从而识别图像,进行预测,生成内容,进行推荐等。
对所有开发人员而言,AI越来越重要,即使你不是数据科学家或数学家,也可以在应用程序中使用AI。本书探索基于Swift的AI和机器学习技术,并讨论了AI驱动功能用在哪些场景下以及如何才有意义。书中使用了诸如基于Python的TuriCreate(来自苹果公司)和Swift for TensorFlow(来自谷歌)等工具。
欢迎阅读本书。本书以基于任务的方式使用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出版社的许可。引用本书的示例代码来回答问题也不需要许可,将本书中的示例代码的很大一部分放到自己的产品文档中则需要获得许可。非常欢迎读者使用本书中的