自动编码器(Autoencoders)

news2024/9/9 4:45:45
img

在“深度学习”系列中,我们不会看到如何使用深度学习来解决端到端的复杂问题,就像我们在《A.I. Odyssey》中所做的那样。我们更愿意看看不同的技术,以及一些示例和应用程序。

1、引言
① 什么是自动编码器(AutoEncoder,AE)?

神经网络以各种形状和大小存在,并且通常以其输入和输出数据类型为特征。例如,图像分类器是用卷积神经网络构建的。它们将图像作为输入,并输出类的概率分布。

自动编码器是一类输入与输出相同的神经网络。它们的工作原理是将输入压缩到潜在空间表示中,然后从该表示中重建输出。

我们将看到如何使用修改版本的输入会更有趣。

img

简单的自动编码器架构 —— 输入被压缩,然后重建。

② 卷积自动编码器(Convolutional AutoEncoders,CAE)

自动编码器的一个非常流行的用途是将它们应用于图像。**诀窍是用卷积层代替完全连接的层。**这样,连同池化层,将输入从宽和细(假设100×100像素,3通道RGB)转换为窄和厚。这有助于网络从图像中提取视觉特征,从而获得更准确的潜在空间表示。重建过程使用上采样(upsampling)和卷积(convolution)。

由此产生的网络被称为卷积自动编码器。

img

卷积自动编码器架构 —— 它将宽而细的输入空间映射到窄而厚的潜在空间。

③ 重建质量

输入图像的重建往往是模糊的,质量较低。这是我们在压缩过程中丢失一些信息的结果。

img

训练CAE重建其输入。

img

重建的图像很模糊。

2、CAE的使用
案例1:超基础图像重建(Ultra-basic image reconstruction)

卷积自动编码器可以用于重建。例如,它们可以学习去除图像中的噪声,或者重建缺失的部分。

为此,我们不使用相同的图像作为输入和输出,而是使用有噪声的版本作为输入,干净的版本作为输出。在这个过程中,神经网络学会填补图像中的空白。

让我们看看CAE可以做些什么来替换眼睛的部分图像。假设有一个十字准星,我们想把它移开。我们可以手动创建数据集,这非常方便。

img

CAE接受过移除准星的训练。

img

即使它是模糊的,重建的输入没有留下十字准星。

现在我们的自动编码器已经训练好了,我们可以用它来去除我们从未见过的眼睛图片上的十字准星。

案例2:超基础图像上色(Ultra-basic image colorization)

在这个例子中,CAE将学习从圆形和正方形的图像映射到相同的图像,但是圆形是红色的,正方形是蓝色的。

img

训练CAE为图像上色。

img

虽然重建的图像很模糊,但颜色基本正确。

CAE为图像的正确部分上色方面做得很好。它知道圆形是红色的,正方形是蓝色的。紫色来自蓝色和红色的混合,网络在圆形和正方形之间徘徊。

现在我们的自动编码器已经训练好了,我们可以用它来给我们以前从未见过的图片上色。

3、先进的应用

上面的例子只是概念证明,展示了卷积自动编码器可以做什么。

更令人兴奋的应用包括全图像着色、潜在空间聚类或生成更高分辨率的图像。后者是用低分辨率作为输入,高分辨率作为输出得到的。

img

img

4、总结

在这篇文章中,我们已经看到了如何使用自动编码器神经网络来压缩、重建和清理数据。获得图像作为输出是一件非常令人兴奋和有趣的事情。

注意:有一个修改版本的AEs称为变分自动编码器(Variational Autoencoders),用于图像生成。

你可以试试那边的代码:

  • Convolutional Autoencoder:https://github.com/despoisj/ConvolutionalAutoencoder?ref=hackernoon.com

5、自动编码器(AE)vs. 卷积自动编码器(CAE)vs. 变分自动编码器(VAE)

自动编码器(AE)、卷积自动编码器(CAE)和变分自动编码器(VAE)是深度学习中常见的无监督学习模型,它们在结构和应用上存在一些区别和联系。

① 自动编码器(AE)

AE由编码器和解码器组成,用于将高维数据压缩成低维数据,再从这个低维表示重构原始数据。AE主要用于数据压缩和去噪,但由于其潜在空间的不连续性,不适用于数据生成任务。

AE的训练目标是最小化输入和重构之间的差异,通常使用均方误差作为损失函数。

② 卷积自动编码器(CAE)

