当前位置:首页>科技>正文

如何获取深度学习最新的研究状况知乎 深度学习目前主要有哪些研究方向

2023-05-21 07:08:24 互联网 未知 科技

 如何获取深度学习最新的研究状况知乎 深度学习目前主要有哪些研究方向

如何获取深度学习最新的研究状况知乎

深度学习是机器学习领域中对模式(声音、图像等等)进行建模的一种方法,它也是一种基于统计的概率模型。在对各种模式进行建模之后,便可以对各种模式进行识别了,例如待建模的模式是声音的话,那么这种识别便可以理解为语音识别

深度学习目前主要有哪些研究方向

深度学习已经在语音识别、图像处理等方面取得了巨大成功。从2013、2014年开始,也在自然语言处理领域出现深度学习的应用浪潮,例如今年ACL上有人(应该是BBN公司?)利用深度学习极大地提升了统计机器翻译的性能,颇值得期待。
关于深度学习的挑战与方向,其实可以关注深度学习重要学者们的相关综述文章和专著,例如Yoshua Bengio曾经写过的Learning Deep Architectures for AI (2009年)、Practical Recommendations for Gradient-Based Training of Deep Architectures(2012年)、Representation Learning: A Review and New Perspectives (2013年)。
限于自己的研究方向和兴趣,我比较关注的一个方向如下,希望与大家交流。人们一般认为深度学习在语音识别和图像处理方面能够取得长足进度,是因为这两个领域的相关特征信息都是相对低层次的,可以借助深度学习的强大学习能力学习其中的复杂信息;而到了自然语言处理领域,人们利用深度学习做过很多尝试,发现很难取得像语音识别和图像处理那么大的突破,原因在于自然语言的相关特征信息都是相对高层次的(如自然语言的基本单位——词汇——本身就有丰富的语义内涵,与图像中的“线条”、“纹理”等特征相比尤其如此),在深度学习之前就由语言专家编制了很多精致而复杂的知识库,如WordNet等,这些知识已经将相关处理性能推到了较高层次。因此,当深度学习进入自然语言时,如果还是像语音识别、图像处理那样从零知识开始做特征学习,相当于将丰富的语言知识弃之不用而另起炉灶,是不符合自然语言处理特点的。所以,深度学习的一个可能重要的发展方向是,如何在深度学习框架中高效地融合人们已经构建出来的丰富先验知识(包括语言知识、世界知识)。
需要注意的是,与LDA(latent Dirichlet allocation)等之前流行的机器学习算法不同,深度学习不是某个具体算法,而是采用”深度“学习思想的一系列算法的统称,在机器学习领域中(如ICML、NIPS),貌似很少有论文会以deep learning命名,而是具体算法的名称,如autoencoder,等等。因此,建议首先阅读一些tutorial,了解深度学习中的主要算法和人物,然后再去了解具体算法。

如何利用深度学习进行人脸检测,这一领域当前相关进展

人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部的一系列相关技术,通常也叫做人像识别、面部识别。

如何评价最新的深度学习框架cxxnet

这篇文章介绍的是关于并行深度神经网络的设计。在今年发布的两个机器学习项目中,cxxnet是最精彩的一个。因为它包含了我们团队可以发挥到的机器学习和系统的各个方面的极致: 除了前沿的深度学习之外,它的两个独到特点也是让我们在设计实现中最为享受的
1) 灵活的公式支持和极致的C 模板编程;
深度神经网络的实现大致分两类:以python为主的编程效率派和以c 为核心的为代表的追逐性能派。前者支持直接tensor的计算,而后者往往需要给每个神经网络的层和更新公式编写独立的cuda kernel。编程效率派认为机器学习程序员应该是写公式来达到代码最大的可读性和易改写性。而很多以C 为核心的代码之所以没有支持非常灵活的张量计算,是因为因为运算符重载和临时空间的分配会带来效率的降低。
cxxnet的核心mshadow在这两者之间做了一个平衡。使得我们在不损失效率的前提下可以通过模板编程技术允许开发者编写和matlab/numpy类似的代码,并且在编译时自动展开成优化的kernel。其背后的expressiontemplate技术是我最喜欢的c trick之一。非常值得最求效率抽象和优美的同学了解。
因为采用了mshadow作为核心,直接导致cxxnet的各种实现可以非常简单可读,编写一份代码就可以在GPU和CPU上面跑。使得其在代码简洁和可扩展上更加容易。
2) 通用的并行参数共享和更新方案
多卡和多机计算一直是大规模机器学习中一个让人兴奋的话题。提到神经网络并行,最让我头疼的是可以选择的方案很多,而都涉及到不同的hack。单机多卡到底是用P2P,还是拷贝到内存,是用stream开始开多线程。分布式到底是用parameter server,MPI还是自己写一个框架。可以选择的方法很多。设计出一个分布式的代码不难,困难的是如何让并行的接口自然的独立出来,使得其不会影响其它部分的实现。经过不断地考虑,最终我决定采用了mshadow-ps这样一个统一的参数共享接口。
简单的说,mshadow-ps是一个GPU的异步parameter server接口(应该也是目前为止唯一一个,因为GPU线程模型和CPU不同,原有的的ps库并不能直接用于GPU)。异步通信对于神经网络的更新非常重要。在backprop算法中,我们很早就可以获得梯度并且进行梯度同步,而只有到下一次forward到对应层的时候才会需要这个weight。
我和limu合作设计了ps风格的三个接口来解决这样的同步问题,Push/PullReq和Pullwait。当获backprop得梯度的时候直接调用push把梯度发送出去,并且调用pullreq请求结果。Push和Pullreq都是异步操作,背后会有单独的线程同时完成数据拷贝同步,以及拷回的操作。而当我们需要weight之前在调用Pullwait来等待可能没有完成的操作。这样简单的三个接口,使得我们可以经过很少的改动就可以设计出多卡和分布式的神经网络来,并且在调用这些接口的时候完全不需要关系同步的实现是什么。
值得一提的是,这样的编程模式把多GPU,分布式以及各个通信框架直接结合起来。mshadow-ps支持单机多卡的GPU PS,以及基于parameter-server的分布式PS实现。同样的也可以很容易MPI来支持多机通信。使得一个统一的接口,可以完成从单机多卡到分布式各种后端实现的支持。并且因为高效的异步通信,使得我们可以在alexnet上面达到linearspeedup(注:并行的难度在于计算和通信的时间比,weight少更加复杂的网络反而更加容易线性加速,而alexnet是非常困难的例子)。
经过团队里面大家不断地努力,cxxnet的V2终于可以和大家见面了。除了上述介绍的技术亮点之外,还有各种好玩的特性。现在把特点总结如下:
1. 轻量而齐全的框架: 我们尽力维持最小的依赖库实现最多的功能。推荐环境下仅需要CUDA, OpenCV, MKL或BLAS即可编译。
2. 强大的统一的并行计算接口:基于mshadow-ps的并行计算接口采用了一份代码解决了多GPU,多机的异步同步。同步和计算重叠,在多份测试中均可以得到线性加速比。
3. 易于扩展的代码结构:cxxnet计算核心由mshadow提供。Mshadow使用户可以编写numpy/matlab风格的代码,但仍具备手动优化cuda 代码的灵活性。CPU和GPU共享同一份代码,在编译期间通过模板自动翻译成CUDA/MKL调用。

