掘金 人工智能 前天 16:47
机器学习入门(十一)常见的神经网络汇总
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了RNN(循环神经网络)、LSTM(长短时记忆网络)和GAN(生成对抗网络)这三种常见的神经网络。RNN擅长处理序列数据,LSTM解决了RNN在处理长序列时的问题,而GAN则包含生成模型和判别模型,用于生成逼真的实例。此外,文章还介绍了如何保存和加载训练好的模型,以及迁移学习的概念。

🧠 RNN(循环神经网络)是一种用于处理序列数据的神经网络。RNN通过循环连接,使其能够处理变长序列并捕捉序列中的时序信息。RNN的隐藏层将当前时间步的输入和上一个时间步的隐藏状态作为输入。

🕰️ LSTM(长短时记忆网络)是RNN的一种改进架构,用于解决RNN在处理长序列时出现的梯度消失和梯度爆炸问题。LSTM引入了记忆单元和门控机制(输入门、遗忘门、输出门),以控制信息的流动和存储,从而更好地建模长期依赖关系。

🎭 GAN(生成对抗网络)包含两个模型:生成模型和判别模型。生成模型的任务是生成与原始数据相似的实例,判别模型的任务是判断给定的实例是真实的还是伪造的。这两个模型相互对抗,从而提高生成模型的生成质量。

💾 文章介绍了使用joblib库保存和加载已训练好的模型的方法。通过保存模型,可以方便地在后续使用或进行迁移学习。加载模型后,可以继续对其进行训练,这种方法被称为迁移学习。

上一篇文章介绍了 RNN,这一篇文章将介绍一下其他常见的神经网络。

循环神经网络(RNN)

循环神经网络(RNN),用于处理序列数据。与传统的神经网络不同,RNN具有循环连接,使得它可以在处理序列时保持一种记忆状态。图片来源这里

如上图所示,RNN 的隐藏层会把当前时间步的输入和上一个时间步的隐藏状态作为输入。通过这种循环,使得RNN可以处理变长序列,并且能够捕捉到序列中的时序信息。

长短时记忆网络(LSTM)

传统的RNN在处理长序列时存在梯度消失和梯度爆炸的问题,这限制了其对长期依赖关系的建模能力。为了解决这个问题,出现了长短时记忆网络(LSTM),它是一种改进的循环神经网络(RNN)架构。

LSTM 引入了一个记忆单元(memory cell),该单元可以存储和访问信息,并通过门控机制来控制信息的流动。LSTM 的关键部分包括输入门(input gate)、遗忘门(forget gate)、输出门(output gate)。如下图所示,图片来源这里

生成对抗网络(GAN)

GAN包含有两个模型,一个是生成模型(generative model),一个是判别模型(discriminative model)。生成模型的任务是生成看起来自然真实的、和原始数据相似的实例。判别模型的任务是判断给定的实例看起来是自然真实的还是人为伪造的(真实实例来源于数据集,伪造实例来源于生成模型)。二者关系形成对抗,因此叫对抗网络。

模型的保存和加载

之前介绍过,我们可以使用 keras 库来训练对应的神经网络模型。这里介绍一下,如何保存和加载已经训练好的模型。代码示例如下:

# 存储模型import joblibjoblib.dump(model1, 'model1.m')# 模型加载model2 = joblib.load('model1.m')

加载后的模型,我们还可以对它进行训练,这种方式叫做迁移学习。代码示例如下:

# 迁移学习model2.fit(x2, y2, epochs=10)

参考

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

RNN LSTM GAN 神经网络
相关文章