您的位置:首页 > 其它

简读白话深度学习与TensorFlow感悟

2018-01-10 21:59 218 查看
     最近简单读了一下《白话深度学习与TensorFlow》这本书,关于TensorFlow框架不是特别了解,主要是想学习和了解一下书中对现有的深度学习算法的一些介绍和讲解。以下就读书感悟做简单描述,仅是个人观点,仅供本人回顾和意见参考。

一、人工智能、大数据、深度学习的热潮。

    人工智能像是新一轮的工业革命一样或者世界革命一样,下一代革命性技术。学术界和科技公司如果不涉及到这方面好像你就会落伍和被淘汰。特别学术界如果你做的是图像处理方面,比如图像分类、人脸识别这块,现有的人工设计特征的算法远远比不上深度学习算法那样优秀,特别是卷积网络的改进和优化已经能在图像分类方便做到无可匹敌的地步。而现在好多培训教育机构趁机打出人工智能工程师的名号,宣扬人工智能工程师前途似锦,人才紧缺,进行人才培训。而大部分所学习的课程更适合做数据分析与处理。或许你认为的真正人工智能不是像图灵测试那样的隔墙说话分不出是人还是机器,而是让机器去做那些带有一定智能性的信息分拣与识别的过程。那这个所谓的智能只是我们赋予机器简单的人为认为的准则去做事,所谓的智能没有实现机器的自我智能学习与思考以及自我准则去做事。看了朱松纯的浅谈人工智能:现状、任务、架构与统一的文章,他说现在人工智能仍是大数据小任务的模式而不是小数据大任务模式。意思就是我们想要一个机器模型想让他能分辨出一个物体是什么,我们需要给他输入足够多的已有数据,让他学习到这些数据的规律,从而当有相似的数据输入时,就可以根据之前学到数据与预测数据之间的对比差异做出判断。而真正实现小数据大任务的模式就要,让机器模型通过很少已有的数据去推理演绎做相似的工作。就像他在文中举的例子不是鹦鹉学舌式学习,而是乌鸦观察式自我学习。在他的观点中人工智能是一个很广发的学科,包括计算机视觉、自然语言处理、博弈论、机器学习等等,是这些每一个学科都做得很好结合起来实现真正的智能。斯坦福计算机视觉实验室的李飞飞在如何让计算机理解图片的讲解中,展示计算机视觉目前取得的成果和困难。在她讲解中,目前的计算机的理解能力像是0-3岁的孩子,要让它从0-3岁到3-6岁的理解能力又是一个很大的挑战。他们现在开发的一个模型整合了视觉和语言,将视觉片段组合成人类那样的句子,这样让在输入一张图片后可以用语句表达它看到的是什么。这已经是很大的成就了,在计算"眼里"它看到的二位数据,说到底是一些范围内的数据。不像我们生物视觉从表面上看一张图片可以联想到物体的几何常识和三维重构,真正实现计算机的生物视觉不仅需要算法还需要硬件(仿生大脑处理器)的结合吧。

    大数据:刚接触大数据的时候从字面理解就会觉得不就是很大很多的数据吗,就像满眼望去无尽的大海都是水。老师就会教我们,每个人都能看到这么多水,谁能分析利用这个无尽的大海资源那才是真正的大数据存在的意义。只有你分析这些数据,就像你调查了海洋什么水域某一类鱼最多,什么季节鱼类迁徙往哪个水域等等,这就是以过去的数据总结分析预测未来,可以减少你盲目的寻找优化目标。古人曾经就有云:以铜为镜可以正衣冠,以人为镜可以明得失,以史为镜可以知兴衰。以过去的历史便可以知兴衰这不是用过去数据推测的规律预测未来吗。

    深度学习:有了大数据就需要好的算法处理这些数据。深度学习其实也是机器学习的一个分支,机器学习神经网络的提出早在几十年前就已经有了,受限于硬件和算法本身的限制没有迅速发展,随着反向传播和Geoffrey Hinton表明名的深度信念的神经网络可以使用一种贪婪逐层预训练的策略来有效地训练以及机器硬件和大数据时代的发展,深度学习迎来了新的春天。各种机器模型如雨后春笋般出现,大部分都是根据最经典的也是初的感知机,单层或多层神经网络演化发展,而卷积网络是根据生物神经上的局部感受野在深度学习取得一个比较突出的算法。机器学习又分为监督学习和无监督学习,或者划分更细的半监督、主动学习、增长学习等。每一类的机器学习中又细分为很多不同的学习模型结构,大部分改进是改变参数,比如典型的卷积网络改变层次结构,对输入做数据预处理,或者做成循环结构,这些改变的网络更像是一个不升级的系统,这么说可能不太准确,系统的升级是逐步完善查漏补缺,深度学习模型的不断优化是让模型扩容增加普适性。或者这么说,当我们第一次见到一个陌生人时,有过一面之缘再次相见一般很难想起这个人是谁,叫什么名字,当陌生人慢慢变成我们熟悉的人,大脑是怎样调节“参数”,当我下次见到这个人,或者提到这个人的名字,我们脑海中就会明了这个名字对应的人长得什么样,看到这个人知道叫什么名字。而对于即使长得一模一样的双胞胎他们的父母也能一眼分出谁是老大谁是老二。这和机器学习模型的调节不也类似吗?参数越多对于输入相似的数据我可以经过大量参数的处理足以在得到结果前做出改变,靠近于我们想要的结果。吴恩达在自己的深度学习课程宣传片中采访了Geoffrey
