笔记杂类的

VMware密钥
UG5J2-0ME12-M89WY-NPWXX-WQH88

ubantu
链接:https://pan.baidu.com/s/1YXtdV0W1uyiRz7M8rW2HKA
提取码:n3un
–来自百度网盘超级会员V4的分享

VMware
链接:https://pan.baidu.com/s/1SOercRFS45ZE1AuNjKnV5Q
提取码:kolb
–来自百度网盘超级会员V4的分享

Ubantu教程
https://blog.csdn.net/xijieyuan2qi/article/details/102671300

修改BIOS系统
请添加图片描述

VMware复制粘贴方法
在这里插入图片描述

在Ubantu中安装Docker

句向量
给图通过网络到向量
在这里插入图片描述

Encoding压缩–RNN最擅长
在这里插入图片描述

Decoding解压
在这里插入图片描述

我们用Encoder将原始的我爱莫烦Python转变成标准的向量表达;
在用各种Decoder将向量化表达转变成其他的表达形式,其中就可以是翻译,图片,情感和对话在这里插入图片描述

拿到循环神经网络对句子的理解,通过encoding过程,得到句向量。
用另一个循环神经网络,作为Decoder,解码器,基于句向量生成下文。

简而言之,Encoder负责理解上文,Decoder负责将思考怎么样在理解的句子的基础上做任务。这一套方法就是在自然语言处理中风靡一时的Seq2Seq框架。

向量表示是深度学习成功的关键。对句子的理解,就是在多维空间中给这个句子安排一个合适的位置

翻译
做seq2seq. 意思是将一个 sequence 转换成另一个 sequence。也就是用Encoder压缩并提炼第一个sequence的信息,然后用Decoder将这个信息转换成另一种语言

在这里插入图片描述

Seq2Seq
导入库–初始化–

Encoder
Embedding(生成查询表)–输入输出尺寸–参数初始化–LSTM函数

Decoder
Embedding(生成表)–尺寸–参数初始化----LSTMCell–Dense
(LSTM模型后增加Dense(全连接)层的目的是什么?
–作用汇聚网络信息,用于分类或其他。。)

BasicDecoder的作用就是定义一个封装了decoder应该有的功能的实例
Train decoder
tfa.seq2seq.TrainingSampler,简单读取输入的训练采样器
predict decoder
GreedyEmbeddingSampler-从输出分布中随机取样的推断取样器。
RNN的Cell来说吧,cell其实就是一个RNN的一次网络

SparseCategoricalCrossentropy
交叉熵损失函数-代替均方差损失函数与sigmoid激活函数组合

Encode–压缩
embedded = self.enc_embeddings(x) 构建查询表
tf.zero构建零向量–self.encoder给零向量填充

inference推测函数

Encode调用压缩函数
定义decoder对象后初始化
variable是一种可以不断变化的变量,符合反向传播
tf.fill
当value为0时,该方法等同于tf.zeros()
当value为1时,该方法等同于tf.ones()
initial_state初始状态
np.zeros --初始化
self.decoder_eval.step
Eval–测试—step–动态

model.train()的作用是启用 Batch Normalization 和 Dropout。
model.eval()的作用是不启用 Batch Normalization 和 Dropout
tf.fill(dims, value, name=None)
创建一个维度为dims,值为value的tensor对象.该操作会创建一个维度为dims的tensor对象,并将其值设置为value,该tensor对象中的值类型和value一致
当value为0时,该方法等同于tf.zeros()
当value为1时,该方法等同于tf.ones()
可以把field比喻成一张图纸,图纸告诉你我们要做什么,
但是具体完成这张图纸的,是由“工人”,token_indexers来完

用CNN解决
三个卷积核
在这里插入图片描述

padding卷积的两种方式“SAME”和“VALID”
在这里插入图片描述

注意力机制
盲区–自动脑补
黄斑–注意力集中区
在这里插入图片描述

