神经网络复习--循环神经网络

文章目录

  • RNN
  • LSTM神经网络
  • GAN神经网络

RNN

有些任务人工神经网络,CNN解决不了,自然语言处理中,输入和输出之间不独立,而传统神经网络中,输入和输出都是相互独立的,因此需要一种神经网络让输出和之前的输入是相关的

在这里插入图片描述

RNN是一类拓展的人工神经网络,它是为了对序列数据进行建模而产生的。
针对现象:序列数据。例如文本,是字母和词汇的序列;语音,是音节的序列;视频,是图像的序列;气象观测数据,股票交易数据等等

核心思想:样本间存在顺序关系,每个样本和它之前的样本存在关联。通过神经网络在时序上的展开,我们能够找到样本之间的序列相关性

在这里插入图片描述

5分钟搞懂RNN,3D动画

S t = f ( W i n X + W s S t − 1 + b ) S_t = f(W_{in}X + W_s S_{t-1} + b) St=f(WinX+WsSt1+b)

RNN本质与BP很像,就是加上了时序演化。定义权重U, V, W.
s t = t a n h ( U x t + W s t − 1 ) y t = s o f t m a x ( V s t ) s_t = tanh(Ux_t + Ws_{t - 1}) \\y_t = softmax(Vs_t) st=tanh(Uxt+Wst1)yt=softmax(Vst)
损失函数交叉熵损失函数

缺点:虽然解决了信息依赖的问题,但是他会丧失很久以前的信息

LSTM神经网络

增加了长短期记忆功能
LSTM是一种循环神经网络(RNN)的变体,它在处理长序列数据时比标准RNN更有效。LSTM的全称为长短时记忆网络,它的设计目的是为了解决标准RNN中梯度消失问题,同时允许网络记住长期依赖关系。

