[PyTorch][chapter 51][Auto-Encoder -1]
目录:
- 简介
- 损失函数
- 自动编码器的类型
一 AutoEncoder 简介:
自动编码器是一种神经网络,用于无监督学习任务.(没有标签或标记数据),
例如降维,特征提取和数据压缩.
主要任务:
1: 输入数据
2: 输入数据压缩为 低维空间(也可以高维空间,很少用)
3: 低维空间 重构 输入数据
主要组件:
编码器(Encoder):
编码器将输入数据压缩为称为潜在空间或低维空间表示形式。这种潜在空间通常称为嵌入(Embedding),旨在保留尽可能多的信息。
如果我们将输入数据表示为x ,将编码器表示为 E,则输出低维空间s表示为s=E(x) 。
解码器(Decoder):
解码器通过接受低维空间表示s来重建原始输入数据。如果我们将解码器函数表示为D ,将检测器的输出表示为o ,那么我们可以将解码器表示为 o=D(s)
如下图: 中间的code 为低维空间
降维后的数据我们可以通过TensorBoard Projector 查看其相关性
我们也可以通过https://projector.tensorflow.org/ 在线工具查看。
二 损失函数
标签集用的是自身。
根据其数据特征常用交叉熵或者均方差作为损失函数.
三 自动编码器的类型
3.1 普通自动编码器
由编码器和解码器的一个或多个全连接层组成。
它适用于简单数据,可能难以处理复杂模式。
3.2 卷积自动编码器(CAE:Convolutional Autoencoder)
在编码器和解码器中利用卷积层,使其适用于处理图像数据。通过利用图像中的空间信息,CAE可以比普通自动编码器更有效地捕获复杂的模式和结构,并完成图像分割等任务。
3.3 降噪自动编码器(Denoising Autoencoder)
De-noising Auto-encoder
该自动编码器旨在消除损坏的输入数据中的噪声,如图6所示。在训练期间,输入数据通过添加噪声故意损坏,而目标仍然是原始的、未损坏的数据。自动编码器学习从噪声输入中重建干净的数据,使其可用于图像去噪和数据预处理任务。
应用2:
- De-noising Auto-encoder是 Auto-encoder的常见变型之一。给原来要输入进去的图片加入噪声后,试图还原原来的图片(加入噪声前的)
- 设计DAE的初衷就是在自动编码器的基础之上,为了防止过拟合问题而对输入层的输入数据加入噪音,使学习得到的编码器具有鲁棒性,是Bengio在08年论文《Extracting and composing robust features with denoising autoencoders》提出的。
3.4 稀疏自动编码器(Sparse Autoencoder)
Dropout 权重系数部分参数为0
这种类型的自动编码器通过向损失函数添加稀疏性约束来强制潜在空间表示的稀疏性(如图 7 所示)。此约束鼓励自动编码器使用潜在空间中的少量活动神经元来表示输入数据,从而实现更高效、更稳健的特征提取
3.5 变分自动编码器(VAE:Variational Autoencoder)
该模型在潜在空间中引入了概率层,允许对新数据进行采样和生成。VAE可以从学习到的潜在分布中生成新的样本,使其成为图像生成和风格迁移任务的理想选择。
3.6 序列间自动编码器(Sequence-to-Sequence Autoencoder)
这种类型的自动编码器也称为循环自动编码器,在图 9 所示的编码器和解码器中利用循环神经网络 (RNN) 层(例如,长短期记忆 (LSTM) 或门控循环单元 (GRU))。此体系结构非常适合处理顺序数据(例如,时间序列或自然语言处理任务)。
3.7 Feature Disentanglement(特征分离)
特征分离技术可以做到,在训练的同时,将vector中不同内容的特征分开(可以知道哪些维度代表哪些特征)。如下图所示,可以做到将content和speaker两种信息分离。
- Feature Disentangle一个比较常见的应用就是:Voice Conversion(音色转换)
- 在过去,要想转换两个speaker的音色,他们必须将相同的话各自都读一遍,但这几乎不能实现(实现起来很困难);而现在,在Feature Disentangle的帮助下,两个speaker不需要读相同的内容,就能完成音色的转换。
- 由于Feature Disentangle可以做到将content和speaker两种信息分离,所以就可以完成下面的例子,也就是Voice Conversion。用一个人的声音读出另一个人的话。
课时108 无监督学习_哔哩哔哩_bilibili
Auto-encoder (李宏毅笔记) - 知乎
自动编码器(AutoEncoder)简介 - 知乎
相关文章:
[PyTorch][chapter 51][Auto-Encoder -1]
目录: 简介 损失函数 自动编码器的类型 一 AutoEncoder 简介: 自动编码器是一种神经网络,用于无监督学习任务.(没有标签或标记数据), 例如降维,特征提取和数据压缩. 主要任务: 1: 输入数据 …...
Uniapp或者微信小程序如何动态的计算Scrollview的高度
当一个小程序页面,顶部有搜索栏,或者分类查询时,我们想要保证它们能固定到顶部,就需要使用到Scrollview,那么如何确定Scrollview就是一个问题,这时我们可以使用以下代码来实现 setScrollHeight(view #scr…...
Abase数据库管理系统
Abase数据库管理系统的架构介绍如下: 1. 概述 Abase是一个开源的分布式数据库中间件,实现MySQL数据库的自动扩缩容、故障转移和查询路由。 2. 功能架构 - 读写分离:拆分为主从两套服务 - 自动扩缩容:根据负载水平完成扩容 - 负载均衡:基于查询解析的路由 - 故障转移:快速切换…...
系统架构设计高级技能 · 大数据架构设计理论与实践
系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估(二)【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…...
ubuntu上使用osg3.2+osgearth2.9
一、介绍 在ubuntu上使用osgearth加载三维数字地球,首先要有osg和osgearth的库,这些可以直接使用apt-get下载安装,但是版本有些老,如果需要新版本的就需要自己编译。 #查看现有版本 sudo apt-cache madison openscenegraph #安装…...
C语言巧妙打印64位整数
使用C语言打印64位整数时,如果用的是32位编译器,那么打印如下, int64_t data 0x1234567890123456; printf("0x%llx\n", data);如果是64位编译器,那么打印代码如下, int64_t data 0x1234567890123456; pr…...
c语言每日一练(11)
前言:每日一练系列,每一期都包含5道选择题,2道编程题,博主会尽可能详细地进行讲解,令初学者也能听的清晰。每日一练系列会持续更新,暑假时三天之内必有一更,到了开学之后,将看学业情…...
SLAM十四讲学习笔记 第二期:部分课后实践代码
持续更新.... 前期准备第二讲实验一:简单输出 第五讲任务一:imageBasics(Ubuntu配置opencv)任务二:双目匹配点云(Ubuntu配置pangolin)检验部分我认为可以加深对CMake的理解 任务三:r…...
Android kotlin 跳转手机热点开关页面和判断热点是否打开
Android kotlin 跳转手机热点开关页面和判断热点是否打开 判断热点是否打开跳转手机热点开关页面顺带介绍一些其他常用的设置页面跳转 其他热点的一些相关知识Local-only hotspot 参考 判断热点是否打开 网上方法比较多,我这边使用了通过WifiManager 拿反射的getWi…...
Redis 执行 RDB 快照期间,主进程可以正常处理命令吗?
执行了 save 命令,会在主进程生成 RDB 文件,由于和执行操作命令在同一个线程,所以如果写入 RDB 文件的时间太长,会阻塞主进程。 执行 bgsave 过程中,由于是交给子进程来构建 RDB 文件,主进程还是可以继续工…...
Python加入Excel--生产力大提高|微软的全方面办公
Python作为一种功能强大的编程语言,已经逐渐成为了数据分析、机器学习、Web开发等领域的主流语言之一。而将Python集成到Excel中,则可以为Excel用户提供更加强大的数据处理和分析能力,同时也可以为Python开发者提供更加便捷的数据处理和可视化…...
Excel 分组排名
分组排名 公式:SUMPRODUCT((A:AA2)*(C:C>C2)) 1 降序:> 改为 < ⚠️注意1:此处空值参与排名;不参与排名则公式改为:IF(C2“”,“”,SUMPRODUCT((A:AA2)*(C:C>C2)) 1) ⚠️注意2:相同值的项…...
Redis初始以及安装
"梦却了无影踪,梦仍不曾改动" 初始Redis (1) Redis是什么? 要认识、学习一个软件,最重要的途径无一是去该软件的官方文档里瞅瞅、转悠转悠。 从官方文档的介绍中得知,Redis是一种工作于内存,…...
react导出、导入文件
导出文件: if (res) {let binaryData [];binaryData.push(res);let blobUrl ;blobUrl res;// let blobUrl window.URL.createObjectURL(new Blob(binaryData, { type: application / zip }));console.log(blobUrl);const eleLink document.createElement(a);el…...
(一)Redis——String
以下是在Ubuntu上安装Redis的步骤: 打开终端并输入以下命令以更新软件包列表:sudo apt update输入以下命令以安装Redis:sudo apt install redis-server SET key value GET key key & value 区分大小写 127.0.0.1:6379> set name no…...
Spring Boot多环境指定yml或者properties
Spring Boot多环境指定yml或者properties 文章目录 Spring Boot多环境指定yml或者properties加载顺序配置指定某个yml 加载顺序 ● application-local.properties ● application.properties ● application-local.yml ● application.yml application.propertes server.port…...
MinDoc:针对IT团队的文档、笔记系统
作为一名IT从业者,无论是在公司团队中,还是在平时自己写一些笔记、博客等文档,我都习惯使用markdown来进行书写。在使用过许多支持markdown语法的系统或软件(如Typora、未知、我来、思源、觅道等)后,我总觉…...
【分享】华为设备登录安全配置案例
微思网络www.xmws.cn,2002年成立,专业IT认证培训21年,面向全国招生! 微 信 号 咨 询: xmws-IT 华为HCIA试听课程:超级实用,华为VRP系统文件详解【视频教学】华为VRP系统文件详解 华为HCIA试听课…...
Starrocks与MySQL函数的区别
Starrocks与MySQL函数的区别 Starrocks是一款分布式OLAP数据库,而MySQL则是一种关系型数据库。由于其不同的架构和用途,它们在支持的函数方面存在一些差异。下面将详细介绍Starrocks和MySQL之间常见函数的区别。 1. 聚合函数(Aggregate Fun…...
【HTML】学习笔记(自用持续更新)
HTML基本框架 只定义信息,通过标签组成整个页面框架,再通过CSS渲染使得前端页面做的好看 <!DOCTYPE HTML> \\html类型 <html><body><h1>这是一个标题</h1><p>这是一段文字</p></body> </html> …...
代码随想录训练营第四十二天|0-1背包理论基础(一)、0-1背包理论基础(二)、416分割等和子集
0-1背包理论基础(一) 文章讲解/视频链接:代码随想录 小节:本节课讲得是0-1背包的二维数组解法,dp[i][j]的含义是从物品0-i中不重复的拿出可以装进容量为j的背包的最大价值的物品,状态转移公式为,dp[i][j] max(dp[i - …...
linux 免交互
Linux 免交互 1、免交互概念2、基本免交互的例子2.1命令行免交互统计2.2使用脚本免交互统计2.3使用免交互命令打印2.4免交互修改密码2.5重定向查看2.6重定向到指定文件2.7重定向直接指定文件2.8使用脚本完成重定向输入2.9免交互脚本完成赋值变量2.10关闭变量替换功能࿰…...
自然语言处理从入门到应用——LangChain:索引(Indexes)-[文档加载器(Document Loaders)]
分类目录:《自然语言处理从入门到应用》总目录 合并语言模型和我们自己的文本数据是区分它们的一种强大方式,这样做的第一步是将数据加载到“文档”中,文档加载器的作用就是使这个过程变得简单。 LangChain提供了三种文档加载器:…...
7.接着跑一下triton官方教程
5.Model Ensemble 在此示例中,我们将探索使用模型集成来仅通过单个网络调用在服务器端执行多个模型。这样做的好处是减少了在客户端和服务器之间复制数据的次数,并消除了网络调用固有的一些延迟。 为了说明创建模型集成的过程,我们将重用第…...
波奇学C++:stl的list模拟实现
list是双向带头链表。所以迭代器end()相当于哨兵卫的头。 list不支持和[]重载,原因在于list空间不是连续的,和[]的代价比较大。 访问第n个节点,只能用for循环,来实现 list<int> l; l.push_back(0); l.push_back(1); l.pu…...
Flask 项目结构
前面我们了解了 Flask 框架的特性和一些用法,比如创建一个简单应用、做些页面,以及增加鉴权模块等,如果要将 Flask 用于实际项目开发,还需要了解一下 Flask 项目结构。 Flask 是一个轻量级的 Web 框架,扩展性强&#…...
云计算在IT领域的发展和应用
文章目录 云计算的发展历程云计算的核心概念云计算在IT领域的应用1. 基础设施即服务(IaaS):2. 平台即服务(PaaS):3. 软件即服务(SaaS): 云计算的拓展应用结论 dz…...
8年测试经验之谈 —— 接口自动化测试requests
1.什么是requests? requests是一个Python第三方库,处理URL资源特别方便 2.安装requests pip3 install requests 如果遇到Permission denied安装失败,请加上sudo重试 3.使用requests 3.1get请求方法 3.1.1基本的get请求 import reques…...
求助:vue从后端获取数据,如何对获得的数据进行拆分?
从后端获取数据格式如下: { "count": 3, "lists": [ { "id": 2, "name_id": 4, "name": "4: 2201030019: 张四", }, { …...
html5拖拽文件上传需阻止默认事件
至少阻止下列3个事件的默认行为才能实现文件拖拽上传 var bdocument.getElementById(box) b.ondragenter(e)>{e.preventDefault()console.log(aaa,e.dataTransfer.files); } b.ondragover(e)>{e.preventDefault()console.log(bb,e.dataTransfer.files); }b.ondrop(e)>…...
深入剖析Kubernetes之Pod基本概念(一)
文章目录 Pod 中重要字段Pod 的生命周期 Pod,而不是容器,才是 Kubernetes 项目中的最小编排单位。将这个设计落实到 API 对象上,容器(Container)就成了 Pod 属性里的一个普通的字段。那么,到底哪些属性属于…...
idea 对JavaScript进行debug调试
文章目录 1.新增 JavaScript Debug 配置2.配置访问地址3.访问url. 打断点测试 前言 : 工作中接手别人的前端代码没有注释,看浏览器的network或者console切来切去,很麻烦,可以试试idea自带的javscript debug功能。 1.新增 JavaScript Debug 配…...
npm init
1、什么是npm init npm是开源 JavaScript 包管理器,允许 JavaScript 开发人员分享和重用代码。npm init是一种在创建新的npm包时使用的命令,它将提示你填写一些信息以便在package.json文件中创建初始配置。 2、为什么要使用npm init初始化项目 在node…...
微信小程序开发教学系列(6)- 数据缓存与本地存储
第六章 数据缓存与本地存储 在开发微信小程序时,我们通常会面临一个问题:如何在不重复请求接口的情况下,将数据保存在本地,提高用户体验并减少网络请求的次数。这就需要我们学会使用数据缓存和本地存储的技巧。本章将介绍在微信小…...
跟我学c++中级篇——模板的基础术语说明
一、类模板术语 1、模板的特化 模板的特化也叫具体化,非常容易理解,就是把模板中的模板参数给定具体的类型。看下面的例子: //模板 template <typename T,typname N> class Data {}; //特化 template<> class Data<int,int&…...
最新Win10离线安装.NET Framework 3.5的方法(附离线包2022/3/22)
win10系统安装软件时,可能需要.net framework3.5的运行环境,当我们安装某些软件的时候会提示“你的电脑上的应用需要使用以下Windows功能:.NET Framework 3.5(包括.NET 2.0和3.0)。如果系统默认的是4.0以上的版本,当软件需要.net framework3.…...
最新docker多系统安装技术
在Ubuntu操作系统中安装Docker 在Ubuntu操作系统中安装Docker的步骤如下。 1.卸载旧版本Docker 卸载旧版本Docker的命令如下: $ sudo apt-get remove docker docker-engine docker.io 2.使用脚本自动安装 在测试或开发环境中࿰…...
系统架构设计高级技能 · 云原生架构设计理论与实践
系列文章目录 系统架构设计高级技能 软件架构概念、架构风格、ABSD、架构复用、DSSA(一)【系统架构设计师】 系统架构设计高级技能 系统质量属性与架构评估(二)【系统架构设计师】 系统架构设计高级技能 软件可靠性分析与设计…...
Springboot集成RocketMQ——简单使用
目录 1.MQ选型 2.RocketMQ基本架构 3.Springboot集成RocketMQ 4.顺序消息 5.延时消息 6.事务消息 1.MQ选型 目前市面上的MQ选型:主要分为3个类型 Kafka:吞吐量大,且性能好,集群高可用;会丢失数据,功…...
第一百二十四回 Flexible组件
文章目录 概念介绍使用方法示例代码 我们在上一章回中介绍了扩展内容相关的知识,本章回中将介绍 Flexible组件.闲话休提,让我们一起Talk Flutter吧。 概念介绍 我们在前面章回中介绍了扩展列表相关的内容,当页面中其它组件和扩展列表一起使…...
关于stm32推挽带有上下拉电阻的思考、IO口驱动能力是什么
1、发现推挽带有上下拉电阻 1.1、stm32手册 记忆中推挽是不需要上下拉的,没关注过,但是我真的理解上下拉吗,下图来自stm32f4的中文版和英文版的数据手册,没有翻译错,就是“推挽带有上下拉的能力”。 1.2、查找相关信…...
考研408 | 【操作系统】 内存管理
内存的基础 内存和内存的作用: 几个常用的数量单位: 指令的工作原理: 问题:如何将指令中的逻辑地址转换为物理地址? 解决办法:装入的三种方式 1.绝对装入 2.可重定位装入 3.动态重定位 从写程序到程…...
C# 工厂模式
一、概述 工厂模式(Factory Pattern)是一种创建型设计模式,它提供了一种创建对象的最佳方式。在C#中,工厂模式通过定义一个公共接口或抽象类来创建对象,而具体的对象创建则由工厂类来实现。 工厂模式主要包含三个角色…...
在云服务器上安装Jenkins
说明:Jenkins是一个部署项目的平台,通过Jenkins可以省去从项目开发–>部署项目之间的所有流程,做到代码提交即上线。本文介绍在云服务CentOS上安装Jenkins。 前提 安装Jenkins之前,先要在云服务上安装JDK、Maven、Git&#x…...
一文了解SpringBoot中的IOC
目录 1.什么是IOC 2.IOC容器 3.创建IOC容器 4.装配Bean到IOC容器 5.依赖注入 1.什么是IOC IOC:Inversion of Control 控制反转 Sping中我们把一个个对象称为Bean,以前我们实例一个对象的时候,都会直接New一个 而在Spring中࿰…...
docker-compose管理创建LNMP服务并运行Wordpress网站平台
文章目录 一.项目环境1. 环境描述2.项目需求 二.部署过程1.安装Docker2.安装Docker加速器3.Docker-Compose安装部署4.准备依赖文件、配置nginx5.配置mysql6.配置php7.编写docker-compose.yml8.验证 三.容器快照,然后将Docker镜像打包成tar包备…...
【宝藏系列】一文带你梳理 Linux 的五种 IO 模型
【宝藏系列】一文带你梳理 Linux 的五种 IO 模型 文章目录 【宝藏系列】一文带你梳理 Linux 的五种 IO 模型👨🏫前言1️⃣用户态和核心态1️⃣1️⃣用户态和核心态的切换 2️⃣进程切换3️⃣进程阻塞4️⃣文件描述符(fd, File Descriptor)5️⃣缓存I/O…...
【Python】模块、包
模块 Python模块(Module),是一个Python文件,以.py结尾。模块能定义函数,类和变量,模块里也能保护可执行的代码。 不同模块,同名的功能,如果都被导入,那么后者会覆盖前者…...
CMAKE_CUDA_ARCHITECTURES针对Jetson Xavier或者Orin的设置
不同jetson设备对应不同的CMAKE_CUDA_ARCHITECTURES的设置,如下: # TX1, Nano ------ 53 # TX2 ------ 62 # AGX Xavier, NX Xavier ------ 72 # AGX Orin, NX Orin ----…...
sqlite3.OperationalError: unable to open database file解决方法
执行superset时,提示该错误:sqlite3.OperationalError: unable to open database file 由于superset里使用django设置sqlite3数据库。 应该属于django设置sqlite3数据库的问题: OperationalError: unable to open database file 原因 1&a…...