多层感知器及常见激活函数-深度神经网络DNN及计算推导

多层感知器

在之前的博客中,我们了解到,感知器(指单层感知器)具有一定的局限——无法解决异或问题,即线性不可分的问题。
将多个单层感知器进行组合,就可以得到一个多层感知器(MLP——Multi-Layer Perceptron)结构。 多层感知器包含输入层,一个或多个隐藏层以及一个输出层。每层的神经元与下一层进行完全连接。
如果网络中包含一个以上的隐层,则称其为深度人工神经网络。

说明

  • 通常我们说的神经网络的层,指具有计算的层,因为输入层没有计算,因此,通常输入层不计入神经网络的层次。
  • 多层感知器(深度神经网络)可以解决线性不可分问题。

激活函数

激活函数概念
在神经网络中,激活函数用来为每一个结点(神经元)定义输出,该输出可以作为下一个结点(神经元)的输入。

激活函数的作用
激活函数提供网络的非线性建模能力。如果不使用激活函数,即使是多层神经网络,也无法解决线性不可分的问题。

激活函数的特征
激活函数的一些属性:

  • 非线性 可以解决非线性可分问题。当激活函数是线性时,多层神经网络相当于单层神经网络。

  • 范围性 当激活函数是有限范围时,基于梯度的训练方法往往更稳定,因为模式呈现仅显着影响有限的权重。当范围无限时,训练通常更有效,因为模式呈现显着影响大多数权重。在后一种情况下,通常需要较小的学习率。

  • 可微性 该属性用来实现基于梯度的优化方法。

  • 单调性 当激活函数是单调的时,与单层模型相关联的误差表面保证是凸的。

  • 平滑性并且具有单调导数 在某些情况下,这些函数已被证明更为普遍。

  • 原点中心化
    当激活函数具有此属性时,使用较小的随机值初始化权重,可以让神经网络学习更加有效(更有利于权重的更新)。否则,在初始化权重时必须特别小心。如果函数f满足以下条件,则表明函数是原点中心化的。

    • f(0)=0f(0)=0

    • f′(0)=1f′(0)=1

导函数在0点处连续

常见激活函数

常见的激活函数如下:

  • 阶跃函数
  • sigmoid函数
  • tanh函数
  • relu函数
练习

画出各种激活函数在[-10, 10]区间的图像。

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(-10, 10, 0.1)
y = np.where(x >= 0, 1, 0)
plt.plot(x, y)

在这里插入图片描述

x = np.arange(-10, 10, 0.1)
y = 1 / (1 + np.exp(-x))
plt.plot(x, y)

在这里插入图片描述

x = np.arange(-10, 10, 0.1)
y = (np.exp(x) - np.exp(-x)) /(np.exp(x) + np.exp(-x))
plt.plot(x, y)

在这里插入图片描述

x = np.arange(-10, 10, 0.1)
y = np.where(x >= 0, x, 0)
plt.plot(x, y)

在这里插入图片描述

学习步骤

多层感知器(深度神经网络DNN)的学习过程步骤如下:

  1. 从输入层开始,通过网络进行正向传播(forward propagation),并计算输出。
  2. 根据输出与真实值,计算误差。
  3. 反向传播(back propagation)误差,根据误差值,更新每层的权重。

人工神经网络学习过程

前向传播
在这里插入图片描述
在这里插入图片描述

计算误差

在这里插入图片描述

反向传播

在这里插入图片描述
**在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

权重的初始化

注意,在深度神经网络中,权重一定不能全部初始化为0,否则,在正向传播时,所有的神经元都会得到相同的值,同时,在反向传播时,权重也会更新相同的值。这会使得神经网络拥有不同权重的意义不复存在。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值