自学内容网 自学内容网

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

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)]]}
生成器最小,鉴别器最大


原文地址:https://blog.csdn.net/m0_64372178/article/details/138090436

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!