CS 教程 · 第 15 章

人工智能入门

机器学习 / 深度学习 / LLM

学习目标: 了解AI的发展脉络,理解机器学习的基本分类,初步认识深度学习和LLM的原理,掌握实用AI工具并思考伦理问题。

15.1 AI发展简史

人工智能不是一夜之间冒出来的。它经历了三次浪潮:

1950s-1970s    第一次浪潮:符号主义AI
               → 专家系统、逻辑推理
               → "AI寒冬":算力不足,预期过高

1980s-1990s    第二次浪潮:统计学习
               → 神经网络、反向传播
               → "第二次寒冬":数据不够,效果不佳

2012-至今      第三次浪潮:深度学习
               2012: AlexNet赢得ImageNet(GPU+大数据)
               2016: AlphaGo击败李世石
               2022: ChatGPT引爆大语言模型时代
               → 今天:AI无处不在

一个关键转折点:2012年

之前做图像识别,需要人工设计特征(边缘、颜色、纹理)。2012年AlexNet横空出世,直接用大量图片端到端训练一个深层神经网络,错误率从25%降到16%,碾压传统方法。这个突破开启了深度学习时代。

为什么2012年才爆发?三个条件同时成熟:大量数据(互联网产生海量图片)、GPU算力(游戏显卡恰好适合矩阵计算)、算法优化(ReLU激活函数、Dropout正则化)。

15.2 机器学习三大范式

监督学习(Supervised Learning)

定义: 给算法带标签的数据,让它学会从输入预测输出。

比喻: 给学生一堆标好答案的练习题(每道题都有正确解答),学生通过反复练习学会解题方法。

经典任务:

任务 输入 输出 例子
分类 图片 猫/狗/其他 垃圾邮件识别
回归 房屋面积/地段 预测价格 股票预测

经典算法:

# scikit-learn监督学习示例:鸢尾花分类
from sklearn.datasets import load_iris
from sklearn.ensemble import RandomForestClassifier

X, y = load_iris(return_X_y=True)
model = RandomForestClassifier()
model.fit(X, y)                # 训练:给数据+标签
print(model.predict([[5.1, 3.5, 1.4, 0.2]]))  # 预测新花的种类

无监督学习(Unsupervised Learning)

定义: 给算法不带标签的数据,让它自己发现数据结构。

比喻: 给你一堆混合的豆子(红豆、绿豆、黄豆,但没有标签),你必须自己按颜色分堆。

经典任务:

# K-Means聚类示例
from sklearn.cluster import KMeans

kmeans = KMeans(n_clusters=3)  # 分成3类
kmeans.fit(X)                   # 不需要y,无标签!
labels = kmeans.labels_         # 每个数据点的类别

强化学习(Reinforcement Learning)

定义: 智能体在环境中通过试错学习,做对了给奖励,做错了给惩罚。

比喻: 训练狗。你无法告诉狗"坐下"的精确肌肉运动,但可以:坐下→给零食(奖励),乱跑→不理它。狗自己会学会"坐下有零食吃"。

经典应用:


15.3 深度学习基础

神经网络:模仿大脑的数学结构

大脑由神经元组成:收到信号→超过阈值→传递给下一个神经元。

人工神经网络类似:

输入层        隐藏层1       隐藏层2          输出层
[x1] ──▶  [   ●  ]  ──▶  [   ●  ]  ──▶  [识别结果]
[x2] ──▶  [   ●  ]  ──▶  [   ●  ]  ──▶  [猫:0.95]
[x3] ──▶  [   ●  ]  ──▶  [   ●  ]  ──▶  [狗:0.03]
 ...      [   ●  ]                          [  ... ]

每个神经元做一件简单的事:

输出 = 激活函数( 权重1×输入1 + 权重2×输入2 + ... + 偏置 )

本质上是:加权求和 → 非线性映射

训练过程(反向传播):

1. 输入一张猫图 → 网络输出"这有70%概率是猫"

2. 正确答案是"这是猫"(100%)→ 算出差了30%

3. 从输出层反推,调整所有权重使误差减小

4. 重复几百万次 → 网络学会识别猫

CNN(卷积神经网络):图像处理专家

人眼看图片是一层层抽象:像素→边缘→纹理→部件(眼睛/耳朵)→完整物体(猫)。

CNN模仿这个过程:

输入图片 ──conv──▶ 低级特征 ──conv──▶ 中级特征 ──conv──▶ 高级特征 ──fc──▶ 分类结果
              (边缘/颜色)        (纹理/形状)        (语义/物体)

关键操作——卷积(Convolution):

拿一个小窗口(如3×3的滤镜)在图片上滑动,每个位置计算加权和。不同的"滤镜"检测不同特征:一个检测竖线,一个检测横线,一个检测圆角……

# 用PyTorch定义一个简单的CNN
import torch.nn as nn

class SimpleCNN(nn.Module):
    def __init__(self):
        super().__init__()
        self.conv1 = nn.Conv2d(3, 16, 3)    # 3通道输入,16个3×3滤镜
        self.pool = nn.MaxPool2d(2, 2)       # 2×2池化,保留最大值,压缩尺寸
        self.fc = nn.Linear(16 * 13 * 13, 10) # 全连接层,输出10个类别

    def forward(self, x):
        x = self.pool(torch.relu(self.conv1(x)))
        x = x.view(x.size(0), -1)            # 展平
        x = self.fc(x)
        return x

