ML读书笔记(循环神经网络)

RNN与LSTM在NLP中的应用

目的:捕捉序列中的长距离依赖关系

A. 文本分类的RNN:

net_{t}=Ux_{t}+Wh_{t-1}

h_{t}=f(net_{t})  过激活函数f得到h

y=g(Vh_{T})  最后一个时刻的h,编码了整个输入序列,在最后一个时刻的h上加输出层,过softmax,得到各个类别的概率;

B.

BPTT(Back Propagation Through Time)

梯度爆炸:使用梯度裁剪来缓解,当梯度的L2-Norm大于某个给定值时,对梯度进行等比收缩;(Tensorflow里的tf.clip_by_norm)

梯度消失:传统前馈网络,通过ReLU,Resnet等解决;RNN使用LSTM和GRU等gate解决;

C.

f如果使用ReLU做激活函数,则会在激活区域(即x>0的区域)造成多个W连乘,最终结果很可能趋于0或者无穷,即引发数值问题;同理,反向传播时,梯度也成了多个W连乘,导致梯度消失或梯度爆炸;

只有当W在单位矩阵附近时,以上问题才解决;所以有一种思路是初始化W为单位矩阵附近;

CNN和RNN用ReLU做激活函数,因为他们的权重矩阵W是不同的,因此可以相互抵消

D. LSTM (注意c是记忆,h是输出的隐状态(短记忆!))

长期记忆:遗忘门的值接近1,输入门的值接近0

短期记忆:遗忘门的值接近0,输入门的值接近1

E.

3种gate使用sigmoid函数,值域0~1, 符合门控的物理意义(0是关门,1是开门);(Attention中的门控用的也是sigmoid)

生成候选记忆\tilde{C}使用tanh函数,值域-1~1,符合特征分布以0为中心的常识;

F.

机器翻译:解码器,输入的第1个词是<EOS>,解码输出遇到<EOS>则终止;

BeamSearch: 每一步保留N个最优解;(N一般取8~12);

常用技术:多层RNN、dropout、残差网络、顶层输出加CRF、attention

G.

RNN,包括LSTM等,包括双向RNN, 都有当前时刻的h重点编码了和他最近的几个时刻的倾向(离当前时刻远的那些时刻们,往往被当前时刻所淡化),所以要用attention,所以要用Transformer那种无视顺序的;

attention把解码器上一时刻隐层输出,和编码器所有时刻隐层输出,依次点乘过softmax得权重,编码器所有时刻隐层输出的加权和,当做解码器当前时刻的重要输入(还有上一时刻隐层输出,上一时刻输出层结果的embedding)

attention一定程度上解决了编码长序列的问题;

MATLAB代码实现了一个基于多种智能优化算法优化RBF神经网络的回归预测模型,其核心是通过智能优化算法自动寻找最优的RBF扩展参数(spread),以提升预测精度。 1.主要功能 多算法优化RBF网络:使用多种智能优化算法优化RBF神经网络的核心参数spread。 回归预测:对输入特征进行回归预测,适用于连续值输出问题。 性能对比:对比不同优化算法在训练集和测试集上的预测性能,绘制适应度曲线、预测对比图、误差指标柱状图等。 2.算法步骤 数据准备:导入数据,随机打乱,划分训练集和测试集(默认7:3)。 数据归一化:使用mapminmax将输入和输出归一化到[0,1]区间。 标准RBF建模:使用固定spread=100建立基准RBF模型。 智能优化循环: 调用优化算法(从指定文件夹中读取算法文件)优化spread参数。 使用优化后的spread重新训练RBF网络。 评估预测结果,保存性能指标。 结果可视化: 绘制适应度曲线、训练集/测试集预测对比图。 绘制误差指标(MAE、RMSE、MAPE、MBE)柱状图。 十种智能优化算法分别是: GWO:灰狼算法 HBA:蜜獾算法 IAO:改进天鹰优化算法,改进①:Tent混沌映射种群初始化,改进②:自适应权重 MFO:飞蛾扑火算法 MPA:海洋捕食者算法 NGO:北方苍鹰算法 OOA:鱼鹰优化算法 RTH:红尾鹰算法 WOA:鲸鱼算法 ZOA:斑马算法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值