初识人工智能 项目1 初识人工智能 项目1 项目导读 人工智能( artificial intelligence,AI)是计算机科学领域的一种技术分支,专门研究、 开发用于模拟、扩展和延伸人的智能的理论、方法、技术和应用。本项目内容涵盖人工智 能的原理和常见应用、人工智能相关软件的安装、 TensorFlow在移动端(本书介绍的是安 卓端)的部署。 知识目标 了解人工智能的原理及应用。 能力目标 掌握常见基础软件安装的过程;掌握 TensorFlow在移动端的部署过程。 素质目标 掌握人工智能技术的基本原理和应用,了解人工智能的技术发展现状,提高科学素养 和科技创新能力。 项目重难点 工作任务建议学时重难点重要程度 任务 1–1 认识人工智能常见应用 1 了解人工智能 了解计算机视觉 了解自然语言处理 了解语言信号处理 了解网络流量监测 了解数据预测 ..☆☆☆ ..☆☆☆ ..☆☆☆ .☆☆☆☆ .☆☆☆☆ .☆☆☆☆ 任务 1–2 软件 在 Windows系统下安装基础1 安装 Visual Studio 安装 CUDA 安装 CuDNN 安装 Anaconda .☆☆☆☆ ...☆☆ ...☆☆ ..☆☆☆ 任务 1–3 在 Android端部署 TensorFlow 2 安装 Android Studio 安装 Android SDK、NDK 生成、安装 APK ...☆☆ ...☆☆ ...☆☆ 认识人工智能常见应用 任务1-1 任务要求 本任务要求读者深入了解人工智能在特定领域的应用场景,包括当前的应用 情况、发展趋势、优势和不足等。通过调查研究,读者可以对人工智能在不同领 域的实际应用情况有一个全面、客观的了解。 知识准备 1.人工智能概述 人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及 应用系统的一种技术。人工智能技术有很多不同的分支,如计算机视觉、机器翻译、 自然语言处理、语音信号处理、网络流量监测、数据预测和强化学习等。这些技术 通过使用大量数据和算法,模拟人类智慧,实现更快、更准确、更智能的信息处理 和决策。 人工智能的发展需要多学科交叉的研究,包括数学、计算机科学、心理学、神 经科学等。目前,人工智能技术已经广泛应用于各个领域,如智能家居、智能医疗、 项目1初识人工智能 3 智能交通、智能金融等。随着技术的不断发展,人工智能将继续改变我们的生活和 工作方式。 (1)计算机视觉 计算机视觉(computer vision,CV)研究如何使计算机可以理解和分析图像信 息。其目标是通过计算机模拟人类视觉系统,以实现自动识别、理解和分析图像内 容的能力。 计算机视觉包括多个子领域,如图像处理、目标检测、语义分割、图像识别、 三维重建等。在图像处理方面,研究如何对图像进行预处理、去噪、分割、亮度增 强等操作;在目标检测方面,研究如何快速准确地识别图像中的物体;在语义分割 方面,研究如何对图像进行语义分割,将图像中的不同区域分配不同的标签;在图 像识别方面,研究如何将图像识别为特定的类别或对象;在三维重建方面,研究如 何从二维图像中重建出三维环境。 计算机视觉技术广泛应用于多个领域,如自动驾驶、图像识别、智能家居、医 疗影像分析、安防监控、游戏制作、工业视觉检测等。 (2)自然语言处理 自然语言处理(natural language processing,NLP)致力于模拟人类使用语言与 计算机进行交互的能力。NLP包括语音识别、文本分析、语义分析、机器翻译等 多项技术。语音识别技术可以将语音转换为文本,文本分析技术可以对文本进行词 汇分析、语法分析、情感分析等;语义分析技术可以理解语句的含义;机器翻译技 术可以将一种语言翻译成另一种语言。NLP在多个领域有着广泛的应用,如搜索引 擎、聊天机器人、语音助手、智能客服系统、文本摘要、新闻分类等。随着计算机 技术和语言模型的不断提高,NLP的应用越来越广泛,有助于提高人与计算机之间 的交互效率和质量。 (3)语音信号处理 语音信号处理是指对语音信号进行的一系列技术处理。语音信号处理涵盖了多 个领域,如语音识别、语音合成、语音增强等。语音识别技术可以将语音转换为文 本;语音合成技术可以将文本转换为语音;语音增强技术可以提高语音质量,如降噪、 增强对比度等;语音语言模型则可以改善语音识别的准确性。语音信号处理在多个 领域有着广泛的应用,如语音识别、语音助手、智能客服系统、语音合成等。随着 计算机技术和语音技术的不断提高,语音信号处理也在不断提高,有助于提高人与 计算机之间的交互效率和质量。 (4)网络流量监测 网络流量监测是指对网络中的数据流量进行实时监控和分析的技术。它可以用 于监测网络状态、诊断网络问题、提高网络效率等。 网络流量监测通常包括以下3个方面的工作。 ①数据收集:通过网络设备或软件代理收集网络流量数据。 ②数据分析:对收集的数据进行分析,如统计流量速率、识别网络拥堵情况等。 ③报警:当网络流量超出预定的阈值时,发出警报,提醒管理员处理。 项目1初识人工智能 3 智能交通、智能金融等。随着技术的不断发展,人工智能将继续改变我们的生活和 工作方式。 (1)计算机视觉 计算机视觉(computer vision,CV)研究如何使计算机可以理解和分析图像信 息。其目标是通过计算机模拟人类视觉系统,以实现自动识别、理解和分析图像内 容的能力。 计算机视觉包括多个子领域,如图像处理、目标检测、语义分割、图像识别、 三维重建等。在图像处理方面,研究如何对图像进行预处理、去噪、分割、亮度增 强等操作;在目标检测方面,研究如何快速准确地识别图像中的物体;在语义分割 方面,研究如何对图像进行语义分割,将图像中的不同区域分配不同的标签;在图 像识别方面,研究如何将图像识别为特定的类别或对象;在三维重建方面,研究如 何从二维图像中重建出三维环境。 计算机视觉技术广泛应用于多个领域,如自动驾驶、图像识别、智能家居、医 疗影像分析、安防监控、游戏制作、工业视觉检测等。 (2)自然语言处理 自然语言处理(natural language processing,NLP)致力于模拟人类使用语言与 计算机进行交互的能力。NLP包括语音识别、文本分析、语义分析、机器翻译等 多项技术。语音识别技术可以将语音转换为文本,文本分析技术可以对文本进行词 汇分析、语法分析、情感分析等;语义分析技术可以理解语句的含义;机器翻译技 术可以将一种语言翻译成另一种语言。NLP在多个领域有着广泛的应用,如搜索引 擎、聊天机器人、语音助手、智能客服系统、文本摘要、新闻分类等。随着计算机 技术和语言模型的不断提高,NLP的应用越来越广泛,有助于提高人与计算机之间 的交互效率和质量。 (3)语音信号处理 语音信号处理是指对语音信号进行的一系列技术处理。语音信号处理涵盖了多 个领域,如语音识别、语音合成、语音增强等。语音识别技术可以将语音转换为文 本;语音合成技术可以将文本转换为语音;语音增强技术可以提高语音质量,如降噪、 增强对比度等;语音语言模型则可以改善语音识别的准确性。语音信号处理在多个 领域有着广泛的应用,如语音识别、语音助手、智能客服系统、语音合成等。随着 计算机技术和语音技术的不断提高,语音信号处理也在不断提高,有助于提高人与 计算机之间的交互效率和质量。 (4)网络流量监测 网络流量监测是指对网络中的数据流量进行实时监控和分析的技术。它可以用 于监测网络状态、诊断网络问题、提高网络效率等。 网络流量监测通常包括以下3个方面的工作。 ①数据收集:通过网络设备或软件代理收集网络流量数据。 ②数据分析:对收集的数据进行分析,如统计流量速率、识别网络拥堵情况等。 ③报警:当网络流量超出预定的阈值时,发出警报,提醒管理员处理。 4 人工智能技术 应用与实训 网络流量监测可以帮助企业提高网络效率,降低网络故障率,提高网络安全性, 并有助于企业对网络资源进行有效管理。 (5)数据预测 数据预测是一种利用历史数据和统计学方法来预测未来数据趋势的技术。它广 泛应用于商业、经济、金融、生产、制造等领域。数据预测是人工智能的一个重要 应用领域,广泛应用于各个行业,如金融、医疗、市场营销、物流等。人工智能技术, 特别是机器学习和深度学习算法,可以通过分析大量数据来预测未来的趋势,并进 行决策支持。例如,基于机器学习的销售预测系统可以通过分析销售数据,预测未 来的销售额和客户需求,并为公司的生产和销售计划提供决策支持。因此,人工智 能技术为数据预测提供了有力的技术支持,极大地提高了数据预测的准确性和效率。 2.人工智能项目开发流程 人工智能项目的开发流程如图1-1所示。 ................................................图1-1 人工智能项目开发流程 图1-1中各环节的具体内容如下。 (1)查看数据:了解数据的内容、结构和特征,为后续的数据处理和训练模型 做好准备。 (2)预处理数据:在将数据输入模型之前对数据进行处理和转换的过程。数据 预处理是模型训练的关键步骤之一,它可以对数据进行清洗、标准化、归一化、降噪、 增强等操作,以提高模型的性能和鲁棒性。 (3)设置模型:设置模型的结构、参数和超参数。定义模型的层次结构、设置 模型的激活函数、选择损失函数和优化器等。 (4)训练模型:使用加载的数据和设置好的模型进行模型的训练。 (5)改进模型:根据模型的训练结果和性能评估的反馈进行模型的改进。调整 模型的超参数、尝试不同的模型结构、优化模型的训练策略等,以提高模型的性能 和泛化能力。 (6)测试模型:使用测试数据对经过训练和改进的模型进行评估。根据测试结 果,可以进一步优化模型或者做出其他决策。 任务实施 步骤1 确定调查主题。 了解人工智能应用需要先明确调查的主题,如人工智能在医疗、金融、教育、交通等 4 人工智能技术 应用与实训 网络流量监测可以帮助企业提高网络效率,降低网络故障率,提高网络安全性, 并有助于企业对网络资源进行有效管理。 (5)数据预测 数据预测是一种利用历史数据和统计学方法来预测未来数据趋势的技术。它广 泛应用于商业、经济、金融、生产、制造等领域。数据预测是人工智能的一个重要 应用领域,广泛应用于各个行业,如金融、医疗、市场营销、物流等。人工智能技术, 特别是机器学习和深度学习算法,可以通过分析大量数据来预测未来的趋势,并进 行决策支持。例如,基于机器学习的销售预测系统可以通过分析销售数据,预测未 来的销售额和客户需求,并为公司的生产和销售计划提供决策支持。因此,人工智 能技术为数据预测提供了有力的技术支持,极大地提高了数据预测的准确性和效率。 2.人工智能项目开发流程 人工智能项目的开发流程如图1-1所示。 ................................................图1-1 人工智能项目开发流程 图1-1中各环节的具体内容如下。 (1)查看数据:了解数据的内容、结构和特征,为后续的数据处理和训练模型 做好准备。 (2)预处理数据:在将数据输入模型之前对数据进行处理和转换的过程。数据 预处理是模型训练的关键步骤之一,它可以对数据进行清洗、标准化、归一化、降噪、 增强等操作,以提高模型的性能和鲁棒性。 (3)设置模型:设置模型的结构、参数和超参数。定义模型的层次结构、设置 模型的激活函数、选择损失函数和优化器等。 (4)训练模型:使用加载的数据和设置好的模型进行模型的训练。 (5)改进模型:根据模型的训练结果和性能评估的反馈进行模型的改进。调整 模型的超参数、尝试不同的模型结构、优化模型的训练策略等,以提高模型的性能 和泛化能力。 (6)测试模型:使用测试数据对经过训练和改进的模型进行评估。根据测试结 果,可以进一步优化模型或者做出其他决策。 任务实施 步骤1 确定调查主题。 了解人工智能应用需要先明确调查的主题,如人工智能在医疗、金融、教育、交通等 项目1初识人工智能 领域的应用场景。 步骤 2 确定调查方法。 根据调查的主题和目的,选择合适的调查方法。例如,可以采用问卷调查、面访、访 谈、案例研究等多种方法。 步骤 3 调查数据采集。 根据调查方法和问卷或面访指南,进行调查数据的采集。可以通过在线调查、师生讨 论等方式。 步骤 4 整理与分析。 对采集到的调查数据进行整理和分析,包括数据的清洗、编码、统计和可视化等处理, 从而得出客观的调查结论。 步骤 5 撰写调查报告。 根据调查的目的和结果,撰写调查报告。 步骤 6 汇报和交流。 在报告提交后,进行汇报和解释的环节。 任务1-2 在Windows系统下安装基础软件 任务要求 本任务要求读者能够在Windows系统下进行人工智能常用软件的安装。这些 软件主要包括Visual Studio、CUDA(compute unified device architecture)、CuDNN(CUDA deep neural network)、Anaconda等,它们是学习人工智能的基础,项目 2~10都要依赖于这些软件。 知识准备 1. Visual Studio Visual Studio是由 Microsoft公司开发的一款集成开发环境( integrated development environment,IDE),用于创建和开发各种类型的应用程序,包括桌面 应用程序、 Web应用程序、移动应用程序、云应用程序等。它是一款功能强大的开 发工具,广泛用于各种编程语言和平台的应用程序开发。 2. CUDA CUDA是英伟达( NVIDIA)公司推出的一种高效并行计算架构和编程模型, 旨在加速科学、工程、深度学习等领域的计算密集型应用。它支持 C、C++等多种 6 人工智能技术 应用与实训 编程语言,允许开发人员利用图形处理单元(graphics processing unit,GPU)作为 一个并行计算引擎,从而提高程序的运行速度。CUDA可以把GPU作为一种高效 的计算平台,使用并行算法加速普通应用程序的运行。它可以在Windows、Linux、 macOS等多个操作系统上运行,应用于深度学习、图像处理、科学计算、工程计算 等多个领域。 3. CuDNN CuDNN是NVIDIA公司为加速深度神经网络训练提供的一个高效的GPU加速 库。CuDNN提供了针对常见深度学习算法(如卷积神经网络)优化的高效GPU 实 现,可以帮助开发人员在尽可能短的时间内训练更复杂的模型。 CuDNN是基于NVIDIA的CUDA技术构建的,需要先安装CUDA,然后安装 CuDNN。它可以极大地加速深度学习模型的训练,让开发人员更快地了解模型的效 果,并加速模型的改进。 4. Anaconda Anaconda是一个开源的数据科学和机器学习平台,它提供了一个环境管理和 包管理工具,可以方便用户安装和维护多个版本的Python和其他科学计算软件包。 任务实施 步骤1安装VisualStudio。 Visual Studio 可以用于编译C++程序,经常用于人工智能中,接下来介绍它的安装方 法。首先,从官网下载在线安装包,如图1-2所示,这里选用的是Visual Studio 2017;然 图1-2 Visual Studio 2017安装界面 6 人工智能技术 应用与实训 编程语言,允许开发人员利用图形处理单元(graphics processing unit,GPU)作为 一个并行计算引擎,从而提高程序的运行速度。CUDA可以把GPU作为一种高效 的计算平台,使用并行算法加速普通应用程序的运行。它可以在Windows、Linux、 macOS等多个操作系统上运行,应用于深度学习、图像处理、科学计算、工程计算 等多个领域。 3. CuDNN CuDNN是NVIDIA公司为加速深度神经网络训练提供的一个高效的GPU加速 库。CuDNN提供了针对常见深度学习算法(如卷积神经网络)优化的高效GPU 实 现,可以帮助开发人员在尽可能短的时间内训练更复杂的模型。 CuDNN是基于NVIDIA的CUDA技术构建的,需要先安装CUDA,然后安装 CuDNN。它可以极大地加速深度学习模型的训练,让开发人员更快地了解模型的效 果,并加速模型的改进。 4. Anaconda Anaconda是一个开源的数据科学和机器学习平台,它提供了一个环境管理和 包管理工具,可以方便用户安装和维护多个版本的Python和其他科学计算软件包。 任务实施 步骤1安装VisualStudio。 Visual Studio 可以用于编译C++程序,经常用于人工智能中,接下来介绍它的安装方 法。首先,从官网下载在线安装包,如图1-2所示,这里选用的是Visual Studio 2017;然 图1-2 Visual Studio 2017安装界面 项目1初识人工智能 7 后,在安装时,选择Windows 10 SDK和C++都通用的“通用Windows平台开发”的 Windows版本进行安装,其他则选择默认选项即可。 步骤2 安装CUDA。 在安装CUDA之前,先要安装好显卡驱动及Visual Studio。如本地操作系统是 Windows 10 64位,则对应各安装要求分别选择Windows 10、x86_64、10、exe(local),如 图1-3所示。 图1-3 CUDA 10.2下载页面 下载完成后直接双击.exe文件进行安装。在安装时不需要安装显卡驱动及3D组件, 如图1-4所示。 图1-4 CUDA 10.2安装界面 项目1初识人工智能 7 后,在安装时,选择Windows 10 SDK和C++都通用的“通用Windows平台开发”的 Windows版本进行安装,其他则选择默认选项即可。 步骤2 安装CUDA。 在安装CUDA之前,先要安装好显卡驱动及Visual Studio。如本地操作系统是 Windows 10 64位,则对应各安装要求分别选择Windows 10、x86_64、10、exe(local),如 图1-3所示。 图1-3 CUDA 10.2下载页面 下载完成后直接双击.exe文件进行安装。在安装时不需要安装显卡驱动及3D组件, 如图1-4所示。 图1-4 CUDA 10.2安装界面 8 人工智能技术 应用与实训 步骤3 安装CuDNN。 在 Windows 环境下安装 CuDNN 的步骤如下。 (1)前期准备:在安装CuDNN 之前,需确保已经在计算机上安装了NVIDIA CUDA 开发工具包。 (2)下载CuDNN:访问NVIDIA官方网站,下载最新版本的CuDNN,如图1-5所 示。注意需要注册账户并登录才能下载 CuDNN。 图1-5 CuDNN下载页面 (3)安装CuDNN:双击下载的安装程序文件,按照安装向导提示进行操作。开发者 需要提供其 NVIDIA CUDA安装目录,以便 CuDNN 可以与 CUDA配合使用,将文件中的 bin、include、lib文件复制到CUDA安装目录下。 (4)配置环境变量:如果需要在命令行中使用CuDNN,请确保已将CuDNN 的安装 目录添加到系统的 PATH 环境变量中。 步骤4 安装Anaconda。 在Windows系统中安装Anaconda的详细步骤如下。 (1)下载Anaconda安装包:前往官网下载最新版本的Anaconda安装包,也可以在清 华源官网上下载安装包。 (2)双击安装包开始安装,在弹出的窗口中单击“下一步”按钮,Anaconda安装会 自动进行。 (3)选择安装路径:按开发者个人喜好选择一个安装路径,并单击Next(下一步)按 钮,如图1-6所示。 8 人工智能技术 应用与实训 步骤3 安装CuDNN。 在 Windows 环境下安装 CuDNN 的步骤如下。 (1)前期准备:在安装CuDNN 之前,需确保已经在计算机上安装了NVIDIA CUDA 开发工具包。 (2)下载CuDNN:访问NVIDIA官方网站,下载最新版本的CuDNN,如图1-5所 示。注意需要注册账户并登录才能下载 CuDNN。 图1-5 CuDNN下载页面 (3)安装CuDNN:双击下载的安装程序文件,按照安装向导提示进行操作。开发者 需要提供其 NVIDIA CUDA安装目录,以便 CuDNN 可以与 CUDA配合使用,将文件中的 bin、include、lib文件复制到CUDA安装目录下。 (4)配置环境变量:如果需要在命令行中使用CuDNN,请确保已将CuDNN 的安装 目录添加到系统的 PATH 环境变量中。 步骤4 安装Anaconda。 在Windows系统中安装Anaconda的详细步骤如下。 (1)下载Anaconda安装包:前往官网下载最新版本的Anaconda安装包,也可以在清 华源官网上下载安装包。 (2)双击安装包开始安装,在弹出的窗口中单击“下一步”按钮,Anaconda安装会 自动进行。 (3)选择安装路径:按开发者个人喜好选择一个安装路径,并单击Next(下一步)按 钮,如图1-6所示。 项目1初识人工智能 (4)选择安装类型:选择默认的“完全安装”,然后单击“下一步”按钮。 (5)安装配置:选择默认的配置选项,并单击“下一步”按钮。 (6)安装完成:单击“完成”按钮,Anaconda安装完成。 (7)检验安装:打开命令行,输入 conda list检验 Anaconda是否安装成功。 图 1-6 Anaconda安装界面 任务1-3 在Android端部署TensorFlow 任务要求 此任务要求读者能够将训练好的模型部署到移动端(Android端)设备中。 知识准备 TensorFlow在移动端(Android端)的部署过程可以使开发者能够将机器学习 模型应用到移动设备上,从而提供更好的用户体验和功能。在部署过程中需要使 用Andriod Studio, 它是一种由Google开发的集成开发环境(integrated development environment,IDE),用于创建和开发Android应用程序。它是Android应用程序开 发的官方IDE,提供了丰富的功能和工具,用于设计、编码、调试和测试Android 应用程序。 9 10 人工智能技术 应用与实训 任务实施 步骤1安装AndroidStudio。 Andriod Studio的关键安装步骤如下。 (1)从 Android Studio 官网下载安装程序。 (2)在下载页面上,单击Download Android Studio按钮。 (3)在打开的“Android Studio 安装向导”页面中单击“下载”按钮,下载安装程序。 (4)安装程序下载完成后,双击安装程序并按照提示进行安装。在安装过程中,可以 选择 Android Studio 的安装位置,也可以选择其他选项,如创建桌面快捷方式。 步骤2 配置AndroidStudio。 安装程序完成后,启动 Android Studio。在启动向导页面上,选择“标准”选项,然 后单击“下一步”按钮。因为没有安装Andriod SDK,所以提示无法载入Andriod SDK, 如图1-7所示,单击Cancel按钮继续安装。 图1-7 SDK提示 选择Andriod SDK的版本进行安装,如图1-8所示。 图1-8 Andriod SDK 安卓SDK 和NDK 10 人工智能技术 应用与实训 任务实施 步骤1安装AndroidStudio。 Andriod Studio的关键安装步骤如下。 (1)从 Android Studio 官网下载安装程序。 (2)在下载页面上,单击Download Android Studio按钮。 (3)在打开的“Android Studio 安装向导”页面中单击“下载”按钮,下载安装程序。 (4)安装程序下载完成后,双击安装程序并按照提示进行安装。在安装过程中,可以 选择 Android Studio 的安装位置,也可以选择其他选项,如创建桌面快捷方式。 步骤2 配置AndroidStudio。 安装程序完成后,启动 Android Studio。在启动向导页面上,选择“标准”选项,然 后单击“下一步”按钮。因为没有安装Andriod SDK,所以提示无法载入Andriod SDK, 如图1-7所示,单击Cancel按钮继续安装。 图1-7 SDK提示 选择Andriod SDK的版本进行安装,如图1-8所示。 图1-8 Andriod SDK 安卓SDK 和NDK