Connecting Test Time Predictions to Training Patterns via Spotlights of Attention

本文探讨了神经网络中线性层的对偶形式,揭示其与注意力机制的关系,通过实验展示了如何通过注意力权重理解网络在测试时利用训练模式。尽管存在数据集大小限制和分析局限,这一新视角为理解神经网络行为提供了新途径。

本文是NN相关文章,针对《The Dual Form of Neural Networks Revisited: Connecting Test Time Predictions to Training Patterns via Spotlights of Attention》的翻译。

重新审视神经网络的对偶形式:通过注意力焦点将测试时间预测与训练模式联系起来

摘要

通过梯度下降训练的神经网络(NN)中的线性层可以表示为键值记忆系统,该系统存储所有训练数据点和初始权重,并在整个训练体验中使用未规范化的点注意力产生输出。虽然自20世纪60年代以来,这在技术上就已经为人所知,但之前没有任何工作以这种形式有效地研究神经网络的操作,可能是由于令人望而却步的时间和空间复杂性以及不切实际的模型大小,所有这些都随着可能变得非常大的训练模式的数量而线性增长。然而,这种对偶公式提供了一种可能性,可以通过检查相应的注意力权重,直接可视化神经网络如何在测试时利用训练模式。我们在单任务、多任务和连续学习环境中对小规模监督图像分类任务以及语言建模进行了实验,并讨论了这种观点的潜力和局限性,以更好地理解和解释神经网络如何利用训练模式。我们的代码是公开的。

1 引言

2 前言

3 梯度下降训练神经网络中线性层的对偶形式

4 相关工作

5 实验

6 讨论与局限性

对偶公式允许在给定测试输入的情况下,明确地可视化所有训练模式的注意力权重。虽然我们认为这种观点为分析神经网络提供了一个新的视角,但它也有几个局限性。首先,内存存储需求迫使我们使用小型数据集进行实验(更多讨论见附录D)。另一方面,存储需求随着训练集的大小而线性增长,而计算硬件仍然随着时间的推移而成倍地便宜。也就是说,很快我们就可以分析在更大的数据集上训练的更大的模型。其次,我们的分析不适用于已经训练好的模型。此外,它仅限于注意力权重的研究,与基于注意力的系统的传统可视化一致,并且只能显示哪些训练数据点是组合的。它没有说明如何将组合表示转换为有意义的输出,例如,在引言中提到的大型生成NN的情况下。

7 结论

我们重新讨论了深度神经网络中线性层的感知器的对偶形式。对偶形式用现在流行的关键/价值/注意力概念来表达,它提供了新颖的见解和可解释性。我们可视化并研究相应的注意力权重。这允许将训练数据点连接到测试时间预测,并在图像和语言模态上观察各种场景中的许多有趣模式。虽然我们的分析仍然局限于相对较小的数据集,但它为分析和解释深层神经网络的行为开辟了新的途径。

### 解决 MySQL 和其他服务的连接超时问题 对于 MySQL 数据库,在默认配置下,当一个连接处于空闲状态超过 8 小时时会被自动断开。然而,像 c3p0 或 DBCP 这样的数据库连接池可能会继续认为这些已经被关闭的连接仍然可用,从而导致客户端尝试使用已失效的连接并引发异常[^1]。 为了防止这种情况的发生,可以调整 `wait_timeout` 参数来改变服务器端允许的最大非活动时间长度: ```sql SET GLOBAL wait_timeout=28800; ``` 这行命令将全局范围内的等待超时设为 8 小时(单位是秒),但这仅适用于新建立起来的新会话;如果希望立即生效于现有会话,则应去掉 `GLOBAL` 关键字。 另外一种方法是在应用层面上处理这个问题——通过修改连接池的相关属性以确保不会因长时间未使用的连接而导致错误发生。例如,在 C3P0 中可以通过设置 `maxIdleTimeExcessConnections` 来控制多余的闲置连接被回收的速度,或者设定合理的测试查询频率 (`idleConnectionTestPeriod`) 来验证连接的有效性。 对于 ASP.NET 应用程序中的请求超时情况,通常是因为应用程序本身的请求超时设置过短或是连接池里的连接存活期限到期所引起的。针对前者,可以在 Web.config 文件里适当增加 `<httpRuntime executionTimeout="..." />` 属性值;而对于后者,则需考虑延长连接池中连接的生命期,默认通常是 60 秒钟[^2]。 至于 Elasticsearch (ES),遇到 `java.net.ConnectException: Timeout connecting to [...]` 错误可能意味着 ES 响应速度不够快以至于超过了客户端定义好的响应时限。此时可采取措施之一就是增大健康检查机制下的响应超时参数 `response-timeout` 的数值,比如将其改为更长的时间间隔如 5 秒甚至更多,具体取决于实际需求和网络状况[^3]。 ```yaml management: endpoints: web: exposure: include: ["*"] health: elasticsearch: response-timeout: 5s ``` 上述 YAML 片段展示了如何在 Spring Boot 配置文件 application.yml 中更改此选项。 #### 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值