置顶

勘误反馈
如果对本博客文章有任何问题(如探讨、建议、文字或逻辑错误等)都可以给我发邮件:

  • 邮件标题:[wds博客问题反馈] - 希望在XXX文章增加一些细节的补充
  • 邮件地址:8851970@qq.com

Read More

深度学习为什么强大?神经网络的发展与突破!

系列文章见: 《回忆AI时代-从图灵机到人工智能》

什么是深度学习

深度学习是一种机器学习方法,采用多层神经网络(称为深度神经网络)模拟人脑的决策机制。深度学习为大多数人工智能 (AI) 应用提供动力,广泛应用于图像识别、语音识别和自然语言处理 (NLP)等领域。 这里的“深度”是:

1
2
3
4
5
6
7
8
9
10
11
输入层(图片像素)

隐藏层1(识别边缘)

隐藏层2(识别纹理)

隐藏层3(识别眼睛、耳朵)

隐藏层4(组合成猫的特征)

输出层(判断是否为猫)

层数越多,网络就越“深”。

深度学习的演变

2006年,通常被认为是现代深度学习的起点,Geoffrey Hinton发表论文《A Fast Learning Algorithm for Deep Belief Nets》提出逐层预训练方法,解决深层网络训练困难的问题。

2012年,图像识别竞赛中(ImageNet Large Scale Visual Recognition Challenge),Geoffrey Hinton团队开发的AlexNet取得压倒性胜利,错误率传统方法26%,AlexNet15%。从此业界开始关注并投入深度学习,深度学习进入了黄金时代。

案例

Scikit-learn(简称 sklearn)是Python最流行的传统机器学习库之一,适合学习机器学习和神经网络基础。业界有两种常见框架Sklearn和TensorFlow,它们区别:

项目 scikit-learn TensorFlow
学习难度 简单 较复杂
聚类 支持 不擅长
分类 支持 支持
神经网络 简单版 专业版
深度学习 不支持 支持
GPU训练 不支持 支持
入门推荐 ⭐⭐⭐⭐⭐ ⭐⭐⭐

所以推荐用Scikit-learn。

案例
假设:

1
2
3
4
5
输入 x
输出 y

规律:
y = 2x

数据规律:

x y
1 2
2 4
3 6
4 8

安装Scikit-learn。

1
pip install scikit-learn

Python代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from sklearn.neural_network import MLPRegressor
import numpy as np

# 训练数据
X = np.array([[1], [2], [3], [4]])
y = np.array([2, 4, 6, 8])

# 神经网络
model = MLPRegressor(
hidden_layer_sizes=(5,), # 隐藏层5个神经元
activation='relu',
max_iter=5000,
random_state=42
)

# 训练
model.fit(X, y)

# 预测
print(model.predict([[5]]))

它的网络结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
输入层
x



隐藏层
○ ○ ○ ○ ○




输出层
y

实际上神经网络在不断调整:

1
2
权重(w)
偏置(b)

让预测值越来越接近真实值。

五步工作法

马斯克常被总结的“五步工作法”(也有人叫“工程/效率五步法”)核心思想是:不断删减复杂度,把事情推到极简,然后再自动化。

  • 1.质疑需求:不要一开始就接受“别人说必须这样做”。

    • 这个功能真的必要吗?
    • 有没有人只是“习惯性加上去”的?
    • 如果从零开始设计,还需要它吗?
  • 2.删除:如果某个东西“不必要”,直接删掉。

    • “如果你不需要添加回去,那就应该删除它。”
  • 3.简化:在已经简化的基础上再提速。

    • 流程从10步变3步
    • 结构从多层变一层
    • UI 从复杂变直觉
  • 4.加速:在已经简化的基础上再提速。

    • 并行执行
    • 缩短反馈周期
    • 提前验证关键假设
  • 5.自动化:马斯克非常反感“过早自动化”,因为:“如果流程还没稳定,自动化只会放大错误。”只有在:

    • 流程稳定
    • 已经简化
    • 提前验证关键假设

才值得自动化。

从M-P神经元模型到感知机再到神经网络

系列文章见: 《回忆AI时代-从图灵机到人工智能》

关于神经网络的演进

