热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

干货种类大全集(ai是什么)

作者|温婉的期待责编|Carol出品|AI科技大本营(ID:rgznai100)人工智能这几年发展的如火如荼,不仅在计算机视觉和自然语言处理领域发生了翻天覆地的变革,在其他






作者|温柔的期待


编辑责任|卡罗尔


展出| AI技术基地营(ID:rgznai100 ) () ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )至) ) )。


虽然人工智能这几年得到了发展,但不仅在计算机视觉和自然语言处理领域,在其他领域也掀起了技术创新的浪潮。 无论是新业务的尝试还是对旧业务的改造升级,AI这一60多年的“后浪”都潜在地影响着我们传统技术体系结构的观念。


AI体系结构,特别是以机器学习和深度学习为代表的体系结构方案,成为了我们技术体系结构选型的新选择。


需要AI体系结构的解决方案吗? 选择AI体系结构的主要根据是什么? 这是我们今天主要讨论的问题。


让我们先来看看典型的AI体系结构:




1、首先需要收集训练模型所需的数据。 这些数据可能来自业务系统本身。 例如,CTR预测任务中的用户的点击数据、用户的订单数据等; 图像分类任务中的图像、NLP任务中的资料等,也有可能来到系统外部公开购买或自主攀登。


2、这些数据收集后,经过清洗、加工后保存。 因为不仅仅是一次。 通常存储在分布式存储设备(如HDFS )或云中,许多公司都建立了自己的数据平台,存储在数据仓库中,并长期累积。


3、需要使用时,首先进行数据筛选,选择合适的特征数据,然后经过数据预处理后传输到算法模型中。 模型的构建多为可选的技术框架,可以基于spark mllib,也可以是sklearn、tensorflow、pytorch等。 之后,经过训练、评价和参与,完成模型的构建工作。


4、最后一个模型应用于线上的具体业务,分类,回归到某个具体的任务上。 在部署过程中,有可能将模型打包,并将预测模型直接部署到业务系统(客户端)中; 为了便于跨语言调用,还可以直接提供在线rest风格的接口。


总结起来,经过数据收集、加工处理、特征选择、数据预处理、模型训练、模型评价、模型应用几个环节,数据跨越业务系统、数据平台、算法模型三个系统,成为一个


是否需要AI架构,如何衡量该技术架构方案的可行性? 我认为主要看以下三个要素。




讨论场景体系结构的可行性。 是否适合业务和业务发展是首要衡量标准,AI架构也不例外。


回顾推荐、搜索、广告等经典且广泛使用的机器学习场景,这些场景具有场景相对封闭、目标单一、可控的特点。


究其原因,无论算法模型有多复杂,最终都必须执行为损失函数,但后者一般为单目标、单优化任务。 追求极值(使损失最小化)或在某种对抗上取得平衡) )例如GAN )。 在这种情况下,无论业务如何建模,都必须着眼于算法模型和损失函数,最终会限制场景和目标的单一性。


因此,要看某一业务是否适合AI架构,首先需要看其业务场景的目标是否单一可控。 或者,经过业务建模和体系结构的分解,各个阶段的场景是否单一。


例如,同道艺龙酒店系统为酒店业者提供了上传酒店图片的功能。 在这个场景中,不仅要审查图像的合法性,还会加上“大厅”、“前台”、“客房”、“周边”等分类标签。 为了正常使用AI架构,必须对场景中的每个目标进行分割,并训练不同的分类器。 具体流程如下。




其中,步骤2、3、4与多个图像分类器相关,每个分类器的目标不同,所需的训练数据也不同。 对于输入的相同样本图像,每个分类器都完成了自己的职能,目标可以单一控制。 在未通过的样本中,可能也与人工干预有关。 最后的合法图像保存在系统中。


从业务的必要性来看,并不是所有的业务场景都需要AI架构。 算法模型是对事物的准确模拟和抽象,复杂度也很高。 但是,我们的业务可能不需要那么精细的控制。 例如,简单的if.else .也可以解决问题。复杂的地方在于,设计了一些“战略”,由业务专家根据情况进行配置。 在更复杂的情况下,可能会考虑BI的方案:收集数据,展开多维度的分析,最后分析师与业务专家一起得出某种规律的结论,然后纳入系统。


