机器学习入门(十一)常见的神经网络汇总

上一篇文章介绍了 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 库来训练对应的神经网络模型。这里介绍一下,如何保存和加载已经训练好的模型。代码示例如下:

ini 复制代码
# 存储模型
import joblib
joblib.dump(model1, 'model1.m')
# 模型加载
model2 = joblib.load('model1.m')

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

ini 复制代码
# 迁移学习
model2.fit(x2, y2, epochs=10)

参考

相关推荐
郝学胜-神的一滴5 小时前
深度学习必学:PyTorch 神经网络参数初始化全攻略(原理 + 代码 + 选择指南)
人工智能·pytorch·python·深度学习·神经网络·机器学习
幻风_huanfeng7 小时前
人工智能之数学基础:动量梯度下降法
人工智能·机器学习·动量梯度下降法
明月照山海-10 小时前
机器学习周报四十一
人工智能·机器学习
MOON404☾12 小时前
Chapter 001. Machine Learning Fundamentals
人工智能·机器学习
AC赳赳老秦12 小时前
程序员面试:OpenClaw生成面试题、模拟面试,高效备战面试
人工智能·python·机器学习·面试·职场和发展·deepseek·openclaw
源码之家15 小时前
计算机毕业设计:Python城市天气数据挖掘与预测系统 Flask框架 随机森林 K-Means 可视化 数据分析 大数据 机器学习 深度学习(建议收藏)✅
人工智能·爬虫·python·深度学习·机器学习·数据挖掘·课程设计
配奇17 小时前
集成学习(Ensemble Learning)
人工智能·机器学习·集成学习
DeepModel17 小时前
通俗易懂讲透 EM 算法(期望最大化)
人工智能·python·算法·机器学习
OpenBayes贝式计算17 小时前
一键移除复杂物体!Netflix VOID 让视频消除拥有「物理直觉」;告别乱码与解析难题,MDPBench 数据集为「真实复杂场景」文档解析而生
人工智能·机器学习·图像识别
Ricardo-Yang19 小时前
# BPE Tokenizer:从训练规则到推理切分的完整理解
人工智能·深度学习·算法·机器学习·计算机视觉