deeplearning 研读绪论

来源:互联网 发布:模仿艺人语音软件 编辑:程序博客网 时间:2024/06/13 00:38

本系列内容是对于Deep Learning一书的研读心得,将会在尊重原著及版权的基础上,加入一部分critical thinking。阅读请尊重Deep Learning原著版权。本系列欢迎评论转载,请注明出处。

寒假决定入deep learning这个坑啦。大二上学期人工智能导论课程,自己实现了CNN应用的项目——neural style,并尝试对loss function做了改进。确实感觉到,deeplearning在应用领域的潜力不可限量,跟我的专业——计算金融,也有潜在可能的交叉点,所以值得花大力气来钻研这门学问。希望自己不要荒废。

这篇绪论,就是根据我看过的paper与著作的观点,自己做一点小小的遐想。但是阅历尚浅,所读甚少,这也只能称为critical thinking,说是民科也无妨,并不能认为是什么真科学,也没有诸如数学推导与证明,代码实现等等这样的干货。诸位看官对这一节,大可一笑而过,不必计较作者这“一派胡言”。

搞研究还是一个耐心活。一个领域一个方向,专心做下去,很多年才会有结果。这些都可以说是遐想,还缺少充分的知识来支撑,也就没有必要较真说的对与错。作者自己很多年的学习之后,自会认识到当年的幼稚。这次仔细研读Deep Learning,就是本着提高知识水平的初衷。后续一系列解读中所有谬误,望读者不吝赐教。

谦逊,谦逊,我心中定牢记自己一直too young too simple。

遐想

就AI来说,我是认同 strong artificial intelligence的。但是我认为在我们这一代人的生命中,AI能够发展到这个层次的可能性极小。原因与潜在可能的解决途径,基本陈述如下:

1.算法与数据结构的自优化性

自从计算机诞生至今,都是以严格执行人类的指令著称的。我们不排除出现了神经网络,遗传算法,蚁群算法等等为代表的智能算法。但是应当看到,这些算法即使效果斐然,也都还是停留在执行人类制定的优化规则上。以神经网络为代表,在大规模计算的前提下,优化规则本身发挥的作用与效果已经超出了人类目前的认知——我们缺少系统的科学来解释,为何这样的特征选择,网络拓扑结构设计与参数调整,可以针对某个特定的问题发挥如此巨大的威力。我们认为是我们的优化规则发挥了作用。计算机在这个过程中,虽然能够表现出一定的智能,但仍然是在人类制定的框架下进行学习。

举个例子来进一步说明,人类行为可以认为是4进制DNA代码与特定环境交互的结果,但是人类现在拥有认知决定自己的这段代码——DNA并进行优化的能力,这种行为的结果,就是使得我们的进化不断加速。与此同时,AI在学习的过程中,体现出了人类的智能——发现问题中的一般规律,但是,尚未获得优化决定自身学习与进化能力的算法与数据结构的能力。

神经网络被认为是潜在的,解决这种问题的途径。这是因为,一个针对特定问题进行训练的神经网络,我们往往认为,其学习得到的解决算法,已经蕴含在特征选择,网络拓扑结构设计与参数调整中。如果未来,关于神经网络的科学理论进一步被建立,可以使得如上三点的初始化都实现自动化【实际上就是大家不需要再设计网络拓扑结构结构,做特征工程,调整参数使之学习收敛,神经网络自己完成这些工作了】,那么可以认为是,artificial intelligence距离human intelligence又近了一步。

2.数据集的获取

当下的deep learning,离不开大规模的数据集作为训练与测试样本。但是事实上,信息社会产生的规模化的数据集有一个显著的特点——分布不均匀。大规模的数据一般被意识到其价值的大公司、垄断集团以及政府部门掌握。这导致了当前deep learning的研究现状——以大型跨国公司的研究实验室为核心发展应用,大学为实验室输送人才、提供理论依据。事实上,缺少数据集的deep learning,就如同无源之水无本之木,空有其理论,却不能够形成规模化的效益。但是考虑到用户隐私等诸多原因,又不能够简单地将数据集公开化、透明化。从而导致训练样本的缺乏,公开的数据集有限。有些时候在这些公开的数据集上跑算法,看能否提高几个点,这就像是参加高考一样,是为了得到一个实力的证明,还不是为了完全的实践意义。事实上,国内大学与老师审核项目时,也会格外关注数据集的来源。

