AI 快速入门
面向零基础的 AI 入门指南:理清 AI / ML / DL 的关系,讲解监督、无监督、强化学习三大范式与神经网络基础,再落到大语言模型、RAG 与 LangChain 实战,并给出学习路径。
1. 核心概念
AI(人工智能) 是让计算机模拟人类智能的技术总称,涵盖学习、推理、感知、决策等能力。
AI / ML / DL 的关系
AI(人工智能)└── ML(机器学习) — 从数据中学习规律 └── DL(深度学习) — 基于多层神经网络 ├── CNN — 图像领域 ├── RNN/LSTM — 序列数据 └── Transformer — 大语言模型的基础| 概念 | 说明 | 典型技术 |
|---|---|---|
| AI | 人工智能总称 | 专家系统、搜索算法、机器学习 |
| ML | 机器学习,从数据学习 | 决策树、SVM、线性回归 |
| DL | 深度学习,多层神经网络 | CNN、RNN、Transformer |
| LLM | 大语言模型 | GPT、Claude、LLaMA |
2. 机器学习分类
2.1 监督学习(Supervised Learning)
数据带标签,学习输入到输出的映射。
- 分类:预测离散类别(垃圾邮件识别、图像分类)
- 回归:预测连续数值(房价预测、气温预测)
训练数据: [(x₁, y₁), (x₂, y₂), ..., (xₙ, yₙ)]目标: 学习 f(x) ≈ y2.2 无监督学习(Unsupervised Learning)
数据无标签,发现数据内部结构。
- 聚类:K-Means、DBSCAN(用户分群)
- 降维:PCA、t-SNE(数据可视化)
- 关联规则:Apriori(购物篮分析)
2.3 强化学习(Reinforcement Learning)
智能体通过与环境交互学习最优策略。
- 核心概念:状态 State、动作 Action、奖励 Reward
- 算法:Q-Learning、DQN、PPO
- 应用:AlphaGo、自动驾驶、游戏 AI
3. 深度学习基础
3.1 神经元(Neuron)
最基本单元,接收输入加权求和,经激活函数输出。
y = activation(Σ(wᵢ·xᵢ) + b)常见激活函数:
- ReLU:
max(0, x)— 隐藏层默认选择 - Sigmoid:
1 / (1 + e⁻ˣ)— 二分类输出 - Softmax:多分类输出
- Tanh:
(-1, 1)范围
3.2 神经网络结构
输入层 → 隐藏层1 → 隐藏层2 → ... → 输出层训练流程:
- 前向传播:输入数据计算输出
- 计算损失:预测值与真实值的差距(MSE、CrossEntropy)
- 反向传播:计算梯度
- 参数更新:梯度下降优化权重
3.3 常见网络架构
| 架构 | 全称 | 适用场景 |
|---|---|---|
| CNN | 卷积神经网络 | 图像分类、目标检测 |
| RNN | 循环神经网络 | 序列数据、时间序列 |
| LSTM | 长短期记忆网络 | 长序列、机器翻译 |
| Transformer | 注意力机制 | NLP、大模型 |
| GAN | 生成对抗网络 | 图像生成 |
| Diffusion | 扩散模型 | Stable Diffusion、DALL-E |
4. 常见 AI 任务
4.1 计算机视觉(CV)
- 图像分类:ResNet、EfficientNet
- 目标检测:YOLO、Faster R-CNN
- 图像分割:U-Net、Mask R-CNN
- 图像生成:GAN、Diffusion Model
4.2 自然语言处理(NLP)
- 文本分类:情感分析、垃圾检测
- 命名实体识别(NER):提取人名、地名
- 机器翻译:Seq2Seq、Transformer
- 文本生成:GPT、LLaMA
4.3 语音处理
- 语音识别(ASR):Whisper、DeepSpeech
- 语音合成(TTS):Tacotron、VITS
4.4 多模态
- 图文互生:CLIP、DALL-E、Midjourney
- 视频理解:VideoBERT
5. 大语言模型(LLM)
5.1 核心概念
- Token:文本的最小单元(词、子词、字符)
- 上下文窗口:模型一次能处理的最大 Token 数
- 参数量:模型规模(7B = 70亿参数)
- 涌现能力:模型规模到一定程度后出现的能力(推理、指令遵循)
5.2 主流大模型
| 模型 | 厂商 | 特点 |
|---|---|---|
| GPT-4 / GPT-4o | OpenAI | 综合能力最强 |
| Claude | Anthropic | 长文本、推理 |
| Gemini | 多模态原生 | |
| LLaMA | Meta | 开源、可商用 |
| Qwen | 阿里 | 中文能力强 |
| DeepSeek | 深度求索 | 性价比高、开源 |
| GLM | 智谱 | 中英双语 |
5.3 Prompt Engineering(提示词工程)
核心原则:清晰、具体、结构化
常用技巧:
角色设定
你是一位资深 Python 工程师,请帮我审查代码。Few-shot 示例
示例:输入:苹果 → 输出:水果输入:狗 → 输出:动物输入:玫瑰 → 输出:?思维链(Chain of Thought)
请一步步思考并解释你的推理过程。结构化输出
请以 JSON 格式输出,包含字段:name, age, city。
5.4 RAG(检索增强生成)
结合外部知识库提升回答准确性。
用户提问 → 向量化 → 检索知识库 → 拼接 Prompt → LLM 生成答案关键组件:
- Embedding 模型:
text-embedding-ada-002、bge-large-zh - 向量数据库:Pinecone、Milvus、Chroma、FAISS
- 框架:LangChain、LlamaIndex
6. 常用框架
6.1 传统机器学习
# scikit-learn 示例from sklearn.linear_model import LinearRegressionfrom sklearn.model_selection import train_test_splitfrom sklearn.datasets import make_regression# 生成数据X, y = make_regression(n_samples=100, n_features=1, noise=10, random_state=42)X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)# 训练model = LinearRegression()model.fit(X_train, y_train)# 预测predictions = model.predict(X_test)print(f"模型得分: {model.score(X_test, y_test):.3f}")6.2 深度学习
# PyTorch 示例import torchimport torch.nn as nn# 定义网络class SimpleNet(nn.Module): def __init__(self): super().__init__() self.fc1 = nn.Linear(784, 128) self.fc2 = nn.Linear(128, 10) self.relu = nn.ReLU() def forward(self, x): x = self.relu(self.fc1(x)) return self.fc2(x)model = SimpleNet()criterion = nn.CrossEntropyLoss()optimizer = torch.optim.Adam(model.parameters(), lr=0.001)# 训练循环for epoch in range(10): optimizer.zero_grad() outputs = model(X_train) loss = criterion(outputs, y_train) loss.backward() optimizer.step()6.3 调用大模型 API
# OpenAI API 示例from openai import OpenAIclient = OpenAI(api_key="your-api-key")response = client.chat.completions.create( model="gpt-4o", messages=[ {"role": "system", "content": "你是一位 Python 专家"}, {"role": "user", "content": "写一个快速排序"} ], temperature=0.7, max_tokens=500)print(response.choices[0].message.content)# LangChain RAG 示例from langchain.document_loaders import TextLoaderfrom langchain.text_splitter import RecursiveCharacterTextSplitterfrom langchain.embeddings.openai import OpenAIEmbeddingsfrom langchain.vectorstores import Chromafrom langchain.chat_models import ChatOpenAIfrom langchain.chains import RetrievalQA# 加载文档loader = TextLoader("knowledge.txt")docs = loader.load()# 切分splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)chunks = splitter.split_documents(docs)# 向量化并存储embeddings = OpenAIEmbeddings()vectorstore = Chroma.from_documents(chunks, embeddings)# 构建 QA 链llm = ChatOpenAI(model="gpt-4o", temperature=0)qa = RetrievalQA.from_chain_type(llm=llm, retriever=vectorstore.as_retriever())# 提问answer = qa.run("文档中提到的核心观点是什么?")print(answer)7. 学习路径建议
初级阶段
- 数学基础:线性代数、概率论、微积分
- Python 编程:NumPy、Pandas、Matplotlib
- 机器学习:scikit-learn 实践经典算法
- 理论:《机器学习》周志华、《统计学习方法》李航
中级阶段
- 深度学习框架:PyTorch(推荐)/ TensorFlow
- 经典论文:ResNet、Transformer、BERT、GPT
- 实战项目:Kaggle 比赛、复现论文
- 理论:《深度学习》花书
高级阶段
- 大模型方向:Transformer 原理、LLM 微调(LoRA、QLoRA)
- 工程化:模型部署(vLLM、TGI)、分布式训练
- 前沿方向:多模态、Agent、RLHF
8. 实用资源
课程
文档
社区
- Papers with Code — 论文 + 代码
- Hugging Face — 模型与数据集
- Kaggle — 数据科学竞赛
论文平台
- arXiv — 预印本论文
- Google Scholar — 学术搜索
- Connected Papers — 论文关系图
9. 关键术语速查
| 术语 | 说明 |
|---|---|
| Epoch | 训练数据完整过一遍 |
| Batch Size | 每次更新使用的样本数 |
| Learning Rate | 学习率,控制参数更新步长 |
| Loss Function | 损失函数,衡量预测误差 |
| Overfitting | 过拟合,模型在训练集表现好但泛化差 |
| Underfitting | 欠拟合,模型未能学习到数据规律 |
| Fine-tuning | 微调,在预训练模型上继续训练 |
| Zero-shot | 零样本,无需示例直接完成任务 |
| Few-shot | 少样本,提供少量示例完成任务 |
| Hallucination | 幻觉,大模型生成不真实内容 |
| RLHF | 基于人类反馈的强化学习 |
| AGI | 通用人工智能 |