首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一文读取什么是:神经网络?

神经网络是一个有向图,以神经元为顶点,神经元的输入为顶点的入边,神经元的输出为顶点的出边。因此神经网络实际上是一个计算图,直观地展示了一系列对数据进行计算操作的过程。

神经网络是一个端到端的系统,这个系统接受一定形式的数据作为输入,经过系统内的一系列计算操作后,给出一定形式的数据作为输出;系统内的运算可以被视为一个黑箱子,这与人类的认知在一定程度上具有相似性。

通常地,为了直观起见,人们对神经网络中的各顶点进行了层次划分。

神经网络的层次划分

输入层

接受来自网络外部的数据的顶点,组成输入层。

输出层

向网络外部输出数据的顶点,组成输出层。

隐藏层

除了输入层和输出层以外的其他层,均为隐藏层

训练

神经网络中计算操作被预定义,而要使得输入数据通过这些操作之后得到预期的输出,则需要根据一些实际的例子,对神经网络内部的参数进行调整与修正;这个调整与修正内部参数的过程称为训练,训练中使用的实际的例子称为训练样例。

监督训练

在监督训练中,训练样本包含神经网络的输入与预期输出;对于一个训练样本〈X,Y〉, 将X输入神经网络,得到输出Y′;我们通过一定的标准计算Y^′与Y之间的训练误差,并将这种误差反馈给神经网络,以便神经网络调整连接权重及偏置。

非监督训练

在非监督训练中,训练样本仅包含神经网络的输入。

感知器

感知器的概念由Rosenblatt Frank在1957提出,是一种监督训练的二元分类器。

单层感知器

考虑一个只包含一个神经元的神经网络。这个神经元有两个输入x_1,x_2, 权值为w_1,w_2。其激活函数为符号函数

根据感知器训练算法,在训练过程中,若实际输出的激活状态o与预期输出的激活状态y不一致,则权值按以下方式更新:

其中,w^′为更新后的权值,w为原权值,y为预期输出,x为输入;α称为学习率,学习率可以为固定值,也可以在训练中适应地调整。

多层感知器

单层感知器可以拟合一个超平面y=ax_1+bx_2,适合于线性可分的问题,而对于线性不可分的问题则无能为力。考虑异或函数作为激活函数的情况:

异或函数需要两个超平面才能进行划分。由于单层感知器无法克服线性不可分的问题,人们后引入了多层感知器,实现了异或运算。

多层感知器

图中的隐藏层神经元ℎ_1, ℎ_2相当于两个感知器,分别构造两个超平面中的一个。

BP神经网络

在多层感知器被引入的同时,也引入了一个新的问题:由于隐藏层的预期输出并没有在训练样例中给出,隐藏层结点的误差无法像单层感知器那样直接计算得到。

为了解决这个问题,后向传播算法被引入,其核心思想是将误差由输出层向前层后向传播,利用后一层的误差来估计前一层的误差。后向传播算法由Henry J. Kelley在1960 和Arthur E. Bryson在1961分别提出。使用后向传播算法训练的网络称为BP神经网络。

梯度下降

为了使得误差可以后向传播,梯度下降的算法被采用,其思想是在权值空间中朝着误差最速下降的方向搜索,找到局部的最小值:

其中,w为权值,α为学习率,Loss(⋅)为损失函数。损失函数的作用是计算实际输出与期望输出之间的误差。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OLisohsBlcZkoDdff62XWWpA0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券