CNN的应用远不止图像分类——人脸识别、自动驾驶的目标检测、医学影像诊断都在用CNN。

RNN和Transformer:处理序列数据

RNN(循环神经网络): 擅长处理序列——文字、语音、时间序列。它有一个"记忆单元",把前一步的信息传到下一步。

读"我今天吃了一个___",读到"吃"时,大脑已经记住前面的"我""今天",预期后面是可食用物品。

RNN的问题是:序列长了记不住(梯度消失)。

Transformer(2017年):RNN的革命性替代品

"Attention Is All You Need"这篇论文彻底改变了NLP领域。

核心创新——自注意力机制:

读一个句子时,每个词都和其他所有词计算"关联度"。

"The cat sat on the mat because it was tired."
                                         │
                                        "it"指的是?
自注意力计算:it ↔ cat = 0.88  ← 高!it指的是cat
              it ↔ mat = 0.10  ← 低
              it ↔ sat = 0.02

Transformer可以同时并行处理整个序列(不像RNN必须顺序),且能处理更长距离的依赖关系。


15.4 大语言模型(LLM)原理简介

ChatGPT、Claude、文心一言……这些"大模型"到底怎么工作的?

GPT的本质:超级"接话"模型

GPT(Generative Pre-trained Transformer)的核心任务简单得令人惊讶:

给定一段文字,预测下一个最可能的词。

就这么简单。但用这个能力,可以:

训练三阶段

第一阶段:预训练(Pre-training)
  喂给模型整个互联网的文本(书籍、网页、代码、论文……)
  让模型学会:语言的规则、世界的知识、推理的模式
  耗时:数周 × 数千张GPU × 数百万美元

第二阶段:监督微调(SFT)
  用高质量的人工标注的"问答对"进一步训练
  让模型学会:怎么回答用户更有用、更有礼貌
  耗时:数天

第三阶段:RLHF(基于人类反馈的强化学习)
  人类标注员比较两个回答,指出哪个更好
  训练一个"奖励模型",再用强化学习优化LLM
  让模型学会:对齐人类价值观,拒绝不当请求

提示词工程(Prompt Engineering)

与大模型交流的最佳方式:

原则1:清晰具体

❌ "写个排序算法"
✅ "用Python写一个冒泡排序函数,包含详细注释,给出复杂度分析,并对比快速排序的优劣"

原则2:给例子(Few-shot)

将以下英文翻译成中文,保持简洁风格:

英文: Hello → 中文: 你好
英文: I love programming → 中文: 我喜欢编程
英文: The weather is beautiful → 中文:

原则3:角色扮演

你是一位有20年经验的Python架构师。请review以下代码,
重点关注安全性、性能和可维护性,给出改进建议。

原则4:分步思考(Chain of Thought)

请一步步推理这道数学题:
小明有5个苹果,给了小红2个,又买了3个,最后吃了1个。还剩几个?
先列出步骤,再给出答案。

常用技巧

技巧 说明 例子
Zero-shot 不给例子直接问 "解释量子力学"
Few-shot 给2-5个例子 "按以下格式翻译……"
Chain of Thought 要求分步推理 "请一步一步思考"
结构化输出 指定输出格式 "返回JSON格式:`{name, age}`"
反驳/Debate 让模型自我纠错 "找到你回答中的错误并修正"

15.5 AI工具推荐

大语言模型

工具 特点 适合
ChatGPT 综合能力最强,生态丰富 通用场景
Claude 长文本处理突出,更安全克制 文档分析、写作
Kimi(月之暗面) 超长上下文(200万字) 长文档分析
通义千问 阿里出品,中文理解好 国内使用
DeepSeek 开源模型,性价比极高 本地部署

编程助手

工具 特点
GitHub Copilot IDE内实时代码补全,最成熟的AI编程助手
Cursor 基于VS Code的AI IDE,深度集成对话式编程
Cody (Sourcegraph) 开源+免费的代码助手
通义灵码 阿里出品,国内开发者的好选择

AI画图

工具 特点
Midjourney 艺术品质最高,Discord使用
Stable Diffusion 开源,可本地运行,完全控制
DALL·E 3 OpenAI出品,ChatGPT内集成

效率工具

工具 用途
Perplexity AI搜索引擎,回答问题并附来源
Notion AI 文档写作、会议总结、翻译
Grammarly 英文写作语法检查+风格优化

15.6 AI伦理与社会影响

技术越强大,责任越大。

关键问题

1. 偏见与公平性

2. 隐私

3. 幻觉(Hallucination)

4. 就业影响

5. 安全与滥用

工程师的AI伦理原则

1. 透明性:AI参与生成的内容应当标注

2. 可解释性:关键决策(医疗、司法)需要能解释为什么

3. 人机协作:AI辅助而非替代人类判断

4. 安全第一:AI系统要有"刹车",能关闭和回退

5. 持续监控:部署后定期检查是否有意外行为


本章小结


⬅️ [上一章:14-云计算与虚拟化](14-云计算与虚拟化.html)   |   ➡️ [下一章:16-搭建个人网站](16-搭建个人网站.html)
Collaplex · 克拉普莱克斯 collaplex.me · 2026 浙ICP备2026080865号