其他
【源头活水】视觉Transformer中的位置嵌入
“问渠那得清如许,为有源头活水来”,通过前沿领域知识的学习,从其他研究领域得到启发,对研究问题的本质有更清晰的认识和理解,是自我提高的不竭源泉。为此,我们特别精选论文阅读笔记,开辟“源头活水”专栏,帮助你广泛而深入的阅读科研文献,敬请关注。
地址:https://zhuanlan.zhihu.com/p/368188333
01
从 南京 到 上海
02
03
04
import numpy as np
import matplotlib.pyplot as plt
# Code from https://www.tensorflow.org/tutorials/text/transformer
def get_angles(pos, i, d_model):
angle_rates = 1 / np.power(10000, (2 * (i//2)) / np.float32(d_model))
return pos * angle_rates
def positional_encoding(position, d_model):
angle_rads = get_angles(np.arange(position)[:, np.newaxis],
np.arange(d_model)[np.newaxis, :],
d_model)
# apply sin to even indices in the array; 2i
angle_rads[:, 0::2] = np.sin(angle_rads[:, 0::2])
# apply cos to odd indices in the array; 2i+1
angle_rads[:, 1::2] = np.cos(angle_rads[:, 1::2])
pos_encoding = angle_rads[np.newaxis, ...]
return pos_encoding
tokens = 10
dimensions = 64
pos_encoding = positional_encoding(tokens, dimensions)
print (pos_encoding.shape)
plt.figure(figsize=(12,8))
plt.pcolormesh(pos_encoding[0], cmap='viridis')
plt.xlabel('Embedding Dimensions')
plt.xlim((0, dimensions))
plt.ylim((tokens,0))
plt.ylabel('Token Position')
plt.colorbar()
plt.show()
05
本文目的在于学术交流,并不代表本公众号赞同其观点或对其内容真实性负责,版权归原作者所有,如有侵权请告知删除。
“源头活水”历史文章
多任务权重自动学习论文介绍和代码实现
Covariate Shift: 基于机器学习分类器的回顾和分析
NAS中基于MCT的搜索空间采样方法
LSNet: Anchor-free新玩法,只用一个head统一目标检测,实例分割,姿态估计三种任务
CV+Transformer之Swin Transformer
爆火的 Swin Transformer 到底做对了什么
mBART:多语言翻译预训练模型
NiN 论文阅读
强化学习论文阅读笔记:RODE
实例分割(SOLOv2|NIPS2020)——增强版SOLO
ICLR2021 | 显存不够?不妨抛弃端到端训练
EEGdenoiseNet:使用神经网络进行EEG去噪
Zero-Shot Learning in Modern NLP 现代NLP中的零样本学习
XLNet--自回归语言模型的复兴
更多源头活水专栏文章,
请点击文章底部“阅读原文”查看
分享、在看,给个三连击呗!