码迷,mamicode.com
首页 > 其他好文 > 详细

循环神经网络

时间:2018-04-07 01:14:35      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:根据   com   输出   结构   图片   需要   flow   没有   oid   

循环神经网络的简单实现:

import tensorflow as tf
x=[1,2]
state=[0.0,0.0]
w_cell_state=np.array([[0.1,0.2],[0.3,0.4]])
w_cell_input=np.array([0.5,0.6])
b_cell=np.array([0.1,-0.1])
w_output=np.array([1.0,2.0])
b_output=0.1
for i in range(len(x)):
    before_a=np.dot(state,w_cell_state)+x[i]*w_cell_input+b_cell
    state=np.tanh(before_a)
    final_out=np.dot(state,w_output)+b_output
    print(before_a)
    print(state:, state)
    print(final_out:, final_out)
    

与单一tanh循环体结构不同,LSTM是一个拥有三个门结构的特殊网络结构。

LSTM靠一些门结构让信息有选择性的影响循环神经网络中每个时刻的状态,所谓的门结构就是一个使用sigmoid神经网络和一个按位做乘法的操作,这两个操作合在一起就是一个门结构。之所以该结构叫门是因为使用sigmoid作为激活函数的全连接神经网络层会

输出一个0到1之间的数值,描述当前输入有多少信息量可以通过这个结构。LSTM单元结构示意图如下所示:

技术分享图片

为了使循环神经网络更有效的保存长期记忆,遗忘门和输入门是LSTM核心,遗忘门的作用是让神经网络忘记之前没有用的信息,遗忘门会根据当前的输入xt、上一时刻状态ct-1和上一时刻输出ht-1共同决定哪一部分记忆需要被遗忘。

 

循环神经网络

标签:根据   com   输出   结构   图片   需要   flow   没有   oid   

原文地址:https://www.cnblogs.com/xiaochouk/p/8729517.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!