深度学习基础知识整理

自动编码器

Auto-encoders是一种人工神经网络,用于学习未标记数据的有效编码。它由两个部分组成:编码器和解码器。编码器将输入数据转换为一种更紧凑的表示形式,而解码器则将该表示形式转换回原始数据。这种方法可以用于降维,去噪,特征提取和生成模型。
自编码器的训练过程是无监督的,因为它不需要标记数据。它的目标是最小化重构误差,即输入数据与解码器输出之间的差异。这可以通过反向传播算法和梯度下降等优化方法来实现。
自编码器有多种变体,包括稀疏自编码器,去噪自编码器,变分自编码器等。这些变体旨在强制学习到的表示具有某些有用的属性,例如稀疏性或噪声鲁棒性。
自动编码器作为一种前馈神经网络,由编码器和解码器两个阶段组成。编码器获取输入x,并通过如下非线性映射将其转换为隐藏表示
h = φ ( W x + b ) h=φ(Wx+b) h=φ(Wx+b)
其中φ是非线性激活函数,然后解码器通过如下方法将隐藏表示映射回原始表示
z = φ ( W ′ h + b ′ ) z=φ(W'h+b') z=φ(Wh+b)
对包括θ=[W,b,W′,b′]在内的模型参数进行优化,以最小化 z = f θ ( x ) z=f_{θ}(x) z=fθ(x)和x之间的重建误差。N个数据样本集合上平均重建误差的一个常用度量是平方误差,相应的优化问题可以写成
m i n θ 1 N ∑ i N ( x i − f θ ( x i ) ) 2 min_θ \frac{1}{N} \sum^{N}_{i}(x_i - f_θ(x_i))^2 minθN1iN(xifθ(xi))2
其中 x i x_i xi是第i个样本。这清楚地表明,AE可以以无监督的方式进行训练。隐藏表示h可以被视为数据样本x的一种更抽象、更有意义的表示。通常,隐藏大小应该设置为大于AE中的输入大小,这是经过经验验证的。

稀疏自编码器

在自编码器中,稀疏性是指编码器的输出中只有少量的非零元素。这可以通过向损失函数添加一个惩罚项来实现,以鼓励编码器生成更少的非零元素。这个惩罚项通常是L1正则化项,它是编码器输出向量中所有元素的绝对值之和。这个技巧被称为“稀疏自编码器”。 稀疏自编码器的目标是学习到一组稀疏的特征,这些特征可以更好地表示输入数据。这种方法可以用于特征提取和降维。相应的优化函数更新为
m i n θ 1 N ∑ i N ( x i − f θ ( x i ) ) 2 + ∑ j m K L ( p ∣ ∣ p j ) min_θ \frac{1}{N} \sum^{N}_{i}(x_i - f_θ(x_i))^2+\sum_{j}^{m}KL(p||p_j) minθN1iN(xifθ(xi))2+jmKL(p∣∣pj)
其中m为隐藏层大小,第二项是隐藏单元上KL发散的总和。第j个隐藏神经元上的KL散度为
K L ( p ∣ ∣ p j ) = p l o g ( p p j ) + ( 1 − p ) l o g ( 1 − p 1 − p j ) KL(p||p_j)=plog(\frac{p}{p_j})+(1-p)log(\frac{1-p}{1-p_j}) KL(p∣∣pj)=plog(pjp)+(1p)log(1pj1p)
其中p为预定义的平均激活目标, p j p_j pj是整个数据集上第j个隐藏神经元的平均激活。

Addition of Denoising

在自编码器中,去噪是指通过自动编码器去除输入数据中的噪声。这可以通过向损失函数添加一个惩罚项来实现,以鼓励编码器生成更少的非零元素。这个惩罚项通常是L1正则化项,它是编码器输出向量中所有元素的绝对值之和。这个技巧被称为“去噪自编码器”。
去噪自编码器的目标是学习到一组稀疏的特征,这些特征可以更好地表示输入数据。这种方法可以用于特征提取和降维。

Stacking Structure

几个降噪自编码器可以堆叠在一起形成深度网络,通过将第l层输出作为输入提供给第(l+1)层来学习高级表示,训练是贪婪地一层一层完成的。

