dejahu的深度学习学习笔记03-感知机和MLP|Pytorch代码实现

pytorch学习笔记——5.2Pytorch中MLP分类模型 在MLP分类器的分析过程中,可以分为数据预处理和网络训练以及可视化部分,其中数据预处理部分会针对数据是否进行标准化处理进行单独分类,主要是用于分析数据标准化对于MLP网络训练的重要性。 阅读详情

前面的笔记中我们讨论了线性回归和softmax分类,都可以看作是一层的全连接层,其中线性回归的输出是一个神经元,softmax的输出是多个神经元,softmax主要作用在损失函数的计算部分,相应地模型也需要学习到更多的权重。今天我们来看一下感知机(perceptron)以及感知机的进化版本,多层感知机(MLP)。

开始之前给大家安利一下我之前写的使用tensorflow2构建物体分类模型的博客,我在博客中详细介绍了数据集收集、模型构建和模型使用三个方面,结合视频你也可以快速构建自己的物体分类模型,快去试试吧!

手把手教你用tensorflow2.3训练自己的分类数据集_dejahu的博客-优快云博客

感知机

感知机的基本概念

感知机主要是为了解决二分类的问题,给定输入x,权重w和偏移b,感知通过激活函数可以得到一个二分类的输出
o = σ ( < w , x > + b ) o = \sigma(<w,x> + b) o=σ(<w,x>+b)

image-20210705143336589

感知机和之前的线性回归和softmax比较相似,都是这种一层的全连接网络,不同的是线性回归通过回归输出实数,softmax则通过回归输出概率,感知机是通过激活函数来输出01的二进制数。

感知机是在19实际60年代提出的,当时的设备比较简陋,不像现在动辄就1tb、2tb的数据,那时构建的感知机真的是一个机器,如下图所示,我们在示意图中看到的权重是真的一根根的导线。

image-20210705143709604

感知机的训练过程

感知机的训练过程也比较简单,使用的是batch为1的随机梯度下降,当分类出现错误的时候,模型使用梯度下降来更新权重参数,具体过程如下所示:

image-20210705143948196

但是感知机存在一个致命的缺陷是感知机不能拟合XOR函数,只能产生线性的分割面,这也导致了第一个AI寒冬。在很长的一段时间感知机这个东西都没有再被研究。

多层感知机(MLP)

MLP的基本概念

出现问题不可怕,出现问题就意味着可以去解决问题。大家也可以看到初代的感知机结构比较简单,只有一个输出的神经元,有的时候研究和生活很像,比如我们遇到难题的时候,可以将难题拆分为细小的问题来解决,逐步击破。这里同样也是,一开始的感知机只有一层,那就把感知机的层数增加,这样XOR的问题就拆分成了两步来做,整个问题就变成了下面这种形式。

image-20210705145229316

加一层是可以的,那么举一反三,加多层也是可以的,所以除去问题的输入输出,中间的层我们给他一个新的名字,隐藏层(hidden layer),隐藏层的大小是超参数,和学习率,batchsize这些一样,示意图如下:

image-20210705145450356

如果只是做wx+b这种操作那么整个模型就还是线性的,在面对很多非线性的问题上还是比较棘手,为了能够解决这个问题,我们需要在线性操作之后添加激活函数使得网络具有非线性学习的能力,之后也是通过梯度下降来学习模型的权重参数。

激活函数

MLP是深度卷积神经网络的雏形,后面通过添加卷积和池化出来了卷积神经网络,所以理解MLP的基本原理对后面理解CNN有很大的帮助。在之前的博客中也有提到,神经网络参数众多,主要是通过梯度下降来学习权重参数,梯度的求解非常重要,并且由于链式法则的存在,有的时候可能会一石激起千层浪,导致梯度消失或者梯度爆炸的情况出现,所以一个好的激活函数在参数学习中起到了重要的作用,下面是几个常用的激活函数。

  • Sigmoid激活函数

    image-20210705150610678

  • ReLU激活函数

    image-20210705150627317

  • Tanh激活函数

    image-20210705150637956

注意Relu是个很好的激活函数,但是在转折点那块是不可导的,所以后面就有个ReLU的soft版本。

Pytorch代码实现

Pytorch可以方便的实现MLP,这个时候我们依然还没有进入到卷积神经网络的内容中,代码主要通过Sequential来进行构建,首先是将图片数据拉平,之后送到全连接层中,中间添加relu激活函数,详细代码如下:

import torch
from torch import nn
from d2l import torch as d2l

