千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > python中RNN和LSTM的基本介绍

python中RNN和LSTM的基本介绍

来源:千锋教育
发布人:xqq
时间: 2023-11-13 10:05:39 1699841139

python中RNN和LSTM的基本介绍

1、RNN

简单的神经网络和卷积神经网络都有一个主要的特点,那就是都不具备记忆能力,也就是说,它们都是分别处理每一个输入,而不存在前、后两个输入之间的关系。例如,您需要处理数据点或时序,您需要同时向网络显示整个时序,也就是将时序转换为单一数据点输入。采用这种输入方式的网络叫做前向神经网络(feddforwardnetwork)。

为了使这个过程更加容易理解,我们用简单的循环逻辑来实现一个RNN的前向传播。

#简单的RNN实现Numpy实现

importnumpyasnp

timesteps=100

input_feature=32

output_fearture=64

inputs=np.random.random((timesteps,input_feature))#生成100,32形状的矩阵

print(inputs)

state_t=np.zeros((output_fearture,))#生成64个全为0的数

print(state_t)

w=np.random.random((output_fearture,input_feature))

u=np.random.random((output_fearture,output_fearture))

b=np.random.random((output_fearture,))

successive_outputs=[]

forinput_tininputs:

output_t=np.tanh(np.dot(w,input_t)+np.dot(u,state_t)+b)#np.dot表示数组点积

successive_outputs.append(output_t)

state_t=output_t

final_output_sequence=np.stack(successive_outputs,axis=0)

print(final_output_sequence)

2、LSTM

在理论上,RNN应该能够记住在过去的时间里看到过的信息,但是实际上它不可能学习长期存在的信息,主要是由于梯度消失的问题。因此研究人员设计了LSTM(longshort-termmemory),也就是所谓的长短期记忆。

与RNN相比,LSTM多了一种跨域携带信息的多时间步法(细胞状态C),这种步法类似于传送带,它运行方向与你所处理的序列方向平行,而序列中的信息可以随时跳到传送带上,然后被传送带送到更远的时间步,必要时还能原封不动地跳回来。那是LSTM的原理。

以上就是python中RNN和LSTM的基本介绍,希望能对大家有所帮助!更多Python学习教程请关注IT培训机构:千锋教育。

tags: python培训
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT