深度学习 - 深度学习的数据表示

深度学习的数据表示

张量是一个数据容器。它包含的数据几乎总是数值数据,因此它是数字的容器。矩阵是二维张量。张量是矩阵向任意维度的推广。
张量的维度通常叫作轴

标量(0D 张量):仅包含一个数字的张量叫作标量(scalar,也叫标量张量、零维张量、0D 张量)
向量(1D 张量):数字组成的数组叫作向量(vector)或一维张量(1D 张量)。一维张量只有一个轴。
矩阵(2D 张量):向量组成的数组叫作矩阵(matrix)或二维张量(2D 张量)。矩阵有2 个轴(通常叫作行和列)。你可以将矩阵直观地理解为数字组成的矩形网格。
3D 张量与更高维张量:将多个矩阵组合成一个新的数组,可以得到一个3D 张量,你可以将其直观地理解为数字组成的立方体。
将多个3D 张量组合成一个数组,可以创建一个4D 张量,以此类推。
深度学习处理的一般是0D 到4D 的张量,但处理视频数据时可能会遇到5D 张量。

张量是由以下三个关键属性来定义的:
· 轴的个数(阶):例如,3D 张量有 3 个轴,矩阵有 2 个轴。这在 Numpy 等 Python 库中也叫张量的ndim。
· 形状:这是一个整数元组,表示张量沿每个轴的维度大小(元素个数)。
例如,前面矩阵示例的形状为(3, 5),3D 张量示例的形状为(3, 3, 5)。向量的形状只包含一个元素,比如(5,),而标量的形状为空,即()。
· 数据类型(在 Python 库中通常叫作 dtype):这是张量中所包含数据的类型,例如,张量的类型可以是float32、uint8、float64 等。在极少数情况下,你可能会遇到字符(char)张量。注意,Numpy(以及大多数其他库)中不存在字符串张量,因为张量存储在预先分配的连续内存段中,而字符串的长度是可变的,无法用这种方式存储。

通常来说,深度学习中所有数据张量的第一个轴(0 轴,因为索引从0 开始)都是样本轴(samples axis,有时也叫样本维度)
深度学习模型不会同时处理整个数据集,而是将数据拆分成小批量。对于这种批量张量,第一个轴(0 轴)叫作批量轴(batch axis)或批量维度(batch dimension)。

 
向量数据:每个数据点都被编码为一个向量,因此一个数据批量就被编码为2D 张量(即向量组成的数组),其中第一个轴是样本轴,第二个轴是特征轴。

时间序列数据或序列数据:当时间(或序列顺序)对于数据很重要时,应该将数据存储在带有时间轴的3D 张量中。每个样本可以被编码为一个向量序列(即2D 张量),因此一个数据批量就被编码为一个3D 张量
在这里插入图片描述
根据惯例,时间轴始终是第2 个轴(索引为1 的轴)
如:股票价格数据集:每一分钟,我们将股票的当前价格、前一分钟的最高价格和前一分钟的最低价格保存下来。因此每分钟被编码为一个3D 向量,整个交易日被编码为一个形状为(390, 3) 的2D 张量(一个交易日有390 分钟),而250 天的数据则可以保存在一个形状为(250, 390, 3) 的3D 张量中。这里每个样本是一天的股票数据。

图像数据
在这里插入图片描述

视频数据
视频数据是现实生活中需要用到5D 张量的少数数据类型之一。视频可以看作一系列帧,每一帧都是一张彩色图像。由于每一帧都可以保存在一个形状为(height, width, color_depth) 的3D 张量中,因此一系列帧可以保存在一个形状为(frames, height, width,color_depth) 的4D 张量中,而不同视频组成的批量则可以保存在一个5D 张量中,其形状为(samples, frames, height, width, color_depth)。
 
 
深度学习的几何解释
神经网络完全由一系列张量运算组成,而这些张量运算都只是输入数据的几何变换。因此,你可以将神经网络解释为高维空间中非常复杂的几何变换,这种变换可以通过许多简单的步骤来实现。
对于三维的情况,下面这个思维图像是很有用的。想象有两张彩纸:一张红色,一张蓝色。将其中一张纸放在另一张上。现在将两张纸一起揉成小球。这个皱巴巴的纸球就是你的输入数据,每张纸对应于分类问题中的一个类别。神经网络(或者任何机器学习模型)要做的就是找到可以让纸球恢复平整的变换,从而能够再次让两个类别明确可分。通过深度学习,这一过程可以用三维空间中一系列简单的变换来实现,比如你用手指对纸球做的变换,每次做一个动作。
在这里插入图片描述
让纸球恢复平整就是机器学习的内容:为复杂的、高度折叠的数据流形找到简洁的表示。现在你应该能够很好地理解,为什么深度学习特别擅长这一点:它将复杂的几何变换逐步分解为一长串基本的几何变换,这与人类展开纸球所采取的策略大致相同。深度网络的每一层都通过变换使数据解开一点点——许多层堆叠在一起,可以实现非常复杂的解开过程。

发布了27 篇原创文章 · 获赞 2 · 访问量 203

猜你喜欢

转载自blog.csdn.net/weixin_43575791/article/details/105466076