笔记 | 什么是张量(tensor)& 深度学习

Tensor,中文叫张量,是深度学习的一个基础,不然TensorFlow也不会叫Tensor和Flow了。关于张量的讨论,网上已经有很多了,但是能不能简简单单让我理解和记住呢?因此我来总结一下在深度学习中「什么是张量」

提示:本文为初学笔记,仅为提供相关的讨论,谢谢。

在深度学习里,Tensor实际上就是一个多维数组(multidimensional array)

而Tensor的目的是能够创造更高维度的矩阵、向量

从知乎的相关讨论中截图几张说明的图:什么是张量 (tensor)?

现在将三维的张量用一个正方体来表示:

这样子可以进一步生成更高维的张量:

这有啥用呢?在用TensorFlow处理更高维数据结构的时候,最好可以能够在脑子里相出数据的形状。

举个简单的例子,彩色图像文件(RGB)一般都会处理成3-d tensor,每个2d array中的element表示一个像素,R代表Red,G代表Green,B代表Blue:

而用Python举例子的话,来看看下面这个表格:

再来看看Tensor对象的3个属性:

  1. rank:number of dimensions
  2. shape: number of rows and columns
  3. type: data type of tensor's elements

根据上面的张量说明图,是不是可以将属性和对象对应起来呢?

最后总结一下:在深度学习中,Tensor实际上就是一个多维数组(multidimensional array),其目的能够创造更高维度的矩阵、向量。我们通过图示和Python的实例能够想象Tensor的空间构造以及如何用Tensor的属性来构造Tensor。

以上严谨吗?不,以上只是帮你理解什么是Tensor,如果要更深度了解Tensor的几何意义,可以看这个两个视频:

Tensors for Beginners 0: Tensor Definition

Tensors for Beginners 0https://www.zhihu.com/video/1043979324336197632

Tensors for Beginners 1: Forward and Backward Transformations (contains error; read description!)

Tensors for Beginners 1https://www.zhihu.com/video/1043980329467564032

神经网络的应用门槛已经很低,使用Python和第三方库可以做很多事,比如办公自动化、爬虫数据采集、数据分析,机器学习人工智能,大家可以选一些自己感兴趣的方向去深研,也可以到知乎旗下的职业教育品牌「知学堂」app 中有看一下关于这些方向的免费教学视频,感兴趣的可以看一下:

相关资料:

[1]深度学习TensorFlow基础(一): tensor and operation

[2]tensorflow中张量的理解 - pandamax的博客 - CSDN博客

[3]深度学习框架太抽象?其实不外乎这五大核心组件 | 雷锋网

编辑于 2023-04-07 13:55・IP 属地广东