目录

AI 学习纲要

AI 学习纲要

目录

1. AI 基础知识

人工智能(AI)是模仿人类智能的计算机系统,目标是让机器能够理解、学习、推理、解决问题和做决策。

1.1 人工智能的定义与发展

  • 人工智能定义:AI 通过算法、数学模型、计算力模拟人类智能。AI 的目标是让机器拥有学习能力、判断能力、自主性、情感理解等人类智能特点。
  • AI 的发展历程
    • 1950-1970:图灵测试、专家系统的初步研究。
    • 1980-2000:机器学习的提出,神经网络和支持向量机的兴起。
    • 2000-2010:大数据兴起,深度学习突破性进展。
    • 2010-至今:深度学习成为主流,自动驾驶、语音助手、推荐系统等实际应用出现。

1.2 AI 与机器学习的关系

  • 人工智能(AI) 是更大的领域,包含了机器学习(ML)、计算机视觉(CV)、自然语言处理(NLP)等子领域。
  • 机器学习(ML) 是 AI 的一个子集,它通过算法从数据中提取模式,并做出预测或决策。
  • 深度学习(DL) 是机器学习的一个分支,基于神经网络模型,特别适合处理大规模数据集和复杂问题(如图像识别、语音识别等)。

1.3 AI 的应用领域

  • 自然语言处理(NLP):通过 AI 理解和生成自然语言文本,例如机器翻译、语音识别、情感分析等。
  • 计算机视觉(CV):图像和视频处理技术,例如人脸识别、自动驾驶、图像分类等。
  • 语音识别与合成:识别语音输入并转换为文本,或合成语音响应,如 Siri 和 Alexa。
  • 推荐系统:Netflix、YouTube、Amazon 等平台的个性化推荐算法。
  • 自动驾驶:AI 用于感知和决策,以实现自动驾驶汽车。

2. AI 的工具与环境

  • Python 编程:掌握 Python 语言,包括基础语法、数据结构(如列表、字典、集合等)、文件操作、面向对象编程。
  • 数据处理库:NumPy(数组运算)、Pandas(数据分析)、Matplotlib(数据可视化)。
  • AI 库与框架:TensorFlow、PyTorch、Scikit-learn,用于机器学习与深度学习的建模与训练。
  • 云 AI 服务:了解如何通过 Google Cloud AI、AWS AI、Azure AI 等平台快速调用现有 AI 服务,解决工程应用中的实际问题。
  • 环境依赖管理:在根目录维护 requirements.txtpyproject.toml,固定依赖版本并配合虚拟环境重现相同的训练与推理环境;上线前务必以该文件生成镜像或部署包。

3. AI 项目实践

通过项目实践将所学的知识付诸实践。

3.1 数据获取与清洗

  • 从 Kaggle 获取数据集:选择合适的数据集进行学习。
  • 数据清洗:去除缺失值、重复数据,填补缺失数据。
  • 清洗流程管理:将缺失值填补、编码、特征衍生等步骤封装为脚本或 Notebook 函数,只保留一份权威实现,避免多次重复操作导致列被修改或删除。每次重新运行时从原始数据开始执行流水线,可减少 KeyError 和数据漂移。

3.2 模型训练与评估

  • 训练模型:选择合适的模型进行训练。
  • 评估模型:通过交叉验证、AUC、F1 值等指标评估模型的性能,并绘制 ROC 曲线、PR 曲线或混淆矩阵,直观展示不同阈值下的误判情况。
  • 模型优化:通过调整超参数、集成学习等方法提升模型性能。
  • 效果可视化:利用 Matplotlib/Seaborn 将特征重要性、SHAP 值、学习曲线等图表保存到 README 或报告中,帮助团队快速理解模型表现。

超参数调优

  • 网格搜索(Grid Search):穷举预设参数组合,适合参数不多的模型;配合交叉验证获取稳定指标。
  • 随机搜索(Random Search):从参数空间随机采样,能在计算预算有限时覆盖更多组合。
  • 贝叶斯优化/Optuna:根据历史结果自适应地挑选下一组参数,效率更高;可记录搜索轨迹和最佳参数集。
  • 自动化记录:将调参过程的配置、指标、模型路径写入 MLflow/DVC,便于复现和团队共享。