由于自动编码器可以以无监督的方式进行训练,因此自动编码器,特别是堆叠去噪自动编码器(SDA),可以通过初始化深度神经网络(DNN)的权重来训练模型,从而提供有效的预训练解决方案。在SDA的逐层预训练之后,可以将自动编码器的参数设置为DNN的所有隐藏层的初始化。然后,执行有监督的微调以最小化标记的训练数据上的预测误差。通常,在网络顶部添加一个softmax/回归层,以将AE中最后一层的输出映射到目标。与任意随机初始化相比,基于SDA的预训练协议可以使DNN模型具有更好的收敛能力。
image

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

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

相关文章

C++入门案例——通讯录管理系统 控制台项目

前言 C入门案例——通讯录管理系统 & 控制台项目 目录 前言总体概览实体类设计显示页面和退出系统 添加联系人逻辑拆解相关代码 显示联系人逻辑拆解相关代码 根据名字删除联系人逻辑拆解相关代码 根据名字查找联系人逻辑拆解相关代码 修改联系人逻辑拆解相关代码 清空所有…

如何理解单例模式----饿汉式?

饿汉式单例模式是一种单例设计模式的实现方式,它在类加载时就创建并初始化了单例对象,无需延迟加载。这种模式的优点是实现简单且线程安全,因为实例在类加载时就已经创建,不存在多线程竞争创建实例的问题。然而,它的缺…

AcWing.899.编辑距离

给定 n 个长度不超过 1010 的字符串以及 m 次询问,每次询问给出一个字符串和一个操作次数上限。 对于每次询问,请你求出给定的 n 个字符串中有多少个字符串可以在上限操作次数内经过操作变成询问给出的字符串。 每个对字符串进行的单个字符的插入、删除或…

C# 中,接口和抽象类的区别,分别在什么时候使用

在C#中,接口和抽象类都可用于创建可由子类实现和继承的规范。尽管它们有相似之处,但在使用场景和行为上存在显著差异。以下是你需要知道的接口和抽象类的区别以及它们各自的使用场景: 定义与目的: 接口(Interface&…

(二)模板templates

首 Django模板层是为动态生成html服务的,非本文重点。前后端分离的设计更为常见,尽量少的涉及Django模板层内容。本文记录Django如何找到一个html文件。 模板文件 在创建一个Django项目project后,目录下会生成一个同名目录和manage.py。创…

鸿蒙ArkTS的起源和简介

theme: lilsnake 1、引言 Mozilla创造了JS,Microsoft创建了TS,Huawei进一步推出了ArkTS。 从最初的基础的逻辑交互能力,到具备类型系统的高效工程开发能力,再到融合声明式UI、多维状态管理等丰富的应用开发能力,共同…

ASP.NET Core列表增删改查

前置要求&#xff1a; 1. vueelement-plus实现前端静态页面 HelloWorld.vue <template><h2>hello界面</h2><div class"tableList"><!-- 搜索框 --><el-row :gutter"20"><el-col :span"8"><!-- 搜…

STM32 GD32 瑞萨 psoc 等单片机 无线wifi蓝牙最佳解决方案

新联鑫威一系列低功耗高性价比sdio wifi/蓝牙combo的模块CYWL6208 , CYWL6312, CYW6209等可以搭配stm32 各种型号例如以下,支持sta/ap/apsta&#xff0c;双模蓝牙的应用&#xff0c;支持rt-thread, freertos, Azure RTOS, Linux, Android系统. 稳定强&#xff0c;功耗低&#x…

Linux系统资源分析手段:CPU,内存,磁盘与网络IO的瓶颈定位

前言&#xff1a;性能分析手段的应用场景 用于优化&#xff1a; 在程序编码完成后&#xff0c;我们通常要对自己编写的工具进行功能测试与性能分析。 用于监控&#xff1a; 在观察某个系统的运行情况时&#xff0c;需要观察系统内多个中间件及组件的资源占用情况。 用于测试…

tcpdump常用参数以及wireshark密文解密

