张量最简单一句话讲透【(张量、向量、数组、矩阵)&&维度】

张量

1.为什么要学习张量

这篇文章最主要的目的是帮助AIer们理解这些概念,因为本人在数学并不是很擅长,因此如果与数学中的概念有不同,请各位大神指正。
在刚开始学习机器学习的过程中很多人都会被两个概念难住,那就是张量(Tensor)维度(dimension)。但是这两个概念又是贯穿整个机器学习的基石。(看TensorFlow的命名就知道啦~,整个机器学习的过程就是张量这种数据的流动和变动)那数学基础并不是很好的同学们到底应该怎么理解张量呢,好下面我们进入干货时间。

2.怎么快速理解张量

张量大家刚开始听起来可能是一个新的概念,但是其实从小学、初中开始我们就一直在接触不同的张量。下面举几个例子。

2.1简单理解

首先告诉大家向量就是一个1维张量,矩阵是一个二维张量。他们都是张量,只不过dimension不同。(包括单个数字也是一个张量,不过维度不定,对于初学者来说可以理解为一个0维向量吧)
由此可以看出这些我们常见的数学概念都是**张量(Tensor)**的子集。
来看看他们在代码中的表达方式。

{
"向量1":[1,2],		//维度:1,长度:2
"向量2":[1,2,3],		//维度:1,长度:3

"矩阵1":[[1,2],		//维度:2,长度:2*2
		[2,3]],		
		
"矩阵2":[[1,2,3],	//维度:2,长度:3*3
		[2,3,4],
		[3,4,5]]
}

由上面发现规律大家发现没有,如果你只是想知道这个张量是几维的,只要看这是几维数组就可以了,更简单的,数一下最前面有几个中括号[就ok了呗。确实是这样没错。这里也解决了上面说的一个坑,为什么单个数字可以是任意维度的Tensor,因为1可以是[1],[[1]],[[[1]]]。

2.2深度理解

根据上面的方法,我们立马就能得出一个张量到底是几维的,但是比较好学的同学可能就想不能知其然不知其所以然这样。那我们不妨从几个实际例子来理解吧。
张量存在的意义是什么呢,我认为张量最大的作用是能够代表现实世界中我们想要进行处理的任何模型。

2.2.1文字表示

比如说我们想用一个通用的模板来表示任意一段文字。
那么我们怎样定义不同的文本呢,文本是由多句话组成,每句话是由多个单词组成,每个单词我们用不同字母(当然也可以是不同的编码)来构成,那么维度就可以这么设计(句子,单词,字母)(当然实际上在处理的时候不是这样表示的)。这代表一个三维张量就可以构成任意一段文字。

2.2.2图片表示

如果我们想表示一张图片呢,我们来看看图片的构成方式。我们知道图片是由像素构成的,那么我们很容易想到一张2828的图片可以用2828的一个张量储存,这样储存的话,这张图片是一个黑白图片,如果加一个维度来储存这个像素的具体颜色,是不是就能得到任意一张彩色图片呢。ok那比如我们用rgb模式来表示一个像素的颜色吧,那么这个张量就拓展成了32828(颜色,像素x坐标,像素y坐标),如果想要表达多张图片呢,简单,多加一个维度来代表是哪张图片就ok了(可以理解成一个文件夹中的不同图片吧),那么一个(n32828)就可以代表一个有n张2828彩色图片的图库。

由此我们看出,张量的其中一项很重要的意义就是能够用一种数据方式表达这个世界上任意一个物体(因为我们要对这个物体进行运算,就必须先转化成数据)。是不是很神奇呢。

  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值