多层感知机理解(多层感知机原理)

多层感知器(Muti-LayerPercetron)和卷积网络(ConvolutionalNeuralNetwork)。这两种网络都属于前馈型网络(Feedforwardnetwork),其中多层感知器(MLP)是最简单也是最常见的一种神经网络结构,它是所有其他神经网络结构的基础,好在我对神经网络的了解是从卷积神经网络开始的,对基本的原理和模型已经有了了解,所以学习起来相对容易,先看多层感知机的模型:1.网络的连接及输出:1.最左边就是我们的输入层了,算是网络的第0层,通常是一个向量x:

大家好,又见面了,我是你们的朋友全栈君。

一.网络的原理和结构

多层感知器(Muti-Layer Percetron)和卷积网络(Convolutional Neural Network)。这两种网络都属于前馈型网络(Feedforward network),其中多层感知器(MLP)是最简单也是最常见的一种神经网络结构,它是所有其他神经网络结构的基础,

好在我对神经网络的了解是从卷积神经网络开始的,对基本的原理和模型已经有了了解,所以学习起来相对容易,先看多层感知机的模型:
在这里插入图片描述
如何设计一个网络,输入代表像素的值,输出0-9之间的一个正确的数字
在这里插入图片描述
在这里插入图片描述
先把神经元当做数字
在这里插入图片描述
在这里插入图片描述
每个神经元里面是我们要提取的特征值,即像素的灰度值,0表示纯黑,1 表示纯白
在这里插入图片描述

这784个神经元组成了第一层,即神经网络的输入层

网络的最后一层是输出层,输出的是可能的概率,哪个概率最大,就代表识别的结果是哪个数字
在这里插入图片描述

网络的中间是隐藏层,包含这一些算法
在这里插入图片描述
比如网络的第三层,我们已经提取到局部的特征,只需要考虑将局部特征组合起来有多少 可能组成某一个数字
在这里插入图片描述

在这里插入图片描述
那再往前推,前面的一层网络就要能提取出更小的局部特征,把他们组合起来
在这里插入图片描述
通过权重值w,来提取我们关注的区域的值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这个加权和,再通过激活函数映射到[0,1]的区间

在这里插入图片描述
而通过偏置值,控制加权和不过早的激发

在这里插入图片描述
将加权和减去一个数,不让不必要的神经元激活,
在这里插入图片描述
权重代表我们关注什么样的图案,而偏置值代表加权和有多大激活神经元才有意义

在网络的第二层,每一个神经元都和上一层的784个神经元保持全连接
在这里插入图片描述

每个神经元都带一个权重和偏置值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
用向量表示
在这里插入图片描述
所以,网络中每一个神经元更像一个函数,接收输入,输出0-1的值
在这里插入图片描述

进而整个网络也可以看成一个函数,接收输入,输出一个结果
在这里插入图片描述

在这里插入图片描述

二.网络如何学习

在网络训练的时候,我们需要定义一个代价函数,来告诉网络与正确值的差距在这里插入图片描述
定义正确值1,其他为0,将网络输出的结果与实际结果相减,再将他们差的平方加起来,得到一个损失值
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

代价函数输出单个数值,来评价整个网络中的权重和偏置值与正确结果的差距
在这里插入图片描述
网络需要知道如何调整这些输入参数使输出接近正确的结果

以二维图像为例

随便 选一个输入值,然后考虑向左还是向右
在这里插入图片描述

计算斜率,斜率为正,表示函数是上升,那么我们梯度的反方向即向左

斜率为负,表示梯度是下降的,我们继续往右找到最低点
在这里插入图片描述

在每一点这样重复的计算斜率,直到找到局部最低点
在这里插入图片描述
在这里插入图片描述
在三维空间如何计算
在这里插入图片描述
同样也是计算梯度,沿梯度的反方向下降一小步

在这里插入图片描述

梯度如何计算:

梯度,就是封装了所有偏导的向量
在这里插入图片描述

在这里插入图片描述

这样我们就有了一个权重向量和一个反向梯度向量

