人工智能计算的基础——张量

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@cheva·
0.000 HBD
人工智能计算的基础——张量
![](https://images.ecency.com/DQmd3gsqkGuoLd4MsY7dm2D5kz5mgetaNq8WknXkEBeX52b/image.png)



题图:cheva用AI创作


接着系统学习一下人工智能的知识。凡事都要从基础讲起,人工智能看上去很神奇,很神秘。现在已经可以完成一些原本以为只有人类才能完成的活动,比如学习书本上的知识,分辨图像,识别图像,甚至创作图像,识别语音,在不同的语言之间进行翻译......。但归根结底,这些任务是由计算机来完成的,就像它的名字一样,计算机最擅长的工作就是计算数字。所以人工智能算法的本质也就是大量数字的计算。计算数字这件事我们从小学就开始学习,比如现在小宝贝就开始学20以内的加减法运算。我们大多数成年人应该都是非常熟练的掌握了加减乘除的四则运算,受过高等教育的话,还知道怎么计算微积分。但是人工智能中的运算和这些并不完全相同,因为它的计算量太大,需要更有效率的处理方式。

这个处理方式就是人工智能学习的基础——张量。学过物理的人应该对这两个概念非常熟悉,一个是标量,一个是矢量,标量就是有大小,没有方向的量。比如我们的身高体重,还有两地之间的距离长短,这些就都是标量。而既有大小又有方向的就是矢量,最常见的例子就是速度,速度的方向也是非常重要的一个方面,如果想用数字来表示这些的话。标量往往只有一个数字就能够表达了,比如说我买了2公斤的蔬菜。而矢量如果在一个二维坐标系中,则一般需要两个坐标才能确定。那么张量就是这两个概念的延伸。张量就是一个多维的数组,从某种意义上来说,标量和始量只是张量的一个子集,如果一个张量它的维度是零维,那么它就是标量,如果是二维,它就是一个始量,如果是三维,它就是我们线性代数中的一个矩阵。当然具体张量的维度和形状是没有任何限制的,这样我们就可以把现实系列中的各种事物转化成数字,然后把它放进张量里面,交给人工智能算法来处理。

最简单的例子就是图片,一张彩色的图片,实际上是由三原色构成的,也就是红,绿,蓝,三种颜色。所以我们可以把它分成三种通道,而一张图片上的每一个像素点,可以用一个二维坐标来表示,每个像素点则对应着三种颜色的强弱,可以转化为一个数值,这样我们就可以把一张图片,转换成一个三X图片长度X图片宽度的张量来进行处理。既然张量如此与众不同,那么它的处理方式也绝对不会是加减乘除,这类我们熟悉的计算方式。简单来说,主要有以下几种:元素相加、元素相乘、转置,还有我们现在使用的PyTorch深度学习框架中常用的堆叠和挤压等等,但是使用的最频繁的就是矩阵相乘,这个计算方式和线性代数中的矩阵相乘是完全一样的。
👍 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,