深度学习高级主题与神经网络局限性探讨
1. 向量量化
向量量化是竞争性学习的最简单应用。它在基本竞争性学习范式的基础上,引入了敏感度的概念。每个节点都有一个与之关联的敏感度 $s_i \geq 0$,这个敏感度值有助于平衡不同聚类中的点。
向量量化的基本步骤与竞争性学习算法类似,但在 $s_i$ 的更新和使用方式上有所不同。具体步骤如下:
1. 初始化:将每个点的 $s_i$ 值初始化为 0。
2. 迭代更新:
- 对于非获胜节点,$s_i$ 的值增加 $\gamma > 0$。
- 对于获胜节点,$s_i$ 的值设为 0。
3. 选择获胜节点:使用最小的 $||W_i - X|| - s_i$ 值来选择获胜节点。
这种方法可以使聚类更加平衡,即使不同区域的密度差异很大。它确保了密集区域的点通常非常接近某个权重向量,而稀疏区域的点则近似得很差。这种特性在降维和压缩等应用中很常见。$\gamma$ 的值调节敏感度的影响,将 $\gamma$ 设置为 0 则回到纯粹的竞争性学习。
向量量化最常见的应用是压缩。在压缩中,每个点由其最接近的权重向量 $W_i$ 表示,其中 $i$ 的范围是从 1 到 $m$,且 $m$ 远小于数据集中的点数 $n$。具体操作步骤如下:
1. 构建码本:构建一个包含向量 $W_1 \cdots W_m$ 的码本,对于维度为 $d$ 的数据集,需要 $m \cdot d$ 的空间。
2. 存储点:每个点根据其最接近的权重向量,存储为 1 到 $m$ 的索引值。由于只需要 $\log_2(m)$ 位来存储每个数据点,因此总体空间需求为 $m \cdot d + \log_2(m)$,通常远小于原始数据集所需的 $n \cdot d$ 空间。
例如,一个包含 100 维的 100 亿个点的数据集,如果每个维度需要 4 字节,则需要约 4TB 的空间。而通过 $m = 10^6$ 进行量化,码本所需的空间小于 0.5GB,每个点需要 20 位,因此点(不包括码本)所需的空间小于 3GB,包括码本的总体空间需求小于 3.5GB。需要注意的是,这种压缩是有损的,点 $X$ 的近似误差为 $||X - W_i||$,密集区域的点近似得很好,而稀疏区域的离群点近似得很差。
2. 科霍宁自组织映射
科霍宁自组织映射是竞争性学习范式的一种变体,它在神经元上施加了一维串状或二维格状结构。为了更具一般性,我们考虑在神经元上施加二维格状结构的情况。这种格状结构可以将所有点映射到二维空间进行可视化。
例如,一个由 25 个神经元排列成的 5×5 矩形网格的二维格状结构,以及包含相同数量神经元的六边形格状结构。格状的形状会影响聚类映射到二维区域的形状。使用格状结构的想法是,相邻格状神经元的 $W_i$ 值往往相似。
这里需要定义不同的符号来区分向量距离 $||W_i - W_j||$ 和格状距离。相邻神经元对在格状上的距离恰好为一个单位。例如,在 5×5 矩形网格中,神经元 $i$ 和 $j$ 的格状距离为 1 单位,神经元 $i$ 和 $k$ 的格状距离为 $\sqrt{2^2 + 3^2} = \sqrt{13}$。向量距离(如 $||X - W_i||$ 或 $||W_i - W_j||$)用 $Dist(W_i, W_j)$ 表示,而神经元 $i$ 和 $j$ 沿着格状结构的距离用 $LDist(i, j)$ 表示,$LDist(i, j)$ 的值仅取决于索引 $(i, j)$,与向量 $W_i$ 和 $W_j$ 的值无关。
自组织映射的学习过程通过格状距离来调节神经元 $i$ 和 $j$ 的接近程度,从而使它们的权重向量更相似。也就是说,自组织映射的格状结构在学习过程中起到了正则化的作用。这种二维结构有助于将原始数据点进行二维嵌入可视化。
自组织映射的训练算法与竞争性学习类似,具体步骤如下:
1. 采样:从训练数据中采样 $X$。
2. 寻找获胜神经元:根据欧几里得距离找到获胜神经元。
3. 更新权重:
- 获胜神经元的权重更新方式与普通竞争性学习算法类似。
- 对获胜神经元的格状邻居也应用这种更新的衰减版本。在该方法的软变体中,可以对所有神经元应用更新,衰减程度取决于该神经元到获胜神经元的格状距离。衰减函数通常由高斯核定义:
$Damp(i, j) = \exp\left(-\frac{LDist(i, j)^2}{2\sigma^2}\right)$
其中,$\sigma$ 是高斯核的带宽。使用极小的 $\sigma$ 值会回到纯粹的胜者全得学习,而使用较大的 $\sigma$ 值会导致更大的正则化,使相邻格状单元的权重更相似。$\sigma$ 是用户可以调整的参数之一。
4. 重复更新:重复上述步骤,直到收敛。
使用学习到的映射进行二维嵌入时,对于一个 $k×k$ 网格,所有二维格状坐标都位于正象限的一个正方形内,顶点为 $(0, 0)$、$(0, k - 1)$、$(k - 1, 0)$ 和 $(k - 1, k - 1)$。最简单的二维嵌入是用每个点 $X$ 最接近的网格点(即获胜神经元)来表示,但这种方法会导致点的表示重叠。可以使用各种启发式方法来消除这些重叠点。当应用于高维文档数据时,可视化检查通常会显示特定主题的文档映射到特定的局部区域,相关主题的文档(如政治和选举)往往会映射到相邻区域。
自组织映射与哺乳动物大脑的结构有很强的神经生物学联系。在哺乳动物大脑中,各种类型的感官输入(如触觉)被映射到多个折叠的细胞平面(称为层)上。当身体相邻部位接收到输入时,大脑中物理上相邻的细胞群也会一起激发。因此,输入的接近度被映射到神经元的接近度,就像自组织映射的情况一样。
虽然科霍宁网络在现代深度学习时代使用较少,但它们在无监督学习中有很大的潜力。竞争的基本思想甚至可以融入多层前馈网络中,许多竞争原则经常与传统的前馈网络相结合。例如,r - 稀疏和胜者全得自动编码器以及局部响应归一化等都基于竞争原则,本章讨论的注意力概念也使用了竞争原则。
以下是自组织映射训练过程的 mermaid 流程图:
graph TD;
A[开始] --> B[从训练数据中采样 X];
B --> C[计算 X 到每个权重 Wi 的距离];
C --> D[找到获胜神经元的索引 p];
D --> E[更新每个 Wi: Wi = Wi + α · Damp(i, p) · (X - Wi)];
E --> F{是否收敛};
F -- 否 --> B;
F -- 是 --> G[结束];
3. 神经网络的局限性
深度学习近年来取得了显著进展,在许多任务(如图像分类)上甚至超过了人类。强化学习在一些需要顺序规划的游戏中也表现出了超人的性能。然而,在构建能够像人类一样学习和思考的机器之前,还需要克服几个基本的技术障碍。
3.1 理想目标:一次性学习
尽管深度学习在大规模学习任务上取得了成功,但它在样本效率方面存在重要弱点。例如,在图像分类任务中,神经网络通常需要数千个类别的样本才能正确分类,而人类只需要看一次卡车就能识别出不同型号、形状和颜色的卡车。人类能够从很少的例子中进行泛化,这种能力被称为一次性学习。
人类能够用较少的例子进行泛化并不奇怪,因为人类大脑中神经元的连接相对稀疏,并且是经过自然精心设计的。这种架构经过了数百万年的进化,并代代相传。从某种意义上说,人类的神经连接结构已经编码了从数百万年的“进化经验”中获得的“知识”。此外,人类在一生中还会在各种任务中积累知识,这有助于他们更快地学习特定任务。
开发广义形式的迁移学习,使在特定任务上花费的训练时间可以被重用,是未来研究的一个关键领域。在深度学习中,迁移学习的好处已经在一定程度上得到了证明。例如,卷积神经网络(如 AlexNet)通常在大型图像库(如图像网)上进行预训练,然后在应用于新数据集时,可以用新数据集对权重进行微调,通常只需要较少的例子。在许多情况下,通过移除网络的后续层并添加特定任务的层,学习到的特征也可以在不同任务之间进行泛化。这种知识转移可以是提取的特征、模型参数或其他上下文信息。
另一种形式的迁移学习是基于跨任务学习的概念,即重用在一个任务中已经完成的全部或部分训练工作,以提高学习另一个任务的能力,这被称为学习如何学习(meta - learning)。早期的一次性学习工作使用贝叶斯框架将学习到的知识从一个类别转移到另一个类别。一些结构化架构(如神经图灵机)在跨类别学习任务中取得了一些成功,但与人类相比,这些方法的能力仍然很初级,因此这仍然是一个开放的研究领域。
3.2 理想目标:节能学习
与样本效率密切相关的是能源效率。在高性能硬件上运行的深度学习系统能源效率低下,需要大量的电力才能运行。例如,使用多个 GPU 单元并行完成计算密集型任务时,可能很容易消耗超过 1 千瓦的功率,而人类大脑仅需约 20 瓦的功率就能运行。此外,人类大脑通常不进行精确的详细计算,而是进行估算,在许多学习场景中,这种估算就足够了,甚至有时可以提高泛化能力。这表明,能源效率有时可以在强调泛化而非准确性的架构中找到。
近年来,已经开发了几种算法,通过牺牲计算精度来提高计算的能源效率。一些方法由于低精度计算的噪声效应,还显示出了更好的泛化能力。例如,有研究提出使用二进制权重进行高效计算,分析了使用不同表示代码对能源效率的影响。某些包含脉冲神经元的神经网络被认为更节能,脉冲神经元的基本思想是,神经元不会在每个传播周期都激发,只有当膜电位达到特定值时才会激发。
能源效率通常可以通过减小神经网络的规模和修剪冗余连接来实现。移除冗余连接还有助于正则化。有研究提出通过修剪冗余连接同时学习神经网络的权重和连接,特别是可以移除接近零的权重。在训练网络时,可以使用 L2 正则化来使权重接近零,然后修剪低于特定阈值的权重。修剪过程是迭代进行的,每次修剪后重新训练权重,然后再次修剪低权重的边。
以下是提高神经网络能源效率的方法列表:
1. 使用二进制权重进行计算。
2. 采用包含脉冲神经元的神经网络。
3. 减小神经网络的规模。
4. 修剪冗余连接。
综上所述,虽然深度学习取得了很大的进展,但在一次性学习和能源效率方面仍面临挑战,未来需要进一步的研究来克服这些局限性。
深度学习高级主题与神经网络局限性探讨(续)
4. 技术点分析与对比
为了更清晰地理解向量量化和科霍宁自组织映射的特点,我们可以通过表格进行对比分析:
| 技术 | 核心思想 | 应用场景 | 优点 | 缺点 |
| — | — | — | — | — |
| 向量量化 | 引入敏感度平衡聚类,用最近权重向量表示点进行压缩 | 数据压缩、降维 | 聚类更平衡,压缩空间需求小 | 有损压缩,稀疏区域近似差 |
| 科霍宁自组织映射 | 在神经元上施加格状结构,使相邻神经元权重相似以辅助可视化 | 高维数据可视化、无监督学习 | 可进行二维嵌入可视化,有神经生物学基础 | 现代使用较少,存在点表示重叠问题 |
在操作步骤上,向量量化和自组织映射也有明显的不同:
-
向量量化操作步骤
:
1. 初始化每个点的敏感度 $s_i$ 为 0。
2. 迭代过程中,非获胜节点 $s_i$ 增加 $\gamma$,获胜节点 $s_i$ 置为 0。
3. 以最小的 $||W_i - X|| - s_i$ 选择获胜节点并更新。
4. 构建码本,用码本和索引值存储数据点。
-
自组织映射操作步骤
:
1. 从训练数据中采样 $X$。
2. 计算 $X$ 到每个权重 $W_i$ 的距离,找到获胜神经元索引 $p$。
3. 更新获胜神经元及邻居的权重,使用衰减函数调节。
4. 重复上述步骤直到收敛。
5. 迁移学习与节能学习的深入探讨
5.1 迁移学习的多种形式
迁移学习是实现一次性学习的重要途径,除了前面提到的基于预训练和微调的方法,还有基于跨任务学习的学习 - 学习(meta - learning)形式。学习 - 学习的关键在于在不同任务之间进行经验转移,但由于任务的差异性,这一过程具有挑战性。
学习 - 学习通常具有两层结构:
1.
任务内快速学习
:在单个任务中,利用已有的知识和经验快速学习新的数据模式。
2.
任务间知识引导
:通过在多个任务中积累的知识,引导新任务的学习过程,捕捉任务结构在不同目标领域的变化。
例如,在卷积神经网络中,早期层学习到的特征(如边缘等原始形状)在不同任务和数据集上具有通用性,而最后一层则高度依赖于具体任务。通过学习 - 学习,我们可以充分利用早期层的知识,减少新任务的训练数据需求。
以下是学习 - 学习过程的 mermaid 流程图:
graph TD;
A[开始多个任务训练] --> B[在任务 1 中学习并积累经验];
B --> C[在任务 2 中利用任务 1 经验学习];
C --> D[在任务 3 中综合任务 1 和 2 经验学习];
D --> E{是否达到目标性能};
E -- 否 --> F[继续新任务学习];
E -- 是 --> G[结束];
F --> C;
5.2 节能学习的实现细节
节能学习主要通过以下几种方式实现:
1.
使用特殊权重表示
:如使用二进制权重进行计算,减少计算量和存储需求。
2.
采用脉冲神经元
:脉冲神经元只有在膜电位达到特定值时才会激发,避免了不必要的计算,从而节省能源。
3.
网络结构优化
:
-
减小网络规模
:去除不必要的神经元和连接,降低计算复杂度。
-
修剪冗余连接
:通过正则化(如 L2 正则化)使部分权重接近零,然后修剪这些低权重连接。修剪过程通常是迭代的,每次修剪后重新训练网络,以确保性能不受太大影响。
以下是修剪冗余连接的操作步骤:
1. 使用 L2 正则化训练网络,使部分权重接近零。
2. 设置一个权重阈值,将低于该阈值的权重对应的连接移除。
3. 重新训练网络,更新剩余连接的权重。
4. 重复步骤 2 和 3,直到达到满意的稀疏度和性能。
6. 总结与展望
深度学习在近年来取得了巨大的进展,但神经网络仍然存在一些局限性,特别是在一次性学习和能源效率方面。向量量化和科霍宁自组织映射等技术为数据处理和可视化提供了有效的方法,而迁移学习和节能学习等研究方向则为克服神经网络的局限性提供了可能。
未来,我们可以从以下几个方面进行进一步的研究:
1.
改进迁移学习算法
:开发更高效的跨任务知识转移方法,提高一次性学习的能力,使神经网络能够更好地模拟人类的学习方式。
2.
优化节能架构
:继续探索新的神经网络架构和计算方法,在保证性能的前提下,进一步降低能源消耗。
3.
融合多种技术
:将向量量化、自组织映射、迁移学习和节能学习等技术进行有机融合,发挥它们的协同作用,推动深度学习在更多领域的应用。
通过不断的研究和创新,我们有望克服神经网络的现有局限性,使人工智能更加接近人类的智能水平。
超级会员免费看
2843

被折叠的 条评论
为什么被折叠?



