本文主要是介绍人工智能非技术从业者必知的十件事,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Sigai特约作者:superjack
2018.10.08
原创声明:本文为SIGAI 原创文章,仅供个人学习使用,未经允许,不得转载,不能用于商业目的。
其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》,清华大学出版社,雷明著,由SIGAI公众号作者倾力打造。
- 书的购买链接
- 书的勘误,优化,源代码资源
AI大潮汹涌,吸引了越来越多的人才进入来添砖加瓦。而其中,除去核心的算法工程师、科学家外,催生了大量相关的从业人员。而无论你是销售,产品,设计,甚至是协作的APP开发或投资人,无论你之前是否是理工背景,从事其中自然需要了解一些基本的技术相关知识。这样,无论你是判断一家合作、投资公司的技术实力,更好的配合算法团队,乃至在“高深”的算法人员前快速建立交流自信,本文都会快速带来帮助。
1. 人工智能AI范围定义
简单的说,人工智能>机器学习>深度学习。计算机视觉,语音语义分析等问题大量应用但又不限于机器学习。目前人工智能爆发的背后核心因子是深度学习的突破及其应用红利。目前的人工智能,无论是已经很普遍的人脸识别,还是比较高深的AlphaGo,本质都还限定在特定任务,特定规则的环境下执行。因此也被很多业内人员称为“弱人工智能”,距离真正类人的,可同时自主学习多问题的“泛人工智能”或“强人工智能”还有非常巨大的差距。
当然,业内对于智能未来的发展是否一定会类人,或者说需要类人还有很多讨论和争议,这里就不展开讨论了。但总之,在目前政治正确的“人工智能”讨论背后,这个词本身的范围界定和其是否有过于夸大的泡沫成分,都还没有明确的业界共识。
想要更多了解人工智能与机器学习的历史和关系,推荐Sigai另一篇优秀的原创文章,“机器学习——波澜壮阔四十年”
2. AI算法问题的定义
核心来说,机器学习类算法本质都最终可以归纳到“回归”,“分类”和“聚类”三大问题。深度学习算法本质是复合函数的拟合,所以也都可以汇总到“回归”问题。但算法笼统的概括起来容易,具体到各个问题的抽象设计就复杂了。比如AlphaGo围棋,本身除了算力、数据设计外,如何把围棋输赢提炼成计算机算法可表征的问题(围棋核心走的是转化为图像问题),也是非常大的挑战。
如果读者有时间,推荐看另一篇Sigai的原创文章,“从根号2到AlphaGo——第一季从根号2谈起”
3. 不同问题的模型关联性与通用性
当然,随着AI行业的快速发展,很多以前很难被定义的问题,都快速找到了解决路径。比如情绪识别,很大程度上转化为了人脸的多分类问题。同时,很多问题由于深度学习建立的“黑箱”体系,或者说“炼金术”体系,原有各个问题独立的特征工程体系被打破。
以图像领域为例,很典型的有,分割>检测>识别,即分割问题覆盖检测问题,而检测又覆盖识别,里面的特征信息大量共享。基于分割问题训练出来的模型,其表现往往优于独立的检测模型。同时,一个用在物体识别的模型,更换一批训练数据后,放在比如场景识别往往也可以跑出很好效果。正是受益于深度学习的这种通用性,很多新的问题可以快速被解决,也促进了这一轮AI的繁荣。当然,在实际应用中,还有大量的问题没有被清晰定义,这也是非常考验各个算法团队和从业人员的难点。
4. 模型的评判标准
如前文所述,目前很多经典问题都已经被清晰定义了。定义之后,就可以量化的去比较了。这里,ROC(receiver operating characteristic curve)曲线在算法比较中被大量应用,但对非算法人员来说理解准确率和召回率这两个常用指标也就够了。目前,行业各家公司在宣传自己的技术时,也都会对自己模型的准确度进行大力鼓吹。而很明显的,精准度的高低与评判标准紧密挂钩。比如都是人脸识别,一个测试数据为清晰的证件照,一个为日常的生活照,显然即使同一个模型的指标会因为测试标准的不同而大相径庭。为了统一标准,就需要权威的算法竞赛和对应数据库。
5. 算法竞赛
如前文所述,最初科研导向为主的标准数据库,在统一测试和技术标准起到了巨大作用,从图像类的Imagenet爆发开始,业界对其愈发重视,各类初创AI相关公司或算法从业人员都会大力宣传自己在算法竞赛的名次。作为非算法技术人员,只需要了解算法大赛的含金量和他的成熟程度,会查看目前竞赛各项目的名次,了解各个细分领域大致的一个学术成熟度即可。
尤其近些年竞赛由于被过度的重视,测试集被刷爆,也可以理解为考题已经公开,自然他的价值也就大幅缩水,所以国内企业很多吸引眼球的宣传实质缺乏含金量。同时,还需要再提醒一次的是,算法大赛采用的数据集规模,以及这些数据集和实际使用场景的类同性,往往和实际落地场景还是有很大差距。有些时候换一批训练数据这种问题可以弥合这种差距,但更多时候这种距离不是单纯的数据问题,而这就会导致算法理论精度与实际表现的巨大差距。比如人脸检测问题中,比较标准的数据库LFW业界基本都可以刷到接近100%的准确率,但实际问题中,因为光照,人脸拍摄角度不同,导致模型和算法逻辑的改变,进而产生与理想情况严重的误差。
6. 数据规模与数据质量
和算法竞赛类似,数据也是评估一个公司技术能力或技术潜力的重要指标。算法技术水平通常对外行很难了解和评估,而大量标准化问题又都有通用解决方案,这样能否有个性化的数据让算法发挥威力就成为少数可量化的重要标准。这样,BAT等大公司显然有巨大的优势。但需要注意,数据规模并不意味着数据质量,尤其在目前定向的“弱人工智能”阶段,数据与需要解决问题的紧密关联程度、数据是否有稀缺性,这些才意味着数据的实际价值。
而且,现在也有大量专门的算法去解决数据稀缺的问题,比如专门生成有效数据的GAN,以及各种减少数据依赖的策略。所以数据与算法能力,某种意义也是一种制衡。
7. 模型训练(学习)V.S模型检测(实践)
另外对于初次接触这个领域,没有机器学习知识的人,需要理解的一个重要概念就是模型训练与模型检测。这个过程其实是仿照人类的学习过程。小时候我们被幼教展示各种识图卡进而学会认识各种事物;长大我们做作业练习进而可以参加考试,这都是学习与实践的两步过程。
而在传统机器训练过程中,算法人员需要大量的参与其中,调整其学习特征,以识别宠物猫的图片为例,算法人员几乎需要设计每一步识别的特征,比如这里识别猫耳朵的某个边角,那里识别一个光照特性。而与之相对的,采用深度学习的算法人员在设定好学习数据与模型解构后,并不需要详细的设定各个学习特征,这也就是深度学习的黑箱特性。
但作为代价,就是相比于传统的特征工程,深度学习中模型训练与检测这两个过程的割裂更加明显。一个模型的训练周期往往以数小时起步,而实际调用模型做检测过程却只有几秒(某种意义上这更加接近于我们自身寒窗苦读10年,高考一星期的体验J)。而且,模型训练过程中算法工程师能够参与调整的空间小了很多。而为了更快改进问题,更快的完成训练过程,巨大的计算能力就尤为重要。
8. GPU /FPGA/ASIC
之前已经提到了计算能力。而不可忽视的是,这一波深度学习发展促进的AI浪潮最大的成就者和受益者之一就是硬件的提供商,尤其是显卡的制造商英伟达Nvidia。Nvidia对于很多游戏玩家都不陌生,但对于其制霸AI硬件领域,简单来说,是英伟达显卡所采用的GPU计算单元,在处理并行计算中,有着优于传统Intel体系的CPU单元更高的效率;而不同串行的运算逻辑,并行的矩阵计算又恰恰是深度神经网络运算的根本。所以现在,高性能的英伟达显卡对于AI工程师有着比游戏骨灰玩家更大的吸引力。
当然,英伟达的GPU体系也面临非常多挑战。比如FPGA和ASIC,他们都强调通过对算法更加定制化的设计,更接近IO,来达到比GPU更高的效率和更低的能耗。他们的主要区别在于FPGA,或者翻译为可编程逻辑门阵列,他仍然有可以编辑的配置文件去修改;而ASIC,或者说定制芯片,在物理烧制完成后,无法再去修改。除此之外,还有谷歌的TPU体系等等。当然硬件是一个很大的话题,尤其是芯片,里面涉及到非常多知识,所以我们这里只是给出一个概括性的描述。
9. 端部署V.S云部署
说过了模型训练与模型检测,以及支持的服务器硬件甚至芯片,一个很自然的问题就是深度学习模型的部署。和所有的数据密集的应用或服务一样,都有部署的“云端化”和“本地化”平衡。
在模型训练方面,由于耗时较长且需要大量计算资源,所以这块主流方案都是部署在云端或者服务商自己的服务器。一方面这样对于AI能力提供方更加方便管理计算资源,另一方面也更便于他们获取和利用客户的数据。自然,也有很多大型的客户因为数据安全和没有掌握模型改进的核心能力(毕竟模型交付之后还是有修改的需求)而不满足于此,但在客户本地部署训练用的服务器硬件成本,对于中小型客户还是比较大的。虽然业界也有很多轻量级的训练方案,甚至有只利用手机自身的计算资源就完成模型训练的框架,不过这个目前都还不太主流。
而在模型的检测,即单纯的前向运算方面,本地化部署和云端部署的方案在业内都存在。部署在本地,比如集成在手机或手机APP包中的一些相机AI美颜功能,难点在于端的优化,包括占用更小的存储获得更快的处理速度,而好处在于这样一些需要实时处理的功能模型响应更快,避免了API传输中的时间损耗。尤其是自动驾驶和安防摄像头这种对于实时性有极高要求的服务,对于本地端的计算能力和响应时间要求极高,传输的时间损耗很难忽略,这也促进了很多向端提供芯片的企业的市场。而另一方面,很多大型企业在其云平台都会对已经比较标准化的AI技术,比如语音识别、人脸识别等提供可供小型企业、甚至个人直接调用的API,这个和很多云端服务是类似的。这种服务对于客户的好处在于他调用和付费的便捷性。但如果是对于大型企业,或这个AI模块承担了比较大的作用,这种服务就不太充分了。
10. 模型部署与工程化能力
正如9)所述,除了模型本身的性能,工程化的能力和流程对于使用时,客户感受到的实际效果决不可忽视,这就不单是一个优秀的算法工程师能够解决的,而需要一个完整的团队来配合。不论是前期对于客户的需求把握和预期控制、结构化的数据获取和调用系统、模型快速的部署、准确合理的模型测试方法,都是除了算法竞赛以外对于一个团队和企业能力的重要考核因素。所以,回归技术服务商的本质,强化系统性的能力,对于很多AI企业和团队都是必修课。
推荐阅读
[1]机器学习-波澜壮阔40年【获取码】SIGAI0413.
[2]学好机器学习需要哪些数学知识?【获取码】SIGAI0417.
[3] 人脸识别算法演化史【获取码】SIGAI0420.
[4]基于深度学习的目标检测算法综述 【获取码】SIGAI0424.
[5]卷积神经网络为什么能够称霸计算机视觉领域?【获取码】SIGAI0426.
[6] 用一张图理解SVM的脉络【获取码】SIGAI0428.
[7] 人脸检测算法综述【获取码】SIGAI0503.
[8] 理解神经网络的激活函数 【获取码】SIGAI2018.5.5.
[9] 深度卷积神经网络演化历史及结构改进脉络-40页长文全面解读【获取码】SIGAI0508.
[10] 理解梯度下降法【获取码】SIGAI0511.
[11] 循环神经网络综述—语音识别与自然语言处理的利器【获取码】SIGAI0515
[12] 理解凸优化 【获取码】SIGAI0518
[13] 【实验】理解SVM的核函数和参数 【获取码】SIGAI0522
[14]【SIGAI综述】行人检测算法 【获取码】SIGAI0525
[15] 机器学习在自动驾驶中的应用—以百度阿波罗平台为例(上)【获取码】SIGAI0529
[16]理解牛顿法【获取码】SIGAI0531
[17] 【群话题精华】5月集锦—机器学习和深度学习中一些值得思考的问题【获取码】SIGAI 0601
[18] 大话Adaboost算法 【获取码】SIGAI0602
[19] FlowNet到FlowNet2.0:基于卷积神经网络的光流预测算法【获取码】SIGAI0604
[20] 理解主成分分析(PCA)【获取码】SIGAI0606
[21] 人体骨骼关键点检测综述 【获取码】SIGAI0608
[22]理解决策树 【获取码】SIGAI0611
[23] 用一句话总结常用的机器学习算法【获取码】SIGAI0611
[24] 目标检测算法之YOLO 【获取码】SIGAI0615
[25] 理解过拟合 【获取码】SIGAI0618
[26]理解计算:从√2到AlphaGo ——第1季从√2谈起 【获取码】SIGAI0620
[27] 场景文本检测——CTPN算法介绍 【获取码】SIGAI0622
[28] 卷积神经网络的压缩和加速 【获取码】SIGAI0625
[29] k近邻算法 【获取码】SIGAI0627
[30]自然场景文本检测识别技术综述 【获取码】SIGAI0627
[31] 理解计算:从√2到AlphaGo ——第2季神经计算的历史背景 【获取码】SIGAI0704
[32] 机器学习算法地图【获取码】SIGAI0706
[33] 反向传播算法推导-全连接神经网络【获取码】SIGAI0709
[34] 生成式对抗网络模型综述【获取码】SIGAI0709.
[35]怎样成为一名优秀的算法工程师【获取码】SIGAI0711.
[36] 理解计算:从根号2到AlphaGo——第三季神经网络的数学模型【获取码】SIGAI0716
[37]【技术短文】人脸检测算法之S3FD 【获取码】SIGAI0716
[38] 基于深度负相关学习的人群计数方法【获取码】SIGAI0718
[39] 流形学习概述【获取码】SIGAI0723
[40] 关于感受野的总结 【获取码】SIGAI0723
[41] 随机森林概述 【获取码】SIGAI0725
[42] 基于内容的图像检索技术综述——传统经典方法【获取码】SIGAI0727
[43] 神经网络的激活函数总结【获取码】SIGAI0730
[44] 机器学习和深度学习中值得弄清楚的一些问题【获取码】SIGAI0802
[45] 基于深度神经网络的自动问答系统概述【获取码】SIGAI0803
[46] 反向传播算法推导——卷积神经网络 【获取码】SIGAI0806
[47] 机器学习与深度学习核心知识点总结写在校园招聘即将开始时 【获取码】SIGAI0808
[48] 理解Spatial Transformer Networks【获取码】SIGAI0810
[49]AI时代大点兵-国内外知名AI公司2018年最新盘点【获取码】SIGAI0813
[50] 理解计算:从√2到AlphaGo ——第2季神经计算的历史背景 【获取码】SIGAI0815
[51] 基于内容的图像检索技术综述--CNN方法 【获取码】SIGAI0817
[52]文本表示简介 【获取码】SIGAI0820
[53]机器学习中的最优化算法总结【获取码】SIGAI0822
[54]【AI就业面面观】如何选择适合自己的舞台?【获取码】SIGAI0823
[55]浓缩就是精华-SIGAI机器学习蓝宝书【获取码】SIGAI0824
[56]DenseNet详解【获取码】SIGAI0827
[57]AI时代大点兵国内外知名AI公司2018年最新盘点【完整版】【获取码】SIGAI0829
[58]理解Adaboost算法【获取码】SIGAI0831
[59]深入浅出聚类算法【获取码】SIGAI0903
[60]机器学习发展历史回顾【获取码】SIGAI0905
[61] 网络表征学习综述【获取码】SIGAI0907
[62]视觉多目标跟踪算法综述(上)【获取码】SIGAI0910
[63] 计算机视觉技术self-attention最新进展【获取码】SIGAI0912
[64] 理解Logistic回归【获取码】SIGAI0914
[65] 机器学习中的目标函数总结【获取码】SIGAI0917
[66] 人脸识别中的活体检测算法综述【获取码】SIGAI0919
[67] 机器学习与深度学习常见面试题(上)【获取码】SIGAI0921
[68] 浅谈动作识别TSN,TRN,ECO【获取码】SIGAI0924
[69] OCR技术简介【获取码】SIGAI0926
[70] 轻量化神经网络综述【获取码】SIGAI1001
[71] 行人重识别PCB-RPP,SGGNN 【获取码】SIGAI1001
原创声明:本文为SIGAI 原创文章,仅供个人学习使用,未经允许,不能用于商业目的
这篇关于人工智能非技术从业者必知的十件事的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!