Hinton,他有几个重要的观点,他坚信无监督学习未来会是一个很重要的算法。但是从目前来看监督学习,也就是有标签学习训练预测下一个目标的学习方法还是占主要位置。他还提到反向传播从最低层依据残差不符合生物信息选择,每一层信息变换都会有信息丢失,所以循环网络结构就更接近与信息更迭,就是输入到隐层,隐层输出再次作为输入信息进输入层,信息循环,增强信息的关联。他正在研究胶囊网络,一种新型的网络,不了解不便多说,貌似要推翻自己之前的一些理论。

  在《白话深度学习与TensorFlow》一书中从简单到理论到复杂结果网络模型介绍了很多学习模型,也有在TensorFlow做实验举的例子。但仍有自己的疑问(1)为什么大部分的网络结构模型层间相连同层内神经元不相连。2)现有的硬件加算法真的能实现机器自我思考吗?关于第一个问题从接触神经网络一直有这么一个疑问,虽然现在生物学上认为人的视觉认知是从低向上不断抽象和迭代的过程,就像我们识别一张图片的内容,从最底层讲图片是像素组成,我们视觉神经将看到的像素组合抽象迭代分辨出颜色和部分结构,继续组合抽象这些部分结构到整体结构最后识别。神经网络仿照生物学从单层到多层的结构,一般都规定层内的神经远不相连不相互作用,神经元的工作原理在这里就不介绍了,相信很多介绍神经网络的文章都会说神经元经过树突和轴突等激活和抑制神经元。


 


如左图所示神经元和右图的宇宙星空,如果大脑的亿万神经元像星空一样,每个星球(神经元)都可以向任何一个星球发送消息话,那规定分层结构,同一层的星球之间不通讯,只能层级之间放射消息是不是有点不妥。我们研究到单个神经元与单个神经元的相互作用就设计大量神经元在同一层进行层间链接传播的网络结构是不是真的合适,也许等生物学习家们真正解密大脑的工作原理,现有的网络结构是不是要被推翻,也许现有的网络结构他只是实现了大脑抽象工作概念上的层层推进。要是实现了内部工作机制,也许真的智能也就来了。

让机器拥有人一样的智能,或许现在的热潮让你觉得这是可以实现的,或许你认为可以但需要很长时间,也或许你根本不相信机械可以自我思考。我个人认为目前的依据执行做流程性工作的机器以及人们一直也在提出的智能安全,需要很长时间来实现。现在深度学习、大数据、计算机视觉等都是人工智能的分支,每一个分支取得突破性进展到结合都需要很长时间,或者真正的仿生处理芯片让机器拥有人一样的大脑,加上深度学习算法真正实现小数据大任务的机械智能,期待那一天的到来!

                                    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: