2.2.1 机器学习
机器学习(Machine Learning,ML)是实现人工智能的一种技术,它使用大量数据进行“训练”,通过各种算法从数据中学习如何处理现实事件并做出预测和决策。
深度学习(Deep Learning,DL)是一种实现机器学习的方法。早期深度学习主要是利用深度神经网络解决特征表达的问题,神经网络使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象。人工智能、机器学习和深度学习三者之间的关系如图2-5所示。
1. 机器学习的方式
对问题的建模方式可以根据数据类型的不同来划分。在机器学习领域,可以将算法按照学习方式进行分类,这样可以让人们在建模和选择算法时,能够根据输入数据的不同来选择最适合的算法以获得最优结果。
(1)有监督式学习(Supervised Learning)
有监督式学习要求算法的可能输出是已知的,且每组输入数据都已经标记有正确结果(见图2-6)。例如,有监督式学习中的分类算法,是对给动物物种做了正确标记的图像集合,以及其所对应的一些动物特征识别进行学习,从而进行训练,为日后识别其他动物打下基础。常见算法包括线性回归、逻辑回归和支持向量机等。
(2)无监督式学习(Unsupervised Learning)
在无监督式学习(见图2-7)中,计算机可以学习如何识别复杂的过程和模式,而无须人工提供指导。简而言之,就是我们拥有一些数据,不清楚这些数据包含哪些类型,也没有将数据集的正确答案传递给算法,但是希望算法能自动找出数据可能存在的类型,并将其归类整合。虽然无监督式学习对于一些较简单的企业应用来说过于复杂,但它为解决人们通常无法解决的问题打开了大门。常见算法包括K-Means、Apriori和生成对抗网络(GAN)。
(3)半监督式学习(Semi-supervised Learning)
半监督式学习是一种将有监督式学习与非监督式学习相结合的方法,拥有少部分的因变量(有类标签的样本)和大部分的自变量(无类标签的样本)。半监督式学习方式的原理是先使用有类标签的样本数据集训练出一个学习器,再基于该学习器对无类标签的样本进行预测,并将数据作为训练数据传递给有监督式学习算法,然后使用模型在新数据上进行二次预测,这样便能大幅度降低标记成本。
(4)强化学习(Reinforcement Learning)
强化学习(见图2-8)可以训练模型,让其能够做出某一决定。其过程模型在某种情况下尝试所有行动方式,记录不同行动所产生的结果并找出最好的一次尝试来做最终的决定。强化学习不像有监督式学习,输入数据只是检查模型正确与否的一种方式,而更多的是对模型的一种反馈,输入数据直接反馈到模型之中,模型也必须对此立刻做出相应调整。常见算法分基于值的(Value-based)算法和基于策略的(Policy-based)算法两类,包括Q-Learning、DQN、蒙特卡洛及时间差学习(Temporal Difference Learning)等。
(5)迁移学习(Transfer Learning)
迁移学习源于马尔科夫逻辑网络和贝叶斯网络,它将已有的知识或模型应用于有关联的其他问题上。迁移学习可以节省人工标注样本的时间,将已有标签的数据向没有标签的数据迁移,训练出适用于无标签数据的模型。常见算法包括知识转移(Knowledge Transfer)、归纳转移(Inductive Transfer)和元学习(Meta Learning)等。
(6)小样本学习(Few-shot Learning)
小样本学习可以通过先验信息,在十分有限的带标签数据上提升模型的表现,核心是基于先验信息将不可靠的经验风险最小化。小样本学习主要有3种类型:数据增广、缩小模型的假设空间和设计更好的优化算法。常见算法包括可微分的神经网络架构搜索(Differentiable Architecture Search)、孪生网络(Siamese Network)和原型网络(Prototype Network)等。
(7)自监督式学习(Self-supervised Learning)
自监督式学习的原理是模型直接从无标签数据中进行学习,而不需要标注数据。其核心在于用一个辅助任务自动为数据产生标签,无须人工参与。自监督式学习的性能由模型自动生成的特征质量来评判,可通过迁移学习,把特征用到其他任务中,通过该任务的结果来评价好坏,没有统一的评价方式。
(8)自动机器学习(Automated Machine Learning,AutoML)
自动机器学习是一个控制神经网络提出一个可以在特定任务上训练和评测性能的子模型架构,测试的结果反馈给控制器,让控制器知道下一轮如何改进模型。相当于将机器学习中的数据预处理、特征选择、算法选择等步骤和深度学习中的模型架构设计、模型训练等步骤都交给机器自动运行,不需要人工干预。
2. 机器学习的应用
机器学习已广泛应用于自然语言处理、搜索引擎、广告投送、推荐系统、医学诊断、生物特征识别、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人等众多领域,在搜索、推荐、广告领域的应用尤其突出。
(1)垃圾邮件过滤
生活中充斥的垃圾邮件非常破坏用户体验,Google公司正在使用深度学习技术进行垃圾邮件的打击工作。这种方式不是通过罗列黑名单来筛选和屏蔽垃圾邮件的,而是使用来自用户和自然语言处理的数据检测方式。
(2)搜索引擎
根据搜索引擎的结构,可以利用机器学习技术对搜索引擎的文档管理器、索引构建器、索引检索器等进行多方位的优化,帮助搜索引擎生成更精准的摘要,更准确地将查询的关键词和显示的文本进行匹配,显示的优化搜索结果的排序。
(3)推荐
电商平台往往含有数以百万计的商品图片,有些平台还带有图片搜索功能,这种功能可以对用户提供的商品图片进行分类,然后利用推荐系统,提高基于用户搜索、浏览等数据的个性化推荐效果。
(4)广告
用户在上网浏览过程中,会产生广告点击行为。平台对广告点击行为进行预测,可以实现对个人用户的有针对性的广告投送,使广告投入产出比最大化。同时,在现代广告投放系统中,利用多层级的用户画像构建算法构建精准的用户画像,然后基于人口属性进行广告定向投送,也是提高品牌广告展示效用的关键技术。
(5)自拍美颜
从常规的拍照修图到智能化的实时美颜,用户的爱美、娱乐需求在科技影响下不断得到满足。如今,智能手机、美颜App和直播软件均带有“一键美白”“3D瘦脸”等功能,它可通过基于机器学习的人工智能技术以及海量数据库进行对比、分析,对人脸进行智能识别,并匹配出最佳的人像表现。
(6)手写识别
由于手写字体(特别是汉字)的变形程度较大,因此,要想对汉字图形进行准确呈现,就需要依托稳定的特征进行描述。利用机器学习可以较好地从大量样例中进行学习、归纳,形成对文字特征识别的基本规则,从而将手写字体更好地表现出来。
(7)信用卡欺诈检测
面对信用卡欺诈行为,银行通常会利用机器学习技术进行欺诈防控。一般来说,机器学习算法会将收集到的大量欺诈样本数据进行过滤,发现交易中不同类别的情况。当模型经过充分的训练后,应用了模型的防控系统就可以根据种种迹象辨认出欺诈性行为,以终止交易发生。
(8)监控预报
由人工智能驱动的视频监控预报系统已进入技术侦查破案的应用视野,它可以根据监控目标人群的异常行为,如长时间在公共区域东张西望、突然跑窜等,将犯罪行为在发生之前检测出来。当系统监控到异常行为特征时,即可向警务人员发出预报,引起重视,从而最大化地避免犯罪事件的发生。另外,触发异常预报的统计数据,也可在后续进行批量标注并用于模型训练,进而提升监控预报的精准度。