再举一个酒店流通价格的例子,一般是在酒店流通到代销之前,根据基本价格介入产品的售价,调整一定的百分点(百分比),在保证销量的同时,实现收益最大化。


一开始,可能只是固定比率。 例如,6%的涨价。 随着商业的发展,针对“是否垄断”、“是否受欢迎”的二维度将酒店分为4个象限等,提出了一系列的战略,“

独家-热门”酒店实施一个较高的调价比率,而对“非独家-冷门”酒店实施一个较低的比率。结果收益提高了一大截,效果不错。

而后,业务人员希望施行更加精细的控制,于是对酒店的星级、地区、商圈、独家、房型等维度进行了更为精细的划分,并结合历史数据进行统计分析,对各种结果施以不同的调价比率。产量和收益又进一步提升了。

这时如果各业务方都比较满意、成本也不高,系统复杂度也不高,那就没必有再考虑更为精细、智能的AI架构了。引入AI,本质上,还是要带来效率、体验或准确性的提升,同时平衡成本和收益,控制系统复杂度。如果不能带来这些,那就要重新审视我们的方案了。

当然,有时我们也会考虑架构的扩展性和业务的发展,预留一些设计上的“开闭”空间。“策略模式”这时也许是个不错的选择。对于系统的默认策略,采用基于人工的、配置的方案,同时保留策略扩展接口,随着将来业务要求的增高,再引入“基于AI的策略”。这样即控制了当前的成本,又平衡了系统的扩展性。

数据

数据决定了机器学习的上限,而算法和模型只是逼近这个上限而已。

数据的采集和获取通常需要很长时间,建立充分、全面的数据仓库,更需要长时间的积累和打磨,因此,数据在任何一个公司都是宝贵的资产,不肯轻易送出。而一个算法模型的成功与否,关键看数据和特征。因此,一套AI架构的解决方案,最终能否取得好的效果,关键看是否已经采集到了足够、充分的数据。

这些数据来源一般包括:自有系统采集、互联网公开数据收集(或爬取)、外购等。

自有系统采集是最常见的方案,业务系统自身产生的数据,一般也更适合业务场景的应用。可这样的数据珍贵且稀少,所以往往需要公司的wsdwt提前布局,早早的开始收集、整理业务数据,建设数据平台、充实数据仓库,这样经过几个月甚至几年以后,在真正用到AI架构时,弹药库里已经内向的发夹了充足的“弹药”了。

互联网公开的数据爬取也是一个快速且免费的方法,但在茫茫大海中找到适合自己的数据并不容易,且因为你能拿到、别人也能拿到,因此很难拉开和其他竞对公司的差异。

外购一般要花费巨额费用,且质量参差不齐,一般是互联网公司最后不得已的方案。

在数据获取成本高、难度大、积攒时间久这样的前提下,而场景又适合使用AI架构,面对数据匮乏,是不是就没有办法了呢?也不尽然,我们还是有些替代方案的。

1、 浅层模型通常比深层模型需要更少的数据量,因此,在数据量不足的时候,通常可以使用浅层模型替代深层模型来减少对数据量的需求。当然,模型的表达能力也会随之下降,但应对不是特别复杂的业务场景,浅层模型也一样能取得很好的效果。当然,随之而来的是对特征挖掘更高的要求和对模型选择的挑剔。拿分类任务来说,SVM、逻辑回归、随机森林、朴素贝叶斯...每种模型都有其特点和适用性,要充分考虑和权衡,才能利用好每一条数据。所谓数据不够、模型来凑,也是不得已的办法。

2、 采用预训练模型也是降低数据需求量的一个很好的办法,迁移学习已经在图像分类问题上广泛运用,BERT模型也将预训练模型带入自然语言处理的大门。在一些特定问题上,如果能找到合适的预训练模型,再加之少量自己的数据进行微调,不但对数据的需求量降低,训练时间也大大降低,一举两得。只是合适的预训练模型可遇而不可求。