tcpdump常用参数以及wireshark密文解密 文章目录 一、tcpdump命令和常用参数二、在wireshark中协议解析 tcpdump常用参数 一、tcpdump命令和常用参数 tcpdump常用命令&#xff1a;tcpdump -i eth0 src host 11.6.224.1 and udp port 161 -s 0 -w 161.pcap &#xff08;161为sn…

C盘满了,我用什么思路清理?

20240115 上周六同事传了一个很大的虚拟机给我&#xff0c;C盘就红了 虽然是飞秋选错了存储文件的路径&#xff0c;但后来忘了&#xff0c;就开始毫无目的删除文件&#xff0c;过程中会有没有权限删除的&#xff0c;这样还是没有改善。 咨询了公司IT技术人员&#xff0c; 告…

leetcode2376. 统计特殊整数

Problem: 2376. 统计特殊整数 文章目录 题目思路Code 题目 如果一个正整数每一个数位都是 互不相同 的&#xff0c;我们称它是 特殊整数 。 给你一个 正 整数 n &#xff0c;请你返回区间 [1, n] 之间特殊整数的数目。 示例 1&#xff1a; 输入&#xff1a;n 20 输出&…

利用python将Excel文件拆分为多个CSV

目录 一、准备工作 二、拆分Excel文件为多个CSV 1、读取Excel文件&#xff1a; 2、确定要拆分的列&#xff1a; 3、创建空的字典来存储CSV文件&#xff1a; 4、循环遍历数据并根据类别拆分&#xff1a; 5、打印或返回CSV文件名字典&#xff1a; 6、保存CSV到特定目录&a…

开源的代名词「GitHub 热点速览」

当开发者谈论开源时&#xff0c;通常会想到 GitHub&#xff0c;它不仅仅是一个代码托管平台&#xff0c;更是一个汇聚了全球开发者的社交中心。过去&#xff0c;开发者发布一款软件后&#xff0c;都是在自己的小圈子里默默努力和交流&#xff0c;现在通过 GitHub 平台可以方便地…

day02_计算机常识丶第一个程序丶注释丶关键字丶标识符

计算机常识 计算机如何存储数据 计算机世界中只有二进制。那么在计算机中存储和运算的所有数据都要转为二进制。包括数字、字符、图片、声音、视频等。 进制 进制也就是进位计数制&#xff0c;是人为定义的带进位的计数方法 实例&#xff1a; // 在java 中 可以使用不同…

【机器学习】强化学习 (一)强化学习简介

一、强化学习简介 1.1 问题定义 1.2 马尔可夫决策过程 举例说明马尔可夫决策过程 例1&#xff1a; 例2&#xff1a; 执行动作的策略 强化学习的目标是让智能体通过不断尝试&#xff0c;找到最优的策略&#xff08;policy&#xff09;&#xff0c;即在每个状态下选择什么动作&am…

消息中间件RabbitMQ

1. 消息队列 1.1. MQ 的相关概念 1.1.1. 什么是MQ MQ(message queue)&#xff0c;从字面意思上看&#xff0c;本质是个队列&#xff0c;FIFO 先入先出&#xff0c;只不过队列中存放的内容是message 而已&#xff0c;还是一种跨进程的通信机制&#xff0c;用于上下游传递消息…

给APM固定翼增加相机

一、原因 由于要做固定翼仿真和末端视觉制导方面的工作,所以需要对APM固件的固定翼飞机添加相机模型。 对于SDF文件而言,其本质是有XML语言进行描述的,所以我们只需要对其相机的添加过程进行描述即可。 二、要求 (1)mavros和ros确保已经安装 (2)gazebo确保已经安装 (…

【vue】-

目录 pinia搭建pinia环境存储、读取数据修改数据&#xff08;三种方式&#xff09; pinia 搭建pinia环境 一、第一步&#xff1a;npm install pinia 二、第二步&#xff1a;操作src/main.ts import { createApp } from vue import App from ./App.vue/* 引入createPinia&…

如何将github copilot当gpt4用

现在写代码已经离不开ai辅助了我用的是github copilot&#xff0c;一方面是因为它和vscode结合得比较好&#xff0c;另一方面就是copilot chat了。可以在不切换工具的情况下&#xff0c;问它问题&#xff0c;在copilot chat还在内测阶段的时候我就申请使用了&#xff08;现在已…