我眼中的人工智能学习三境界

人工智能像是新一轮的工业革命一样或者世界革命一样,学术界和科技公司如果不涉及到这方面好像你就会落伍和被淘汰,特别学术界如果你做的是图像处理方面,比如图像分类、人脸识别这块,现有的人工设计特征的算法远远比不上深度学习算法那样优秀,特别是卷积网络的改进和优化已经能在图像分类方便做到无可匹敌的地步。本人之所以能接触到这一块是因为在研究生阶段做的研究是对视频的智能处理。简单来说是图像智能分类的扩展-视频中人体行为识别。王国维先生认为读书有三境界,即为:"昨夜西风凋碧树,独上高楼,望尽天涯路"; "衣带渐宽终不悔,为伊消得人憔悴"; "众里寻他千百度,蓦然回首,那人却在灯火阑珊处"。此处借王国维先生的读书三境界来阐述一下本人接触学习人工智能的心里与实践路程。

"昨夜西风凋碧树,独上高楼,望尽天涯路"

上句是王国维先生的读书三境界之第一层境界,意思就是做学问之前,先要有思想准备,看到学海无边知识无涯,从而激发奋斗并为之献身的精神和勇气,同时又感慨自己的学问之不足。

“Hello world”与Hello world!,就像刚开始学习每一种语言都要去写第一个程序“Hello world”一样,学习人工智能也要有入手点,怎么才能不是机械的像语言输出而是真的对它打个招呼Hello world!呢?人工智能是个综合性复杂学科包含了太多的知识,想要学习它真是路漫漫其修远兮,吾将上下而求索。

“相见”

本人本科就读一个普通二本院校,大学浑浑噩噩的过了三年,等快要大四面临毕业了开始慌了,就决定考研了。研究生导师的研究方向是智能信息处理、模式识别与信息融合,当时被划分研究的项目是视频信息处理。大家都知道研究生毕业的主要依据是发表论文,当时关于图像处理的算法实验室已经做了很多的研究,大多是在比较经典的手工设计的算法上进行结合或微调,结合深度学习的算法进行处理还是第一次去做。关键的是那几年是人工智能、云计算、大数据的浪潮之时,有关这方面的论文也是井喷且易中的一种情况,所以导师也建议用比较火的卷积神经网络去做。其实刚接触人工智能的时候连图灵测试都不清楚,当时理解的人工智能比如智能聊天机器人、智能导航驾驶。而像电影里的那些和人无二的人工智能感觉是不能实现的,只是科幻电影。后来慢慢了解到,人工智能在历史的长河中由来已久,只是在其一个分支中的机器学习、深度学习等又一浪潮的兴起被人又拾起。


LeNet 5手写数字识别

如上图的LetNet5的手写数字识别,其内部实现正是卷积网络,当第一次接触到这种"智能"的时候感觉还是满神奇的,姑且算是真的与她”相见“了。当时在做研究时也看了大量的已存在人工设计的算法,想在师兄师姐工作的基础上再做些改进就可以产出论文,但当看了一段时间后,得出只有两个选择:一是理解已有算法进行修改结合,致命缺点就是已有算的改进已经被做的很多,想要找到创新点很难并且不容易中不新颖(相比较而言没有机器学习方向点热点度高和效果好);二是选择一个机器学习算法努力研究想办法改进,因为当时14年关于处理视频的结合深度学习的文章还不是特别的多(视频处理有不同方向点比如简单行为分类,复杂行为分析等等),而从关于图像分类处理的效果看首选卷积神经网络。所以从一个纯白的小白开始了接触什么是机器学习、智能模式识别,也就是"昨夜西风凋碧树,独上高楼,望尽天涯路",但相反的是在读了很多论文和大量的博客之后没有激发我的斗志,反而有想放弃的念头,感觉就是“这道题太难了,不会做,我不会做”。

”相识“

