【深度学习】常用算法生成对抗网络、自编码网络、多层感知机、反向传播等讲解(图文解释 超详细)

news/2024/12/27 18:56:04/

觉得有帮助请点赞关注收藏~~~

一、生成对抗网络GAN

Generative Adversarial Network 两个组件组成:一个生成器,用于生成虚拟数据,另一个是鉴别器,用于(GAN)生成式深度学习算法,可创建类似于训练数据的新数据实例。

GAN 工作原理概要如下:

(1)初始训练期间,生成器产生虚拟数据,并输入鉴别器。

(2)鉴别器基于学习模型区分生成器的假数据和真实样本数据。

(3)对抗网络将鉴别结果发送给生成器和鉴别器以更新相应模型。

 二、自编码网络

自编码器(Autoencoder)是神经网络的一种特殊形式,将输入复制到输出,因此也可以称为恒等函数。其核心思想是将输入复制到输出时,神经网络学习输入的特定属性。

其核心思想是将输入复制到输出时,神经网络学习输入的特定属性。自编码器的主要用途如下

1:降维:通过将多维数据转换为较小维度数据 降低数据复杂性

2:特征学习:学习数据的特定或者重要属性

3:生成建模:通过自编码器学习数据样本特征来生成新的数据样本

 

三、强化学习 (增强学习)

增强学习和监督学习的区别:

(1) 增强学习是试错学习(Trail-and-error),由于没有直接的标注信息提供参考,需要不断与环境进行交互,通过试错的方式来获得最优行为策略。

(2) 激励延迟(Delayed Return),增强学习缺乏参考信息,激励在时间上通常延迟发生,因此如何优化分配激励成为不能忽略的课题。

四、多层感知机MLP

多层感知机属于前馈神经网络,具有激活功能,多层感知机由完全连接的输入层和输出层组成,它们具有相同的输入层和输出层,但可能有多个隐藏层,隐藏层输出可以通过激活函数进行变换。

原理:

(1)将数据馈送到网络的输入层。

(2)基于输入层和隐藏层之间的权重执行计算。多层感知机使用激活函数确定触发节点的信息。常用的激活函数包括 ReLU、Sigmoid 函数和 Tanh。

(3)训练模型获得相关性以及变量之间的依赖关系。

五、自组织映射神经网络SOM

它可以减少数据处理的维度,不同于基于损失函数反向传递算法的神经网络,自组织映射网络使用竞争学习策略,依靠神经元互相竞争实现优化网络的目标

工作原理:

(1)为所有节点初始化权重,并随机选择一个输入样本。

(2)查找与随机输入样本的最优相似度。

(3)基于最优相似度遴选优胜邻域节点,更新优胜领域节点的权重信息。

(4)迭代计算,直到满足迭代次数或者要求。

六、径向基函数网络RBFN 

它是一种特殊类型的前馈神经网络,它使用径向基函数作为激活函数,径向基函数是沿径向对称的函数,径向基函数网络由输入层,隐藏层和输出层组成。

工作原理:

(1)接收信息输入,此时不执行变换计算。

(2)在隐藏层对数据进行变换,隐藏层节点使用输入与中心向量的距离(如欧式距离)作为径向基函数的自变量,这与反向传播网络常用输入与权向量的内积作为自变量存在区别。

(3)输出层对隐藏层的输出信息执行加权运算,作为神经网络的结果。

七、反向传播算法BP

BP神经网络基于梯度下降法,将M维数据输入欧式空间映射到N维输出欧式空间,由正向传播过程和反向传播过程组成。

信号从层传递到层(黑色箭头),误差没有达到预期值时,误差传播方向与信号方向相反(绿色箭头)。

八、连接时序分类CTC 

连接时序分类(Connectionist Temporal Classification,CTC)主要用于处理序列标注问题中的输入与输出标签的对齐问题。基于传统方法的自然语言处理,语音转换为数据以后,需明确单帧信息对应的标签才能执行有效的训练,因此在训练数据之前需要执行语音信息对齐的预处理。其缺点是工时量消耗大,在标签对齐信息部分缺失的情况下,正确的预测比较困难;而且预测结果只利用了局部信息。CTC由于使用端到端训练,并不需要输入和输出对齐,输出整体序列的预测概率,因此可以克服这些问题。CTC通过引入一个特殊的空白字符(blank),解决变长映射的问题,其典型应用场景是文本识别。

创作不易 觉得有帮助请点赞关注收藏~~~


http://www.ppmy.cn/news/1884.html

相关文章

SpringBoot的创建的使用

哈喽呀,你好呀,欢迎呀,快来看一下这篇宝藏博客吧~~~ 目录 1、Spring Boot快速扫盲 2、Spring Boot 项目创建 3、运行项目 4 、输出hello world 5、注意事项--包路径错误 6、小结 1、Spring Boot快速扫盲 在创建SpringBoot项目前,我们得…

postgresql 数据库导出和导入

简介 本篇文章主要介绍PostgreSQL库和表的导出和导入以及常用的数据库管理工具的使用 一、数据库的导出和导入 1. 使用pgAdmin导出和导入数据库 导出 导入 新建数据库,右键Restore 2. 使用Navicate导出和导入数据库 导出 选择要导出的数据库,点…

数据库 - [ 视图 事务 ]

目录 视图 事务(Transaction) Oracle对象教程:视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT…FROM即…

c++的构造函数赋值函数重载运算符等

文章目录一、前言二、正文1、拷贝构造函数2、赋值函数3、operator()() 重载()运算符4、类中方法前面的template5、类实例化的方式(1)调用构造函数实例化和指针实例化(2)类对象和类指针的区别(3) 类指针和智能指针的区别(4) 类指针和智能指针的转换三、后记一、前言 c的类的特殊…

前端入门学习笔记四十六

<!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><p>JavaScript 赋值运算符</p><p id "a"></p><script>var h 10;h / 3;document.getEl…

【小f的刷题笔记】(JS)数组 - 差分数组 LeetCode1109 LeetCode1094

【数组】 差分数组&#xff1a; &#x1f31f; 频繁对原始数组的某个区间的元素进⾏增减 ✔ 把每个数与前一个数的差值计算出来存在一个新数组里&#xff0c;区间的加减通过把新数组中区间开始下标的值加/减&#xff0c;区间结束下标对应的值减/加&#xff08;反一下&#x…

LSTM内部结构及前向传播原理——LSTM从零实现系列(1)

一、前言 作为专注于时间序列分析的玩家&#xff0c;虽然LSTM用了很久但一直没有写过一篇自己的LSTM原理详解&#xff0c;所以这次要写一个LSTM的从0到1的系列&#xff0c;从模型原理讲解到最后不借助三方框架自己手写代码来实现LSTM模型。本文本身没有特别独到之处&#xff0c…

大厂程序员bibili技术学习分享

大厂程序员bibili技术学习分享