1943年,神经生理学家 Warren McCulloch(沃伦·麦卡洛克)与数理逻辑学家 Walter Pitts(沃尔特·皮茨)提出了人类历史上首个人工神经元数学模型——M-P 神经元模型(McCulloch-Pitts Neuron)。它是一种模仿生物神经元工作方式的计算模型,奠定了人工神经网络的理论基础。

但它很快遇到了一个关键问题:没有学习能力。模型中的权重需要人工设定,只能完成简单的逻辑推理任务(AND、OR 等),无法根据数据自动调整自身参数。


1948年,Alan Turing(艾伦·图灵)在论文《Intelligent Machinery》中首次系统讨论了类似 Neural Network(神经网络)的思想,用来描述由大量人工神经元连接而成的计算网络。

虽然当时这些想法尚未真正落地,但这篇论文对后来的神经网络、机器学习以及深度学习的发展产生了深远影响,被认为是人工智能早期的重要理论基础之一。


1958年,心理学家和计算机科学家Frank Rosenblatt提出了感知机(Perceptron)。他在M-P模型的基础上引入了权重自动调整机制,使模型能够根据训练数据学习规律,从而解决了“无法训练”的核心缺陷。

感知机成为历史上第一个真正具备学习能力的神经网络模型,开启了机器学习研究的新阶段。

1969年,人工智能先驱Marvin Minsky与Seymour Papert合著了《Perceptrons》一书,系统指出了单层感知机的核心局限,如

  • 只能解决线性可分问题;
  • 无法处理 XOR(异或)等非线性问题;
  • 网络结构过于简单,仅包含单层神经元。

此后1974–1980年间进度了AI寒冬期。


1986年,David Rumelhart、Geoffrey Hinton和Ronald Williams等人系统推广了BP神经网络(Backpropagation Neural Network)。

BP神经网络通过反向传播(Backpropagation)算法训练多层神经网络,使网络能够自动学习隐藏层中的复杂特征,成功解决了单层感知机无法处理XOR等非线性问题的缺陷。然而,随着网络层数增加,新的挑战也逐渐显现:

  • 计算量巨大,而当时 CPU 性能有限;
  • 容易出现梯度消失或梯度爆炸问题;
  • 缺乏大规模训练数据;
  • 存储和计算资源不足。

因此,神经网络研究在随后再次进入低潮期。

M-P神经元模型

人们观察到生物神经元运作方式。

1
2
3
4
5
6
7
生物神经元

树突 → 接收信号

细胞体 → 处理信号

轴突 → 输出信号

因此引发了思考,并写出了抽象的数学公式。

1
2
3
4
5
6
7
8
9
10
11
输入
x1
x2
x3

加权求和
z = w1x1+w2x2+w3x3

激活

输出

感知机

感知机本质不停调整一条“分界线”,把数据分成两类。它的数学公式y=step(w⋅x+b)

  • w:权重(重要程度)
  • b:偏置(平移分界线)
  • step:激活函数(>0 输出1,否则0)

案例:用感知机推导AND逻辑。

x1 x2 y
0 0 0
0 1 0
1 0 0
1 1 1

Python代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import numpy as np

# 训练数据
X = np.array([
[0, 0],
[0, 1],
[1, 0],
[1, 1]
])

y = np.array([0, 0, 0, 1])

# 初始化参数
w = np.random.randn(2)
b = 0.0
lr = 0.1

# 激活函数
def step(z):
return 1 if z > 0 else 0

# 训练感知机
for epoch in range(20):
for i in range(len(X)):
x = X[i]
target = y[i]

# 预测
z = np.dot(w, x) + b
pred = step(z)

# 误差
error = target - pred

# 更新规则(核心)
w += lr * error * x
b += lr * error

print(f"epoch {epoch}, w={w}, b={b}")

训练过程中:

  • 初期:乱猜
  • 中期:开始分开0和1
  • 后期:稳定收敛

最终会学到类似:

  • w ≈ [0.3, 0.3]
  • b ≈ -0.2

什么是神经网络

感知机只能解决线性问题,而神经网络(Neural Network)可以解决非线性问题。譬如我们来解决一个经典案例XOR(异或)的问题。

XOR数据:

1
2
3
4
5
6
7
8
9
10
11
12
import numpy as np

# 输入
X = np.array([
[0, 0],
[0, 1],
[1, 0],
[1, 1]
])

# 输出(异或)
y = np.array([0, 1, 1, 0])

感知机,它解决不了XOR问题。

