(二)基于TensorFlow的聊天机器人—循环神经网络

NLP基础

一、常用的神经网络模型
1、卷积神经网络(Convolution Neural Network,CNN)是一种前馈神经网络,包括卷积层(convolution layer)和池化层(pooling layer),常用于图像处理

2、循环神经网络(Recurrent Neural Network,RNN)是一种节点定向连结成环的人工神经网络,其内部状态可以展示动态时序行为。常用于语音文本相关模型的建立。

3、长短期记忆网络(Long Short-Term Memory),是一种时间递归神经网络,常用于处理和预测时间序列中间隔或延迟相对较长的重要事件。

二、循环神经网络
x为输入值,w为权重,y为输出值
在这里插入图片描述
1、基础——BP神经网络(也称为前馈神经网络)
结构
(1)输入层:数据模型的输入,也就是要传入模型中的数据,例如:文本、语音、图像等。聊天机器人的问答句即输入层

(2)隐藏层:用于处理数据,并将处理的结果传递给输出层;用于聊天机器人的搜索、判断、网络计算等。

(3)输出层:经过隐藏层计算之后所输出的模型内容.

处理过程
在这里插入图片描述
正向传播:从输入层>隐藏层>输出层
(1)网络初始化:对网络的权重、偏置量等做一些定义
(2)隐藏层的输出
(3)输出层的输出

误差计算:计算传输过程中出现的偏差

反向传播:将误差回传修改w、v
(1)更新隐藏层到输出层的权重、误差
(2)更新输入层到隐藏层的权重、误差

偏置更新:更新偏差
(1)更新隐藏层到输出层的偏置
(2)更新输入层到隐藏层的偏置

特点
(1)可以通过逐层信息传递到最后的输出
(2)沿着一条直线计算,直到最后一层,求出计算结果
(3)包含输入层、输出层和隐藏层,其目的是实现从输入到输出的映射
(4)一般包含多层,且层与层之间是全连接的,不存在同层和跨层连结

循环神经网络RNN
在这里插入图片描述
w为递归参数,x为输入,o为输出
特性
(1)记忆特性(上一时刻的输出可以作为下一时刻的输入)
(2)接收两个参数:当前时刻的输入和上一时刻的输出
(3)参数共享:在循环网络中参数U V W是相同的,确保每一步在做相同的事

循环神经网络和经典网络的对比
在这里插入图片描述

循环神经网络的结构
在这里插入图片描述
一对一:最简单
一对多:应用于音乐的生成、图片的描述
多对一:应用于句子的处理
多对多:分为输入输出不同维度和相同维度

双向循环神经网络

在这里插入图片描述
在这里插入图片描述
特性:
(1)不仅可以利用前一时刻的输出,还可以利用后一时刻的输出
(2)每个时刻有两个隐藏层
(3)一个从左到右,一个从右到左
(4)向前和向后传播参数独立

在这里插入图片描述
只有解决梯度消失和梯度爆炸问题才能使预测的结果准确

梯度消失和梯度爆炸的解决

(1)选择合适的激活函数
激活函数的导数大小直接影响梯度效果,大小为1是理想状态
在这里插入图片描述

(2)选择合适的参数初始化方法

(3)使用权重参数正则化

(4)使用BatchNormalization

(5)使用残差结构
在这里插入图片描述
极大的提高了神经网络的深度,很大程度上解决了梯度消散的问题,允许训练很深层的神经网络,可看作解决梯度消散的最有效方法。

(6)使用梯度剪裁

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值