查看原文
其他

【AI不惑境】数据压榨有多狠,人工智能就有多成功

言有三 有三AI 2020-09-07

大家好,今天开始就进入了专栏《AI不惑境》的更新了,这是第一篇文章,讲述数据如何驱动深度学习。


进入到不惑境界,就是向高手迈进的开始了,在这个境界需要自己独立思考。如果说学习是一个从模仿,到追随,到创造的过程,那么到这个阶段,应该跃过了模仿和追随的阶段,进入了创造的阶段。从这个境界开始,讲述的问题可能不再有答案,更多的是激发大家一起来思考。


作者&编辑 | 全能言有三  


深度学习成功源于三驾马车,模型,数据和硬件,这背后最核心的还是数据,深度学习正是因为学会了从数据中抽象知识,才能够完成各种各样的任务。


人工智能的发展,伴随着对数据的使用方法的进化,今天就来聊聊。


1 数据与学习

我一直对学生说,如果你不能认识到数据对一个任务的重要性,不知道什么样的数据能够完成手中的任务,就不算真正的入门深度学习。


在此之前,你可以去沉迷于各种框架,技巧,项目。


我们回想一下,大部分人的成长是什么样的过程。


(1) 一个刚刚出生的小孩,对这个世界的一切都表现出了无差别的兴趣,接受各种信息就是成长。

(2) 在青少年时期,我们在家长和老师的带领下,从背课文写作业开始学习,大部分错误的行为会得到纠错,正确的行为会得到奖励。

(3) 随着成长,有的人在自己工作的领域里熟练玩转数据和模型,充分发掘和运用已有的知识,另一部分人所做的事情不再有答案,需要自己去探索新的规律,比如成立自己的公司,创作新的知识。

这几个阶段,背后的核心都是数据。


(1) 没有知识的时候,所有已有的数据都是知识。

(2) 学习知识的时候,需要针对自己要学习的领域进行已有数据库的选择,想学语言就要背单词库,学数学就要做题库,学音乐就要练乐谱,这时候用已有的数据进行学习

(3) 使用知识的时候,就要调整自己学习到的知识用于新输入的数据,在这个过程中,知识也随之更新。

(4) 创造知识的时候,就要观察社会和科学规律,从中进行总结,面对的就是没有人整理过的数据


可以毫不夸张的说,人一生大部分时间都用着统计学获取,整理和分析数据,知识从数据中来,就像老子说的“道法自然”。


2 有监督特征工程到无监督特征学习

说起无监督和有监督方法,仍然先举一个依法治国和无为而治的对比。


依法治国核心就在于设定了各种各样的法令让大家遵循,而无为而治的核心就是不干预,让国家在自然规律下运转。很明显后者是更高级的存在,也更难实现,不确定性大。


这个例子说的正是有监督和无监督方法在社会学的代表,从有监督到无监督是进步的,然后我们再看看智能系统的成长。

(1) 最初级的智能系统,其实就是用机器来使用专家的知识,依靠的是专家在某一个领域的大量的经验积累。从20世纪60年代开始到80年代第二次人工智能浪潮,专家系统的研究是非常流行的,大家感兴趣可以去了解。


(2) 随着技术的发展,研究者发现专家系统实在是过于简单和脆弱,于是研究出了一系列的模型,包括人工神经网络/SVM等等。通过专家的经验对数据进行预处理,完成知识的初步抽象(提取特征),之后丢给模型进行进一步的学习。与专家系统相比模型的复杂度大大提升,因此也可以开始解决更加复杂的问题,比如人脸的检测,语音的识别。在20世纪末和21世纪初,有监督的机器学习方法得到了非常广泛的应用和研究。

(3) 随着大数据的爆发以及科学家的不断探索,研究人员开始认识到通过专家的经验对数据进行预处理是不合适的,数据的维度太高,专家不可能知道每一个任务到底需要怎样的预处理,所以无监督特征学习方法诞生。对于一个无监督的特征学习系统,它的输入应该尽可能是原始的数据,最大程度上保证信息的完整。至于学习的规则,仍然由专家来制定。