3.3 模型部署与集成

  • Python 服务化:使用 Flask、FastAPI 等框架,将训练好的模型部署为 Web 服务。
  • 模型互操作性:学习 ONNX (Open Neural Network Exchange) 格式,用于跨框架的模型转换。
  • Java 集成:研究如何在 Java 应用中(如 Spring Boot)调用 AI API,或使用 Java 库 (如 DJL, ONNX Runtime) 直接进行原生推理。
  • 容器化部署:使用 Docker 和 Kubernetes 将模型服务容器化,方便在生产环境中进行部署与管理。
  • 持续集成与部署(CI/CD):使用 GitHub Actions、Jenkins 等工具自动化模型训练、测试和部署过程,确保生产环境中的稳定运行。

3.4 训练特征与推理特征一致性

  • 特征工程复用:将所有清洗、编码、标准化步骤打包为可复用的 Python 模块或 sklearn.Pipeline,上线服务时直接调用相同逻辑,避免训练使用的特征与推理输入不一致。
  • 特征快照:对训练集的列名、顺序、统计量(均值、标准差、One-Hot 映射等)进行序列化保存,在推理端加载后再处理实时数据,禁止手写“临时”特征。
  • 契约测试:为特征管道编写单元测试或 Schema 校验(如 Great Expectations),上线前验证推理数据是否满足训练时的字段定义。

4. 数学基础

数学是 AI 的核心基础,帮助你理解机器学习和深度学习的原理。

4.1 线性代数

  • 矩阵与向量运算:理解矩阵的乘法、转置、逆、行列式、特征值和特征向量等。
  • 线性方程组求解:理解高维数据的表示与求解。
  • 奇异值分解(SVD):用于降维和数据压缩,如 PCA(主成分分析)中使用。

4.2 概率与统计

  • 概率分布:学习常见的概率分布(正态分布、伯努利分布、均匀分布等),并掌握如何从数据中估计概率分布。
  • 贝叶斯定理:理解如何使用先验知识和数据更新概率。
  • 最大似然估计(MLE):用于参数估计的标准方法,通过最大化观测数据的似然函数来估计模型参数。
  • 期望与方差:用于衡量数据的分布和波动程度。

4.3 微积分

  • 梯度下降法:优化算法的核心,通过计算目标函数的梯度并沿梯度下降方向更新参数。
  • 链式法则:用于计算反向传播过程中的梯度,是深度学习中训练神经网络的基础。

4.4 优化理论

  • 优化方法:学习如何选择合适的优化算法,如梯度下降法、随机梯度下降(SGD)和牛顿法等。
  • 正则化:L1、L2 正则化用于防止模型过拟合,增强模型的泛化能力。

5. 机器学习

机器学习是 AI 的一个核心领域,学习如何训练和评估机器学习模型。

5.1 监督学习

  • 分类任务
    • 逻辑回归:用于二分类问题,理解其概率输出与决策边界。
    • 支持向量机(SVM):用于分类的强大算法,能够处理高维数据并通过核方法找到决策边界。
    • 决策树:通过树形结构来进行分类或回归,理解如何划分特征空间。
    • 随机森林:集成多个决策树,增加模型的鲁棒性。
  • 回归任务
    • 线性回归:用于预测连续值,理解其损失函数和优化方法。
    • 岭回归、Lasso 回归:用于处理过拟合问题,通过正则化项对模型进行约束。

5.2 非监督学习

  • 聚类
    • K-means 聚类:通过划分数据点到不同的簇来发现数据的内在结构。
    • DBSCAN:基于密度的聚类算法,适用于不规则形状的聚类任务。
  • 降维
    • 主成分分析(PCA):一种线性降维技术,用于减少数据的维度并保留主要信息。

5.3 模型评估与选择

  • 交叉验证:用于评估模型在不同训练集上的表现,避免过拟合。
  • 评估指标:精度、召回率、F1 值、AUC 等,用于衡量模型的预测效果。

5.4 集成学习

  • 随机森林:通过多棵决策树的集成来提高准确性。
  • AdaBoost 和 Gradient Boosting:通过不断调整权重,集中在模型难以预测的样本上,提升预测准确性。

