人工智能中常用的L1和L2范数是什么?如何实现它?

人工智能中常用的L1和L2范数是什么?如何实现它?关于 dim 的解释众说纷纭 这里提供一个简单的记忆方式 假设输入的形状是 如果指定 dim 0 输出的形状就是或者 如果指定 dim 1 输出的形状就是或者 如果指定 dim 2 输出的形状就是或者 size 中是否有 1 取

欢迎大家来到IT世界,在知识的湖畔探索吧!

专栏推荐

正文

L1范式

就是将向量中所有元素的绝对值相加求和

人工智能中常用的L1和L2范数是什么?如何实现它?

以上是对a、b、c三个向量求L1范式,都是8

L2范式

L2是所有元素平方和然后再开根号

人工智能中常用的L1和L2范数是什么?如何实现它?

还可以在向量的指定维度求范式,需要知道的是,在向量的哪个维度取范式,那么求出来的范式的维度就是原始向量消掉所取维度后的向量维度。

人工智能中常用的L1和L2范数是什么?如何实现它?

B的shape为(2,4)

对b在1维度上求范式,那么也就是b的维度为消掉原始b在1维度上的4,那么它的维度就是(2)

最大值man、最小值min、均值mean,累乘prod,求和sum,最大值索引argmax

求最小值索引argmin

如果argmax和argmin没有参数,那么它会求将一个向量拉伸开,也就是拉成dim=0之后求下标

如果要是想让向量不伸展开,那么我们可以再指定维度上求最大最小的索引

a. argmin(dim=0)这个表示再dim=0的维度上求最小值得索引

人工智能中常用的L1和L2范数是什么?如何实现它?

如图所示,求dim=1维度上的最大值,因为a得维度为(4,5)所以求最大值之后dim为1了,keepdim=True的意思就是说要保持维度,如上所示求最大值之后的dim仍为2

取最大或者最小的几个值

人工智能中常用的L1和L2范数是什么?如何实现它?

a.topk(2,dim=1)表示求a在dim=1维度上最大的两个值

b. topk(1,dim=1)表示求a在dim=1维度上最大的一个值

如果要是想要求最小的几个值可以

a.topk(2,dim=1,largest=False)

直接求第几个(从1开始)最小的值

人工智能中常用的L1和L2范数是什么?如何实现它?

如果不keepdim,那么输出的维度为[4]

比较>,>=,<,<=,!=,==会对向量的每个元素进行判断比较

Torch.equal(a,b)等价于torch.equal(a,b)

会对a,b向量的每一个维度进行比较,相等则返回1,不等返回0

tensor的操作

x = torch.randn(4, 3,1)

print(x)

max_value, max_idx = torch.max(x, dim=2)#我们约定0为第一维度,1为第二维度,2为第三维度

#print(max_value)

sum_x = torch.sum(x, dim=2)

print(sum_x)

归并操作此类操作会使输出形状小于输入形状,并可以沿着某一维度进行指定操作

人工智能中常用的L1和L2范数是什么?如何实现它?

以上大多数函数都有一个参数dim,用来指定这些操作是在哪个维度上执行的。关于dim(对应于Numpy中的axis)的解释众说纷纭,这里提供一个简单的记忆方式:

假设输入的形状是(m, n, k)

· 如果指定dim=0,输出的形状就是(1, n, k)或者(n, k)

· 如果指定dim=1,输出的形状就是(m, 1, k)或者(m, k)

· 如果指定dim=2,输出的形状就是(m, n, 1)或者(m, n)

size中是否有”1″,取决于参数keepdim,keepdim=True会保留维度1。注意,以上只是经验总结,并非所有函数都符合这种形状变化方式,如cumsum。

逐元素比较操作

人工智能中常用的L1和L2范数是什么?如何实现它?

· t.max(tensor):返回tensor中最大的一个数

· t.max(tensor,dim):指定维上最大的数,返回tensor和下标

· t.max(tensor1, tensor2): 比较两个tensor相比较大的元素

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/98366.html

(0)
上一篇 4天前
下一篇 4天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信