LSTM的核心思想是引入了一种称为“门”的机制,这些门可以控制信息的流动。LSTM包含三个门:输入门、遗忘门和输出门。这些门可以根据输入数据和先前的状态来控制信息的流动,从而有效地处理长序列数据。
在这里插入图片描述
遗忘门控制着旧信息的流出。它包含一个sigmoid激活函数和一个点乘运算。sigmoid决定哪些信息需要保留,哪些信息需要丢弃。点乘运算可以将旧的状态与sigmoid函数输出相乘,从而产生一个新的向量,表示需要保留的旧信息
f t = s i g m o i d ( W f [ h t − 1 , x t ] + b f ) c t − 1 ′ = c t − 1 ⊙ f t ⊙ 表示两个向量按位相乘 f_t = sigmoid(W_f[h_{t-1}, x_t] + b_f) \\c'_{t-1} = c_{t - 1}\odot f_t \\ \odot 表示两个向量按位相乘 ft=sigmoid(Wf[ht1,xt]+bf)ct1=ct1ft表示两个向量按位相乘
在这里插入图片描述
输入门控制新信息的流入。
i t = s i g m o i d ( W i [ h t − 1 , X t ] + b i C t = t a n h ( W c [ h t − 1 , X t ] + b c ) i_t = sigmoid(W_i[h_{t-1}, X_t] + b_i \\ C_t = tanh(W_c[h_{t - 1}, X_t] + b_c) it=sigmoid(Wi[ht1,Xt]+biCt=tanh(Wc[ht1Xt]+bc)
在这里插入图片描述
输出门控制中新的状态的输出。

相比于RNN只有一个传输状态,LSTM有两个传输状态,一个cell state, 和一个hidden state

在这里插入图片描述

GAN神经网络

由两个同时训练的模型组成:一个训练模型(Generator)以伪造数据,另一个训练模型(Discriminator)从真实示例中识别假数据

在这里插入图片描述
在这里插入图片描述
GAN的训练过程如下:

  • 训练鉴别器
    1. 从训练集中随机抽取真实样本x
    2. 获取一个新的随机噪声向量,并使用生成器生成一个伪造实例 x f x_f xf
    3. 使用鉴别器x和 x f x_f xf进行分类
    4. 计算分类误差并方向传播总误差,以更新鉴别器的可训练参数,将分类误差降至最低
  • 训练生成器
    1. 获得一个新的随机噪声向量z,并使用生成器生成一个伪造示例 x f x_f xf
    2. 使用鉴别器对 x f x_f xf进行分类
    3. 计算分类误差并反向传播该误差,以更新生成器的可训练参数,使鉴别器误差最大化
  • 结束
    平衡状态:
    1. 生成器生成的伪造示例与训练数据集中的真实示例没有区别
    2. 鉴别器只能依靠随机猜测来确定一个特定示例是真实还是伪造的(以1:1的比例猜测一个示例是真实的)

在这里插入图片描述

生成器的损失函数正好相反:
J G = E x _ p d a t a [ log ⁡ D ( x ) ] + E z _ p z ( z ) [ l o g ( 1 − D ( G ( z ) ) ) ] J^{G} = E_{x \_ pdata}[\log{D(x)}] + E_{z\_pz(z)}[log(1 - D(G(z)))] JG=Ex_pdata[logD(x)]+Ez_pz(z)[log(1D(G(z)))]

因此总的目标函数为:
min ⁡ G − max ⁡ D { E x _ p d a t a [ log ⁡ D ( x ) ] + E z _ p z [ log ⁡ 1 − D [ G ( z ) ] ] } \min \limits_G - \max \limits_D \{ E_{x\_p_{data} [\log{D(x)}] + E_{z \_ p_z} [\log{1 - D[G(z)]}] }\} GminDmax{Ex_pdata[logD(x)]+Ez_pz[log1D[G(z)]]}
生成器最小,鉴别器最大

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

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

相关文章

Java面试题:Spring框架除了IOC和AOP,还有哪些好玩的设计模式?

Spring是一个基于Java的企业级应用程序开发框架,它使用了多种设计模式来实现其各种特性和功能。本文将介绍一些在Spring中使用的常见设计模式以及相应的代码示例和说明。 单例模式 单例模式是Spring中最常用的设计模式之一。在ApplicationContext中,Bean…

GPT-4o、GPT-4国内可用!新UI界面率先体验方法!

测试情况: 现根据测试结果,先对比一下普号4o和付费的区别: 注: plus限制情况:4的次数用完后可以用4o,但4o的80条用完后不能用4; team账户限制是100条/3h,4o和4共享额度 目前发现的…

SDL系列(三)—— SDL2.0 扩展库:SDL_image与SDL_mixer

SDL_image SDL 默认支持的,只能打开 BMP 格式的图片 。 然而我们常见的是 Png jpg 格式的图片,于是我们这节完成 SDL 借用 自带的三方库 ,来 完成加载渲染 png 等其他图片格式。 SDL_image 简介 使用 SDL_image ,您…

Kubernetes的CNI网络插件介绍

前言 CNI 网络在 Kubernetes 中起着关键作用,它负责管理容器的网络连接、通信和安全,为 K8s 集群中的容器提供了稳定、可靠的网络基础设施。在部署 K8s 集群时,选择合适的CNI(容器网络接口)插件至关重要。不同的 CNI …

【数据可视化-05】:Plotly数据可视化宝典

一、引言 数据可视化是机器学习流程中不可或缺的一部分。通过图形和图表展示数据,我们可以更直观地理解数据的分布、趋势和关联,从而更有效地进行数据分析、特征工程和模型评估。Plotly是一个功能强大且灵活的数据可视化库,它提供了丰富的图表…

【C++】从零开始构建二叉搜索树

送给大家一句话: 我们始终有选择的自由。选错了,只要真诚的反思,真诚面对,也随时有机会修正错误和选择。 – 《奇迹男孩(电影)》 💻💻💻💻💻💻💻…

机器学习案例:加州房产价格(四)

参考链接:https://hands1ml.apachecn.org/2/#_12 数据探索和可视化、发现规律 通过之前的工作,你只是快速查看了数据,对要处理的数据有了整体了解,现在的目标是更深的探索数据。 首先,保证你将测试集放在了一旁&…

QT状态机1-三态循环状态机

#include "MainWindow.h" #include "ui_MainWindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent)

Java学习48-Java 流(Stream)、文件(File)和IO - 复习章节

1.File类的使用 File类的一个实例对应着磁盘上的文件或文件目录。(必须熟悉)File的实例化(新建一个对象),常用的方法File类中只有新建,删除,获取路径等方法,不包含读写文件的方法,此时需要使用使用下面说的IO流 IO流…

算法练习第22天|39. 组合总和、40.组合总和II

39. 组合总和 39. 组合总和 - 力扣(LeetCode)https://leetcode.cn/problems/combination-sum/description/ 题目描述: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数…

docker镜像中搭建FastDfs

docker镜像中搭建FastDfs 一、搭建过程二、docker端口映射三、映射的方法三、配置Tracker 和 Storage 环境:腾讯云服务器上 ubuntu20.04镜像 一、搭建过程 正常直接在云服务器上搭建过程参考博客: https://blog.csdn.net/qq_38531706/article/details/…

[笔试训练](二十三)067:打怪068:字符串分类069:城市群数量

目录 067:打怪 068:字符串分类 069:城市群数量 067:打怪 题目链接:打怪 (nowcoder.com) 题目: 题解: 直接计算结果: 1.一只怪物能抗几次攻击 int m(H/a)(H%a0?0:1); 2.杀死一只怪物,玩家要抗几次攻击 int nm-1; *3.杀死一只…