深度学习 的关注度正持续上升,它是 机器学习 的一个子领域,基于人工神经网络的概念来执行特定任务。然而在理论上,人工神经网络与人类大脑的运作方式并不相同,甚至都不相似!
它们之所以被命名为人工神经网络,是因为它们可以完成确切的任务,同时达到理想的精确度,而无需使用任何特定规则进行明确编程。
几十年前 AI 失败的主要原因是缺乏数据和计算能力。 经过数年时间,这一情况已显着改善。 基于大型科技巨头和跨国公司投资AI数据,数据的丰富程度已大大提高。 而鉴于 图形 处理单元( GPU s)功能强大,计算能力也不再是挑战。
本文将详细讨论构建深度学习模型的五个基本步骤,以及如何使用这些步骤来处理各种深度学习项目。
1.定义架构
深度学习是解决复杂任务的最优方法之一,例如图像分类或分割、 人脸识别 、目标检测、聊天机器人等。但是,对于每一个复杂的项目,深度学习模型均需进行五个固定步骤以完成当前任务。
构建深度学习模型的第一步,也是最重要的一步就是成功定义网络和架构。根据所执行任务的类型,一般倾向于使用特定类型的体系结构。
通常,对于 计算机 视觉任务,如图像分割、图像分类、面部识别和其他类似项目,首选卷积 神经网络 (CNNs)或ConvNets。而对于自然语言处理和与文本数据相关的问题,递归神经网络(RNNs)和长短期记忆(LSTMs)更为可取。
在此步骤中,还可以决定整个深度学习架构的模型构建结构类型。执行此操作的三个主要步骤是顺序模型(Sequen TI alModels)、功能性API或用户定义的自定义架构。下文将更详细地讨论每种方法。
2.编译模型
首选架构构建完成后,将继续进行构建模型的第二个步骤——编译模型。编译步骤通常是 TensorFlow 深度学习框架中的一行代码,可以采用model.com pi le()函数进行编译。
在深度学习中,编译的要求是配置模型,以便成功完成拟合/训练过程。正是在编译中,为评估程序定义了培训程序的一些关键组成部分。
列举一些必要参数,下一步需要分配损耗、优化器和指标。损耗的种类取决于所遇问题的类型以及亟待解决的问题。优化器通常是指用于计算的adam、RMSprop或类似优化器;指标是指用于分析的准确性度量或任何其他由用户定义的衡量标准。
3.拟合模型
成功定义整体架构并编译模型后,第三个逻辑步骤是在训练数据集上拟合模型。拟合功能可在固定数量的周期(数据集上的迭代)内训练模型。借助拟合功能,可以确定训练周期的数量、输入和输出数据、验证数据等重要参数。拟合功能可用于计算和估算这些基本参数。
在培训过程中,必须持续评估拟合步骤。重要的是要确保所训练的模型在提高准确性和减少整体损失的同时,运行良好。
同样重要的是,要考虑到该模型没有以任何方式被过度拟合。为此,必须使用 Te nsorboard之类的工具进行持续评估,以分析各种图表,并了解这些模型是否有可能被过度拟合。一旦训练完成并对固定数量的周期进行分析后,就可以继续进行第四个步骤——评估并使用训练好的模型进行预测。
4.评估和预测
评估深度学习模型是 检验 构建模型是否按预期工作的一个十分重要的步骤。构建的深度学习模型在现实应用程序中可能运行不佳。因此,评估深度学习模型变得至关重要。
评估深度学习模型的一个主要方法是,确保模型对预处理步骤开始时,将分割 测试 数据所做的预测考虑在内,以验证训练模型的有效性。除测试数据外,还必须用可变数据和随机测试对模型进行测试,以查看其在未经训练的数据上的有效性,以及其性能效率是否符合预期要求。
假设我们建立了一个简单的人脸识别模型。需考虑到该模型已使用图像训练过,并尝试在测试数据和实时视频录制中使用不同面孔评估这些图像,以确保训练的模型运行良好。
5.部署模型
部署阶段是构建任何模型的最后一步。一旦成功完成模型构建后,如果想要保留模型或进行部署,以面向更广泛的受众,这便是一个可选的步骤。部署方法各不相同,可以将其部署为跨平台传输的应用程序,也可以使用amazon提供的AWS云平台进行部署,或者使用嵌入式系统部署。
如果想要部署 监控 摄像头之类的东西,则可以考虑使用类似 树莓派 的嵌入式设备与摄像头模块共同执行此功能。带有人工智能的嵌入式系统是部署物联网项目的常用方法。
使用flask、Django或任何其他类似框架构建深度学习模型后,也可以选择在网站上部署这些深度学习模型。另一个有效部署模型的方法是为智能手机用户开发一个 android 或 iOS 应用程序,以覆盖更广泛的用户。
构建任何深度学习模型都需遵循这些步骤,至少包含前述五个中的四个。对于新手或初级项目而言,部署步骤是可选步骤,但在相关行业和公司中,该步骤却是极其重要,不可或缺。
需要格外注意的是,在构建和使用深度学习模型前,必须考虑数据预处理、探索性数据分析以及其他强制性清理步骤。模型的构建步骤必须在完成所有数据的预处理后才可以执行。