多层感知机(MLP)

这篇具有很好参考价值的文章主要介绍了多层感知机(MLP)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

多层感知器(MLP,Multilayer Perceptron)是一种前馈人工神经网络模型,其将输入的多个数据集映射到单一的输出的数据集上。它最主要的特点是有多个神经元层,因此也叫深度神经网络(DNN: Deep Neural Networks)。

感知机是单个神经元模型,是较大神经网络的前身。神经网络的强大之处在于它们能够学习训练数据中的表示,以及如何将其与想要预测的输出变量联系起来。从数学上讲,它们能够学习任何映射函数,并且已经被证明是一种通用的近似算法。

神经网络的预测能力来自网络的分层或多层结构。而多层感知机是指具有至少三层节点,输入层,一些中间层和输出层的神经网络。给定层中的每个节点都连接到相邻层中的每个节点。输入层接收数据,中间层计算数据,输出层输出结果。
 

一、隐藏层

以通过在网络中加⼊⼀个或多个隐藏层来克服线性模型的限制,使其能处理更普遍的函数关系类型。 要做到这⼀点,最简单的方法是将许多全连接层堆叠在⼀起。每⼀层都输出到上面的层,直到生成最后的输出。我们可以把前L−1层看作表示,把最后⼀层看作线性预测器。

mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络上图这个多层感知机有4个输入,3个输出,其隐藏层包含5个隐藏单元。输入层不涉及任何计算,因此使用此网络, 产生输出只需要实现隐藏层和输出层的计算。因此,这个多层感知机中的层数为2。注意,这两个层都是连接的。每个输入都会影响隐藏层中的每个神经元,而隐藏层中的每个神经元又会影响输出层中的每个神经元。

二、激活函数

激活函数(activation function)通过计算加权和并加上偏置来确定神经元是否应该被激活,它们将输⼊信号 转换为输出的可微运算。⼤多数激活函数都是非线性的。

1.ReLU函数

最受欢迎的激活函数是修正线性单元(Rectified linear unit,ReLU),因为它实现简单,同时在各种预测任务 中表现良好。ReLU提供了⼀种⾮常简单的非线性变换。给定元素x,ReLU函数被定义为该元素与0的最大值:

mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络

通俗地说,ReLU函数通过将相应的活性值设为0,仅保留正元素并丢弃所有负元素。当输⼊为负时,ReLU函数的导数为0,当输⼊为正时,ReLU函数的导数为1。注意,当输⼊值精确等于0时, ReLU函数不可导。在此时,我们默认使⽤左侧的导数,即当输⼊为0时导数为0。我们可以忽略这种情况,因 为输⼊可能永远都不会是0。

x = torch.arange(-8.0, 8.0, 0.1, requires_grad=True)
y = torch.relu(x)
d2l.plot(x.detach(), y.detach(), 'x', 'relu(x)', figsize=(5, 2.5))

mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络

使⽤ReLU的原因是,它求导表现得特别好:要么让参数消失,要么让参数通过。这使得优化表现得更好,并 且ReLU减轻了困扰以往神经⽹络的梯度消失问题。

y.backward(torch.ones_like(x), retain_graph=True)
d2l.plot(x.detach(), x.grad, 'x', 'grad of relu', figsize=(5, 2.5))

mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络

2.sigmoid函数

对于⼀个定义域在R中的输⼊,sigmoid函数将输⼊变换为区间(0, 1)上的输出。因此,sigmoid通常称为挤压 函数(squashing function):它将范围(-inf, inf)中的任意输⼊压缩到区间(0, 1)中的某个值:

mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络

 

y = torch.sigmoid(x)
d2l.plot(x.detach(), y.detach(), 'x', 'sigmoid(x)', figsize=(5, 2.5))

mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络

sigmoid函数的导数为下⾯的公式:

mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络

sigmoid函数的导数图像如下所⽰。注意,当输⼊为0时,sigmoid函数的导数达到最⼤值0.25;⽽输⼊在任⼀ ⽅向上越远离0点时,导数越接近0。 

# 清除以前的梯度
x.grad.data.zero_()
y.backward(torch.ones_like(x),retain_graph=True)
d2l.plot(x.detach(), x.grad, 'x', 'grad of sigmoid', figsize=(5, 2.5))

mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络

 

3.tanh函数

与sigmoid函数类似,tanh(双曲正切)函数也能将其输⼊压缩转换到区间(-1, 1)上。tanh函数的公式如下:

mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络

当输⼊在0附近时,tanh函数接近线性变换。函数的形状类似于sigmoid函数, 不同的是tanh函数关于坐标系原点中⼼对称。

y = torch.tanh(x)
d2l.plot(x.detach(), y.detach(), 'x', 'tanh(x)', figsize=(5, 2.5))

 mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络

 

tanh函数的导数是:

mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络

 tanh函数的导数图像如下所⽰。当输⼊接近0时,tanh函数的导数接近最⼤值1。与我们在sigmoid函数图像 中看到的类似,输⼊在任⼀⽅向上越远离0点,导数越接近0。

# 清除以前的梯度
x.grad.data.zero_()
y.backward(torch.ones_like(x),retain_graph=True)
d2l.plot(x.detach(), x.grad, 'x', 'grad of tanh', figsize=(5, 2.5))

mlp多层感知器,深度学习,人工智能,机器学习,python,神经网络

 参考:多层感知机(MLP)_DeeGLMath的博客-CSDN博客

             https://zh-v2.d2l.ai/d2l-zh-pytorch.pdf文章来源地址https://www.toymoban.com/news/detail-580864.html

到了这里,关于多层感知机(MLP)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【深度学习 | 感知器 & MLP(BP神经网络)】掌握感知的艺术: 感知器和MLP-BP如何革新神经网络

    🤵‍♂️ 个人主页: @AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍 🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能硬件(虽然硬件还没开始玩,但一直

    2024年02月12日
    浏览(29)
  • wps图表怎么改横纵坐标,MLP 多层感知器和CNN卷积神经网络区别

    目录 wps表格横纵坐标轴怎么设置? MLP (Multilayer Perceptron) 多层感知器 CNN (Convolutional Neural Network) 卷积神经网络

    2024年02月15日
    浏览(30)
  • MLP/CNN/RNN/Transformer主流深度学习模型的区别

    1. 多层感知机(MLP) 核心特征 : 结构 :MLP 是一种基本的前馈神经网络,包含一个输入层、一个或多个隐藏层以及一个输出层。每层由全连接的神经元组成。 用途 :适用于简单的分类和回归任务。 限制 :不适用于处理序列数据或图像数据,因为它不具备处理输入之间时间

    2024年04月26日
    浏览(31)
  • 第54步 深度学习图像识别:MLP-Mixer建模(Pytorch)

    一、写在前面 (1)MLP-Mixer MLP-Mixer(Multilayer Perceptron Mixer)是Google在2021年提出的 一种 新型的 视觉模型结构 。它的主要特点是 完全使用 多层感知机(MLP)来处理图像, 而不是使用常见的卷积(Convolution)或者自注意力(Self-Attention)机制。 MLP-Mixer的结构主要包括两种类型的

    2024年02月16日
    浏览(26)
  • 《动手学深度学习》——多层感知机

    参考资料: 《动手学深度学习》 隐藏层 + 激活函数能够模拟任何连续函数。 4.1.2.1 ReLu函数 ReLU ⁡ ( x ) = max ⁡ ( x , 0 ) operatorname{ReLU}(x) = max(x, 0) ReLU ( x ) = max ( x , 0 ) 当输入为负时,ReLU 的导数为 0 ;当输出为负时,ReLU 的导数为 1 。 ReLU的优势在于它的求导非常简单,要么让

    2024年02月12日
    浏览(45)
  • 李沐《动手学深度学习》多层感知机 深度学习相关概念

    李沐《动手学深度学习》预备知识 张量操作及数据处理 李沐《动手学深度学习》预备知识 线性代数及微积分 李沐《动手学深度学习》线性神经网络 线性回归 李沐《动手学深度学习》线性神经网络 softmax回归 李沐《动手学深度学习》多层感知机 模型概念和代码实现 教材:

    2024年01月20日
    浏览(37)
  • 多层感知机与深度学习算法概述

    读研之前那会儿我们曾纠结于机器学习、深度学习、神经网络这些概念的异同。现在看来深度学习这一算法竟然容易让人和他的爸爸机器学习搞混…可见深度学习技术的影响力之大。深度学习,作为机器学习家族中目前最有价值的一种算法,正在悄悄改变着世界以及我们生活

    2024年02月09日
    浏览(49)
  • 李沐深度学习-激活函数/多层感知机文档

    multilayer perceptron (MLP):多层感知机(多层神经网络) (hidden layer)隐藏层: 介于输入层和输出层之间的网络层 输入层不涉及计算,如果一个神将网络由三层组成,则多层感知机层数为2 多层感知机中隐藏层和输出层都是全连接 隐藏层的输出(也叫隐藏层变量或隐藏变量) 隐藏层单元

    2024年01月24日
    浏览(28)
  • 探索人工智能:深度学习、人工智能安全和人工智能编程(文末送书)

    人工智能知识对于当今的互联网技术人来说已经是刚需。但人工智能的概念、流派、技术纷繁复杂,选择哪本书入门最适合呢? 这部被誉为人工智能“百科全书”的《人工智能(第3版)》,可以作为每个技术人进入 AI 世界的第一本书。 购书链接,限时特惠5折 这本书是美国

    2024年02月03日
    浏览(82)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包