读《神经网络与深度学习》一书,随笔。
1. 神经网络历史中被人们津津乐道的几个片段
2. 构造一个神经元
模仿生物神经元的原理构造人工神经元,把一个现实生活中的实体抽象成一个数学模型往往是解决问题的第一步,如下图:
3. 多层神经网络
单层神经网络无法解决XOR问题,因为异或问题是线性不可分的。
线性不可分现象在传统机器学习领域常见,也已经有多种方法解决这类问题,例如经典的SVM分类器,只能求一个最优分界面,当样本空间线性不可分时,可以通过加核函数(e.g.高斯核函数)将样本空间映射到更高维的空间,在更高维空间中就线性可分了。
多层神经网络面对线性不可分问题优势明显,通过多加一个隐层就能解决。多层神经网络属于前馈神经网络。
4. 深度神经网络
深度学习是针对深度神经网络的,维基百科的解释是:一种具备至少一个隐层的神经网络,与浅层神经网络类似,深度神经网络也能为复杂非线性系统提供建模,但多出的层次为模型提供了更高抽象层次,因而提高了模型的能力。
深度神经网络通常都是前馈神经网络,例如上面提到的多层神经网络也就是多层前馈神经网络,属于深度神经网络。前馈神经网络经典模型求解算法是后向传播算法(Back-propagation,BP)。但是,深度神经网络不全是前馈网络,还有递归神经网络和卷积神经网络CNN,这种网络另有求解方法。
5. 深度学习是什么
神经网络当层数多时变得非常难求解,在特征选取、隐层的确定、单层训练、回归训练等方面都遇到了理论和应用的难题,一直到2006年之前,都没有广阔的应用。那么,2006年发生了什么?
2006年,以Hiton为首的研究人员在深度信念网络(Deep Belief Network,DBN)方面的划时代性的工作,将此问题终结。他们的一系列论文中提出了几个非常关键的原则:
(1)非监督学习被用来预训练各个层。
(2)非监督学习在之前学习到的层次之上,一次只学习一个层次,每个层次学习到的结果将作为下一个层次的输入。
(3)除了一些专门用于预测的层次外,用监督学习来调整层与层之间的权重。
深度学习网络与传统神经网络虽然在网络结构上有相同之处,区别在于:传统神经网络一般只有2层至3层,参数和计算单元有限(隐层中神经元数目有时甚至比输入层神经元数据多),对复杂函数的表示能力有限,学习能力也有限;而深度学习具有5层至10层,甚至更多,并且引入了更有效的求解算法。