本文着重讲解:AI的技术范围?时下有哪些落地的AI技术?各自的优缺点是什么?产品经理视角应该知道的技术和切入的角度?
随着大数据的累积,AI迅猛发展,希望了解AI的人,期待从事AI产品经理工作的人也越来越多。
但是摆在希望从事AI产品经理工作的人面前的第一件事是:AI的技术范围?时下有哪些落地的AI技术?各自的优缺点是什么?产品经理视角应该知道的技术和切入的角度?
本篇重点解答以上问题。
一、产品经理对AI技术理解
AI的发展已有近七十年的历史,AI在技术实现上可归类为六种途径,即符号主义、连接主义、学习主义、行为主义、进化主义和群体主义。
六种途径并非泾渭分明,它们只是从不同的角度提出了解决方案,如学习主义就用到了人工神经网络来实现。产品经理理解的AI应该是广义范畴。
目前今日头条估值高达350亿美金,今日头条系产品的快速发展主要特征是对AI和机器学习的应用。
时下流行的机器学习以及深度学习算法,实际上是符号主义、连接主义以及行为主义理论的进一步拓展。
对于机器学习的理解,笔者认为:产品经理可以从三个问题入手——即机器学什么、机器怎么学、机器做什么?
首先,机器学习需要学习的内容是能够表征此项任务的函数,即能够实现人们需要的输入和输出的映射关系。从信息论的角度来看,其学习的目标是确定两个状态空间内所有可能取值之间的关系,使得熵尽可能最低。熵越低信息越有序。
其次,机器怎么学。要实现学习目标,就要教给机器一套评判的方法,而不同于告诉机器每个具体步骤如何操作的传统方法,这需要对机器描述过程演进为对机器描述结果。
从数学角度来看,就是为机器定义一个合适的损失函数,能够合理量化真实结果和训练结果的误差,并将之反馈给机器继续作迭代训练。
最后,机器学习究竟要做什么,其实主要做三件事——即分类(Classification)、回归(Regression)和聚类(Clustering)。其中分类和回归属于监督学习的范畴,而聚类则属于非监督学习的范畴。
目前多数人工智能落地应用的背后,都是通过对现实问题抽象成相应的数学模型,分解为这三类基本任务的有机组合,并对其进行建模求解的过程。
机器学习的产品过程演示:
二、时下AI热点算法分类
这里,我们首先讨论当前的三大最常见的机器学习任务及其常用算法。
1. 回归
回归是一种用于连续型数值变量预测和建模的监督学习算法,回归任务的特征是具有数值型目标变量的标注数据集。
回归算法有很多种,其中最为常用的算法主要有四种:
- 是(正则化)线性回归,它最简的形式是用一个连续的超平面来拟合数据集;
- 是回归树(集成方法),该方法又称为决策树,通过将数据集重复分割成不同的分支来最大化每次分离的信息增益,从而让回归树很自然地学到非线性关系,集成方法包括随机森林(RF)或梯度提升树(GBM);
- 是最邻近算法;
- 是深度学习。
2. 分类
分类算法用于分类变量建模及预测的监督学习算法,许多回归算法都有其对应的分类形式,分类算法往往适用于类别(或其可能性)的预测,而非数值。
其中最为常用的算法主要有五种:
- (正则化)逻辑回归:逻辑回归通过逻辑函数将预测映射到0到1的区间,因此预测值可被视为某一类别的概率。
- 分类树(集成方法):对应于回归树的分类算法是分类树。通常,它们都是指决策树,更为严谨的说法是“分类回归树”——也就是非常有名的CART算法。
- 支持向量机:支持向量机使用一个名为核函数的技巧,来将非线性问题变换为线性问题,其本质是计算两个观测数据的距离。支持向量机算法所寻找的是能够最大化样本间隔的决策边界,因此又被称为大间距分类器。
- 朴素贝叶斯:基于条件概率和计数的简单算法,其本质是一个概率表,通过训练数据来更新其中的概率。它预测新观察值的过程,就是根据样本的特征值在概率表中来寻找最为可能的类别。被称为“朴素”的原因是其核心的特征条件独立性假设(例如:每一项输入特征都相互独立)在现实中几乎是不成立的。
- 深度学习方法。
3. 聚类
聚类算法基于数据内部结构来寻找样本自然族群(集群)的无监督学习任务,使用案例包括用户画像、电商物品聚类、社交网络分析等。
用户电商物品需求聚类分析图:
其中最为常用的算法主要有四种:
- K均值:基于样本点间的几何距离来度量聚类的通用目的算法。由于集群围绕在聚类中心,结果会接近于球状并具有相似的大小。
- 仿射传播:基于两个样本点之间的图形距离来确定集群,其结果倾向于更小且大小不等的集群。
- 分层/层次:主要完成层次聚类的目标。
- DBSCAN:基于密度的聚类算法,它将样本点的密集区域组成集群;其最新进展是HDBSCAN,它允许集群的密度可变。
在机器学习领域内,两个最为重要的概念是维度及特征选取。其中“维(Dimensionality)”通常指数据集中的特征数量(即输入变量的个数),而特征选取是从你的数据集中过滤掉不相关或冗余的特征。
特征选取(Feature Selection)主要包括四种方法:
- 方差阈值:摒弃掉观测样本那些观测值改变较小的特征——即它们的方差小于某个设定的阈值,这样的特征价值极小。
- 相关性阈值:去掉那些高度相关的特征(这些特征的特征值变化与其他特征非常相似),它们提供的是冗余信息。
- 遗传算法:可用于不同任务的一大类算法的统称。它们受进化生物学与自然选择的启发,结合变异与交叉,在解空间内进行高效的遍历搜索。
- 逐步搜索:逐步搜索是一个基于序列式搜索的监督式特征选取算法,它有两种形式:前向搜索和反向搜索。
特征选取与特征提取不同,其关键区别在于:特征选取是从原特征集中选取一个子特征集,而特征提取则是在原特征集的基础上重新构造出一些(一个或多个)全新的特征。
特征提取(Feature Extraction)主要用来创造一个新的、较小的特征集,但仍能保留绝大部分有用的信息。
主要包括三种方法:
(1)主成分分析:非监督式算法,它用来创造原始特征的线性组合。新创造出来的特征他们之间都是正交的,也就是没有关联性。
具体来说,这些新特征是按它们本身变化程度的大小来进行排列的。第一个主成分代表了你的数据集中变化最为剧烈的特征,第二个主成分代表了变化程度排在第二位的特征,以此类推。
(2)线性判别分析:监督式学习方式,它必须使用有标记的数据集。
(3)自编码机:人工神经网络,它是用来重新构建原始输入的,关键是在隐含层搭建比输入层和输出层更少数量的神经元。这样,隐含层就会不断学习如何用更少的特征来表征原始图像。
机器学习还包括密度估计(Density Estimation)和异常检测(Abnormal Detection)的任务,在此略过。总的来说归类机器学习算法一向都非常棘手,由于其背后实现原理、数学原理等存在差异,其分类标准存在多个维度,而常见的分类标准主要包括:生成/判别、参数/非参数、监督/非监督等。
三、深度学习大热的背后力量
笔者认为:时下深度学习大热,是因为DL(DeepLearning)在机器学习算法中主要有以下三点。
1. 深度学习与传统产品之间的区别
传统产品在语音识别、物体识别方面无法有效展开应用,其重要原因之一就是:这类算法无法使用语音及图像的高维度数据(High-dimensional Data)在高维空间学习复杂的函数,这类高维空间通常也意味着对算力的极大消耗,即使算力极为丰富的现阶段也无法有效满足其算力需求。
因此,深度学习方法应运而生。传统产品算法所面临的问题被称作维度诅咒(Curse of Dimensionality),高维度数据的参数设置需求随着变量的增加呈指数型增长,对计算能力提出了极大挑战,近乎无法完成。
而深度学习采用多层调参,层层收敛的方式,将参数数量始终控制在一个较为合理的水平,使得原本不可计算的模型可运算了。
其理解如图所示:
2. 深度神经网络具有完备性
从理论上来说,深度神经网络可以表征任何函数,因此深度神经网络可以通过不同的参数及网络结构,对任意函数进行拟合,排除了其无法学习到复杂函数的可能性。
3. 深度学习的特征选取完备
深度学习具有自动学习特征的能力,这也是深度学习又叫无监督特征学习(Unsupervised Feature Learning)的原因。从深度学习模型中选择某一神经层的特征后,就可以用来进行最终目标模型的训练,而不需要人为参与特征选取。
四、产品经理应该了解的深度学习算法应用
首先:算法
AI算法从专家系统至特征工程到深度学习这个过程中,人工参与在逐渐减少,而机器工作在逐渐增加,深度学习算法主要包括两个方面。
(1)卷积神经网络(Convolutional Neural Network,CNN)
卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。时下CNN已经成为众多科学领域的研究热点之一。
K.Fukushima在1980年提出的新识别机是卷积神经网络的第一个实现网络,随后,具有代表性的研究成果是Alexander和Taylor提出的“改进认知机”,该方法综合了各种改进方法的优点并避免了耗时的误差反向传播。
一般CNN的基本结构包括两层:
1)特征提取层:每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来。
2)特征映射层:网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。
此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。
CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于CNN的特征检测层通过训练数据进行学习,所以在使用CNN时,避免了显示的特征抽取,而隐式地从训练数据中进行学习。
再者由于同一特征映射面上的神经元权值相同,所以网络可以并行学习,这也是卷积网络相对于神经元彼此相连网络的一大优势。
卷积神经网络以其局部权值共享的特殊结构,在语音识别和图像处理方面有着独特的优越性,其布局更接近于实际的生物神经网络。权值共享降低了网络的复杂性,特别是多维输入向量的图像,可以直接输入网络这一特点,避免了特征提取和分类过程中数据重建的复杂度。
(2)递归神经网络(Recurrent Neural Network, RNN)
在实际应用中,我们会遇到很多的多序列形数据,如:自然语言处理问题中的单词、语音处理中每帧的声音信号、每天股票价格的时间序列数据等。
以某自然语言处理公司产品为例:
为了建模序列问题,RNN引入了隐状h(hidden state)的概念。一个RNN网络中可以存在一个或多个隐状态,计算时每一步使用的参数都是一样的,即每个步骤的参数都是共享的,这是RNN的重要特点之一。
同时需要注意的是:RNN网络的输入和输出序列必须是等长的。由于这个限制的存在,经典RNN的试用范围比较小,但也有一些问题适合经典的RNN结构建模,如:计算视频中每一帧的分类标签。
因为要对每一帧进行机选,一次输入和输出序列等长,又如:输入为字符,输出为下一个字符的概率,著名的用于生成文章、诗歌甚至是代码的Char RNN(The Unreasonable Effectiveness of Recurrent Neural Networks)就是一个很好的例子。
当我们要处理的问题输入是一个序列,输出是一个单独的值而不是序列的时候,需要对RNN网络中最后一个h进行输出变化即可完成,这种结构通常用来处理序列分类问题。
如:输入一段文字判别它所属的类别;输入一个句子判断其情感倾向;输入一段视频并判断它的类别等等。对于输入不是序列而输出为序列的情况,只需要在序列开始时进行输入计算或把输入信息作为每个阶段的输入即可。
这种网络结构可以处理的问题包括两方面:
- 一是从图像生成文字,此时输入的是图像的特征,而输出的序列是一段句子;
- 二是从类别生成语音或音乐等。
RNN最重要的一个变种是N输入M输出,这种结构又叫做Encoder-Decoder模型,也可称之为Seq2Seq模型。实际生产生活中我们遇到的大部分问题序列都是不等长的,如:机器翻译中源语言和目标语言中的句子往往没有相同的长度。
为此Encoder-Decoder结构会先将输入数据编码成一个上下文向量C,得到C的方式有多种,最简单的方法就是把Encoder的最后一个隐状态赋值给C,还可以对最后的隐状态做一个变换得到C,也可以对所有的隐状态做变换。
在得到C后,就用另一个RNN网络对其解码,这部分RNN网络被称为Decoder,具体做法就是将C当做之前的初始状态输入到Decoder网络中。
由于这种Encoder-Decoder结构不限制输入和输出的序列长度,因此应用范围广泛,常见应用包括:
- 机器翻译:Encoder-Decoder的最经典应用是在机器翻译领域最先提出的;
- 文本摘要:输入是一段文本序列,输出是这段文本序列的摘要序列;
- 阅读理解:将输入的文章和问题分别编码,再对其进行解码得到问题的答案;
- 语音识别:输入是语音信号序列,输出是文字序列。
在Encoder-Decoder结构中,Encoder把所有的输入序列都编码成一个统一的语义特征C再解码。因此,C中必须包含原始序列中的所有信息,它的长度就成了限制模型性能的瓶颈。
如:机器翻译问题,当需要翻译的句子较长时,一个C可能存不下那么多信息,就会造成翻译精度的下降。而Attention机制通过在每个时间输入不同的C来解决这个问题,每一个C会自动去选取与当前所要输出的结果最合适的上下文信息。
其次:深度学习(DL)有其不足之处
以上从一名入行AI产品经理的视角,简要介绍了深度学习CNN及RNN两类网络的基本原理及应用场景,虽然其在多种识别、感知任务中表现优异。
但笔者实践中发现DL也存在着以下三方面的不足:
(1)数据基础问题:我们在实际生产生活中所收集到的数据往往都是小数据,而不是大数据。比如说:我们手机上的个人数据,在教育、医疗、基因的检测与实验、学生测验、客服问答上的数据,都是小数据。
所以只有实现从大数据向小数据迁移的通用模型,才能真正帮助更多的领域用上人工智能,这是人工智能的普及性问题,但基于大数据迭代的深度学习模型无法胜任小数据场景业务。
例如:当笔者在给AI+领域做AI赋能产品咨询设计的时候,搭建的Call out机器人构建完Fintech领域,这个架构的知识库到互联网教育领域需要重新搭建。
(2)模型可靠性问题:深度学习模型非常脆弱,稍加移动、离开现有的场景数据,它的效果就会降低,因此深度学习模型的可靠性是一个重要问题。
对机器学习来说,由于训练数据和实际应用数据存在区别,训练出来的模型被用于处理它没有见过的数据时,效果就会大打折扣。而缓解这一问题的办法,正是迁移学习,它能把可靠性提升一个台阶。
(3)应用上的问题:特别是机器学习模型在应用个性化方面的问题。比如:在手机上,在推荐信息、服务的时候,它要适用于个人的行为。
因为任何个人的数据都是小数据,个性化的问题就是如何把云端的通用模型适配到终端的小数据上,让它也能工作。这就是迁移学习比较适合的事情,帮助机器学习从云端往移动端迁移。
例如:Siri是一款云端通用型软体机器人,但是Siri并不能完全基于笔者本人的工作、生活提供工作生活的个性化建议,这里需要解决的问题是——如何把云端大数据情况下的场景,切换到个性化的本地落地产品。
五、AI技术产品经理落地的角度
AI领域的机器学习、深度学习技术是一个无线逼近的极限。产品经理时下了解AI技术以后,一个关键责任是落地产品,时下切入AI产品的重点角度是如何在AI技术本身随着算法完善、数据丰富、算力增长进行中,交付符合用户心理预期的产品。
这里不仅仅是AI技术问题,更是产品经理捕捉人性的能力。
产品经理入行AI产品经理,需要提升自己的两个能力:
- 一个是对AI技术的认知能力;
- 一个是捕捉人性甄别需求的能力。
认知技术能力,决定产品经理能不能利用技术的无线逼近;判断需求能力,决定产品经理能否在时下的AI技术水平下交互符合用户人性的产品。
这种能力需要我们持续学习,毕竟一款产品的成功是一家企业成功的代表!