02|从神经元说起:结构篇

1.深度学习的起源

在这里插入图片描述

2.神经元

神经元与单层感知机
在这里插入图片描述
在这里插入图片描述深度学习的算法,基本都是一层一层的复杂的网络结构,这种网络称为“人工神经网络”。它是卷积神经网络的基础。
人工神经网络是由一个个神经元组成的,神经元的人工神经网络中最基础的计算单元。
神经元接受前一层的输入,经过处理,会有一个输出,就像下面这张图一样。
在这里插入图片描述z的计算方式如下,
在这里插入图片描述
其中,

x1,x2,…,xk是输入,
w1,w2,…,wk是权重,
b为偏移项,
δ为激活函数。

把前两个图结合,就可以得到神经元的具体组成:一个神经元是由输入、权重、偏移项、激活函数、输出五部分组成。
需要注意的是权重的个数与神经元输入的个数是相同的,偏移项在神经元中可以忽略,激活函数在神经元中一般都会有,但是在实际问题中也是可以省略的。
w1,w2,…,wkb是神经网络需要通过训练得到的参数。
在这里插入图片描述

3.Sigmoid函数

在这里插入图片描述Sigmoid函数是在机器学习和深度学习经常使用的一种激活函数。下面介绍Sigmoid函数:
在这里插入图片描述

当输入趋近于无穷大时,输出就越趋近于1,
当输入趋近于去无穷小时,输出就越趋近于0。

所以Sigmoid函数经常被使用在二分类问题,它是可以将一个数值转化为概率,当概率大于0.5或者某个自定的阈值时,就可以判断该类为正例。

4.MNSIT数据集

在这里插入图片描述MNIST数据集收集了258个人的手写数字,每张图片都是28*28像素的灰度图。
利用神经元判读下面这张图片是否为手写数字5
在这里插入图片描述
神经元就是最简单的一种感知机
神经元是模仿单个神经细胞的工作状态,单个神经细胞只有两种状态,激活状态为是,未激活状态为否。这其实就是一个二分类问题。

若现在问题变成如何自动识别出每张图片是哪个数字?
在这里插入图片描述

那么单个神经元就处理不了了,因为神经元只能处理二分类问题。
每个神经元侧重于一种数字的识别,将刚才的感知机进行修改,则可解决这种多分类的任务,如下图,输入不变,仍然将28*28像素的图片转化为长度为784的向量,将神经元的个数由1变成了10,这10个神经元只判断输入的图片是否为自己对应的数字,每个神经元都会对应一个输出,z0,…,z9。每个输出z都是神经元自己做出的判断。

神经元最终输出的z又可以叫作特征值。
Softmax函数可以将一组数值映射到[0,1]区间内并且保证输出的和是1.输出的数值可以看做“概率”

集成多个神经元,让多个神经元共同解决复杂的问题
1.可以进行多类别的分类
2.集成了多个神经元,提升了模型整体性能。

在这里插入图片描述layer1为输入层,layer2为隐藏层,layer3为输出层。单层感知机中只有一个隐藏层。多层感知机会有多个隐藏层。

多层感知机(DNN)

多层感知机是最基本、最简单的神经网络结构。
多层感知机的思想仍然是模仿人的神经系统,将获得的信息一层层地传递下去,每一层做不同的抽象。
多层感知机要求至少有2个隐藏层。
我们经常说的深度就是指隐藏层,就是指Deep Learning中的Deep。
在这里插入图片描述

在这里插入图片描述
神经元只能学习到线性关系,但是在现实中,绝大多数问题都是复杂的非线性关系。
如果我们无限的堆叠神经网络的层与任意增加神经元的个数,是不是就可以解决所有问题了?
答案是否定的,神经网络的性能会大大下降,当神经网络的隐藏层的层数大于2时,网络的性能会随着层数的增加而降低。
多层感知机的局限
参数量膨胀:在多层感知机中,采用的是全连接的形式,每增加一层,将会带来数量级的参数增加
梯度消失:使用Sigmoid函数激活的时候,会产生梯度消失的问题,使参数无法更新。

使用TensorFlow构建自己的感知机。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值