神经网络

原文地址:https://www.douban.com/note/647214569/

人工神经网络(Artificial neural network)模拟人类的大脑,这是一种通过模仿人脑神经元做决策的一种算法,而AI技术的爆发,很大程度归功于人工神经网络。它从信息处理角度对人脑神经元网络进行抽象, 建立某种简单模型,按不同的连接方式组成不同的网络。

1.感知机

我们先来看看下面这款芝士巧克力双拼蛋糕,左边是芝士,右边是巧克力。聪明的人类简单地观察,就能分辨”芝士“和“巧克力”。那么人工神经网络又是怎样将它们进行区分的呢?
在这里插入图片描述

我们假设人工神经网络是通过颜色来区分这两种口味蛋糕,分成三个参数值,X1,X2,和1。假设根据参数X1大小的不同,我们能够更加容易的分辨这两种颜色,那么就主要以X1来分辨两种颜色,因此,X1所占的比重就比较大,我们称这个比重为“权重”。假设X1,X2和1所对应的权重分别是a、b和c,再利用一个简单的方程f(X)=a*X1+b*X2+c*1进行计算得到一个数值,然后根据数值就能够知道是什么蛋糕了,例如代入sign函数中(大于0是芝士,小于0是巧克力)。

那么在人工神经网络中谁来进行判断呢,答案就是感知机(Perceptron), 感知机是对信息进行编码、压缩、集成、融合的计算机智能接口系统。

以上是二维的情况,那么可想而知会有三维、四维、五维的情况,那么在更高维度的情况下,感知机就是一个将两类物体分开的超平面。感知机的另外一种表现形式是这样的:
在这里插入图片描述

这是一个六维的点,X2~7是6个参数值,X1则是偏差值,我们将这些参数输进感知机,感知机就能告诉我这个点属于“芝士”还是“巧克力”。在机器学习中,这样的点称为“数据”,而各个维度的坐标大小称之为“特征”。 等一下,这幅图是不是像极了一个神经元,没错,感知机就是神经网络的一个神经元。

2.神经网络

感知机的局限在于,因为它是一条直线(一个超平面),也就是说,只能分辨出一条直线两边各一种蛋糕(即 感知机只有一个输出值,一个输出变量),那么遇到非线性可分的数据集又会怎么办呢?例如,在四拼蛋糕中,分辨出你想要的巧克力蛋糕,一个感知机显然是不够的,这个时候就需要多个感知机一起来工作。

推崇民主的感知机们,都喜欢用投票的方式来决定选择的这块蛋糕到底是什么类型,而且如果这群感知机的数量足够多而且每个感知机的想法都不太一样,将它们结合到一起,就能够找到最适合的结果。

由于感知机的分辨能力各不相同,分辨能力越强的感知机判断结果所占的权重也越大。
在这里插入图片描述

V1~V5就是五位感知机手里的票数,也就是它们的权重,将他们的结果按照权重加起来,再和0比较(扔进sign函数),就可以分辨出你想要的蛋糕了。在机器学习中,这种通过构建并结合多个学习器来完成学习的方法叫“集合学习(Aggregation)”。这种多个感知机集合在一起做投票的模型就是神经网络,数据输入的一列神经元称为输入层(Input Layer),中间的神经元属于是隐藏层(Hidden Layer),而最后输出结果的则是输出层(Output Layer)。
在这里插入图片描述

神经网络的每一层的神经元数量都可以改变的,隐藏层中神经元数量增加的会让神经网络的学习能力变得更强大,如果输出层不只有一个神经元,那么这个神经网络就可以做多元分类,如下图输出层有两个神经元的神经网络,就可以输出[1 1],[1 -1],[-1 1],[-1 -1]四种可能,那么就可以做四元分类了。
在这里插入图片描述

实际上,在神经网络中我们不用sign函数,因为sign函数没有办法做微分,这会对我们优化神经网络时造成极大的困难,一般来说我们在神经网络中使用的是可以微分的tanh函数(或者sigmoid函数)。

3.深度神经网络

我们刚刚谈到,每一层的神经元数量是可以变化的,那么其实隐藏层的数量也是可以变化的,多隐藏层的神经网络其实就是深度神经网络。

在这里插入图片描述

我们怎么去理解多层神经网络呢?就像在你的脑海里,经过一层又一层的筛选,最终找到最爱的那一块蛋糕。深度神经网络比浅层的神经网络具有更强的学习能力,能提供更复杂的模型,相比于浅层神经网络,深度神经网络能学到更多的“意义”。我们用图像识别举个例子。

第一层神经元主要负责识别颜色和简单纹理。
在这里插入图片描述

第二层的一些神经元可以识别更加细化的纹理,比如布纹、刻度、叶纹。
在这里插入图片描述

第三层的一些神经元可以感受黑夜里的黄色烛光、鸡蛋黄、高光。
在这里插入图片描述

第四层的一些神经元负责识别萌狗的脸、七星瓢虫和一堆圆形物体的存在。
在这里插入图片描述

第五层的一些神经元可以识别出花、圆形屋顶、键盘、鸟、黑眼圈动物。

我们可以发现,越深层的神经网络,能够学习到更抽象的“概念”,比如狗狗、花、鸟等,浅层神经网络只懂得简单的线条,这证明了,深度神经网络才能够挑选出符合人工神经网络胃口的最终蛋糕。

但是深层的神经网络需要训练的时间更长,需要的数据量也更大,而且往往会陷入过拟合的危险中。所以如何训练出一个优秀的神经网络成为了众多工程师亟待解决的问题。

这里又谈到了一个概念——过拟合,过拟合是机器学习专家们一直为之头痛的问题。过拟合的意思是模型在训练样本上做得太好了以至于实际用上的时候表现非常差。

对于解决过拟合的办法,我们往往会做正则化(Regularization)。举个例子,我们会在神经网络的损失函数J中加入regularizer,如Θ^2,去惩罚过于复杂的模型,避免过拟合。

实际运用中,对于像素大小为20*20的手写体图片,用一个三层的神经网络已经可以很好地识别了。这里建立了一个输入层为400(对应一张图片的400个像素),隐藏层为25(25个感知机),输出层为10(0~9十个数字)的神经网络,经过400轮的训练后,正确率能达到99.6%。

4最后

今天所讲神经网络的只是最简单的BP神经网络,神经网络模型还有许多种,如卷积神经网络、ART网络、SOM网络、Elman网络、RBF网络等,还有许多值得大家学习挖掘的地方。

神经网络在图像识别、语音识别等各领域都有巨大的用处,相信神经网络会在未来有更巨大的发展。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值