二、算法
当前,人工智能算法已经能够完成智能语音语义、计算机视觉等智能化任务,在棋类、电子游戏对弈、多媒体数据生成等前沿领域取得了一定进展,为人工智能应用落地提供了可靠的理论保障。
1.算法的设计逻辑
人工智能算法的设计逻辑可以从“学什么”“怎么学”和“做什么”三个维度进行概括。
首先是学什么。人工智能算法需要学习的内容,是能够表征所需完成任务的函数模型。该函数模型旨在实现人们需要的输入和输出的映射关系,其学习的目标是确定两个状态空间(输入空间和输出空间)内所有可能取值之间的关系。
其次是怎么学。算法通过不断缩小函数模型结果与真实结果误差来达到学习目的,一般该误差称为损失函数。损失函数能够合理量化真实结果和训练结果的误差,并将之反馈给机器继续做迭代训练,最终实现学习模型输出和真实结果的误差处在合理范围。
最后是做什么。机器学习主要完成三件任务,即分类、回归和聚类。目前多数人工智能落地应用,都是通过对现实问题抽象成相应的数学模型,分解为这三类基本任务进行有机组合,并对其进行建模求解的过程。
2.算法的主要任务
人工智能实际应用问题经过抽象和分解,主要可以分为回归、分类和聚类三类基本任务,针对每一类基本任务,人工智能算法都提供了各具特点的解决方案,如表3-1所示。
表3-1 人工智能主要算法分类
(1)回归任务的算法。回归是一种用于连续型数值变量预测和建模的监督学习算法。目前回归算法最为常用的主要有四种,即线性回归(正则化)、回归树(集成方法)、最邻近算法和深度学习。
(2)分类任务的算法。分类算法用于分类变量建模及预测的监督学习算法,分类算法往往适用于类别(或其可能性)的预测。其中最为常用的算法主要有五种,分别为逻辑回归(正则化)、分类树(集成方法)、支持向量机、朴素贝叶斯和深度学习方法。
(3)聚类任务的算法。聚类算法基于数据内部结构来寻找样本集群的无监督学习任务,使用案例包括用户画像、电商物品聚类、社交网络分析等。其中最为常用的算法主要有四种,即K均值、仿射传播、分层/层次和聚类算法(Density-Based Spatial Clustering of Applications with Noise,DBSCAN)。
3.新算法不断提出
近年来,以深度学习算法为代表的人工智能技术快速发展,在计算机视觉、语音识别、语义理解等领域都实现了突破。但其相关算法目前并不完美,有待继续加强理论性研究,也不断有很多新的算法理论成果被提出,如胶囊网络、生成对抗网络、迁移学习等。
(1)胶囊网络是为了克服卷积神经网络的局限性而提出的一种新的网络架构。卷积神经网络存在着难以识别图像中的位置关系、缺少空间分层和空间推理能力等局限性。受到神经科学的启发,人工智能领军人物Hinton提出了胶囊网络的概念。胶囊网络由胶囊而不是由神经元构成,胶囊由一小群神经元组成,输出为向量,向量的长度表示物体存在的估计概率,向量的方向表示物体的姿态参数。胶囊网络能同时处理多个不同目标的多种空间变换,所需训练数据量小,从而可以有效地克服卷积神经网络的局限性,理论上更接近人脑的行为。但胶囊网络也存在着计算量大、大图像处理上效果欠佳等问题,有待进一步研究。
(2)生成对抗网络(GAN:Generative Adversarial Networks)是于2014年提出的一种生成模型。该算法的核心思想来源于博弈论的纳什均衡,通过生成器和判别器的对抗训练进行迭代优化,目标是学习真实数据的分布,从而可以产生全新的、与观测数据类似的数据。与其他生成模型相比,GAN有生成效率高、设计框架灵活、可生成具有更高质量的样本等优势,2016年以来研究工作呈爆发式增长,已成为人工智能一个热门的研究方向。但GAN仍存在难以训练、梯度消失、模式崩溃等问题,仍处于不断研究探索的阶段。
(3)迁移学习是利用数据、任务或模型之间的相似性,将学习过的模型应用于新领域的一类算法。迁移学习可大大降低深度网络训练所需的数据量,缩短训练时间。其中,Fine-Tune是深度迁移学习最简单的一种实现方式,通过将一个问题上训练好的模型进行简单的调整使其适用于一个新的问题,具有节省时间成本、模型泛化能力好、实现简单、少量的训练数据就可以达到较好效果的优势,已获得广泛应用。