另外一些特性包括:
4. CuDNN支持:Nvidia原生卷积支持,可加速计算30%!
5. 及时更新的最新技术:我们将及时跟进学术界的动态,例如现在已经支持MSRA的ParametricRelu和Google的Batch Normalization
6. Caffe模型转换:支持将训练好的Caffe模型直接转化为cxxnet模型(本周内上线!)
7. 方便的语言接口:在Python中直接进行训练,方便可视化。Matlab也将很快提供
我们相信可以通过最简洁清晰的代码来完成高效的C 深度神经网络实现。我们也欢迎对于系统和机器学习有兴趣的同学加入到项目中来

近些年来学习理论有哪些新的发展

现代教育技术的主要理论基础,是基于现代教育理论、语义网络理论、认知学习理论。
一、现代教育技术是基于现代教育理论。现代教育技术就是以现代教育思想、 理论和方法为基础,以系统论的观点为指导,以现代信息技术为手段的教育技术。它以实现教学过程、教学资源、教学效果、教学效益最优化为目的,是现代教学设计、现代教学媒体和现代媒体教学法的综合体现。教育技术是教育过程中所用到的各种物化手段。与传统教育相比较,现代教育更注重探讨那些与现代化的科学技术有关联的课题。具体表现在它所关注的学习资源是最新问世的信息、传递、处理手段和认识工具,如先进的电声、电视、电脑系统及其教学软件,而这些系统的开发和利用又是与现代化的科学方法——信息论、控制论、系统论的指导分不开的。
二、现代教育技术是基于语义网络理论。语义网络理论认为,人类的认知是—个层层相连的网状结构,这个结构中有节点、链等。各节点之间通过链的作用而结成一个记忆网络。现代教育技术教学结构从最初的知识节点出发,呈网状分在的知识链结构形成一种多层次的知识结构。这是一种以人类思维方法组织教学信息的学习环境,学生可以根据自己的实际能力、学习需要来安排自己的学习。而传统教学知识结构的线性化,不仅限制了多层次、多角度地获得知识信息,而且也限制了只能按照教师的教学计划来完成学习。
三、现代教育技术是基于认知学习理论。认知学习理论揭示了人类掌握知识、形成能力的阶梯式发展过程,即传统的职业技术教育教学过程,尤其是理论教学部分,是由感知教材、理解教材、巩固与运用知识几个环节顺序连接的,形成的时间周期长,学生的记忆易于淡化,这是不利于阶梯式发展过程形成的。而现代教育技术则把感知、理解、巩固与运用融合为一体,使得学生在较短时间内记忆得到强化,可以有效地促进个体主动参与认知结构不断重组的递进式学习过程。

深度学习有哪些优点和缺点

深度学习的主要优点如下:
1:学习能力强
深度学习具备很强的学习能力。
2:覆盖范围广,适应性好
深度学习的神经网络层数很多,宽度很广,理论上可以映射到任意函数,所以能解决很复杂的问题。
3:数据驱动,上限高
深度学习高度依赖数据,数据量越大,它的表现就越好。在图像识别、面部识别、NLP 等领域表现尤为突出。
4:出色的可移植性
由于深度学习的优异表现,很多框架都可以使用,而且这些框架可以兼容很多平台。
深度学习的缺点:
只能提供有限数据量的应用场景下,深度学习算法不能够对数据的规律进行无偏差的估计。为了达到很好的精度,需要大数据支撑。由于深度学习中图模型的复杂化导致算法的时间复杂度急剧提升,为了保证算法的实时性,需要更高的并行编程技巧和更多更好的硬件支持。因此,只有一些经济实力比较强大的科研机构或企业,才能够用深度学习来做一些前沿而实用的应用。