一 背景
随着人们对人工智能领域的不断探索和实践,越来越多的概念涌入了我们的生活,本文将对其中最重要的三个概念:人工智能、机器学习和深度学习进行解析,帮你搞清楚它们之间的关系以及这些技术发挥的重要作用。
二 相关概念
2.1 人工智能(AI)
- 概念:AI(人工智能)是通过机器来模拟人类认识能力的一种科技能力。AI最核心的能力就是根据给定的输入做出判断或预测。
- 目的:AI开发的目的是将隐藏在一大批数据背后的信息集中处理并进行提炼,从而总结得到研究对象的内在规律。
对数据进行分析,一般通过使用适当的统计、机器学习、深度学习等方法,对收集的大量数据进行计算、分析、汇总和整理,以求最大化地开发数据价值,发挥数据作用。
2.2 机器学习
人工智能的方法:机器学习最基本的做法,是使用算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。与传统的为解决特定任务、硬编码的软件程序不同,机器学习是用大量的数据来“训练”,通过各种算法从数据中学习如何完成任务。
机器学习是一门多领域交叉学科,涉及概率论、统计学、 逼近论 、 凸分析 、 算法复杂度 理论等多门学科。专门研究计算机怎样模拟或实现人类的 学习行为 ,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
机器学习应用广泛,无论是在军事领域还是民用领域,都有机器学习算法施展的机会,主要包括以下几个方面。
举个简单的例子,当我们浏览网上商城时,经常会出现商品推荐的信息。这是商城根据你往期的购物记录和冗长的收藏清单,识别出这其中哪些是你真正感兴趣,并且愿意购买的产品。这样的决策模型,可以帮助商城为客户提供建议并鼓励产品消费。
机器学习直接来源于早期的人工智能领域,传统的算法包括决策树、聚类、贝叶斯分类、支持向量机、EM、Adaboost等等。从学习方法上来分,机器学习算法可以分为监督学习(如分类问题)、无监督学习(如聚类问题)、半监督学习、集成学习、深度学习和强化学习。
传统的机器学习算法在指纹识别、基于Haar的人脸检测、基于HoG特征的物体检测等领域的应用基本达到了商业化的要求或者特定场景的商业化水平,但每前进一步都异常艰难,直到深度学习算法的出现。
2.3 深度学习
实现机器学习的技术:深度学习本来并不是一种独立的学习方法,其本身也会用到有监督和无监督的学习方法来训练深度神经网络。但由于近几年该领域发展迅猛,一些特有的学习手段相继被提出(如残差网络),因此越来越多的人将其单独看作一种学习的方法。
最初的深度学习是利用深度神经网络来解决特征表达的一种学习过程。深度神经网络本身并不是一个全新的概念,可大致理解为包含多个隐含层的神经网络结构。为了提高深层神经网络的训练效果,人们对神经元的连接方法和激活函数等方面做出相应的调整。其实有不少想法早年间也曾有过,但由于当时训练数据量不足、计算能力落后,因此最终的效果不尽如人意。
深度学习摧枯拉朽般地实现了各种任务,使得似乎所有的机器辅助功能都变为可能。无人驾驶汽车,预防性医疗保健,甚至是更好的电影推荐,都近在眼前,或者即将实现。
三 开发流程
3.1 明确目标
在开始AI开发之前,必须明确要分析什么?要解决什么问题?商业目的是什么?基于商业的理解,整理AI开发框架和思路。例如,图像分类、物体检测等等。不同的项目对数据的要求,使用的AI开发手段也是不一样的。
3.2 准备数据
数据准备主要是指收集和预处理数据的过程。
按照确定的分析目的,有目的性的收集、整合相关数据,数据准备是AI开发的一个基础。此时最重要的是保证获取数据的真实可靠性。而事实上,不能一次性将所有数据都采集全,因此,在数据标注阶段你可能会发现还缺少某一部分数据源,反复调整优化。
3.3 训练模型
俗称“建模”,指通过分析手段、方法和技巧对准备好的数据进行探索分析,从中发现因果关系、内部联系和业务规律,为商业目的提供决策参考。训练模型的结果通常是一个或多个机器学习或深度学习模型,模型可以应用到新的数据中,得到预测、评价等结果。
业界主流的AI引擎有TensorFlow、Spark_MLlib、MXNet、Caffe、PyTorch、XGBoost-Sklearn、MindSpore等,大量的开发者基于主流AI引擎,开发并训练其业务所需的模型。
3.4 模型评估
训练得到模型之后,整个开发过程还不算结束,需要对模型进行评估和考察。往往不能一次性获得一个满意的模型,需要反复的调整算法参数、数据,不断评估训练生成的模型。
一些常用的指标,如准确率、召回率、AUC等,能帮助您有效的评估,最终获得一个满意的模型。
3.5 部署模型
模型的开发训练,是基于之前的已有数据(有可能是测试数据),而在得到一个满意的模型之后,需要将其应用到正式的实际数据或新产生数据中,进行预测、评价、或以可视化和报表的形式把数据中的高价值信息以精辟易懂的形式提供给决策人员,帮助其制定更加正确的商业策略。
四 实战ModelArts
4.1 ModelArts简介
ModelArts是面向开发者的一站式AI开发平台,为机器学习与深度学习提供海量数据预处理及半自动化标注、大规模分布式Training、自动化模型生成,及端-边-云模型按需部署能力,帮助用户快速创建和部署模型,管理全周期AI工作流。
4.2 ModelArts特性
- 数据治理支持数据筛选、标注等数据处理,提供数据集版本管理,特别是深度学习的大数据集,让训练结果可重现。
- 极“快”致“简”模型训练自研的MoXing深度学习框架,更高效更易用,大大提升训练速度。
- 云边端多场景部署支持模型部署到多种生产环境,可部署为云端在线推理和批量推理,也可以直接部署到端和边。
- 自动学习支持多种自动学习能力,通过“自动学习”训练模型,用户不需编写代码即可完成自动建模、一键部署。
- AI Gallery预置常用算法和常用数据集,支持模型在企业内部共享或者公开共享。
4.3 实战
ModelArts在公共OBS桶中提供数据集,将数据集上传至您的OBS目录下,
如果您想使用自己的数据集,可跳过此步骤,直接将数据上传至OBS文件夹中。
在ModelArts管理控制台,单击左侧导航栏“自动学习”。
在“物体检测”方框中单击“创建项目”,在“创建物体检测项目”页面中,填写“名称”、“数据集名称”,选择“数据集输入位置”,
数据标注,针对物体检测项目,即在已有数据集图像中,标注出物体位置,并为其打上标签。标注好的数据用于模型训练。数据集中,已标注部分数据,还有部分数据未标注,您可以选择未标注数据进行试用。
自动学习项目创建时,会自动执行数据源同步操作。由于数据源同步需要一定时间,如果出现同步失败,可单击“同步数据源”手动执行。
您可以标注多处。建议将数据集中所有图片都标注完成,这样能得到一个效果比较好的模型。
完成数据标注后,在“数据标注”页面,单击右上角的“开始训练”,然后在弹出的“训练设置”对话框中配置相关参数,填写相关参数。
单击“下一步”进入配置页,确认规格后单击“提交”开始模型的自动训练。训练时间相对较长,建议您耐心等待。如果关闭或退出此页面,系统仍然在执行训练操作。
训练完成后,您可以在界面中查看训练详情,如“准确率”、“评估结果”、“训练参数”、“分类统计表”等。
模型部署完成后,您可添加图片进行测试。
在“部署上线”界面,选择状态为“运行中”的服务版本,在“服务测试”区域单击“上传”。
从本地环境选择一张图片,此图片中包待测图片,然后单击“预测”进行测试。
表示检测评分,表示坐标内图像是图像的的概览评分。
如模型准确率不满足预期,可在“数据标注”步骤中添加图片并进行标注,重新进行模型训练及部署上线。
五 反思
ModelArts的理念就是让AI开发变得更简单、更方便。
面向不同经验的AI开发者,提供便捷易用的使用流程。例如,面向业务开发者,不需关注模型或编码,可使用自动学习流程快速构建AI应用;面向AI初学者,不需关注模型开发,使用预置算法构建AI应用;面向AI工程师,提供多种开发环境,多种操作流程和模式,方便开发者编码扩展,快速构建模型及应用。
【百变AI秀】有奖征文火热进行中:https://bbs.huaweicloud.com/blogs/296704
评论(0)