在这里插入图片描述
将两个向量的对应的每一项相加,得到新的权重,再更新权重,如此循环
在这里插入图片描述
同时,代价值的绝对值表示每个w和B的重要程度
在这里插入图片描述
假如有一个函数的在点[1,1]的梯度向量是 [ 3 1 ] \begin{bmatrix} 3\\1\\ \end{bmatrix} [31]
在这里插入图片描述
在这里插入图片描述
也可以理解为改变x对函数影响更大

在这里插入图片描述

这样来看,网络的代价函数是把权重和偏置作为输入

在这里插入图片描述

三.反向传播法

通过代价函数我们得到了误差值

然后需要把所有样本的误差值平均值

在这里插入图片描述

我们求出的负梯度,同时反映了代价函数值的重要程度,
在这里插入图片描述
比如样本2,网络输出的值与正确的值差距较大,如何增大这个输出呢
多层感知机理解(多层感知机原理)
如何让这个结果变大

我们知道这个结果是上一层的输出+权重+偏置再通过激活函数得到的

那么有三个方法

*增大上一层的输出

*增加权重

*增加偏置值

在这里插入图片描述
如何增加权重

比较亮的神经元,对应的权重对结果影响相对更大,所以增加相对亮的神经元,训练的效率会更高
在这里插入图片描述
所以当反向传播的时候,不仅要看高边哪些权重,还要看改变那些权重性价比高
在这里插入图片描述
如何改变上一层的输出

和更改权重一样,如果我们需要结果更大的时候,依据权重的大小,对上一层的结果做出呈比例的改变
在这里插入图片描述
结果2期待上一层的值如何改变,比如增大

结果3期待上一层的值如何改变,比如减小

我们把这些期待全部加起来,作为如何改变上一层的值的指示

如此往复循环,达到训练的效果

这就是反向传播的理念
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128227.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • NAT MASQUERADE

    NAT MASQUERADESNAT是sourcenetworkaddresstranslation的缩写即源地址目标转换比如,多个PC机使用ADSL路由器共享上网,每个PC机都配置了内网IP。PC机访问外部网络的时候,路由器将数据包的报头中的源地址替换成路由器的ip。当外部网络的服务器比如网站web服务器接到访问请求的时候,他的日志记录下来的是路由器的ip地址,而不是pc机的内网ip。这是因为,这个服务器收到的数…

    2022年6月29日
    32
  • 推荐几个SQL在线学习网站

    推荐几个SQL在线学习网站适合的群体:SQL初学者,想要复习一下SQL基础知识的朋友,能无障碍阅读基础英文的朋友。SQL算是声明式的数据操纵语言,基本上感觉是对着数据库管理系统在喊:给我什么样的数据!似乎大部分人都不认为SQL十分困难。的确,入门十分简单。这里整理推荐几个我自己学习时用过的在线学习网站,可以帮助初学者快速入门SQL,在交互式的环境里学习,不用自己劳神搭建一个数据库,也不用担心损坏别人的数据库,就可…

    2022年8月20日
    13
  • sql中ddl和dml(sql与access的区别)

    分享一个大牛的人工智能教程。零基础!通俗易懂!风趣幽默!希望你也加入到人工智能的队伍中来!请点击http://www.captainbed.netDDL和DML之间的主要区别在于:DDL有助于更改数据库的结构,而DML有助于管理数据库中的数据。本质区别DDL代表数据定义语言(DataDefinitionLanguage),是一种有助于创建数据库模式的SQL命令。而DML代表数据操作语言(DataManipulationLanguage),是一种有助于检索和管理关系数据库中数据的SQL命令

    2022年4月15日
    76
  • 划分数据集python代码_python 字符串类型

    划分数据集python代码_python 字符串类型本文将详细介绍文本分类问题并用Python实现这个过程。引言文本分类是商业问题中常见的自然语言处理任务,目标是自动将文本文件分到一个或多个已定义好的类别中。文本分类的一些例子如下:分析社交媒体中的大众情感 鉴别垃圾邮件和非垃圾邮件 自动标注客户问询 将新闻文章按主题分类更多Python视频、源码、资料加群683380553免费获取目录本文将详细介绍文本分类问题并用Pyt…

    2022年5月3日
    88
  • 真正的自重…小偷可以灭绝

    真正的自重…小偷可以灭绝

    2021年7月29日
    65
  • 一条经典SQL语句优化实例

    一条经典SQL语句优化实例

    2022年3月1日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号