前言
说到神经网络,也就谈到了深度学习,那深度学习一般是指建立在含有多层非线性变换的神经网络结构之上,对数据的表示进行抽象和学习的一系列机器学习算法。该方法已对语音识别,图像处理等领域的进步起到了极大的推进作用,同时也引起了自然语言处理领域学者的广泛关注。传统的机器学习方法,很多都是有监督学习的线性模型为主导,核心算法如感知机,线性支持向量机,逻辑回归等。一些神经网络技术是线性模型的简单推广,可用于替代线性分类器。另一些神经网络技术更进一步提出了新的建模方法,特别是一系列基于循环神经网络的方法,减轻了对马尔可夫假设的依赖性,这曾普遍用于序列模型中。循环神经网络可以处理任意长度的序列数据,并生成有效的特性抽取器。这些进展导致了语言模型,机器翻译以及其他一些应用的突破。
谈到神经网络,就要说到线性可分和线性不可分,对于线性不可分,核化的支持向量机,或者通常的核(Kernel)方法通过定义一些通用的映射来解决这一问题,每个映射都将数据映射到非常高的维度空间(有时甚至是无限的),然后在映射后的空间中执行线性分类。在非常高维的空间中进行分类显著提高了找到一个合适的线性分类器的概念,在非常高的维度上的操作在计算机上是无法完成的,核方法的创新性在于使用了核技巧,允许不用计算转换后的表示,而在转换后的空间上进行工作。对于许多常用的情况,人们设计了许多通用的映射,用户需要为具体的任务选择合适的映射,通常采用反复实验的方法。该方法的一个缺点是核技巧的应用使得支持向量机的分类过程线性依赖于训练集的大小,使其无法应用于非常大训练集。高维空间的另一个缺点是他们增加了过拟合的风险。
神经元的结构,上面提到高维线性可分的核函数,一种不同的方法是定义一个可训练的非线性映射函数,并和线性分类器一起训练。也就是说,找到合适的表示成为训练算法的责任。例如,映射函数可以采用参数化的线性模型形式,接一个作用于每一个输出维度上的