pytorch relu函数实现_从零开始学Pytorch(三)之多层感知机的实现

本文介绍了多层感知机(MLP)的概念,重点讲解了ReLU激活函数的作用和实现,并对比了Sigmoid和tanh函数。通过实例展示了ReLU在PyTorch中的使用,并给出了多层感知机的简洁实现。
摘要由CSDN通过智能技术生成

多层感知机的基本知识

我们将以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经网络的概念。

隐藏层

下图展示了一个多层感知机的神经网络图,它含有一个隐藏层,该层中有5个隐藏单元。

Image Name

表达公式

设小批量样本,为批量大小,为1输入个数。假设多层感知机只有一个隐藏层,其中隐藏单元个数为。记隐藏层的输出(也称为隐藏层变量或隐藏变量)为,有。设隐藏层的权重参数和偏差参数分别为和 ,输出层的权重和偏差参数分别为和。

下面是单隐藏层的多层感知机的设计。其输出的计算为

将以上两个式子联立起来,得:

从联立后的式子可以看出,虽然神经网络引入了隐藏层,却依然等价于一个单层神经网络:其中输出层权重参数为,偏差参数为。所以即便再添加更多的隐藏层,依然只与仅含输出层的单层神经网络等价。

激活函数

以上问题在于全连接层只是对数据做仿射变换(affine transformation),而多个仿射变换的叠加仍然是一个仿射变换。所以需要一个非线性函数来进行变换,打破这种仿射变换,然后输出再作为下一个全连接层的输入。这个非线性函数被称为激活函数(activation function)。

下面我们介绍几个常用的激活函数:

ReLU函数

ReLU(rectified linear unit)函数提供了一个简单的非线性变换。给定元素,该函数定义为

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值