深度学习核心模型架构笔记

一、基础神经网络模型

1. MLP(多层感知器)

  • 全称:Multilayer Perceptron

  • 结构特点

    • 由输入层、隐藏层和输出层组成

    • 全连接的前馈神经网络

    • 使用反向传播算法训练

  • 优点

    • 通用逼近定理:理论上可以拟合任何连续函数

    • 结构简单,易于理解和实现

  • 缺点

    • 参数量大,容易过拟合

    • 无法处理序列数据和空间结构

  • 应用场景

    • 传统的分类和回归任务

    • 图像分类(早期)

    • 简单的模式识别

2. CNN(卷积神经网络)

  • 全称:Convolutional Neural Network

  • 核心思想

    • 局部连接和权重共享

    • 空间层次结构特征提取

  • 关键组件

    • 卷积层:提取局部特征

    • 池化层:降维,增加平移不变性

    • 全连接层:最终分类

  • 优点

    • 参数共享减少参数量

    • 自动提取空间特征

    • 对平移、缩放有一定不变性

  • 应用场景

    • 计算机视觉(图像分类、目标检测)

    • 图像分割

    • 视频分析

  • 经典架构

    • LeNet、AlexNet、VGG、ResNet

3. RNN(循环神经网络)

  • 全称:Recurrent Neural Network

  • 结构特点

    • 具有循环连接,能处理序列数据

    • 具有记忆功能,可存储历史信息

  • 变体模型

    • LSTM(长短期记忆网络)

    • GRU(门控循环单元)

  • 优点

    • 能处理变长序列

    • 考虑上下文信息

  • 缺点

    • 梯度消失/爆炸问题

    • 难以并行计算

  • 应用场景

    • 自然语言处理

    • 时间序列预测

    • 语音识别

二、Transformer与注意力机制

4. Transformer

  • 提出时间:2017年(Vaswani等人)

  • 核心创新

    • 自注意力机制

    • 完全基于注意力,无循环和卷积结构

  • 关键组件

    • 多头自注意力

    • 前馈神经网络

    • 位置编码

    • 残差连接和层归一化

  • 优点

    • 可并行计算,训练效率高

    • 可捕获长距离依赖

    • 在多种任务上表现优异

  • 应用场景

    • 机器翻译

    • 文本生成

    • 预训练语言模型基础

5. MLP+Attention

  • 结构特点

    • MLP与注意力机制的结合

    • 通常作为Transformer的基础组件

  • 在Transformer中的应用

    • 前馈网络部分通常是MLP

    • 与注意力层交替堆叠

  • 优势

    • 注意力机制提供全局信息交互

    • MLP提供非线性变换能力

  • 代表架构

    • Transformer中的前馈网络

    • Perceiver、MLP-Mixer等

6. Model Block

  • 概念

    • 模型的基本构建块

    • 可重复堆叠形成深层网络

  • 在Transformer中

    • 编码器块:自注意力 + 前馈网络

    • 解码器块:自注意力 + 交叉注意力 + 前馈网络

  • 设计原则

    • 模块化设计

    • 残差连接防止梯度消失

    • 层归一化稳定训练

  • 优势

    • 便于模型扩展

    • 可复用性强

    • 易于理解和调试

三、模型演进趋势

1. 从MLP到CNN

  • 突破:从全连接到局部连接

  • 影响:开启了深度学习在CV领域的应用

2. 从RNN到Transformer

  • 突破:从序列处理到并行计算

  • 影响:极大提升了NLP任务性能

3. 注意力机制的普及

  • 从NLP扩展到CV、多模态

  • 成为现代深度学习模型的核心组件

4. 模型架构的统一趋势

  • Transformer成为通用架构

  • 视觉Transformer、多模态Transformer的出现

四、对比总结

模型类型

核心特点

擅长任务

主要限制

MLP

全连接,简单

简单分类/回归

高维数据效率低

CNN

