0

0

了解自动编码器的训练方法:从架构探究开始

WBOY

WBOY

发布时间:2024-01-24 15:36:05

|

1103人浏览过

|

来源于网易伏羲

转载

噪声数据是机器学习中常见的问题之一,自动编码器是解决这类问题的有效方法。本文将介绍自动编码器的结构和正确训练方法。

自动编码器是一种无监督学习的人工神经网络,用于学习数据的编码。其目标是通过训练网络来捕捉输入图像的关键特征,并将其转化为低维表示,常用于降维处理。

自动编码器的架构

自动编码器由3部分组成:

1.编码器:将训练-验证-测试集输入数据压缩成编码表示的模块,通常比输入数据小几个数量级。

2.瓶颈:包含压缩知识表示的模块,因此是网络中最重要的部分。

3.解码器:帮助网络“解压缩”知识表示并从其编码形式重构数据的模块。然后将输出与地面实况进行比较。

整个架构看起来像这样,如下图:

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

从自动编码器的架构开始了解如何训练自动编码器

编码器、瓶颈和解码器之间的关系

编码器

编码器是一组卷积块,后面是池化模块,将模型的输入压缩到称为瓶颈的紧凑部分。

瓶颈之后是解码器,它由一系列上采样模块组成,用于将压缩后的特征恢复为图像形式。在简单的自动编码器的情况下,输出预计与噪声降低的输入相同。

然而,对于变分自动编码器,它是一个全新的图像,由模型作为输入提供的信息形成。

瓶颈

作为神经网络中最重要的部分,会限制信息从编码器流向解码器,只允许最重要的信息通过。

由于瓶颈的设计是为了捕获图像所拥有的特征信息,我们可以说瓶颈帮助形成输入的知识表示。编码器-解码器结构帮助我们以数据的形式从图像中提取更多信息,并为网络中的各种输入之间建立有用的相关性。

作为输入的压缩表示的瓶颈会进一步防止神经网络记忆输入和对数据的过度拟合。瓶颈越小,过度拟合的风险就越低。但非常小的瓶颈会限制可存储的信息量,这会增加重要信息从编码器的池化层中漏出的机会。

Decktopus AI
Decktopus AI

AI在线生成高质量演示文稿

下载

解码器

最后,解码器是一组上采样和卷积块,用于重建瓶颈的输出。

由于解码器的输入是压缩的知识表示,因此解码器充当“解压缩器”并从其潜在属性重建图像。

了解完自动编码器的结果和关系后,我们接着来看如何正确训练自动编码器。

如何训练自动编码器?

在训练自动编码器之前需要设置4个超参数:

1.代码大小

代码大小或瓶颈大小是用于调整自动编码器的最重要的超参数。瓶颈大小决定了必须压缩多少数据。这也可以作为正则化项。

2.层数

与所有神经网络一样,调整自动编码器的一个重要超参数是编码器和解码器的深度。虽然较高的深度会增加模型的复杂性,但较低的深度处理速度更快。

3.每层节点数

每层节点数定义了我们每层使用的权重。通常,节点的数量随着自动编码器中每个后续层的减少而减少,因为这些层中的每一个的输入在层中变得更小。

4.重建损失

我们用来训练自动编码器的损失函数高度依赖于我们希望自动编码器适应的输入和输出类型。如果我们处理图像数据,最流行的重建损失函数是MSE损失函数和L1损失函数。如果输入和输出在[0,1]范围内,就像在MNIST数据集中一样,我们也可以使用二元交叉熵作为重建损失。

相关专题

更多
C++ 高级模板编程与元编程
C++ 高级模板编程与元编程

本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。

10

2026.01.23

php远程文件教程合集
php远程文件教程合集

本专题整合了php远程文件相关教程,阅读专题下面的文章了解更多详细内容。

29

2026.01.22

PHP后端开发相关内容汇总
PHP后端开发相关内容汇总

本专题整合了PHP后端开发相关内容,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

php会话教程合集
php会话教程合集

本专题整合了php会话教程相关合集,阅读专题下面的文章了解更多详细内容。

21

2026.01.22

宝塔PHP8.4相关教程汇总
宝塔PHP8.4相关教程汇总

本专题整合了宝塔PHP8.4相关教程,阅读专题下面的文章了解更多详细内容。

13

2026.01.22

PHP特殊符号教程合集
PHP特殊符号教程合集

本专题整合了PHP特殊符号相关处理方法,阅读专题下面的文章了解更多详细内容。

11

2026.01.22

PHP探针相关教程合集
PHP探针相关教程合集

本专题整合了PHP探针相关教程,阅读专题下面的文章了解更多详细内容。

8

2026.01.22

菜鸟裹裹入口以及教程汇总
菜鸟裹裹入口以及教程汇总

本专题整合了菜鸟裹裹入口地址及教程分享,阅读专题下面的文章了解更多详细内容。

55

2026.01.22

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

9

2026.01.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Node.js 教程
Node.js 教程

共57课时 | 9.2万人学习

CSS3 教程
CSS3 教程

共18课时 | 4.8万人学习

Rust 教程
Rust 教程

共28课时 | 4.7万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号