CAE是AE的一个变体,它使用卷积层代替了传统的全连接层,特别适合处理图像数据。CAE能够很好地保留图像的空间结构信息,常用于去噪和特征提取。

CAE的编码器和解码器部分通常由卷积层、激活函数和池化层组成,能够处理任意尺寸的输入图像。

③ 变分自动编码器(VAE)

VAE在AE的基础上引入了概率分布的概念,其编码器输出潜在变量的参数(均值和标准差),然后从这个参数化的分布中采样得到潜在变量,再输入到解码器进行重构。

VAE的训练不仅考虑重构损失,还包括一个正则项——KL散度,用于衡量潜在变量分布与先验分布之间的差异,这使得VAE的潜在空间更加规则化,适合于数据生成任务。

VAE通过重参数化技巧解决了在潜在空间中采样的梯度问题,允许模型在训练过程中进行有效的反向传播。

AE、CAE和VAE都适用于学习数据表示的无监督模型,但它们在结构和应用上各有侧重。AE主要用于数据压缩和去噪,CAE适用于图像数据的处理,而VAE则因其潜在空间的连续性和规则化,适合于数据生成和样本的多样性生成。VAE可以看作AE的升级版,它通过引入概率分布和KL散度,解决了AE在数据生成上的局限性。

6、参考资料
  • Autoencoders - Deep Learning bits #1:https://hackernoon.com/autoencoders-deep-learning-bits-1-11731e200694?ref=hackernoon.com
  • Convolutional Autoencoder:https://github.com/despoisj/ConvolutionalAutoencoder?ref=hackernoon.com
  • kimi:https://kimi.moonshot.cn/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1918301.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【js/ts】js/ts高精度加减乘除函数

