循环神经网络与聚类技术详解
循环神经网络(RNN)基础
在处理具有时间依赖的数据时,循环神经网络(RNN)是一种非常有效的工具。下面是一个简单的RNN模型的代码示例:
model.compile(loss='categorical_crossentropy', optimizer='adam',
metrics=['accuracy'])
print(model.summary())
model.fit(X_train, y_train2, validation_data=(X_test, y_test2),
epochs=50, batch_size=1024)
该数据集共有12,679个独特的单词。嵌入层将每个单词表示为32维空间中的向量,因此嵌入层有405,728个参数。每个32维的嵌入输入连接到一个隐藏层单元,共有32个权重,再加上一个偏置,以及连接前一个隐藏单元值到当前隐藏单元的权重,该层总共有34个权重。由于有嵌入层的输出,在SimpleRNN层中不需要指定输入形状。模型运行后,输出分类准确率接近87%。
传统RNN的问题
传统RNN在处理具有多个时间步的预测时,随着时间步的增加,早期层的输入对后期层输出的影响会变小。以下是隐藏层值的计算公式:
- (h_1 = Wx_1)
- (h_2 = Wx_2 + Uh_1 = Wx_2 + UWx_1)
- (h_3 = Wx_3 + Uh_2 = Wx_3 + UWx_2 + U^2Wx_1)
- (h_4 = Wx_4 + Uh_3 = Wx_4 + UW
超级会员免费看
订阅专栏 解锁全文
9351

被折叠的 条评论
为什么被折叠?