在担心自己没有能力结合深度学习算法写出论文后也曾找过导师商谈要不要换个研究点,因为一个人搞这个点的难度太大了,并且实验室做机器学习方向的人不多,有一位是用的是自动编码器做步态模拟识别,他的老师在机器学习中比较熟悉的是自动编码器,卷积网络也是没有怎么接触,所以对于我来说缺乏指导和交流,不过做步态模拟的同学还是给了很多指导和意见的,既然没的选只能望着远处高山之巅慢慢前行了。在学习卷积网络算法过程中,扩展阅读了很多关于人工智能的基本科普,机器学习算法是一个人工智能里很重要的组成部分,而所重点看得卷积网络算法也只是机器学习算法里的一种,即便连带了解了BP、自动编码器等,这也只是人工智能的冰山一角,姑且说与其相识了。

"衣带渐宽终不悔,为伊消得人憔悴"

王国维先生的读书第二层境界就是在第一层境界之后渐渐产生了对读书的兴趣,就算为此衣带渐宽和人憔悴都不悔

                               

                                                                      秋风落叶、时间易逝

”相知“

在选定目标后开始研读大量的论文和博客,时间总是过得很快,但是回过头来还是一头雾水,后来发现很多人都爱用高大上的语言来描述而不用通俗的解释或者白话的陈述来解释专有名词。所在学习了很长一段时间之后感觉重心没有放对,虽然要学习卷积神经网络要了解神经网络、机器学习、深度学习等等,但是最终要用的是使用卷积网络进行视频处理,所以后来就从最原始的手写数字识别的卷积网络代码结合理论文章进行学习分析。很多时候文章上的描述转换为数学表达式就是一些公式变化而我们就不需要纠结于理论上抽象研究,比如说卷积网络的局部感受野,谈到他或许也会读到关于他的发现,两位学者使用猫进行电位变换的研究发现局部感受的存在,转到代码的实现就是局部共享参数减少运算量。在这里所谓的相知并不是说对人工智能真的明白,只是对所研究的点有进一步的认知,在我之前的博客里机器学习(周志华)读书笔记-(五)神经网络(2)里已经描述了我个人对卷积神经网络的理解和在学习过程中遇到的问题和注意点。比如说(个人观点):1、为什么打乱样本分配和样本平均训练(某一时间只见某一个人你就淡忘之前还见过别的人);2、参数的随机设定在怎样的范围内更好、迭代次数的多少(一般是损失函数曲线来判定,并不是迭代次数愈多越好到一定程度会在最优值震荡);3、标签的设定(和选择的最后的激活函数选择有关,形如sigmod[0,1]或tanh[0,-1])等等。

"小成"

经过一段时间的苦涩研究基本了解卷积神经网络的一些知识点,主要是看一些大牛的博客和最新的关于卷积网络的优质文章,最主要的是看最经典的卷积网络代码,结合代码有助于理解一些晦涩的概念,更重要的是去发现代码里的一些技巧而在论文里不会提到的(如打乱样本顺序的实现,参数随机初始化归置的初始范围)。在了解了怎么通过去改变一些参数设置达到想要的效果,学习caffe框加并行加速等,最后在参考一篇3D卷积网络的行为识别的论文后,通过输入数据预处理和参数调节发了一篇比较普通的论文。所谓的3D卷积网络就是在2D图像的基础上结合了时间的维度,也有人使用深度摄像采集设备,比如kinect设备可以获取活动主题的深度信息,就是让图像不再是2D平面图而是三维图,但是深度采集设备目前还不具备普适性且设备价格也挺昂贵,所以还是结合时间维度将2D的卷积网络变成3D的卷积网络。视频是一帧帧图像构成,单张图像所带信息有限而且不能完全够显一个动作,所有选取一定时间内的图像组作为输入。在思路确定后其实代码实现也是一大块难点,当时有关3D实现的代码基本找不到,自己经过很长一段时间分析修改才完成自己想要的结果(主要是残差调节之间的链接关系和2D时的差别),不管怎么说卷积网络有关图像分类的理论算是了解了一些。后来有关机器学习算法又看了一些别的算法,比如自动编码器、决策树等等,在你能明白其中一种算法,其他算法学起来会相对容易一些,因为虽然他们的理论和构成元件不一样,但是最终知道他是得到一个黑盒模型,由输入得输出,模型怎样才会更好正是这些约束参数调节。

”众里寻他千百度,蓦然回首,那人却在灯火阑珊处“

