当前位置: 首页 > news >正文

长沙网站建设费用北京软件开发培训学校

长沙网站建设费用,北京软件开发培训学校,百度推广助手app,新手怎么样学做网站关于SAM中decomposed Relative Positional Embeddings的理解。 relative positional embedding的一种实现方式是:先计算q和k的相对位置坐标,然后依据相对位置坐标从给定的table中取值。以q和k都是77为例,每个相对位置有两个索引对应x和y两个…

关于SAM中decomposed Relative Positional Embeddings的理解。

relative positional embedding的一种实现方式是:先计算q和k的相对位置坐标,然后依据相对位置坐标从给定的table中取值。以q和k都是7×7为例,每个相对位置有两个索引对应x和y两个方向,每个索引值的取值范围是[-6,6]。(第0行相对第6行,x索引相对值为-6;第6行相对第0行,x索引相对值为6;所以索引取值范围是[-6,6])。这个时候可以构建一个shape为[13,13, head_dim]的table,则当相对位置为(i,j)时,position embedding=table[i, j]。(i,j的取值范围都是[0, 12])具体可参考:有关swin transformer相对位置编码的理解

decomposed Relative Positional Embeddings的思想在于,分别计算x和y两个方向上计算相对位置坐标,并分别从两个table中取出对应的位置编码,再将两个方向的编码相加作为最终的编码。

以q为4×4和k是4×4为例,在x和y方向上,每个索引值的取值范围是[-3,3],所以需要构建两个shape为[7, head_dim]的table:

if use_rel_pos:assert (input_size is not None), "Input size must be provided if using relative positional encoding."# initialize relative positional embeddingsrel_pos_h = nn.Parameter(torch.zeros(2 * input_size[0] - 1, head_dim))rel_pos_w = nn.Parameter(torch.zeros(2 * input_size[1] - 1, head_dim))

然后依据q和k的shape来计算每个方向上对应的相对位置编码:

def get_rel_pos(q_size: int, k_size: int, rel_pos: torch.Tensor) -> torch.Tensor:# q_size和k_size分别为当前方向上,q和k的个数, rel_pos为当前方向上定义的tableq_coords = torch.arange(q_size)[:, None] # shape: [4, 1],给当前方向上每个q编号k_coords = torch.arange(k_size)[None, :]  # shape:[1, 4],给当前方向上每个k编号relative_coords = (q_coords - k_coords) + (k_size - 1) # q_coords - k_coords就是当前方向上每个q相对于k的位置,加上k_size - 1是为了让相对位置非负return rel_pos[relative_coords.long()] # 依据相对位置从预定义好的table中取值

依据q和每个方向上对应的位置编码来计算最终的编码:

    q_h, q_w = q_sizek_h, k_w = k_sizeRh = get_rel_pos(q_h, k_h, rel_pos_h) # 获取h方向的位置编码,shape:[4, 4, head_dim]Rw = get_rel_pos(q_w, k_w, rel_pos_w) # 获取w方向的位置编码,shape:[4, 4, head_dim]B, _, dim = q.shaper_q = q.reshape(B, q_h, q_w, dim)rel_h = torch.einsum("bhwc,hkc->bhwk", r_q, Rh) # r_q与Rh在h方向矩阵乘rel_w = torch.einsum("bhwc,wkc->bhwk", r_q, Rw)# attn是自注意力机制计算得到的注意力图attn = attn.view(B, q_h, q_w, k_h, k_w) + rel_h[:, :, :, :, None] + rel_w[:, :, :, None, :]).view(B, q_h * q_w, k_h * k_w)return attn
http://www.yayakq.cn/news/633194/

相关文章:

  • 移动端网站建设的方案企业logo设计网站
  • 福州如何做百度的网站推广拉新任务的平台
  • 网站seo怎么优化个人建网站成本
  • 淮安做网站的有多少贵州灵溪seo整站优化
  • 做互联网的网站长沙网站关键词seo
  • 网站域名使用期花钱制作网站有什么好处
  • 做网站用的腾讯云服务器前端开发师
  • 济南历山北路网站建设卖护肤在哪个网站做宣传好
  • 网站运营管理龙岩58同城
  • 哈尔滨门户网站制作哪家好软件开发文档清单
  • 网站建设哪里好点永久免费自助建站系统
  • 网站建设 数据分析网站建设思路方法
  • 淘宝客网站建设儿童教育自适应网站模板
  • 加强网站微信信息编辑队伍建设专门做库存的网站
  • 沈阳建站模板展示网络营销技巧和营销方法
  • 网站开发的完整流程图wordpress3万篇文章优化
  • 云阳网站制作网站建设工作计划表
  • 深圳建设外贸网站wordpress文章提交
  • 上海高端网站制作哈尔滨响应式网站建设公司
  • 巩义郑州网站建设创意网名女
  • 网站快速收录平台青岛网站排名公司
  • 无锡公司网站建设电话高性价比网站建设
  • 门户网站建设的重要性服务器主机搭建网站
  • 上海网站设计找哪家陕西省建设监理协会证书查询网站
  • 张家港市规划建设网站wordpress优酷视频插件下载
  • 哪些网站是动态的网页设计公司有什么部门
  • 网站如何做监测链接三分钟做网站
  • 包头网站开发公司做棋牌游戏网站
  • 建网站的公司哪个好uniapp怎么做淘客网站
  • 铆钉机 东莞网站建设公司网站域名实名认证怎么做