1. 什么是深度学习?
深度学习是机器学习(Machine Learning)的一个重要分支,其核心是多层神经网络(Deep Neural Networks)。
它擅长从大量数据中自动提取特征,尤其在图像识别、语音识别、自然语言处理、生物医学等领域表现出色。
2. 神经网络结构(Neural Network)
神经网络模仿人脑神经元连接结构,由多个层(Layer)组成,每层包括若干神经元(Neuron)。
网络结构示意(简化)
输入层 ➜ 隐藏层1 ➜ 隐藏层2 ➜ 输出层
↑ ↑
ReLU等激活函数
3. 基本概念
| 概念 |
通俗解释 |
| 神经元(Neuron) |
接收多个输入,进行加权求和,通过激活函数输出结果。 |
| 权重(Weight) |
每个输入的“重要程度”,训练过程中模型会自动学习最优的权重。 |
| 偏置(Bias) |
给输出加上的一个常数,帮助模型更灵活地拟合数据。 |
| 层(Layer) |
神经元的集合,每层提取输入的新特征。 |
| 前向传播(Forward Propagation) |
从输入到输出的计算过程。 |
| 激活函数(Activation Function) |
给神经网络增加非线性表达能力,常见如 ReLU、Sigmoid、Tanh。 |
| 输出层(Output Layer) |
模型的最终输出,用于做分类、回归等任务。 |
| 损失函数(Loss Function) |
衡量模型预测值与真实值的差距,如交叉熵、均方误差。 |
| 反向传播(Backpropagation) |
利用链式法则,计算损失对每个参数的导数,用于调整参数。 |
| 优化器(Optimizer) |
控制模型参数如何更新,使损失函数尽量减小(如 SGD, Adam)。 |
| 概念 |
表现 |
原因 |
| ------- |
----------- |
----------- |
| 过拟合 |
训练集表现好,测试集差 |
模型太复杂,数据太少 |
| 欠拟合 |
训练集和测试集都表现差 |
模型太简单,没学到特征 |
4、模型训练流程概览
- 输入数据
- 前向传播:计算输出值
- 损失计算:用 loss function 比较输出和标签
- 反向传播:计算梯度
- 参数更新:优化器根据梯度更新权重
- 重复多轮(Epoch),直到模型收敛
| 名词 |
含义 |
| Epoch |
完整遍历一次训练数据集 |
| Batch |
每次训练使用的一小部分样本 |
| Learning Rate |
控制权重更新的“步长” |
| Loss Curve |
查看训练损失和验证损失变化曲线 |
| Gradient Vanishing / Explosion |
深层网络中常见问题,需BatchNorm或残差结构缓解 |
5. 常见任务类型与输出形式
| 任务类型 |
输出形式 |
示例 |
常用损失函数 |
| 分类(Classification) |
概率/类别索引 |
肿瘤良恶性识别、图片分类 |
交叉熵损失(CrossEntropy) |
| 回归(Regression) |
连续数值 |
表达量预测、价格预测 |
均方误差(MSE) |
深度学习擅长解决的问题类型
- 图像识别(如X光片判断肺炎)
- 文本分析(如诊断报告文本分类)
- 序列建模(如基因序列、药物分子SMILES)
- 表达预测(如转录组、蛋白组预测)
- 表征学习(如scRNA-seq降维、聚类
6. 常见模型结构
| 模型类型 |
适用场景 |
特点 |
| MLP(多层感知机) |
表格/基本任务 |
基础全连接网络 |
| CNN(卷积神经网络) |
图像识别、医学影像 |
能提取局部空间特征 |
| RNN / LSTM / GRU |
时间序列/NLP |
适合处理有顺序的数据 |
| Transformer |
NLP、多模态任务 |
支持并行处理长序列 |
| AutoEncoder |
表达压缩、降维 |
编码+解码结构,用于特征提取 |
| GNN(图神经网络) |
网络结构、生物通路 |
处理图结构数据,如PPI网络 |
7. 常用工具与框架
| 框架 |
特点 |
| PyTorch |
最适合初学者和研究者,调试灵活 |
| TensorFlow + Keras |
工业级部署好,自动化程度高 |
| scikit-learn |
非深度学习通用ML工具 |
| Jupyter/Colab |
免费可视化交互环境 |