# 隐藏层 包含256个隐藏单元并使用了ReLU激活函数
# 注:最后一层使用softmax的话是在损失函数里面,而不是在模型里面
net = nn.Sequential(nn.Flatten(), nn.Linear(784, 256), nn.ReLU(),
                    nn.Linear(256, 10))


def init_weights(m):
    if type(m) == nn.Linear:
        nn.init.normal_(m.weight, std=0.01)


net.apply(init_weights)

batch_size, lr, num_epochs = 256, 0.1, 10
loss = nn.CrossEntropyLoss()
trainer = torch.optim.SGD(net.parameters(), lr=lr)

train_iter, test_iter = d2l.load_data_fashion_mnist(batch_size)
d2l.train_ch3(net, train_iter, test_iter, loss, num_epochs, trainer)

结果如下:

image-20210705151543107

Pytorch 学习(五):Pytorch 实现多层感知机(MLP) Pytorch 实现多层感知机(MLP) 本方法总结自《动手学深度学习》(Pytorch版)github项目 部分内容延续Pytorch 学习(四):Pytorch 实现 Softmax 回归实现方法 实现多层感知器(Multlayer Perceptron)同样遵循以下步骤: 数据集读取 模型搭建和参数初始化 损失函数和下降器构建 模型训练 方法一:从零开始实现 import torch import torch.nn as nn import numpy as np import.. 阅读详情

相关推荐

pytorch 实现MLP(多层感知机)

pytorch 实现多层感知机,主要使用torch.nn.Linear(in_features,out_features),因为torch.nn.Linear是全连接的层,就代表MLP的全连接层 本文实例MNIST数据,输入层28×28=784个节点,2个隐含层,隐含层各100个,输出层10个节点 开发平台,windows 平台,python 3.8.5,torch版本1.8.1+cpu #minist 用MLP实现,MLP也是使用pytorch实现的 import torchvision impo

robator的专栏 3万+

多层感知机 MLP-pytorch实现

文章目录1.多层感知机理论2.多层感知机代码-pytorch3.运行结果 1.多层感知机理论 2.多层感知机代码-pytorch # -*- coding: utf-8 -*- # @Project: zc # @Author: zc # @File name: MLP-FROM-SCRATCH # @Create time: 2021/11/25 13:20 # 1.导入数据库 import torch from torch import nn from d2l import torch as d2l

scar2016的博客 2247

Pytorch实现MLP(基于PyTorch实现)

本专栏整理了《图神经网络代码实战》,内包含了不同图神经网络的相关代码实现(PyG以及自实现),理论与实践相结合,如GCN、GAT、GraphSAGE等经典图网络,每一个代码实例都附带有完整的代码。

优快云 精品推荐 1万+

简单的多层感知机MLP的pytorch代码

其中,optimizer.zero_grad(), loss.backward(), optimizer.step()作用分别为。optimizer.zero_grad():将计算梯度重置为0,方便下一次计算,loss.backward():计算梯度(根据方向传播的公式计算),optimizer.step():根据计算的梯度更新每一层的权重。

wuha391的博客 1173

用PyTorch实现多层感知机(MLP)

这个例子只是MLP模型的一个简单应用,实际中可以通过增加隐藏层、调整层的大小和添加正则化等技术来改进模型的性能。此外,PyTorch还提供了许多其他功能,如自定义损失函数、学习率调度器和模型保存等,可以根据具体需求进行进一步的扩展和优化。在本文中,我们将使用PyTorch库来实现一个简单的MLP模型,并对其进行训练和测试。通过定义模型结构、准备数据、训练模型和评估模型,我们可以使用PyTorch快速构建和训练MLP模型,并在分类问题上进行预测。现在,我们可以创建MLP模型的实例,并定义损失函数和优化器。

DkVhdl的博客 404

第54步 深度学习图像识别:MLP-Mixer建模(Pytorch)

第54步 深度学习图像识别:MLP-Mixer建模(Pytorch)

Jet4505的博客 2167

dejahu深度学习笔记00-深度学习基础

最近在看李沐老师的动手学深度学习教程,强烈安利大家去看,讲的非常通透,他会从一个常人的角度给你分析深度学习的原理,另外最近老师录制的视频是Pytorch版本的,在学习基本原理的同时还是学习到Pytorch的使用,真的是太棒了! 这期专栏我就按照我自己的理解把其中一些重点的知识做个记录,方便自己回顾,另外也会附上Python的代码,结合代码一块理解原理。 深度学习的历史 深度学习这个概念在上个世纪50年代那会就已经有了,一开始有人提出了感知机的模型,可以说是现在深度学习网络的一个雏形了,但是当时的MLP解决不

