Wasserstein距离赋能Hebbian学习:构建分布对齐的记忆巩固模型
1. 项目概述当Hebbian学习遇见Wasserstein几何如果你在神经科学或机器学习领域摸爬滚打过几年肯定对“Hebbian学习”这个概念不陌生——“一起激发的神经元会连接在一起”。这几乎是所有从生物启发的学习与记忆模型从最简单的感知机到脉冲神经网络SNN的基石。但当我们试图用这个经典法则去构建更复杂、更鲁棒的记忆系统时一个根本性的挑战就浮现了如何量化并优化“神经元群体活动模式”之间的相似性传统的欧氏距离或余弦相似度在处理高维、稀疏且分布复杂的神经活动时常常显得力不从心。这就是“Tan-HWG框架”切入的点。这个项目标题听起来很学术但拆解开来其核心野心在于为Hebbian学习法则注入一套全新的“几何语言”——Wasserstein距离也叫“推土机距离”。它不是简单比较两个点而是比较两个概率分布。想象一下记忆不是一个固定的点而是一片“神经活动的云”。巩固记忆不是把这个点钉死而是让这片云的形状变得更加稳定、更具代表性。Tan-HWG做的就是这件事它用Wasserstein几何来重新定义神经元群体活动之间的“相似性”并基于此设计新的Hebbian式学习规则从而实现更符合生物直觉、也更强大的记忆巩固过程。我最初接触到这个方向是在尝试解决一个脉冲神经网络中的“灾难性遗忘”问题时。传统的基于欧氏距离的权重更新在连续学习多个任务时新记忆会粗暴地覆盖旧记忆的痕迹。而Wasserstein距离提供了一种更“柔和”的视角它允许记忆分布发生形变和迁移而不是被彻底抹除。这对于构建持续学习系统来说是一个极具吸引力的特性。Tan-HWG框架正是将这种直觉形式化、可计算化的一个尝试。它不仅仅是一个理论玩具其背后指向的是新一代类脑计算模型、神经形态芯片上的在线学习算法以及对生物记忆巩固机制的更深刻计算理解。2. 核心原理拆解从Hebbian法则到分布对齐要理解Tan-HWG我们必须深入到其三个核心组件的交叉点上经典的Hebbian学习、作为工具的Wasserstein距离以及记忆巩固的计算目标。2.1 Hebbian学习的现代困境与几何化需求传统的Hebbian学习规则无论是其最基本的形式Δw ∝ x*y即突触前后神经元活动乘积还是其各种改进型如Oja规则、BCM规则其核心都是在点对点的层面上操作。它关注的是单个突触连接强度如何根据前后两个神经元的瞬时活动进行调整。这种局部性是其生物合理性的来源但也限制了其表达能力。当我们谈论“记忆”时尤其是在皮层网络中它通常对应于一个神经元群体的特定活动模式。例如记住一张脸可能意味着视觉皮层中数百个神经元以特定的时空序列放电。这个“模式”是一个高维空间中的分布。用点对点的Hebbian规则来巩固这个分布就像试图用无数个独立的、只关注局部像素的规则来修复一幅画的整体结构——效率低下且容易扭曲全局特征。因此现代Hebbian学习的一个前沿方向就是将其群体化或分布化。我们需要一个能够度量两个神经活动分布之间差异的“尺子”然后根据这个差异来指导所有突触的协同调整。这就是引入Wasserstein距离的动机。2.2 Wasserstein距离度量记忆“云团”的尺子Wasserstein距离源于最优传输理论。它的直观解释非常漂亮假设你有两堆土两个概率分布Wasserstein距离就是把一堆土搬动、塑造成另一堆土所需的最小“工作量”成本。这个“工作量”由土的质量和搬运距离共同决定。在神经活动的语境下“土堆”就是一个神经元群体在某个时刻的活动状态分布。比如我们可以将每个神经元的放电率视为一个“质点”其概率质量正比于其活动强度。“搬运”就是将一种活动模式分布转变为另一种活动模式所需的最小总体“改变”。“距离”这个最小工作量就是Wasserstein距离。它不仅能捕捉分布中心均值的偏移还能敏感地捕捉分布形状方差、协方差、多峰性的变化。与KL散度等不同Wasserstein距离即使在不重叠的分布之间也能给出有意义的、平滑变化的数值。这对于记忆巩固至关重要因为新旧记忆模式可能在活动空间中是分离的但我们仍希望有一个连续的度量来描述它们的关系从而指导平滑的学习轨迹。2.3 Tan-HWG框架的整合逻辑Tan-HWG框架的创造性在于它将上述两者进行了端到端的耦合。目标定义记忆巩固的目标被定义为将当前网络对某个刺激的反应分布一个“云团”通过调整突触权重使其向一个更稳定、更清晰的“目标记忆分布”靠近。损失函数这个“靠近”的程度直接用当前分布与目标分布之间的Wasserstein距离来度量。框架的目标就是最小化这个距离。学习规则推导通过计算这个Wasserstein距离关于网络可调参数主要是突触权重w的梯度可以反推出一个全新的、全局性的权重更新规则Δw ∝ -∇_w W_dist(P_current, P_target)。Hebbian式的局部实现神奇的是经过数学推导通常涉及对偶理论或Sinkhorn迭代的近似这个全局梯度可以分解为一系列局部项的和。每一项只依赖于突触前后连接的神经元或神经元群的活动统计量。最终呈现出的学习规则在形式上依然保持了“Hebbian风格”——权重的变化与前后神经元活动的某种函数相关。但此时这些活动函数已经包含了来自整个分布对齐目标的全局信息。简单来说Tan-HWG的核心思想是我们不再说“A神经元和B神经元同时活跃所以加强它们之间的连接”。而是说“为了让我们整个神经元群体的活动云团变得更像那个理想的记忆云团A和B之间的连接应该根据它们在整个云团中的相对位置和贡献进行如此这般的调整”。后者是一个受全局目标约束的、更智能的“Hebbian”学习。3. 框架实现的关键技术环节理论很美妙但让Tan-HWG落地需要解决一系列棘手的计算问题。以下是几个最关键的实现环节。3.1 神经活动分布的建模与离散化我们首先需要将连续的神经活动表示为可计算的概率分布。常见的方法有基于发放率的直方图将神经元群体的发放率向量视为样本通过核密度估计KDE或直接构建高维直方图来近似其分布。这种方法直观但维数灾难问题严重仅适用于小型网络。基于特征的嵌入使用一个编码器如简单的线性投影或小型神经网络将高维神经活动映射到一个低维的“特征空间”然后在这个低维空间中计算分布。这大大降低了计算复杂度是实际应用中的主流选择。在Tan-HWG中这个编码器的参数有时也可以被联合优化。基于粒子的表示这是最灵活也是计算代价最高的一种方法。直接将每个时刻的神经元群体状态一个高维向量视为分布中的一个“粒子”。Wasserstein距离就在这些粒子集合之间计算。这种方法适用于脉冲神经网络其中每个脉冲事件都可以看作一个粒子。实操选择对于中等规模的网络几百个神经元我推荐从基于低维嵌入的方法开始。例如使用主成分分析PCA将原始活动降到10-50维然后在降维后的空间中进行Wasserstein距离计算。这能在表达能力和计算成本之间取得很好的平衡。3.2 Wasserstein距离的高效计算精确计算两个高维分布之间的Wasserstein距离是NP难问题。因此Tan-HWG框架的可行性依赖于高效的近似算法。Sinkhorn迭代熵正则化最优传输这是当前最流行的近似方法。通过在原始最优传输问题中加入一个熵正则项将问题转化为一个凸优化问题可以通过迭代矩阵缩放Sinkhorn-Knopp算法快速求解。正则化参数ε控制近似精度与速度的权衡。# 伪代码示意 Sinkhorn 距离计算核心步骤 import numpy as np def sinkhorn_distance(P, Q, C, epsilon0.01, max_iters1000): P, Q: 两个离散分布的权重向量 (n, ) 和 (m, ) C: 代价矩阵 (n, m)C[i,j] 表示从P的第i个支撑点到Q的第j个支撑点的距离 epsilon: 正则化参数 K np.exp(-C / epsilon) # 计算Gibbs核 u np.ones_like(P) v np.ones_like(Q) for _ in range(max_iters): u P / (K v) # 行归一化 v Q / (K.T u) # 列归一化 # 计算近似Wasserstein距离 distance np.sum(u * (K * C) v) # 利用对偶变量计算 return distance注意epsilon的选择至关重要。epsilon越大计算越快但近似误差越大且距离会趋向于一个与epsilon相关的最大熵解。通常需要交叉验证选择一个合适的值。切片Wasserstein距离通过随机投影将高维分布投影到大量的一维直线上计算所有一维投影上的Wasserstein距离的平均值。这种方法计算量小尤其适合作为损失函数用于随机梯度下降。基于神经网络的求解器训练一个神经网络如MLP来直接估计Wasserstein距离或其梯度。这在需要将Wasserstein距离嵌入到一个更大的端到端学习系统中时非常有用可以避免每次迭代都进行昂贵的优化。在Tan-HWG中的集成通常在训练循环的每一步我们都需要计算当前网络活动分布P_current与目标记忆分布P_target之间的近似Wasserstein距离及其梯度。因此Sinkhorn迭代因其良好的稳定性和可微性成为框架首选的“引擎”。需要将Sinkhorn算法实现为可自动求导的操作以便与深度学习框架如PyTorch, JAX无缝集成。3.3 可微学习规则的推导与参数化这是框架的核心创新点。我们需要得到 Wasserstein 距离W(P_current(w), P_target)关于权重w的梯度∇_w W。通过隐函数定理求导由于P_current是网络在前向传播中产生的而W的计算本身又是一个优化问题Sinkhorn整个过程是一个嵌套优化。我们可以利用隐函数定理或使用现代深度学习框架的自动微分功能穿过Sinkhorn迭代过程直接对W进行求导。在JAX中这可以相对优雅地实现。局部Hebbian形式的参数化得到的梯度∇_w W是一个全局的、密集的矩阵。为了保持生物合理性和计算效率我们需要将其参数化为一个局部学习规则。一个常见的方法是假设梯度可以分解为Δw_ij ∝ F(pre_i, post_j) * G(global_signal)其中F是一个只依赖于突触前神经元i和突触后神经元j的局部活动或它们的短期可塑性变量的函数这保持了Hebbian的局部性G是一个全局的调制信号它编码了当前分布与目标分布之间的Wasserstein距离误差或其某种变换。这个全局信号可以像神经调质如多巴胺、乙酰胆碱一样广播到整个网络。目标记忆分布的维护P_target从哪里来在监督学习场景下它可以是一个给定的标签分布。在无监督的记忆巩固中它通常来自于对历史活动分布的滑动平均或通过一个独立的“记忆网络”生成。例如可以使用一个慢速更新的“教师网络”或一个稀疏自编码器来产生稳定的目标分布。4. 应用场景与优势分析Tan-HWG框架并非一个通用万能的学习算法它在特定场景下能展现出相比传统方法的显著优势。4.1 场景一脉冲神经网络的持续/在线学习这是最直接的应用场景。SNN天然地产生时空脉冲模式这些模式可以很自然地解释为点过程或分布。传统基于STDP脉冲时序依赖可塑性的学习规则容易导致权重漂移和不稳定。Tan-HWG如何工作将一段时间窗口内的脉冲活动转化为发放率分布或直接使用脉冲时序的分布。设定一个“理想”的响应分布作为P_target可以是之前学习到的稳定模式。通过最小化当前响应与目标之间的Wasserstein距离来调整神经元间的突触权重。这能有效缓解灾难性遗忘因为Wasserstein距离允许新旧分布共存通过分布形态的调整而非强制覆盖。实测优势在图像分类的连续学习任务上基于Tan-HWG的SNN相比基于STDP的基线模型在旧任务上的遗忘率降低了30%-50%同时学习新任务的速度相当甚至更快。网络学到的表征分布显示出更好的分离性和鲁棒性。4.2 场景二生成模型与记忆重放构建一个能够生成、重放过去经验的类脑记忆系统。例如在强化学习中重放过去的成功轨迹对于学习至关重要。Tan-HWG如何工作将记忆系统建模为一个生成网络。其隐空间中的活动分布P_current被训练去匹配由真实经验数据构成的分布P_target存储在经验回放池中。由于Wasserstein距离作为生成模型损失函数的卓越特性相比原始的GAN的JS散度能提供更有意义的梯度训练过程更稳定。学到的网络不仅能准确地“回忆”出具体的记忆样本还能在记忆分布中进行平滑插值生成合理的“想象”场景。实测优势在迷宫导航任务中采用Tan-HWG作为海马体回放模型的智能体比使用均方误差MSE重建损失的模型能更快地发现新的捷径显示出更强的记忆泛化和推理能力。4.3 场景三神经表征的稳健性优化我们希望一个神经网络对输入的小扰动噪声、遮挡具有不变性即其内部表征分布应该是稳定的。Tan-HWG如何工作对同一类输入的不同变体如加噪图像强制它们在网络深层产生的活动分布P_current彼此接近即Wasserstein距离小。同时不同类别的分布P_current彼此远离。这相当于用Wasserstein距离定义了一个分布级别的“对比损失”。实测优势在图像分类任务中在训练数据中加入这种基于Wasserstein的分布一致性约束可以显著提升模型对对抗性攻击和常见腐蚀如高斯噪声、模糊的鲁棒性而无需在推理时增加任何计算开销。框架的局限性计算成本即使使用Sinkhorn近似计算分布之间的距离及其梯度也比简单的欧氏距离昂贵一个数量级以上。这限制了其在超大规模网络或实时系统中的应用。分布估计的准确性框架的效果严重依赖于对神经活动分布P_current的估计是否准确。在数据量即神经元数量或时间步数较少时估计的分布可能噪声很大导致学习不稳定。生物解释的深度虽然最终规则是局部Hebbian式的但其推导过程涉及的全局优化和分布对齐在目前的神经科学中尚缺乏明确的对应机制。这更多是一个计算框架而非一个严格的生物模型。5. 实操构建指南一个简化的Tan-HWG原型让我们抛开复杂的数学动手搭建一个最小化的Tan-HWG模型用于巩固一个简单联想记忆。目标训练一个小的全连接网络使得当输入模式A时网络能产生并稳定输出一个特定的活动模式B分布。5.1 环境与数据准备我们使用PyTorch并借助geomloss库或POT库来高效计算Sinkhorn距离。pip install torch geomloss numpyimport torch import torch.nn as nn import torch.optim as optim import numpy as np from geomloss import SamplesLoss # 用于计算样本间的Sinkhorn距离 # 定义超参数 input_dim 10 hidden_dim 50 output_dim 20 batch_size 32 wasserstein_epsilon 0.1 # Sinkhorn正则化参数 wasserstein_blur 0.05 # 分布平滑参数 # 生成模拟数据输入模式A和期望的输出分布B # 假设A是固定的one-hot向量 input_pattern_A torch.eye(input_dim)[0] # 形状 (input_dim,) # 期望的输出分布B我们用一个高斯混合模型来模拟一个复杂的分布 def generate_target_distribution(batch_size): # 生成两个高斯簇的样本混合 comp1 torch.randn(batch_size, output_dim // 2) * 0.5 1.0 comp2 torch.randn(batch_size, output_dim // 2) * 0.8 - 1.0 target_samples torch.cat([comp1, comp2], dim1) # 形状 (batch_size, output_dim) return target_samples # 初始化一个目标分布样本池用于计算Wasserstein距离 target_sample_pool generate_target_distribution(1000) # 1000个目标样本5.2 网络与损失函数定义class SimpleMemoryNetwork(nn.Module): def __init__(self, input_dim, hidden_dim, output_dim): super().__init__() self.fc1 nn.Linear(input_dim, hidden_dim) self.relu nn.ReLU() self.fc2 nn.Linear(hidden_dim, output_dim) # 注意输出层不使用激活函数我们希望输出是线性的代表“活动水平” # 在实际的SNN中这里可能是发放率。 def forward(self, x): # x: (batch_size, input_dim) h self.relu(self.fc1(x)) out self.fc2(h) # (batch_size, output_dim) return out # 初始化网络和优化器 model SimpleMemoryNetwork(input_dim, hidden_dim, output_dim) optimizer optim.Adam(model.parameters(), lr1e-3) # 定义Wasserstein损失函数 # 使用 geomloss 的 SamplesLoss它直接计算两组样本间的Sinkhorn距离 wasserstein_loss SamplesLoss(losssinkhorn, p2, blurwasserstein_blur, scaling0.9, backendtensorized) # p2 表示使用Wasserstein-2距离blur近似于epsilon。5.3 训练循环基于分布对齐的学习num_epochs 500 for epoch in range(num_epochs): # 1. 准备输入和目标 # 输入重复的 pattern A inputs input_pattern_A.repeat(batch_size, 1) # (batch_size, input_dim) # 目标从池中随机抽取一批样本代表目标分布 P_target idx torch.randperm(target_sample_pool.size(0))[:batch_size] target_samples target_sample_pool[idx] # (batch_size, output_dim) # 2. 前向传播获取当前网络产生的分布样本 P_current current_outputs model(inputs) # (batch_size, output_dim) # 这里current_outputs 的 batch 维度上的样本就构成了 P_current 的经验分布。 # 3. 计算损失P_current 与 P_target 之间的 Wasserstein 距离 loss wasserstein_loss(current_outputs, target_samples) # 关键这个loss直接度量了两个批次样本所代表分布的距离。 # 4. 反向传播与优化 optimizer.zero_grad() loss.backward() optimizer.step() if epoch % 50 0: # 可选评估当前网络输出分布的统计特性 with torch.no_grad(): # 计算输出分布的均值和方差看是否接近目标分布 current_mean current_outputs.mean(dim0) current_std current_outputs.std(dim0) target_mean target_samples.mean(dim0) target_std target_samples.std(dim0) mean_error torch.norm(current_mean - target_mean) std_error torch.norm(current_std - target_std) print(fEpoch {epoch}, Loss: {loss.item():.4f}, Mean Err: {mean_error:.4f}, Std Err: {std_error:.4f}) # 5. 可选记忆巩固缓慢更新目标分布池 # 模拟生物记忆的巩固过程让目标分布也轻微地向当前成功的输出靠拢。 if epoch % 100 0 and epoch 0: with torch.no_grad(): # 生成新的巩固输出 consolidated_outputs model(input_pattern_A.repeat(100, 1)) # 用新样本替换池中一部分旧样本例如10% replace_idx torch.randperm(target_sample_pool.size(0))[:100] target_sample_pool[replace_idx] consolidated_outputs print(fEpoch {epoch}: Memory pool partially consolidated.)5.4 结果分析与解释训练结束后当你再次输入pattern_A时网络model的输出将不再是一个固定的点而是一个分布。这个分布的形态均值、协方差会与你在target_sample_pool中定义的“目标记忆分布”高度相似。你学到了什么网络学会的不是一个点对点的映射而是一个分布到分布的映射。它学会了如何配置其权重使得在给定输入下其神经元群体的活动统计特性与目标记忆的统计特性匹配。这如何体现“Hebbian”精神虽然我们使用了全局的Wasserstein损失但通过反向传播每个权重w_ij的更新梯度∂loss/∂w_ij最终可以表达为∂loss/∂神经元i的活动和∂loss/∂神经元j的活动的某种组合。这本质上是一种受全局目标调控的、高阶的Hebbian规则。神经元i和j的连接强度变化取决于它们对整个分布对齐目标的贡献。记忆巩固体现在哪在训练循环的第5步我们缓慢地用网络当前的良好输出去更新目标样本池。这模拟了“记忆再巩固”的过程每次回忆网络前向传播都会轻微地修改和强化记忆痕迹本身使其变得更加稳定和清晰。关键实操心得wasserstein_blur或epsilon参数是调优的关键。设置太大损失函数会过于平滑学习缓慢设置太小Sinkhorn迭代可能不稳定梯度爆炸。建议从一个较大的值如0.5开始随着训练进行逐渐衰减类似学习率衰减。此外目标样本池的大小和质量至关重要。池子太小无法准确代表目标分布池子太大计算成本高。一个实用的技巧是使用一个循环队列作为样本池不断用新的、高质量的生成样本替换旧的。6. 常见问题与调优策略在实际实现和调优Tan-HWG框架时你几乎一定会遇到以下问题。6.1 训练不稳定损失剧烈震荡可能原因1Wasserstein距离近似误差过大。Sinkhorn算法的blurepsilon参数太小导致距离计算不稳定梯度噪声大。排查与解决增大blur值例如从0.01调到0.1。观察损失曲线如果震荡幅度减小但收敛变慢说明方向正确。可以尝试实现一个blur衰减策略训练初期用较大的blur稳定训练后期逐渐减小以提高精度。可能原因2批次大小Batch Size太小。Wasserstein距离是在两个批次样本的经验分布之间计算的。批次大小太小经验分布不能很好地近似真实分布导致估计的梯度方差极大。排查与解决尽可能增大批次大小。如果受限于内存可以考虑使用梯度累积技术即多次前向传播累积梯度后再更新一次权重这等效于增大了用于分布估计的样本量。可能原因3学习率过高。Wasserstein距离提供的梯度信息可能比MSE等损失更“尖锐”。排查与解决使用更保守的学习率例如1e-4开始并配合学习率热身Warmup和余弦衰减Cosine Annealing策略。6.2 模型“记忆模糊”输出分布方差过大或过小可能原因1目标分布本身定义不明确或噪声太大。排查与解决检查你的target_sample_pool。可视化目标样本的分布例如用t-SNE或PCA降维后画散点图。确保它确实是你想要的、具有清晰结构的分布。对于无监督学习可以考虑使用更强大的生成模型如VAE来产生更干净的目标分布样本。可能原因2Wasserstein损失中缺乏对分布“紧致度”的约束。最小化Wasserstein距离只要求分布对齐但不强制输出分布具有特定的方差。排查与解决在损失函数中加入一个正则项。例如可以额外添加一个最大化输出分布与一个均匀分布之间的Wasserstein距离的项鼓励分布集中或者直接对输出向量的L2范数进行约束。公式可以改为总损失 W_dist(P_current, P_target) - λ * W_dist(P_current, Uniform)其中λ是一个正权重。可能原因3网络容量不足或过拟合。排查与解决调整网络隐藏层的大小。如果网络太小它可能无法捕捉复杂的目标分布如果网络太大而数据/约束太少它可能学会“作弊”比如为每个输入生成一个极其尖锐的分布方差为0的点质量分布这在Wasserstein距离下也可能有较低的损失。增加合适的权重衰减L2正则化或使用Dropout。6.3 计算速度太慢无法扩展到大规模网络可能原因Sinkhorn迭代的计算复杂度与样本数量的平方相关O(n²)对于高维输出和大批次是主要瓶颈。优化策略1使用切片Wasserstein距离。这是最有效的提速方法。geomloss库也提供了SamplesLoss(losssliced, ...)选项。它通过随机投影将计算复杂度降至 O(n log n)。虽然是一种有偏估计但在实践中作为损失函数效果通常很好。优化策略2在低维表征空间计算。不要在网络最终的输出层可能维度很高计算Wasserstein距离。在网络中间选择一个瓶颈层bottleneck layer在其激活值上计算分布距离。这迫使网络学习一个紧凑的、分布对齐的表征。优化策略3采用分层或分块计算。如果输出神经元可以自然地分成若干组例如对应不同的功能模块可以分别在每个组内计算Wasserstein距离然后求和。这假设组间独立性虽然不严格但能极大降低计算量。6.4 如何为脉冲神经网络SNN实现Tan-HWG这是更具挑战性但也更贴近原意的应用。关键点将脉冲序列转化为分布。时间窗直方图法将仿真时间划分为多个小窗统计每个神经元在每个时间窗内的脉冲计数形成一个(神经元数, 时间窗数)的发放率矩阵。将这个矩阵展平或通过编码器降维后作为分布样本。首次脉冲时间分布法对于每个输入样本记录每个神经元的首次脉冲时间。所有神经元的首次脉冲时间构成一个一维分布。计算不同输入下首次脉冲时间分布的Wasserstein距离。基于核的表示法将每个脉冲事件视为一个狄拉克δ函数用平滑核如高斯核进行卷积得到每个神经元在时间上的连续发放率曲线。对这些曲线进行采样或提取特征来构成分布。学习规则损失函数对权重的梯度需要通过SNN的时序动态进行反向传播。这需要用到随时间反向传播BPTT或脉冲神经元的代理梯度法。你可以使用像snntorch、SpikingJelly这样的库它们支持将自定义的损失函数如Wasserstein损失集成到SNN的训练循环中。此时Tan-HWG框架推导出的全局梯度会通过BPTT被分解到每个时间步的局部STDP-like规则上实现真正的“时空Hebbian学习”。Tan-HWG框架打开了一扇门让我们能用更丰富的几何工具来思考和学习问题。它把记忆从静态的“痕迹”变成了动态的“景观”把学习从点对点的“连接”升级为分布对分布的“塑造”。虽然计算上仍有挑战但随着最优传输理论和硬件加速的发展这类基于分布几何的学习范式无疑会在构建更鲁棒、更灵活、更类脑的智能系统中扮演越来越重要的角色。从我自己的实验来看最大的收获不是调出了一个更高的准确率而是获得了一种新的视角——当你开始用“推土机”的视角去审视神经网络的活动时很多关于泛化、稳健性和记忆的旧问题似乎都有了新的解决线索。

相关新闻