1.如何更好的理解分析深度卷积神经网络
用局部连接而不是全连接,同时权值共享。
局部连接的概念参考局部感受域,即某个视神经元仅考虑某一个小区域的视觉输入,因此相比普通神经网络的全连接层(下一层的某一个神经元需要与前一层的所有节点连接),卷积网络的某一个卷积层的所有节点只负责前层输入的某一个区域(比如某个3*3的方块)。这样一来需要训练的权值数相比全连接而言会大大减少,进而减小对样本空间大小的需求。
权值共享的概念就是,某一隐藏层的所有神经元共用一组权值。
这两个概念对应卷积层的话,恰好就是某个固定的卷积核。卷积核在图像上滑动时每处在一个位置分别对应一个“局部连接”的神经元,同时因为“权值共享”的缘故,这些神经元的参数一致,正好对应同一个卷积核。
顺便补充下,不同卷积核对应不同的特征,比如不同方向的边(edge)就会分别对应不同的卷积核。
激活函数f(x)用ReLU的话避免了x过大梯度趋于0(比如用sigmoid)而影响训练的权值的情况(即Gradient Vanishing)。同时结果会更稀疏一些。
池化之后(例如保留邻域内最大或采纳平均以舍弃一些信息)一定程度也压制了过拟合的情况。
综述
总体来说就是重复卷积-relu 来提取特征,进行池化之后再作更深层的特征提取,实质上深层卷积网络的主要作用在于特征提取。 最后一层直接用softmax来分类(获得一个介于0~1的值表达输入属于这一类别的概率)。
2.为什么有图卷积神经网络
本质上说,世界上所有的数据都是拓扑结构,也就是网络结构,如果能够把这些网络数据真正的收集、融合起来,这确实是实现了AI智能的第一步。所以,如何利用深度学习处理这些复杂的拓扑数据,如何开创新的处理图数据以及知识图谱的智能算法是AI的一个重要方向。
深度学习在多个领域的成功主要归功于计算资源的快速发展(如 GPU)、大量训练数据的收集,还有深度学习从欧几里得数据(如图像、文本和视频)中提取潜在表征的有效性。但是,尽管深度学习已经在欧几里得数据中取得了很大的成功,但从非欧几里得域生成的数据已经取得更广泛的应用,它们需要有效分析。如在电子商务领域,一个基于图的学习系统能够利用用户和产品之间的交互以实现高度精准的推荐。在化学领域,分子被建模为图,新药研发需要测定其生物活性。在论文引用网络中,论文之间通过引用关系互相连接,需要将它们分成不同的类别。自2012年以来,深度学习在计算机视觉以及自然语言处理两个领域取得了巨大的成功。假设有一张图,要做分类,传统方法需要手动提取一些特征,比如纹理,颜色,或者一些更高级的特征。然后再把这些特征放到像随机森林等分类器,给到一个输出标签,告诉它是哪个类别。而深度学习是输入一张图,经过神经网络,直接输出一个标签。特征提取和分类一步到位,避免了手工提取特征或者人工规则,从原始数据中自动化地去提取特征,是一种端到端(end-to-end)的学习。相较于传统的方法,深度学习能够学习到更高效的特征与模式。
图数据的复杂性对现有机器学习算法提出了重大挑战,因为图数据是不规则的。每张图大小不同、节点无序,一张图中的每个节点都有不同数目的邻近节点,使得一些在图像中容易计算的重要运算(如卷积)不能再直接应用于图。此外,现有机器学习算法的核心假设是实例彼此独立。然而,图数据中的每个实例都与周围的其它实例相关,含有一些复杂的连接信息,用于捕获数据之间的依赖关系,包括引用、朋友关系和相互作用。
最近,越来越多的研究开始将深度学习方法应用到图数据领域。受到深度学习领域进展的驱动,研究人员在设计图神经网络的架构时借鉴了卷积网络、循环网络和深度自编码器的思想。为了应对图数据的复杂性,重要运算的泛化和定义在过去几年中迅速发展。
3.什么是卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。
[1] 它包括卷积层(alternating convolutional layer)和池层(pooling layer)。卷积神经网络是近年发展起来,并引起广泛重视的一种高效识别方法。
20世纪60年代,Hubel和Wiesel在研究猫脑皮层中用于局部敏感和方向选择的神经元时发现其独特的网络结构可以有效地降低反馈神经网络的复杂性,继而提出了卷积神经网络(Convolutional Neural Networks-简称CNN)。现在,CNN已经成为众多科学领域的研究热点之一,特别是在模式分类领域,由于该网络避免了对图像的复杂前期预处理,可以直接输入原始图像,因而得到了更为广泛的应用。
K.Fukushima在1980年提出的新识别机是卷积神经网络的第一个实现网络。随后,更多的科研工作者对该网络进行了改进。
其中,具有代表性的研究成果是Alexander和Taylor提出的“改进认知机”,该方法综合了各种改进方法的优点并避免了耗时的误差反向传播。
4.卷积神经网络怎么用于比较图片
SVM方面,首选的肯定是LIBSVM这个库,应该是应用最广的机器学习库了。
下面主要推荐一些DeepLearning的GitHub项目吧!
1. convnetjs - Star:2200+
实现了卷积神经网络,可以用来做分类,回归,强化学习等。
2. DeepLearn Toolbox - Star:1000+
Matlab实现中最热的库存,包括了CNN,DBN,SAE,CAE等主流模型。
3. Deep Learning(yusugomo) - Star:800+
实现了深度学习网络,从算法与实现上都比较全,提供了5种语言的实现:Python,C/C++,Java,Scala,实现的模型有DBN/CDBN/RBM/CRBM/dA/SdA/LR等。
4. Neural-Networks-And-Deep-Learning - Star:500+
这是同名书的配套代码,语言是Python。
5. rbm-mnist - Star:200+
这个是hinton matlab代码的C++改写版,还实现了Rasmussen的共轭梯度Conjugate Gradient算法。
5.卷积神经网络怎么用于比较图片
SVM方面,首选的肯定是LIBSVM这个库,应该是应用最广的机器学习库了。
下面主要推荐一些DeepLearning的GitHub项目吧!
1. convnetjs - Star:2200+
实现了卷积神经网络,可以用来做分类,回归,强化学习等。
2. DeepLearn Toolbox - Star:1000+
Matlab实现中最热的库存,包括了CNN,DBN,SAE,CAE等主流模型。
3. Deep Learning(yusugomo) - Star:800+
实现了深度学习网络,从算法与实现上都比较全,提供了5种语言的实现:Python,C/C++,Java,Scala,实现的模型有DBN/CDBN/RBM/CRBM/dA/SdA/LR等。
4. Neural-Networks-And-Deep-Learning - Star:500+
这是同名书的配套代码,语言是Python。
5. rbm-mnist - Star:200+
这个是hinton matlab代码的C++改写版,还实现了Rasmussen的共轭梯度Conjugate Gradient算法。
转载请注明出处众文网 » 本科毕业论文卷积神经网络(如何更好的理解分析深度卷积神经网络)