dejahu的博客 946

MLP(ANN)实现时间序列预测(PyTorch版)

本专栏整理了《深度学习时间序列预测案例》,内包含了各种不同的基于深度学习模型的时间序列预测方法,例如LSTM、GRU、CNN(一维卷积、二维卷积)、LSTM-CNN、BiLSTM、Self-Attention、LSTM-Attention、Transformer等经典模型,包含项目原理以及源码,每一个项目实例都附带有`完整的代码+数据集。

优快云 精品推荐 3819

dejahu的深度学习学习笔记05-Pyotrch中的深度学习计算

开始之前给大家安利一下我之前写的使用tensorflow2构建物体分类模型的博客,我在博客中详细介绍了数据集收集、模型构建和模型使用三个方面,结合视频你也可以快速构建自己的物体分类模型,快去试试吧! 手把手教你用tensorflow2.3训练自己的分类数据集_dejahu的博客-优快云博客 前面的几章内容重点讨论了模型的基本构建和一些模型训练所涉及的技巧,今天学习的课程中,在树叶分类的任务中看到不少关于比赛的技巧,不只是迁移学习那么简单,包括优化器、数据增广等方面都有讲究,后面需要专门抽时间来看下前面的房

dejahu的博客 835

win11 labelme 汉化菜单

【代码】win11 labelme 汉化菜单。

一直记录 1169

用workbuddy自定义Skill:手把手搭建AI炒股分析助手

AI Agent正成为个人投资研究的重要工具,而Skill作为行为规范,能让AI输出保持稳定与专业。在AI Agent应用中,很多人分不清Skill与Agent的区别:Agent负责目标拆解与执行,Skill则固化分析流程与输出模板。借助本地工作台workbuddy,用户可自定义Skill,实现从市场环境检查到财务排雷的五段式分析。通过调低温度参数、设定数据验证规则,该方案能有效避免大模型凭空编造数据,帮助个人投资者快速完成基本面体检、资金面观察与风险清单生成。本文基于一套可直接套用的配置与一个月实测,展示

weixin_29038537的博客 520

【深度学习入门系列】 pytorch实现多层感知机(MLP)(内含分类、回归任务实例)

先明确了BP、BP神经网络、MLP的概念,讨论了三者的区别和联系。 之后用pytorch搭建多层感知机神经网络,这部分主要针对新手小白,以实战为主。内含2023年美赛春季赛Y题改变回归实例和一个反骗保欺诈分类实例。

如果没有躺赢的命,那就站起来奔跑,你的努力一定会对得起这一路的颠沛流离。 1万+

神经网络基础概念总结(小白入门自用)

神经网络人工神经网络多层感知机激活函数反向传播算法损失函数权值初始化正则化方法 人工神经网络 人工神经元:人工神经元是人工神经网络的基本单元。模拟生物神经元,人工神经元有1个或者多个输入(模拟多个树突或者多个神经元向该神经元传递神经冲动);对输入进行加权求和(模拟细胞体将神经信号进行积累和树突强度不同);对输入之和使用激活函数计算活性值(模拟细胞体产生兴奋或者抑制);输出活性值并传递到下一个人工神经元(模拟生物神经元通过轴突将神经冲动输入到下一个神经元)。 人工神经网络:大量的人工神经元以某种链接方式得来的

qq_42011158的博客 648

MLP(多层感知机)Pytorch底层+简洁代码实现【初学者】

使用Pytorch实现MLP模型,详解实现代码

weixin_43909400的博客 1543

Oracle迁移至华为GaussDB SQL语法和存储过程转换

在将Oracle数据库迁移至GaussDB时,SQL语法和存储过程的转换是确保应用程序正常运行和数据完整性的关键环节。由于两者在数据类型、函数、过程语言等方面存在差异,必须系统化地进行转换和测试。正则表达式脚本:批量替换常见的语法差异。SQL解析工具:解析SQL脚本,生成GaussDB兼容的语法。代码审查工具:自动检查转换后的代码,确保语法和逻辑正确。将Oracle迁移至GaussDB涉及到SQL语法和存储过程的全面转换。通过系统化的转换步骤、使用合适的工具并结合手动调整,可以确保迁移过程的顺利进行。

weixin_38428874的博客 2397

8.DJI-PSDK:一站式项目功能开发总结(空中气象站项目/激光甲烷检测项目)

本文将以一篇文章的幅度快速完成: 项目一:空中气象站项目; 项目二:激光甲烷项目; 项目所使用的PSDK来源于第0章节末尾的百度网盘;解压:Payload-SDK-3.8.zip代码所在目录:双击打开: 修改打印串口和相关波特率,我们修改如下: 进行相关编译选项配置如下: :

哒宰的博客 294

完整代码数据与注释:PyTorch、多层感知机(MLP)实现细胞聚类

细胞聚类是生物信息学和医学研究中的关键问题之一。通过对细胞数据进行聚类,我们可以识别潜在的生物学群体,并更好地理解细胞之间的关系。本项目旨在通过构建一个基于PyTorch的MLP模型,实现对细胞数据的自动聚类。

m0_46573428的博客 2133

【人工智能】拒绝焦虑,理性突围:AI 时代 Java 工程师的职业重构与进化指南

摘要:在AI技术快速发展的背景下,Java工程师面临职业转型挑战。本文通过MECE原则解构工作内容,划分高替代风险区(如CRUD开发)、高增效潜能区(如逻辑优化)和高核心壁垒区(如架构设计),指出AI对不同任务的影响程度。从劳动经济学视角分析行业将呈现K型分化,初级执行者被替代,而精通AI协作的全栈工程师需求增长。文章强调警惕过度依赖AI导致认知能力退化,并提出转型路径:掌握AI驱动开发(AIDD)、深耕领域驱动设计(DDD)、拓展全流程能力及AI原生应用开发。最终结论指出,未来的核心竞争力在于结合AI工具

奶爸的编程之路,也就一周冷个三天 133

PyTorch之MLP

吼吼哈嘿

江边小客的博客 2882

AI 大模型应用数据中心的数据清洗工具

1. 背景介绍 在人工智能大模型应用的浪潮中,数据清洗作为数据预处理的重要环节,对于提升模型性能和可靠性具有至关重要的作用。数据中心作为人工智能模型的运行环境,面临着海量数据流和多样化的数据类型,如何高效、准确地进行数据清洗,成为应用大模型的关键问题之一。本文将详细介绍AI大模型应用数据中心的数据清洗工具,包括核心概念、算法原理、具体操作步骤、应用场

SuperAGI2025 1804

apt-get update时出现GPG error:... bionic InRelease:The following signatures were invalid: EXPKEYS解决方案

本文主要介绍了apt-get update时出现W: GPG error: … bionic InRelease: The following signatures were invalid: EXPKEYSIG B7B3B788A8D3785C MySQL Release Engineering E: The repository ‘… bionic InRelease’ is not signed.解决方案,希望能对使用Ubuntu系统的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 11万+

pytorch-多层感知机MLP

MLP

我渊啊我渊啊的博客 586

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

预测任务--MLP多层感知机(pytorch完整代码实现)

对于一个预测任务,怎么才能根据经验得到最佳的结果呢。比如要预测天气的任务,温度,湿度,云层厚度都是天气的影响因素。也就是说天气是关于温度,湿度,云层厚度的函数。一旦知道这个函数关系就可以通过当天的温度,湿度,云层厚度来预测天气。可是往往没有确切的一个数学表达式来描述这种函数关系,所以我们要通过神经网络来模拟这种函数。

m0_67495624的博客 3699

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

【基于PyTorch的简单多层感知机(MLP)神经网络(深度学习经典代码实现)】

基于PyTorch的简单多层感知机(MLP)神经网络

RG_xwz的博客 1684

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

【pytorch】PyTorch -多层感知机(MLP)的从零开始实现

学习教材: 动手学深度学习 PYTORCH 版(DEMO) (https://github.com/ShusenTang/Dive-into-DL-PyTorch) PDF 制作by [Marcus Yang](https://github.com/chenyang1999) 直接代码: import torch from torch import nn from torch.nn import init import random from IPython import display from mat

sazass的博客 2311

【深度学习2】基于Pytorch实现多层感知机(MLP)模型识别手写数字

本文是作者自学深度学习的第3篇章(学习资料为李沐老师的深度学习课程),对多层感知机(MLP)的网络架构、矩阵表达、激活函数、权重衰退、丢弃法(dropout)等内容进行了整理和归纳。

m0_56655321的博客 1293
上一篇: dejahu的深度学习学习笔记02-softmax分类|Pytorch代码实现
下一篇: dejahu的深度学习学习笔记04-关于模型训练你需要了解的一些知识
肆十二
肆十二 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄9年 2万+粉丝 241原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肆十二

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值