局部连接,权重共享

图像处理

序列处理能力弱

RNN

循环连接,记忆功能

序列数据

并行性差

Transformer

自注意力,并行计算

序列、多模态

计算资源需求大

五、学习建议

  1. 基础掌握:理解MLP、CNN、RNN的基本原理

  2. 重点突破:深入理解Transformer和注意力机制

  3. 实践应用

    • 从经典模型复现开始

    • 理解模型组件的设计思想

    • 掌握模型变体和改进思路

  4. 前沿跟踪:关注基于Transformer的新架构


学习路径推荐:MLP → CNN → RNN → 注意力机制 → Transformer → 现代变体模型

实践建议:结合具体任务(如情感分析、图像分类)实现这些模型,加深理解。

1. 掌握GPT-2中文模型推理调用

这是指学习如何使用别人已经预训练好的中文GPT-2模型,来生成特定类型的文本。

  • 核心方法:使用Hugging Face的transformers库。

  • 关键步骤

    1. 选择模型:在Hugging Face模型库(如 uer/gpt2-chinese-lyric, uer/gpt2-chinese-poem等)中,寻找专门为“歌词”、“古文”、“对联”等任务微调过的中文GPT-2模型。

    2. 加载模型与分词器:使用 AutoModelForCausalLMAutoTokenizer加载选定的模型。

    3. 编写推理函数:输入一段提示文本(如“床前明月光,”),让模型接着生成后续内容。通过调整 max_length, temperature, top_p等参数来控制生成文本的长度、随机性和质量。

  • 一句话总结:学会“拿来就用”,用几行代码调用现有模型,快速体验不同风格的中文文本生成。


2. 掌握GPT-2模型配置方法与训练方法

这是在“推理调用”基础上的进阶,指能自己从头配置并训练(或微调)一个GPT-2模型。

  • 模型配置

    • 理解GPT-2的核心超参数:n_layer(层数),n_head(注意力头数),n_embd(嵌入维度),这决定了模型的大小和能力。

    • transformers中,可以通过 GPT2Config类进行配置,或直接使用预设的(如 gpt2-medium)。

  • 训练方法

    1. 数据准备:将你的中文文本数据(如唐诗宋词全集)处理成模型可接受的格式,通常是一行一个样本的长文本文件。

    2. 选择训练策略

      • 从零预训练:在海量通用文本上训练,成本极高,通常不推荐个人进行。

      • 领域微调:在预训练好的中文GPT-2基础上,用你的专属数据(如全部宋词)继续训练,让模型“学会”该领域的风格和知识。这是最常用的方法。

    3. 训练循环:使用PyTorch或TensorFlow框架,定义优化器、损失函数,在训练集上进行多轮训练。

  • 一句话总结:学会“调教模型”,通过准备数据和设置训练参数,让通用模型变成专精于某个领域(如写古诗)的模型。


3. 完成代码实现,并训练中文古诗词生成模型

这是一个具体的实践任务,将前两点知识综合运用。

  • 实现路径

    1. 环境与库:安装 transformers, datasets, torch等必要库。

    2. 数据预处理

      • 收集一个古诗词数据集(如.txt文件,每行一首诗)。

      • 使用分词器对数据进行编码,并制作成PyTorch的Dataset

    3. 模型加载:加载一个基础的中文GPT-2模型(如 uer/gpt2-chinese-cluecorpussmall)及其分词器。

    4. 微调训练

      • 定义TrainingArguments(设置训练轮次、批大小、学习率等)。

      • 使用TrainerAPI,将模型、数据、参数传入,开始训练。

      • 监控训练损失,确保其稳定下降。

    5. 模型测试:训练完成后,用第一点中的“推理调用”方法,输入“春”或“青山绿水”,测试模型生成的诗句是否符合格律和意境。

  • 一句话总结动手完成一个完整项目,从数据到代码,最终得到一个你自己训练出来的、能写古诗的AI模型。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