神经网络学习笔记2

该篇是简要摘取了博客https://blog.csdn.net/illikang/article/details/82019945的部分内容。

 

#前言

让我们来看一个经典的神经网络。这是一个包含三个层次的神经网络。红色的是输入层,绿色的是输出层,紫色的是中间层(也叫隐藏层)。输入层有3个输入单元,隐藏层有4个单元,输出层有2个单元。后文中,我们统一使用这种颜色来表达神经网络的结构。

#神经网络的发展和展望

神经网络经历了“三起三落”的过程, 之所以在单层神经网络年代,Rosenblat无法制作一个双层分类器,就在于当时的计算性能不足,同理如果量子计算发展不力,仍然需要数十年才能使我们的计算能力得以突飞猛进的发展,那么缺少了强大计算能力的神经网络可能会无法一帆风顺的发展下去。假设量子计算机真的能够与神经网络结合,并且助力真正的人工智能技术的诞生,而且量子计算机发展需要10年的话,那么神经网络可能还有10年的发展期。直到那时期以后,神经网络才能真正接近实现AI这一目标。

 

#神经元

  

可见z是在输入和权值的线性加权和叠加了一个函数g的值。在MP模型里,函数g是sgn函数,也就是取符号函数。这个函数当输入大于0时,输出1,否则输出0。

已知的属性称之为特征,未知的属性称之为目标。

 

#单层神经网络(感知器/感知机)

  

如果我们仔细看输出的计算公式,会发现这两个公式就是线性代数方程组。因此可以用矩阵乘法来表达这两个公式。
 

与神经元模型不同,感知器中的权值是通过训练得到的。因此,根据以前的知识我们知道,感知器类似一个逻辑回归模型,可以做线性分类任务。

我们可以用决策分界来形象的表达分类的效果。决策分界就是在二维的数据平面中划出一条直线,当数据的维度是3维的时候,就是划出一个平面,当数据的维度是n维时,就是划出一个n-1维的超平面。

但是感知器只能做简单的线性分类任务。

 

#两层神经网络(多层感知器)

  

理论证明,两层神经网络可以无限逼近任意连续函数。面对复杂的非线性分类任务,两层(带一个隐藏层)神经网络可以分类的很好。

我们使用这些随机生成的参数值,来预测训练数据中的样本。样本的预测目标为yp,真实目标为y。那么,定义一个值loss,计算公式如下:loss = (yp - y)2,这个值称之为损失(loss),我们的目标就是使对所有训练数据的损失和尽可能的小。

如果将先前的神经网络预测的矩阵公式带入到yp中(因为有z=yp),那么我们可以把损失写为关于参数(parameter)的函数,这个函数称之为损失函数(loss function)。

下面的问题就是求:如何优化参数,能够让损失函数的值最小。一般来说解决这个优化问题使用的是梯度下降算法。梯度下降算法每次计算参数在当前的梯度,然后让参数向着梯度的反方向前进一段距离,不断重复,直到梯度接近零时截止。一般这个时候,所有的参数恰好达到使损失函数达到一个最低值的状态。在神经网络模型中,由于结构复杂,每次计算梯度的代价很大。因此还需要使用反向传播算法

优化问题只是训练中的一个部分。机器学习问题之所以称为学习问题,而不是优化问题,就是因为它不仅要求数据在训练集上求得一个较小的误差,在测试集上也要表现好。因为模型最终是要部署到没有见过训练数据的真实场景。提升模型在测试集上的预测效果的主题叫做泛化(generalization),相关方法被称作正则化(regularization)。神经网络中常用的泛化技术有权重衰减等。



#多层神经网络(深度学习)

   

虽然层数保持不变,但是第二个神经网络的参数数量却是第一个神经网络的接近两倍之多,从而带来了更好的表示(represention)能力。


随着网络的层数增加,每一层对于前一层次的抽象表示更深入。在神经网络中,每一层神经元学习到的是前一层神经元值的更抽象的表示。例如第一个隐藏层学习到的是“边缘”的特征,第二个隐藏层学习到的是由“边缘”组成的“形状”的特征,第三个隐藏层学习到的是由“形状”组成的“图案”的特征,最后的隐藏层学习到的是由“图案”组成的“目标”的特征。通过抽取更抽象的特征来对事物进行区分,从而获得更好的区分与分类能力。

 

#补充

1.概念

  对于一门技术的学习而言,首先最重要的是弄清概念。只有将概念理解清楚,才能顺畅的进行后面的学习。由于神经网络漫长的发展历史,经常会有一些概念容易混淆,让人学习中产生困惑。这里面包括历史的术语,不一致的说法,以及被遗忘的研究等。 

  历史的术语

  这个的代表就是多层感知器(MLP)这个术语。起初看文献时很难理解的一个问题就是,为什么神经网络又有另一个名称:MLP。其实MLP(Multi-Layer Perceptron)的名称起源于50-60年代的感知器(Perceptron)。由于我们在感知器之上又增加了一个计算层,因此称为多层感知器。值得注意的是,虽然叫“多层”,MLP一般都指的是两层(带一个隐藏层的)神经网络。

  MLP这个术语属于历史遗留的产物。现在我们一般就说神经网络,以及深度神经网络。前者代表带一个隐藏层的两层神经网络,也是EasyPR目前使用的识别网络,后者指深度学习的网络。

  不一致的说法

  这个最明显的代表就是损失函数loss function,这个还有两个说法是跟它完全一致的意思,分别是残差函数error function,以及代价函数cost function。loss function是目前深度学习里用的较多的一种说法,caffe里也是这么叫的。cost function则是Ng在coursera教学视频里用到的统一说法。这三者都是同一个意思,都是优化问题所需要求解的方程。虽然在使用的时候不做规定,但是在听到各种讲解时要心里明白。

  再来就是权重weight和参数parameter的说法,神经网络界由于以前的惯例,一般会将训练得到的参数称之为权重,而不像其他机器学习方法就称之为参数。这个需要记住就好。不过在目前的使用惯例中,也有这样一种规定。那就是非偏置节点连接上的值称之为权重,而偏置节点上的值称之为偏置,两者统一起来称之为参数。

  另外一个同义词就是激活函数active function和转移函数transfer function了。同样,他们代表一个意思,都是叠加的非线性函数的说法。

2.类别

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值