除却数据集的缺少,数据的质量也值得关注。如果不适用成熟公开的数据集,自己设计爬虫从网络上获取的数据,经常面临多元异构等诸多问题,其中就包括数据的可信度、缺失值、噪声,数据的标签化等等。这就需要数据清洗与制作标签。毕竟并非所有应用都是需要无监督学习,监督学习也是很大的一个领域,相应的建立了标签的数据集也是必不可少的。artificial intelligence的进一步发展,离不开更大规模,质量更优的公开数据集的建立。

除此之外,在决策领域,不能完全依靠人类创造的数据,artificial intelligence应当在得知奖惩规则的前提下,自己通过尝试实现进步。这个方向上,Google实现AlphaGo中使用的增强学习(reinforcement learning)是一个潜在的解决方向。但是棋类游戏有固定可以遵循的规则,在一些科学尚未达成一致见解的领域(典型的如宏观经济学,百花齐放,理论迭出),如何为这样的学习过程制定规则,是值得考虑的。

同时,能否使得计算智能自己生成数据,这样的数据具有可信度么?这纯粹是我的遐想。由于接触到元胞自动机(cellular automata)理论(A New Kind of Science),并在今年美赛中写了一段相对复杂的MATLAB代码做仿真,获得了超出意料的模拟效果,感觉如Wolfram先生所言——极简单的规则可以发展极为复杂的变化,这确有其实力。因而不禁遐想,由元胞自动机仿真的得到的数据,对于以deep learning为代表的人工智能,有着怎样的价值?

3.计算能力的提升

deep learning能够成为当前第4代人工智能的主流,得益于并行计算,尤其是当前GPU加速的实现。庞大的计算需求是一直是人工智能实现的瓶颈——看看我们人类自己吧,百亿计的神经元的快速运算,决定了我们的思维与行动。未来的神经网络也不例外,每一个独立的智能个体,都需要同样的计算量,这对我们的算法和硬件都提出了很高的要求。

人工智能未来的推广,还需要硬件的进一步廉价化、小型化,才能在微型设备上运行,同物联网(IoT)产生交互;实时的计算需求与反馈,也对神经网络方法的速度提出了新的挑战。

一个潜在的解决方向,是将我们设计的神经网络的算法与软件实现,直接设计为硬件电路。未来的计算,其电路设计可以实现专有化,不再借助通用的计算平台。这种解决思路,同放映电影时,选择硬件解码;加密计算时,直接借助电路实现,有共通之处。

总结

这不是对于deep learning的批评,我这样一个无名小辈,不具有这样的资格。我本身是非常热爱这个领域的,但是在进入之前,不妨想一想它的现状是怎样的,才知道浩如烟海的资料与项目该怎么入手。先学起来,先学起来吧!从后面的文章开始,就都要是对于Deep Learning一书的学习与理解了,那些是真科学。

这三个瓶颈也好,突破口也好,2和3属于是属于时间性的,1是本质性的。尤其是潜在解决策略中,建立一门基于人工神经网络的彻底的科学,探究清楚非线性多层网络的性质,对于当前技术大行其道的局面以及对于应对其余领域的计算机科学家的批评,是有一定指导意义的。

当然,坦言的话,说的再漂亮,拿不出证明拿不出代码拿不出效果也通通都是天方夜谭。这毕竟还是一个丛林法则支配的领域。不过,刚刚进入一个领域,也不妨先“天方夜谭”一番,读一读综述文献。正事马上开始,好戏马上上演。

天方夜谭的话,就不引用文章与他人博客了,也省去他人觉得在这里讲民科还非要扯上自己的成果。后文将严肃对待引文以及他人的科学贡献。

0 0
原创粉丝点击