3、 还有一个减少数据需求的变通的办法是采用少量数据先“启动”,然后不断获取数据,并加快模型更新频率,直至采用“在线学习”的方法。这里实际上是将总的数据需求,拉长到时间维度去解决。当然,这里也需要业务上允许前期模型的准确度不是那么高,随着数据的增多和模型的不断更新,逐步达到预期效果。

举个例子,酒店shopper类产品的售卖,为了加快展现速度,通常采取供应商数据预抓取的方式落地。但供应商给的QPS极其有限,每次只能抓取一个酒店,高频率的抓取可以保证酒店数据的新鲜度,给客人更好的体验;低频率的抓取因库存、价格信息时效性不能保证,往往就会导致预定失败,造成损失。因此,如何在酒店间合理的分配QPS就是一个典型的机器学习问题。

我们从酒店热度、预定周期、节假日等多个维度进行了特征挖掘,最后却发现“季节”这个关键因素,我们却提取不到有效特征,原因是数据仓库里只有三个月的数据,也就是只有当季的数据。

为了解决这个问题,我们重新设计了模型,调整了架构方案,采用“在线学习”的方式,将模型更新问题纳入到了解决方案中。原始数据只用来训练一个初始模型,上线后,模型不断拿新产生的数据并进行迭代更新,同时对时间线更近的数据赋以更高的样本权重,以此来保证对季节性因素的跟进。系统上线后,取得了很好的效果。

4、 强化学习在初始数据缺乏的情况下,大多数时候也是一个备选方案。强化学习采用“试错”的方式,不断演化,并最终学到规律。当然这需要业务模型做相应的调整,同时,如果演化周期过长,那有可能模型在前期相当长的时间内,都不能做出较优的决策,因此需要业务容忍度较高。

算力

众所周知,训练过程是一个典型的“计算密集型任务”,没有强大的算力,是难以支撑算法模型的训练和研究的。做机器学习的计算平台,GPU几乎是标配,其训练时间比CPU一般能缩短5倍以上。

目前,主要有自建和租赁云平台两种途径获取。如果“不差钱”,当然可以选择自建,但现在GPU升级换代太快,基本一年一换。对于做机器学习的GPU来说,运算速度是关键,很可能花了大价钱搭建的GPU集群,过几年却变成了一台“老爷车”。

租赁云平台虽然可以随时享受最新GPU运算速度带来的“快感”,但所需花费的精力也不少。不但要详细对比每家云平台提供的服务和成本,还要合理的搭配CPU和GPU,做到资源利用最大化。

说了这么多,提的最多的可能就是“成本”和“收益”这两个词了,这也是业务最关心的问题。无论是计算资源还是系统架构,上一套AI架构的解决方案都是需要投入相当大的成本的,如果选择得当,在一个合适的场景下,AI也是能带来相当不错的收益;但如果入不敷出,选择AI架构的解决方案就要慎重了。

最后,技术人员内向的发夹和法律因素也是上AI架构前需要考量的问题,前阵子还发生了国家工信部约谈AI换脸应用企业的事件。

AI是一场浪潮,它不仅带来了新的技术和行业,也给了老系统焕发新生命活力的机会。作为技术人员,我们不仅要拥抱新技术带来的挑战,更要清楚其技术选型的主要因素和背后的风险,这样才能屹立浪潮之巅。那么,你是否需要AI架构的解决方案呢?

作者介绍:

温婉的期待,2014年加入同程艺龙任架构师、技术委员会委员;先后负责MAPI手机网关平台建设、同程艺龙开放平台建设、shopper类产品直连系统建设等。

重构ncnn,腾讯优图开源新一代移动端推理框架TNN

墨奇科技矮小的汽车:如何用 AI 技术颠覆指纹识别?

性能超越最新序列推荐模型,华为诺亚方舟提出记忆增强的图神经网络

研发的未来在哪里?Serverless 云开发来了!

真惨!连各大编程语言都摆起地摊了!

国外小伙怒喷加密货币行业:入行两年,我受够了!
推荐阅读
author-avatar
ERIK又
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有