加法 /*** 高精度加法函数,处理字符串或数字输入,去除尾部多余的零* param {string|number} a - 被加数* param {string|number} b - 加数* returns {string} - 计算结果,去除尾部多余的零* throws {Error} - 如果输入不是有效的数字&#x…

油罐车的罐体结构介绍

油罐车的罐体一般用优质低碳钢板制成,罐内被隔板分为前、后两部分,相互隔离。每个舱内部均配备一道防波板,以加强罐体的稳定性并减缓行驶中油料对罐体的冲击。其车身由车架、车厢等组成,车架是整个油罐车的骨架,承载着…

项目收获总结--本地缓存方案选型及使用缓存的坑

本地缓存方案选型及使用缓存的坑 一、摘要二、本地缓存三、本地缓存实现方案3.1 自己编程实现一个缓存3.2 基于 Guava Cache 实现本地缓存3.3 基于 Caffeine 实现本地缓存3.4 基于 Encache 实现本地缓存3.5 小结 四、使用缓存的坑4.1 缓存穿透4.2 缓存击穿4.3 缓存雪崩4.4 数据…

浏览器输入URL后的过程

总体流程: 1. 用户输入URL并按下回车 当用户在浏览器的地址栏中输入一个 URL 并按下回车,浏览器开始解析用户输入并判断这是一个合法的 URL。 2. DNS 解析 缓存查找:浏览器首先查看本地 DNS 缓存中是否有对应的 IP,如果有则直接…

分布式系统—存储ceph部署

目录 一、存储概述 1 单机存储设备 2 单机存储的问题 3 商业存储解决方案 4 分布式存储 二、ceph概述 1 ceph优点 2 ceph架构 3 ceph核心组件 4 OSD存储后端 5 ceph数据存储过程 6 ceph版本发行生命周期 7 ceph集群部署 三、基于 ceph-deploy 部署 Ceph 集群 1 …

多位冒充者曝光!全域外卖官方到底是谁?

当前,全域外卖的热度持续攀升,不少创业者在寻找入局途径的同时,也开始打听与全域外卖官方有关的各种信息。其中,以全域外卖官方是谁为代表的身份类信息更是成为了多个创业者群内的热议问题。 而就目前的讨论情况来看,虽…

hyperworks软件许可优化解决方案

Hyperworks软件介绍 Altair 仿真驱动设计改变了产品开发,使工程师能够减少设计迭代和原型测试。提升科学计算能力扩大了应用分析的机会,使大型设计研究能够在限定的项目时间完成。现在,人工智能在工程领域的应用再次改变了产品开发。基于物理…

晋升业内新宠儿,MoE模型给了AI行业两条关键出路

文 | 智能相对论 作者 | 陈泊丞 今年以来,MoE模型成了AI行业的新宠儿。 一方面,越来越多的厂商在自家的闭源模型上采用了MoE架构。在海外,OpenAI的GPT-4、谷歌的Gemini、Mistral AI的Mistral、xAI的Grok-1等主流大模型都采用了MoE架构。 …

回收站清空了怎么恢复回来?8个数据恢复方法汇总分享!

在日常工作中,我们常常会遇到一个令人头痛的问题:回收站清空了怎么恢复回来?这种情况其实比想象中更常见。有时在整理桌面时可能会不小心彻底清理文件,或者误开启了回收站的自动清理功能,甚至可能因为病毒或bug而意外丢…

dxf数据结构

DXF(Drawing Exchange Format,绘图交换格式)是Autodesk公司开发的一种CAD(计算机辅助设计)文件格式,用于实现AutoCAD与其他软件之间的CAD数据交换。DXF格式文件是一种开放的矢量数据格式,具有多…

34 超级数据查看器 关联图片

超级数据查看器app(excel工具,数据库软件,表格app) 关联图片讲解 点击 打开该讲的视频 点击访问app下载页面 豌豆荚 下载地址 大家好,今天我们讲一下超级数据查看器的关联图片功能 这个功能能让表中的每一条信息&…

【区块链 + 智慧政务】城市大脑数据监管平台 | FISCO BCOS应用案例

为了实现城市的智能化管理和服务,智慧城市建设需要将大量的公共数据和社会数据汇集到城市大脑数据中台。 通过汇聚各种类型的数据,城市管理者可以实时了解城市的运行状态和居民的需求,从而更好地进行城市规划、 资源分配和公共服务的提供。 …

Figma中文网?比Figma更懂你的神秘网站!

Figma奠定了在线UI设计工具的基本形式,许多国内设计师都在使用Figma。在本文中,我们将解密国内大型设计师使用的Figma灵魂合作伙伴,被称为Figma中文网络的即时设计资源社区。Figma中文网络UI设计工具的魅力是什么?让我们一起看看吧…

uniapp小程序上传文件webapi后端项目asp.net

需求 小程序需要上传用户相册图片或拍摄的照片到后端服务器 uniapp官方处理小程序文件方法 选择文件方法:uni.chooseMedia uni-app官网uni-app,uniCloud,serverless,uni.chooseVideo(OBJECT),chooseVideo HarmonyOS 兼容性,uni.chooseMedia(OBJECT),uni.saveVid…

EasyExcel批量读取Excel文件数据导入到MySQL表中

1、EasyExcel简介 官网&#xff1a;EasyExcel官方文档 - 基于Java的Excel处理工具 | Easy Excel 官网 2、代码实战 首先引入jar包 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.3.2</v…

Facebook的未来蓝图:从元宇宙到虚拟现实的跨越

随着科技的不断演进和社会的数字化转型&#xff0c;虚拟现实&#xff08;VR&#xff09;和增强现实&#xff08;AR&#xff09;作为下一代计算平台正逐渐走进人们的视野。作为全球领先的科技公司之一&#xff0c;Facebook正在积极探索并推动这一领域的发展&#xff0c;以实现其…

【linux】服务器卸载cuda

【linux】服务器卸载cuda 文章目录 【linux】服务器卸载cuda1、查找已安装的 CUDA 包&#xff1a;2、卸载 CUDA&#xff1a;3、删除残留文件4、更新系统的包索引&#xff1a;5、检查是否卸载干净&#xff1a; 1、查找已安装的 CUDA 包&#xff1a; dpkg -l | grep cuda2、卸载…

python用selenium网页模拟时无法定位元素解决方法1

进行网页模拟时&#xff0c;有时我们明明可以复制出元素的xpath&#xff0c;但是用selenium的xpath click无法点击到元素。这种情况有几种原因&#xff0c;本文写其中一种——iframe 比如下图网址&#xff0c;第二行出现iframe&#xff0c;则往下的行内元素都会定位不到&#…

07-7.5.1 散列表的基本概念

&#x1f44b; Hi, I’m Beast Cheng &#x1f440; I’m interested in photography, hiking, landscape… &#x1f331; I’m currently learning python, javascript, kotlin… &#x1f4eb; How to reach me --> 458290771qq.com 喜欢《数据结构》部分笔记的小伙伴可以…