无法记忆长句子。当处理完所有输入序列后,模型对最初的输入单词已经**“忘得差不多了”**。也就是编码器输出的并不能很好地表征长句子的开头部分信息。所以注意力机制就是为了解决这个问题提出的

seq2seq经典模型
seq2seq中,其思想就是构造两个循环神经网络(RNNs),就是编码器和解码器
在这里插入图片描述

seq2seq
两个RNN
Encoder  decoder
在这里插入图片描述

注意力机制主要包含三个
编码器的传出
上个解码器的传入
中间的处理
在这里插入图片描述

非常好的推荐
https://blog.csdn.net/truth_01/article/details/100926422

注意力图解过程
准备隐状态
为每个编码器隐状态打分
把所有的分数进行softmax
把每个编码器隐状态和对应的注意力分布相乘
对齐向量求和
把context vector输入到解码器中请添加图片描述

DataFrame.sample
返回指定数量的随机样本

加入注意力机制,最开始的预测结果也会变好
最开始预测成渣渣,但是后面预测结果会好很多。
你看刚训练几轮其实效果就已经很不错了,可见注意力的强大。

Attention
导库–seq2seq类(模型)–初始化
Encoder
生成表( keras.layers.Embedding)
初始输入数据规格–随机生成数据–LSTM

Decoder
1、注意力机制(tfa.seq2seq.LuongAttention)
tf.contrib.seq2seq.BahdanauAttention (additive attention, ref.)
tf.contrib.seq2seq.LuongAttention (multiplicative attention, ref.)

2、tfa.seq2seq.AttentionWrapper
为RNN的循环模块添加注意力机制
AttentionWrapper 的 call 函数接收input和state然后输出output和下一个state,这就符合 RNNCell 的调用函数,即 output, next_state = RNNCell(input, state) 所以就可以像使用普通 RNNCell 一样使用带注意力机制的 RNNCell 了。

tf.keras.layers.LSTMCell 在整个时间序列输入中处理一个步骤,
而 tf.keras.layer.LSTM处理整个序列
初始化注意力机制(self.attention)
定义大小attention_layer_size
alignment_history=True 注意力可视化
生成表–初始化规格–随机生成数据
定义全连接层

Train decoder

tfa.seq2seq.BasicDecoder
用于训练和推理的基本抽样解码器。
RNN cell是循环神经网络最基本的单元
tfa.seq2seq.sampler.TrainingSampler()
简单读取其输入的训练采样器。
输出给全连接层output_layer=decoder_dense

交叉熵损失函数
keras.losses.SparseCategoricalCrossentropy

优化器Adam keras.optimizers.Adam(
Clipnorm–对梯度进行裁剪,通过控制梯度的最大范式,防止梯度爆炸的问题,

Predict decoder
构建解码器
RNN cell是循环神经网络最基本的单元
从输出分布中取最大值的推断采样器。
GreedyEmbeddingSampler

输出给全连接层output_layer=decoder_dense

Encode压缩
创建表self.enc_embeddings(x)
初始化zero—赋值self.encoder–>keras.layers.LSTM

set_attention注意力机制函数
调用encode 压缩函数—

Inference函数
初始化解码器
Variable是数据类型 对象有更多的属性
tf.fill 创建全0/1
引入注意力机制
创建所需 pred_id
model.train()的作用是启用 Batch Normalization 和 Dropout。用于训练
model.eval()的作用是不启用 Batch Normalization 和 Dropout。用于测试
transpose 作用是改变矩阵序列
s.alignment_history.mark_used() —发出警告

logits 就是一个向量,下一步将被投给 softmax 的向量。
Train_logits
引入注意力机制–
构建表–self.dec_embeddings

tfa.seq2seq.BasicDecoder—self.decoder_train
用于训练和推理的基本抽样解码器。
rnn_output的输出

Step()函数—动态系统的阶跃响应绘图。

tf.GradientTape()–自动求导
调用logits转向量–下一步传入softmax
交叉熵损失函数self.cross_entropy
GradientTape是eager模式下计算梯度用的
self.opt.apply_gradients 梯度修剪

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值