6. 深度学习

深度学习是机器学习的一个分支,利用神经网络进行复杂的模式识别。

6.1 神经网络基础

  • 感知机(Perceptron):神经网络的基础单元,用于解决线性可分问题。
  • 激活函数:ReLU(Rectified Linear Unit)、Sigmoid、Tanh 等,负责引入非线性特性。
  • 前向传播与反向传播:前向传播用于计算预测值,反向传播用于更新网络权重。

6.2 卷积神经网络(CNN)

  • 卷积层:通过卷积操作提取图像特征。
  • 池化层:通过最大池化、平均池化等方法降低空间维度。
  • 经典 CNN 架构:LeNet、AlexNet、VGG、ResNet,掌握它们的结构和原理。

6.3 循环神经网络(RNN)

  • RNN:用于处理序列数据,如时间序列、文本数据等。
  • 长短时记忆网络(LSTM):解决传统 RNN 在长序列上训练困难的问题。
  • 门控循环单元(GRU):简化的 LSTM 模型,计算效率较高。

6.4 深度学习框架

  • TensorFlow:Google 提供的开源框架,支持深度学习模型的训练和部署。
  • PyTorch:Facebook 提供的框架,适用于快速原型设计和学术研究。
  • Keras:基于 TensorFlow 的高级接口,简化了神经网络的构建和训练过程。

7. 自然语言处理(NLP)

NLP 使机器能够理解、生成和处理人类语言。

7.1 文本预处理

  • 分词:将文本切分成词或子词。
  • 去除停用词:删除常见但无实质意义的词。
  • 词性标注:标记每个词的语法类别(如名词、动词)。

7.2 词嵌入

  • Word2Vec:通过神经网络将单词映射为向量,捕捉单词间的语义关系。
  • GloVe:基于矩阵分解的词向量模型,利用词共现信息生成嵌入。

7.3 深度学习在 NLP 中的应用

  • RNN、LSTM、GRU:用于处理文本序列。
  • Transformer:基于自注意力机制的架构,广泛应用于文本生成、翻译等任务。
  • BERT:基于 Transformer 的预训练语言模型,解决了大量 NLP 任务。

8. 强化学习

强化学习通过与环境交互进行学习,适用于决策和控制问题。

8.1 基本概念

  • 智能体、环境、状态、动作、奖励:智能体通过采取行动影响环境并获得反馈(奖励或惩罚)。
  • 策略:智能体根据状态选择最优行动的策略。
  • 回报:智能体在环境中所获得的累计奖励。

8.2 强化学习算法

  • Q-learning:无模型的强化学习算法,使用 Q 函数评估每个状态-动作对的价值。
  • 深度 Q 网络(DQN):结合深度学习的 Q-learning,能够处理高维状态空间。
  • 策略梯度方法:直接优化策略的算法,如 REINFORCE、PPO。

9. 高级话题与前沿技术

  • 生成对抗网络(GAN):通过生成器和判别器进行对抗训练,生成图像、音频等数据。
  • 大规模预训练模型:GPT、BERT 等,用于文本生成和理解。
  • AutoML:自动化机器学习,简化建模过程。

10. AI 的伦理、治理与工程化

  • 隐私保护:如何保证数据的隐私安全,避免滥用。
  • 偏见与公平性:AI 模型可能存在的偏见,如何确保公平性。
  • AI 对就业的影响:自动化可能带来的挑战与机遇。
  • AI 法规与治理:如何建立法律与伦理框架,确保 AI 技术的发展与应用符合社会价值。
  • 工程化治理 (MLOps)
    • 模型可解释性:理解“黑盒”模型的方法(如 LIME, SHAP)。
    • 模型版本控制:借助 MLflow、DVC 或 Model Registry 记录训练用数据快照、Git 提交、超参数和指标,把模型文件(.pkl/.onnx)与版本号绑定,确保可回滚、可比较。
    • 持续监控:在生产服务上埋点采集预测值、置信度与业务指标,使用 Prometheus/Grafana 或 Datadog 监控数据漂移、概念漂移与延迟异常,触发再训练或人工审核。