Tensorflow(7):RNN,LSTM,GRU,Auto-Encoder,VAE

本文深入探讨了TensorFlow中的循环神经网络(RNN),包括LSTM和GRU,以及自编码器(AE)和变分自编码器(VAE)。内容涵盖了时间序列表示方法、RNN的梯度问题、LSTM的门控机制以及如何训练Auto-Encoders。还对比了RNN、LSTM和GRU的性能,并讨论了无监督学习在数据降维和预处理中的应用。
摘要由CSDN通过智能技术生成

1、时间序列表示方法

在这里插入图片描述

sequence embedding

[b,seq_len,feature_len]

  • b:句子数量
  • seq_len:单词数量
  • feature_len 单词特征

在这里插入图片描述
[b,28,28]
从sequence角度理解,把每一个图片当作28个时间序列的输入,每个输入有28个特征。共有b个图片。

在这里插入图片描述
在这里插入图片描述
每个单词对应的三个波形,每个波形在每个时刻对应一个word vector,每个时刻代表当前输入的word。

how to represent a word

one-hot encoding

在这里插入图片描述

问题

  • sparse
  • high-dim

word embedding 需要满足:

  • semantic similarity, 近义词
  • trainable

在这里插入图片描述

  • word2vec vs glove
    比较好的word embedding 可以将近义词分在差不多相同的位置,且每个维度都有一定的意义:描述单词

embedding layer

net=layers.Embedding(10,4) #10表示单词总数,4表示dim的长度,[1,4]
net(x)

需要做训练使word embedding 表现得更好
在这里插入图片描述

2、循环神经网络:RNN

sentiment analysis

在这里插入图片描述

提取语意信息。

但如果句子很长,有很多词,参数量太大,且没有语意相关性,对语序也没有做处理。只代表当前单词的语义,未考虑整个句子的特征和信息。

在这里插入图片描述

解决参数量太大:weight sharing

用同样的线性hidden layer去处理每个时刻的t输入
在这里插入图片描述

解决没有全局语意分析:consistent memory

往neural network中加入一个memory
把上一个时刻的output储存在memory中输入给下一个时刻的hidden layer。使得对于当前单词词义分析时,考虑了上一个单词的信息。可以使用最后一个时刻的output作为分类指标,因为该output包含了整个句子的文本信息。
在这里插入图片描述
在这里插入图片描述

folded model

在这里插入图片描述

  • x t x_t xt:当前时刻输入
  • w x h w_{xh} wxh:当前时刻layer的weight
  • h t h_t ht:上一个时刻单词的语句信息

在这里插入图片描述
初始状态一般给0

在这里插入图片描述
用一个二分类分类这个句子的语意:pos/neg
参数weight只有两个

gradient

在这里插入图片描述
梯度下降的过程过参与计算会对 w R w_R wR产生高次项方的计算。

3、RNN Layer

在这里插入图片描述
在这里插入图片描述

  • kernel: w x h w_{xh}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值