此为第三境界,意思是经过前两个境界后你就会豁然开朗,读书就变得轻松简单。曾经我所认为的人工智能是有完全自主的智能就是感知、认知、推理、学习、执行。感知可以认为是计算机视觉的机械应用,认知、推理、学习就是像人一样思考做出决策,那么现在最好的实现算法就是机器学习。读了几本关于机器学习的书,像白话大数据与机器学学习、白话深度学习与TensorFlow、统计学习算法等,里面介绍了很多不同类别的算法及应用,像百度的人脸识别、页面智能推荐算法等等,能让冰冷机器做一些人工的工作,这就是人工智能啊,曾经也一度认为人工智能时代很快就要到来了。但是后来越来越觉得,现有的这么多的监督的、半监督的、非监督的算法仍然是在认为准则下对数据处理的一个模型,没有自我决策推演能力。

其实人们即希望真正的人工智能的到来,也害怕真正的人工智能给人类带来威胁。就像电影《我,机器人》虽然人们设计师规定了三大准则,但当真的有机器人拥有自我意识会不会像电影里一样,控制人类是它认为遵守三大准则也是最好的方法保护人类。在读过朱松纯的关于人工智能现状、任务、架构和统一之后,我又有了新认识,现在的大部分智能仍是指令工作,即使是现在的人脸识别、自动驾驶等都是一个大数据小任务模式,而不是小数据大任务模式。就拿卷积网络的图像识别来说,我们加深网络的层数或其他调节靠拢与深度学习,实现像生物学里发现生物视觉的分层结构达到像生物思考的模式一样,但是个人觉得我们创造出来的一个黑盒子无论有多少层和多少参数,还是一个冰冷的机械化结果,没有人类的推演化能力,也有专家认为最接近人脑思考的深度学习也陷入困境,人工智能的冬天正在路上。就像朱松纯先生说的,创造出来的应该是乌鸦学习的那种智能而不是鹦鹉学舌那种。

看山是山,看山不是山,看山还是山

人对一个概念的理解不同,原因有很多,有主观意识和客观知识的积累等等。从开始觉得图像识别、智能驾驶、智能推荐、语音聊天啊觉得是很了不起的人工智能,到后来觉得这不就是人工设定了准则和方法,让机器按照人为设定的”路线“走吗,哪有自我认知智能啊。但是能让按照指令去做人可以完成的工作甚至更甚于人(人脸识别区分双胞胎、智能推荐不用自己去搜索等等),这些不是智能是什么,当然了实现自主认知学习还要很长一段时间,他是计算机视觉、机器人学习、语言处理、博弈论等等学科综合的一个组成。而里面最重要的是算法,因为像人一样如果不会说话(计算机语言处理)可以去听去写还可以思考,如果看不见(计算机视觉),仍可以去感知对世界的思考和表达,如果没有思想就像人被抽出大脑你觉得会怎样。看到很多有关人工智能工程师的培训除了基础知识和具备一门语言以及数学基础,占重要篇幅的就是机器学习算法。作为“人工智能教父”的Geoffrey Hinton他坚信无监督学习未来会是一个很重要的算法。但是从目前来看监督学习,也就是有标签学习训练预测下一个目标的学习方法还是占主要位置。但是他也曾想推翻之前的理论研究,因为他认为反向传播从最低层依据残差不符合生物信息选择,每一层信息变换都会有信息丢失,所以循环网络结构就更接近与信息更迭,就是输入到隐层,隐层输出再次作为输入信息进输入层,信息循环,增强信息的关联。很多神将网络的算法的一个重要点就是感知机模型,类神经元工作原理,放在神经网络模型里就是激活函数对输入值在一定阈值到达时才会有想要的输出类似于轴突树突间的工作,但是他们都有一个假设层间神经元不相连,我之前博客中也写过对这种假设的怀疑,也有可能亿万神经元的星状链接我们在数学模型上怎么表达,怎么规范一个神经元到其他神经元的链接传输大小是个难题。现在规定的这种神经网络已经实现了了不起的处理效果,如果完全搞定生物神经的工作原理再到机器人的实现,那真正的智能也许就来了。

发布了105 篇原创文章 · 获赞 86 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/dingyahui123/article/details/80401551