1
2
3
4
5
6
from sklearn.linear_model import Perceptron

model = Perceptron()
model.fit(X, y)

print("预测结果:", model.predict(X))

神经网络,可以解决。

1
2
3
4
5
6
7
8
9
10
11
from sklearn.neural_network import MLPClassifier

model = MLPClassifier(
hidden_layer_sizes=(4,), # 关键:隐藏层
max_iter=5000,
random_state=1
)

model.fit(X, y)

print("预测结果:", model.predict(X))

如何理解机器学习

系列文章见: 《回忆AI时代-从图灵机到人工智能》

什么是机器学习

机器学习(Machine Learning, ML)本质就是让计算机“通过数据自己学规律”,而不是人手写规则。

举个例子:如下房价面积表格,人一眼就能看出来这里的规律是”面积 * 2 = 房价“,机器学习的目标就是,不告诉机器公式,让它自己从数据中学出来。

面积(㎡) 房价(万)
50 100
60 120
70 140
80 160

用一个Python程序来举例学习房价表格的规律:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 # 训练数据
x = [50, 60, 70, 80]
y = [100, 120, 140, 160]

# 机器随机猜一个参数
w = 1.0

# 学习率
lr = 0.0001

# 训练10000次
for epoch in range(10000):

grad = 0

# 计算梯度
for xi, yi in zip(x, y):
pred = w * xi
grad += (pred - yi) * xi

# 更新参数
w = w - lr * grad

print("学到的参数:", w)

# 预测
area = 90
price = w * area

print("90平米预测房价:", price)

运行结果大概:

1
2
学到的参数: 2.0
90平米预测房价: 180

程序运行逻辑:

1
2
3
4
5
6
7


算错多少

调整

再猜

譬如:

1
w = 1

于是

1
2
50㎡ -> 50万
60㎡ -> 60万

然后计算误差:

1
2
3
4
真实值: 100
预测值: 50

误差 = 50

根据误差调整参数:

1
w = w - lr * grad

最终 w=2,和我们人算出来的一样,这就是机器学习,用一句话解释它规则 + 数据 = 结果

机器学习三大类型

  • 监督学习:有标准答案的。
  • 无监督学习:没有标准答案。
  • 强化学习:通过奖励和惩罚学习。
  1. 监督学习(Supervised Learning)
    有标准答案。
1
2
3
图片 → 猫
图片 → 狗
图片 → 猫

学习后:

1
新图片 → 猫

应用场景:

  • 垃圾邮件识别
  • 房价预测
  • 图像分类
  1. 无监督学习(Unsupervised Learning)
    没有彼岸准答案,自己找规律,譬如:
1
2
3
4
用户A
用户B
用户C
...

自动分类:

1
2
3
年轻用户
中年用户
老年用户

应用场景:

  • 用户画像
  • 聚类分析
  • 异常检测
  1. 强化学习(Reinforcement Learning)
    通过奖励和惩罚学习,如下棋:
1
2
3
4
走一步

赢了 +1
输了 -1

经过几百万局,学会最佳策略。应用场景:

  • AlphaGo
  • 游戏AI
  • 机器人控制

后记

传统机器学习的核心模式是“人工设计特征 + 统计学习算法”。以逻辑回归、决策树、SVM(支持向量机)和随机森林等经典算法为代表,它们通常依赖大量的特征工程。例如在图像识别任务中,研究人员需要先手工提取边缘、纹理、颜色直方图、HOG(方向梯度直方图)等特征,再将这些特征输入机器学习模型进行分类。
神经网络则改变了这一范式。它能够直接从原始数据中自动学习特征:底层网络学习边缘和纹理,中层网络学习眼睛、鼻子、轮廓等局部结构,高层网络进一步组合这些信息,形成对猫、狗、人脸等复杂目标的识别能力。换句话说,传统机器学习是“人类负责设计特征,机器负责学习规律”;而神经网络则实现了“机器自动学习特征和规律”。正因如此,人工智能的发展逐渐从传统机器学习时代迈入了神经网络时代,并最终催生了今天的深度学习浪潮。

1956年人工智能诞生的那个夏天!

系列文章见: 《回忆AI时代-从图灵机到人工智能》

达特茅斯会议

