关于深度学习在图像识别上应用的学习笔记3
仅是关于我在深度学习基础知识的学习过程中的一些整理,有错漏之处需要大家指出,谢谢
三、神经网络的数据表示:张量
在机器学习中,分类问题中的某个类别叫做类,数据点叫样本,某个样本对应的类别叫标签。
训练神经网络的基本准备步骤:
1.组成训练集:模型从这些数据中进行学习,然后在测试集上对模型进行测试
2.将训练数据输入神经网络;其次网络学习将图像和标签关联在一起;最后网络对图像产生预测。
3.神经网络的核心组件是层(layer)相当于数据过滤器
4.要想要训练网络,还需要编译步骤的三个阶段:
5.对数据进行预处理,将其变换为网络要求的形状(准备图像数据)
6.对标签进行分类编码(准备标签)
7.开始训练网络。
现在介绍神经网络的数据表示。
首先是张量的概念。张量(tensor)是一个数据容量,作为数据的容器,它是神经网络基本的数据结构,张量的维度,叫做轴。标量是仅含一个数字的张量,相当于0维。向量是数字组成的数组,相当于1维张量,拥有一个轴。矩阵是典型的2维张量,含有两个轴,一般第一个轴表示行,第二个表示列。类比,多个矩阵可以组成一个数组,可得一个三维张量,多个三维可以组成四维…以此类推。
张量有三个关键因素用来描述:
由于我们的研究方向是图像数据,所以就图像数据展开解释。图像数据有三个维度:高,宽和颜色深度。对于灰度图像来说,只有一个颜色通道,故而可以保存在2D张量中。
从几何意义来说,仿射,变换,旋转,缩放等基本的几何操作都可以表示为张量运算。
神经网络完全由一系列张量运算组成,而这些张量运算都只是输入数据的几何变换。因此,可将神经网络解释为高维空间中非常复杂的几何变换,这种变换可以通过许多简单的步骤实现。
前面讲过,神经网络完全由一系列张量运算组成,而这些张量运算都只是输入数据的几何变换。因此,你可以将神经网络解释为高维空间中非常复杂的几何变换,这种变换可以通过许多简单的步骤来实现。对于三维的情况,下面这个思维图像是很有用的。想象有两张彩纸:一张红色,一张蓝色。
将其中一张纸放在另一张上。现在将两张纸一起揉成小球。这个皱巴巴的纸球就是你的输入数据,每张纸对应于分类问题中的一个类别。神经网络(或者任何机器学习模型)要做的就是找到可以让纸球恢复平整的变换,从而能够再次让两个类别明确可分。通过深度学习,这一过程可以用三维空间中一系列简单的变换来实现,比如你用手指对纸球做的变换,每次做一个动作,如图 2-9 所示。
让纸球恢复平整就是机器学习的内容:为复杂的、高度折叠的数据流形找到简洁的表示。 现在你应该能够很好地理解,为什么深度学习特别擅长这一点:它将复杂的几何变换逐步分解 为一长串基本的几何变换,这与人类展开纸球所采取的策略大致相同。深度网络的每一层都通过变换使数据解开一点点——许多层堆叠在一起,可以实现非常复杂的解开过程。