于是专家设计出各种各样的模型架构和优化目标来指导系统从数据中进行学习,与有监督的特征工程的最大区别在于使用数据的方式,这一类方法也被称为特征学习,于是我们有了传统的机器学习算法和深度学习算法之分。

(4) 再往后发展,就需要机器自己创造模型,人类专家在其中所起的作用很小,甚至没有,这也是人工智能的未来,或许社会发展到一定的阶段,真的会有创造生命的那一天吧。


3 深度学习第一阶段-学习特征

在深度学习发展的第一阶段中,重点就是专家设计模型和优化策略,从数据中学习特征表达。


深度学习的成功很大程度上归功于卷积神经网络CNN模型架构,在图像,语音等领域都取得了大大突破。CNN是一种无监督的特征学习模型,输入原始数据,然后完成学习。关于CNN的基础,大家可以去阅读公众号的相关文章。


在这个过程中,模型的架构固然会影响最终的结果,但是更重要的却是数据集,没有一个好的数据集,怎么都不可能训练出好的模型。关于数据集的重要性,可以阅读往期文章(点击图片)


4 深度学习第二阶段-学习模型

在深度学习发展的第二阶段中,重点就是学习网络模型本身和各种相关的策略。


在第一阶段,典型的工作流程是准备数据,选择模型框架,定义各类优化参数,然后开始训练。


模型的架构需要研究人员手动设计,模型的各类训练参数包括归一化方法,初始化方法,激活函数等等也需要研究人员根据经验进行调试。数据的使用,包括预处理,增强策略也需要研究人员进行尝试。


但是技术发展到今天,研究人员开始从数据中学习模型本身。


4.1、AutoML自动模型结构设计技术


在深度学习发展的这些年里,研究人员用尽了各种手段去探索和设计各种各样的网络,研究网络的深度,宽度,卷积的方式,浅层深层的信息流动和融合等,可以参见往期文章(点击图片)。



然而到了今天,新的网络设计方法开始流行,以Google Brain提出的AutoML为代表的技术,让机器根据不同的任务(数据),自动搜索最佳的模型架构,数据驱动了模型的学习。



4.2、AutoAugment自动数据增强策略


曾几何时,我们采用各种各样的几何变换,颜色变换策略来进行数据增强。随机裁剪,颜色扰动,都对提升模型的泛化能力起着至关重要的作用。


而如今,是时候寻找更好的方法了。以Google Brain提出的AutoAugment为代表的方法,使用增强学习对不同的任务学习到了各自最合适的增强方法,可以参考往期文章(点击图片)



4.3、自动优化参数选择


曾几何时,我们设计,比较,分析sigmoid,tanh,relu等激活函数对网络性能的影响。


Google Brain提出的以Swish为代表的方法,在一系列一元函数和二元函数组成的搜索空间中,进行了组合搜索实验,利用数据学习到了比ReLU更好的激活函数,可以参考往期文章(点击图片)。


曾几何时,我们还在争论是最大池化好还是平均池化好,如今基于数据的池化策略已经被广泛研究。


曾几何时,我们还在不知道选择什么样的归一化方法好,如今,基于数据的归一化策略也在被研究。


曾几何时,我们还在不知道选择什么样的优化方法好,如今,基于数据的优化方法也在被研究。


这些内容,可以参考公众号的《AI初识境》,后面我们也会做更多详细的解读。


可以说,从模型的结构设计,模型的优化参数选择,数据的使用策略,深度学习正在全面走向自动化。


总结


很久以前,我们只会使用抽象好的数据。后来,我们学会了从数据中自己抽象特征。后来,我们发明了一个系统让它去抽象特征。再到后来,我们想让数据把系统也学了。


下期预告:模型的深度对性能的影响。


转载文章请后台联系

侵权必究


更多请关注知乎专栏《有三AI学院》


往期精选

Modified on

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存