1956年夏天,在美国达特茅斯学院,一群科学家首次提出“Artificial Intelligence(人工智能)”这一名称,开启了AI时代的序幕。会议由 John McCarthy、Marvin Minsky、Claude Shannon 和 Nathaniel Rochester 发起,被视为人工智能学科的起点。2006年,在达特茅斯会议50周年纪念活动上,AI先驱们再次相聚。

照片拍摄于美国达特茅斯学院草坪(1956年) ,2006年达特茅斯AI会议50周年纪念合影(2026)。
达特茅斯50年再聚首

1956年达特茅斯会议照片,这7为科学家从上到下依次是:

  • 1.奥利弗・塞尔弗里奇 (Oliver Selfridge): 模式识别、机器感知领域先驱,被称作 “机器感知之父”,早期视觉 AI研究者。
  • 2.纳撒尼尔・罗切斯特 (Nathaniel Rochester) IBM资深研究员,达特茅斯会议四位发起人之一,最早研究人工神经网络的学者。
  • 3.马文・明斯基( Marvin Minsky ) AI 奠基人,MIT人工智能实验室联合创始人,1969 年图灵奖得主,框架理论创立者。
  • 4.约翰・麦卡锡( John McCarthy ) “人工智能(Artificial Intelligence)” 术语的创造者Lisp编程语言发明者,1971年图灵奖得主。
  • 5.雷・所罗门诺夫( Ray Solomonoff ) 通用人工智能、算法信息论先驱,提出所罗门诺夫归纳推理,奠定概率机器学习理论基础。
  • 6.赫伯特・西蒙 ( Herbert A. Simon ) 双料诺奖(诺贝尔经济学奖 + 图灵奖)得主,认知科学、符号主义 AI 核心奠基人,研究人类决策与机器逻辑推理。
  • 7.克劳德・香农 (Claude Elwood Shannon) 信息论之父,数字电路理论开创者,现代计算机、通信、信息科学的基石人物。

会议背景

20世纪50年代,计算机、逻辑学、神经科学、控制论初步发展:

  • 图灵1950年发表《计算机器与智能》并提出图灵测试;
  • 香农创立信息论;
  • 神经网络、博弈程序、逻辑推理程序已有雏形;

一批学者认为:机器可以模拟人类智能,于是组织本次研讨。

会议的结论

在会议最后他们并没有解决什么实质性的问题,而是定义了问题的边界与方向:

  • 计算机模拟人类思考、逻辑推理
  • 机器使用语言、自然语言理解
  • 神经网络(神经元网络模型)
  • 机器自我学习、自适应
  • 博弈、规划、决策
  • 抽象概念、人类创造力模拟

人工智能进入了人工智能第一阶段“规则时代”。

什么是大模型?它是如何工作的,应用场景又是什么?

系列文章见: 《回忆AI时代-从图灵机到人工智能》

什么是大模型

大模型(Large Model)通常指参数量非常庞大的人工智能模型,它就像一个经过海量知识训练的“数字大脑”,能够理解、推理、生成内容,并完成各种复杂任务。而LLM(Large Language Model,大语言模型) 是大模型中的一种。那大模型中什么叫“大”

  • 参数量大
  • 训练数据大
  • 计算规模大

参数量

模型/阶段 参数量
早期神经网络 几万 ~ 几百万
BERT 3.4 亿(340M)
GPT-3 1750 亿(175B)
现代大模型 数百亿 ~ 数万亿

训练数据大
大模型训练时会阅读海量数据,例如:

  • 书籍
  • 论文
  • 网站
  • 代码
  • 新闻
  • 对话数据

训练数据规模通常达到TB甚至PB级别。

计算规模大
训练一次先进大模型可能需要:

  • 数千张 GPU
  • 数周甚至数月训练时间
  • 数百万美元成本

大模型是怎么工作的

目前主流大模型基本基于:Transformer 架构(2017年提出)

1
2
3
4
5
6
7
8
9
10
11
12
13
海量数据

预训练(Pretraining)

获得语言能力

指令微调(SFT)

学会听懂人类指令

强化学习(RLHF)

更符合人类需求

大模型应用场景

大模型应用场景:

  • 文本能力
  • 推理能力
  • 多模态能力
文本能力 推理能力 多模态能力
* 写文章
* 写代码
* 翻译
* 总结
* 问答
* 鸡兔同笼
* 数学题
* 逻辑题
* 图片
* 语音
* 视频