神经网络导论 | AI生成和翻译
这是一份关于神经网络(NNs)的全面介绍。我们将从直观概念入手,逐步深入到数学原理,最后探讨现代AI中使用的不同架构。
1. 直观理解:什么是神经网络?
简单来说,神经网络是一种能够学习将输入映射到输出的数学函数。
假设你想教会计算机识别一张照片是”猫”还是”狗”。
- 传统编程方法:你需要编写规则(例如:”如果它有尖耳朵和小鼻子,它就是猫”)。这种方法会失败,因为图像过于复杂。
- 神经网络方法:你向计算机展示10,000张猫和狗的照片。网络通过分析像素寻找模式,并”学习”区分猫和狗的特征,而无需你告诉它什么是”鼻子”。
其名称源于人工神经网络(ANNs),灵感来自人脑中的生物神经元。
2. 基本构建模块:感知机(神经元)
在大脑中,神经元接收电信号,处理它们,并决定是否激发。在计算机中,”神经元”是一个数学单元。
神经元的四个组成部分:
- 输入($x$):传入的数据(例如,像素值)。
- 权重($w$):这是最重要的部分。权重代表重要性。如果我们要识别猫,”胡须”特征可能具有较高的权重,而”背景颜色”则权重较低。
- 偏置($b$):加到总和上的额外数值。它允许神经元移动激活阈值(类似于”起点”或”兴奋阈值”)。
- 激活函数($\sigma$):决定神经元是否”激发”。没有这个函数,网络就只是一个巨大的线性方程。激活函数引入了非线性,使网络能够学习复杂的、弯曲的模式,而不仅仅是直线。
公式: \(\text{输出} = \text{激活函数}(\sum (\text{输入} \times \text{权重}) + \text{偏置})\)
3. 架构:层
单个神经元作用有限。为了解决复杂问题,我们将它们堆叠成层。
- 输入层:接收原始数据的第一层(例如,图像的像素)。
- 隐藏层:位于输入层和输出层之间的层。这里是”魔法”发生的地方。具有许多隐藏层的网络称为深度神经网络。这些层提取日益复杂的特征(第1层找到边$\rightarrow$第2层找到形状$\rightarrow$第3层找到面部)。
- 输出层:产生结果的最后一层(例如,概率:”这是猫的可能性为90%”)。
4. 学习如何发生(原理)
神经网络最初什么”都不知道”。它通过一个四步循环来学习:
第1步:前向传播(猜测)
数据从输入层到输出层通过网络。网络做出预测。开始时,由于权重是随机的,预测结果会完全错误。
第2步:损失函数(误差)
我们需要衡量网络有多”错误”。我们使用损失函数(也称为成本函数)。
- 如果网络预测为”狗”但标签是”猫”,损失函数会产生一个高数值。
- 如果预测接近,损失值则较低。
第3步:反向传播(责任分配)
这是AI的核心。我们运用微积分(特别是链式法则)从误差开始反向计算。我们提问:”具体是哪个神经元中的哪个权重对这次误差贡献最大?” 我们计算每个权重的梯度(误差的方向和大小)。
第4步:优化(调整)
既然我们知道了责任所在,我们就使用优化器(最常见的是梯度下降)来微调权重。
- 如果一个权重使误差增大,我们就减小它。
- 如果它使误差减小,我们就增大它。
可以这样理解:你站在一座雾蒙蒙的山上(损失函数),想要到达山谷(最小误差点)。你看不到山谷,但你能感受到脚下的坡度。你沿着下坡方向迈出一小步。你重复这个过程,直到到达谷底。
5. 常见的神经网络类型
并非所有网络的结构都一样。不同的任务需要不同的架构:
| 类型 | 名称 | 最适合用于… | 类比 |
|---|---|---|---|
| ANN | 人工神经网络 | 简单的表格数据、基本模式。 | “全能选手” |
| CNN | 卷积神经网络 | 图像和视频。它使用”滤波器”扫描像素。 | “眼睛” |
| RNN | 循环神经网络 | 序列数据(时间序列、语音、文本)。它具有”记忆”。 | “耳朵” |
| Transformer | 基于注意力的网络 | 语言(ChatGPT、翻译)。它能同时查看整个句子。 | “大脑” |
6. 总结清单
要理解任何神经网络,请回答以下四个问题:
- 输入是什么?(数字、像素、词语?)
- 架构是什么?(是处理图像的CNN?还是处理文本的Transformer?)
- 损失函数是什么?(我们如何衡量误差?)
- 优化器是什么?(我们如何调整权重?)
深度学习本质上就是将神经网络层层堆叠加深的过程,从而使机器能够执行那些曾经需要人类智能才能完成的任务。