人工智能:多头自注意力(Multi-Head Attention)机制
Self Attention 利用 Q、K、V均为同一个输入向量映射而来的Encoder-Decoder Attention,它可以无视词之间的距离直接计算依赖关系,能够学习一个句子的内部结构,实现也较为简单并且可以并行计算。
Multi-Head Attention同时计算多个Attention,并最终得到合并结果,通过计算多次来捕获不同子空间上的相关信息。
Self Attention 利用 Q、K、V均为同一个输入向量映射而来的Encoder-Decoder Attention,它可以无视词之间的距离直接计算依赖关系,能够学习一个句子的内部结构,实现也较为简单并且可以并行计算。
Multi-Head Attention同时计算多个Attention,并最终得到合并结果,通过计算多次来捕获不同子空间上的相关信息。
Baichuan 2 是百川智能推出的新一代开源大语言模型,采用 2.6 万亿 Tokens 的高质量语料训练。 Baichuan 2 在多个权威的中文、英文和多语言的通用、领域 benchmark 上取得同尺寸最佳的效果。技术报告:https://arxiv.org/abs/2309.10305。本次发布包含有 7B、13B 的 Base 和 Chat 版本,并提供了 Chat 版本的 4-bits 量化。所有版本对学术研究完全开放。同时,开发者通过邮件申请并获得官方商用许可后,即可免费商用。
除了训练了 2.6 万亿 Tokens 的 Baichuan2-7B-Base 模型,还公开了在此之前的另外 11 个中间 checkpoints(分别对应训练了约 0.2 ~ 2.4 万亿 Tokens)供社区研究使用,https://huggingface.co/baichuan-inc/Baichuan2-7B-Intermediate-Checkpoints。
笔者在去年发表的论文 “Deformation dynamics of a neutron-irradiated aluminum alloy: an in-situ synchrotron tomography study”, Acta Mater., 243, 118493 (2023). 中公开了一种对三维结构中复数个目标的追踪方法(Appendix A. Particle tracking analysis, PTA)。该方法摒弃了基于三维矩阵卷积的图像配准方法,而依赖具体对象的结构参数信息,实现目标追踪时计算效率的质变以及目标对目标的映射追踪。然而该方法仍有两点不足:
与上述第一点不谋而合的是,深度学习领域往往需要衡量两个对象的相似性,特别是在信息检索,模式匹配等方向上。本文将介绍深度学习领域衡量复杂网络中节点相似程度的工作,并简要构思 PTA 方法的后续改进计划。
在搜索的业务场景下,基于一个现有的数据候选集(dataset),需要对新来的一个或者多个数据进行查询(query),返回在数据候选集中与该查询最相似的 Top K 数据。
The Wigner distribution, often also Wigner-Ville distribution, is a time-frequency distribution, like the spectrogram, with very interesting properties and a high resolution in both the time and frequency domains. It has the benefits of ideal resolution properties [1] but it also includes signal-dependent interference terms [1] which are mathematical attributes but do not represent pure signal terms.
The world of signal processing is a fascinating blend of mathematics, engineering, and computer science. From audio to images, and even to more abstract concepts like financial time series, the ability to manipulate and analyze signals is crucial. Among the many tools available to the signal processing engineer, the Wavelet Transform stands out due to its flexibility and adaptability. In this article, we’ll delve deep into the intuition behind wavelets, show practical examples, and provide insightful visualizations using Python.
The short-time Fourier transform (STFT) is a Fourier-related transform used to determine the sinusoidal frequency and phase content of local sections of a signal as it changes over time. In practice, the procedure for computing STFTs is to divide a longer time signal into shorter segments of equal length and then compute the Fourier transform separately on each shorter segment. This reveals the Fourier spectrum on each shorter segment. One then usually plots the changing spectra as a function of time, known as a spectrogram or waterfall plot, such as commonly used in software defined radio (SDR) based spectrum displays. Full bandwidth displays covering the whole range of an SDR commonly use fast Fourier transforms (FFTs) with 2^24 points on desktop computers.
“如果必须坠落,就让我坠落。 我将会成为的那个人,一定会接住我。” —— Sheryl Sandberg
近日梦断魂销之际,友人推荐 Facebook 前首席执行官 Sheryl Sandberg 在丈夫去世的极度悲痛之中所著的$\lfloor$另一种选择$\rceil$。Sheryl Sandberg 敞开心扉,从她发现丈夫猝然倒在健身房的地板上开始,描述了丈夫去世后感受到的极度悲伤与孤独。然而,本书并没有局限于作者的个人经历,而是与 Adam 关于培养复原力的开放性研究结合起来,深入探讨了我们该如何克服人生中的逆境,包括疾病、失业、性侵、自然灾害、战争、暴力等不幸。同时,来自不同群体的案例也揭示了每个人都可以培养及提升内在坚韧的复原力,并且拥有重获快乐的能力。
无论是蹉跎往日,还是做出艰难抉择的今天,我都清醒地意识到感情丰富是强者的大忌,但仍无法摆脱沉沦的命运。或许只有经历过起起伏伏、深刻痛苦的人才能体会 Sheryl Sandberg 的感受,坚持走过坎坷的人才更理解其中的勇敢、真挚、温暖和希望。
PyTorch 数据加载实用程序的核心是 torch.utils.data.DataLoader
类。它表示数据集上的 Python 可迭代对象,支持:映射式和可迭代式数据集;自定义数据加载顺序;自动批处理;单进程和多进程数据加载;自动内存固定。这些选项由 DataLoader
的构造函数参数配置,其签名为:
1 | DataLoader(dataset, batch_size=1, shuffle=False, sampler=None, |
本文将详细介绍了这些选项的效果和用法。内容参考 Pytorch 官方文档:https://pytorch.org/docs/stable/data.html#module-torch.utils.data
在不同的 PyTorch 版本或不同平台上,不能保证完全可复现的结果。此外,即使使用相同的随机种子,CPU 和 GPU 执行之间的结果也可能无法复现。但是,您可以采取措施来限制平台、设备和 PyTorch 版本的非确定性行为来源。首先,您可以控制随机性的来源,这些来源会导致应用程序的多次执行表现不同。其次,您可以将 PyTorch 配置为避免对某些操作使用非确定性算法,以便在给定相同输入的情况下,对这些操作的多次调用将产生相同的结果。最后,在执行多进程数据加载时还需注意控制加载的随机性工作进程种子。本文内容参考 Pytorch 官方文档:https://pytorch.org/docs/stable/notes/randomness.html#controlling-sources-of-randomness
Deterministic operations are often slower than nondeterministic operations, so single-run performance may decrease for your model. However, determinism may save time in development by facilitating experimentation, debugging, and regression testing.