光环大数据分享 深度学习的高维度问题
数据的高维度问题
深度学习的目标是基于某些给定信息对未知变量进行预测。需要预测的变量,一般是单个变量,若是需要预测多个变量,则也拆成多个深度学习模型处理,因此对每个模型还是输出单个变量。模型输出的单个变量称为标量,英文是Scalar,深度学习模型的输出一般不涉及高维问题。在模型进行预测时,需要基于一些输入的信息进行判断,这些输入信息往往不是单一变量,而是多个变量,因此深度学习中数据的高维问题往往是指模型输入变量的高维问题。
向量(Vector)
对深度学习模型来说,向量是最基本的输入数据的结构,每个维度上的数据可以表示一个进行预测的参考信息。一般的预测问题中,输入数据都可以用向量表示,向量中的各个值可类比于多元线性回归模型中的各个自变量的作用。
矩阵(Matrix)
深度学习模型的输入可以是矩阵。矩阵可以理解为2维的数据平面,输入数据存储在一个棋盘一样的网格里。每个数据点占据这个“棋盘”的一个格子。当需要提取一个格子里的数据时,需要给定“行”和“列”两个坐标。有人会问,我在做深度学习时,只需要知道输入是多个“自变量”就可以了,为什么需要用一个数据平面表示。其实,任何输入数据都可以只用向量表示,而无需用更复杂的结构来表示。实际情况是,对于很多深度学习框架,在底层仍然是将数据矩阵转化为向量进行计算。
既然如此,为什么会有矩阵形式的输入存在呢?道理也许是简单的让人无语的,只是为了方便!深度学习的很多模型是用于处理图片的,将图片的像素作为输入,每张图片按照网格进行切分成存储着像素信息的矩阵。矩阵的每个格子里,都存储着一个数字用于表示这个像素上有没有“点”。整张图片就用这个包含着有“点”或者没有“点”的网格的矩阵表示出来了。
张量(Tensor)
除了矩阵以外,还有一种数据的输入格式,叫“张量”。数据存储在一条线上,叫向量,存储在一个平面上,叫矩阵,再复杂点,就是存储在一个立方体上… …对!数据可以存储在更高维度的空间上。存储在立方体上,就叫“方块”?哦不,叫张量!或者确切地说,叫3维张量。张量还有更高维度的形式,4维,5维,…假设宇宙中存在这样的数据结构。一般来说,4维的张量就可以处理大多数深度学习任务了,更高维的应用也有,比较不接地气而已。张量是一个泛化的概念,可以描述任意空间结构的数据。这里的维度不是数据的维度,而是指数据存储结构的维度。向量是1维的张量,矩阵是2维的张量。因此,引入了张量的概念,就不需要考虑向量或者矩阵的定义了,都是Tensor。因此,在深度学习的程序框架内,一般都会提Tensor,很少讲Vector或者Matrix。因为,Vector和Matrix本质上也是Tensor!
接着上面的说,一个3维的Tensor作为输入,本质上和一个Vector作为输入没区别,数据搞这么复杂,实际上还是因为数据原本就是长这么恶心的。怎么讲呢?3维的张量也是用于处理图片的输入,只不过这个图片的内容更加丰富!一个给定大小的平面可以被划分成一个网格矩阵,用网格里的数字表示某个位置是不是要画“点”,从而来描述一个给定的图片。然而,基于矩阵的方法只能表示一个黑白的图片,而无法表示彩色的图片,因为这个网格平面里并没有包含任何和与点的颜色有关的信息。于是,考虑到R.G.B三原色就可以表示任何色彩,故可以用三个矩阵描述这个画面,每个矩阵对应一个颜色通道。这样,一幅画可以表示成多个“画层”的叠加结果,每一层对应一个R.G.B颜色。由于画面是多层的结构,故除了有长和宽,也有高的空间信息。
除了在深度学习模型的初始输入层的数据输入具有3维的张量的结构,其在中间的隐层中,也会出现3维的张量结构。隐层的张量结构主要存在于CNN(Convolutional Neural Networks)的应用中,即卷积神经网络。在CNN中的每个卷积层,包含多个卷积核,每个卷积核用于捕捉画面中某种特定的结构,即通过卷积操作,每个卷积核将对输入的图片进行转化生成一个对应的降维后的“画层”。因此,即便CNN的隐层输入只有一个“画层”,但由于卷积核很多,仍然会出现多个“画层”,从而生成3维的张量的数据结构。
更高维的情况 (Higher Dimensions)
除了3维的张量,还存在更高维度的张量,比如4维,可以考虑时间的维度。例如基于深度学习模型识别某个影片中出现的人物,某个输入的像素点表示的含义,不仅和像素点的位置、颜色相关,还和像素点出现的时间相关。
总结:最后思考一个问题?为什么要用张量,而不用向量表示输入数据。其根本在于,张量除了存储了数据外,还记录了数据在存储时的空间位置。这种数据空间位置的信息对于预测任务是非常有价值的。如果将高维的张量数据都转化为向量的结构作为深度学习模型的输入,则破坏了输入变量原本的空间结构,丢失了数据固有蕴含的信息,使得深度学习模型的性能受到严重影响。此外,很多深度学习模型,如CNN,在模型设计时,本身就已经利用了基于对数据空间位置结构的假设,因此需要在输入数据变量时尽可能地保留和数据存储相关的结构信息。
大数据培训哪家好、大数据培训靠谱吗、大数据培训排行榜、大数据培训费用、大数据培训多少钱等相关问题,欢迎咨询光环大数据官网在线客服:hadoop.aura.cn
大数据培训、人工智能培训、Python培训、大数据培训机构、大数据培训班、数据分析培训、大数据可视化培训,就选光环大数据!光环大数据,聘请专业的大数据领域知名讲师,确保教学的整体质量与教学水准。讲师团及时掌握时代潮流技术,将前沿技能融入教学中,确保学生所学知识顺应时代所需。通过深入浅出、通俗易懂的教学方式,指导学生更快的掌握技能知识,成就上万个高薪就业学子。 更多问题咨询,欢迎点击------>>>>在线客服!