美文网首页
张量、向量、矩阵、卷积

张量、向量、矩阵、卷积

作者: 李霖弢 | 来源:发表于2022-10-07 16:51 被阅读0次

    张量(Tensor)

    张量是一个数据容器,是矩阵向任意维度的推广。

    • 张量的维度(dimension)也可以叫作阶或轴(axis)。
    • 张量的形状是一个整数元组,表示张量沿每个轴的维度大小(元素个数)。
    标量 scalar(0D 张量)
    • 仅包含一个数字的张量叫作标量,也叫零维张量、0D 张量、0阶张量。
    向量 vector(1D 张量)
    • 数组,也叫1维张量、1D 张量、1阶张量。
      注意,向量和张量的维度不是一个概念。向量的维度可以表示沿某个轴上元素的个数,而张量的维度表示轴的数量。如 [1,2,4,8] 是一个 4维向量,或一个4维的1维张量。
    • 向量的内积是同维数字相乘之和,如:
      (a_1, a_2,…, a_n)·(b_1, b_2,…, b_n)=a_1 b_1+a_2 b_2+……+a_n b_n
    矩阵 matrix(2D 张量)
    • 二维数组,也叫2维张量、2D 张量、2阶张量。
      矩阵的形状也称矩阵的维数,如2×2矩阵
    • 矩阵加法
      同形状矩阵直接可以相加,同位置元素相加即可
    • 矩阵内积
      同形状矩阵之间可以内积,其结果为同位置数字相乘之和,如:
      \begin{bmatrix}a&b\\c&d\end{bmatrix}⊙\begin{bmatrix}e&f\\g&h\end{bmatrix} = ae+bf+cg+dh
    • 矩阵外积(矩阵乘法)
      前者的列数需等于后者行数的矩阵可以外积,结果为前者行数×后者列数的矩阵,如:
      \begin{bmatrix}a&b\\c&d\end{bmatrix}⋅\begin{bmatrix}e&f\\g&h\end{bmatrix} = \begin{bmatrix}ae+bg&af+bh\\ce+dg&cf+dh\end{bmatrix}
      矩阵乘法符合结合率,但不符合交换律
    • 单位矩阵
      主对角线上都是1,其他都是0的方阵称为单位矩阵,符合乘法交换律
    • 秩与逆矩阵
      矩阵A × 逆矩阵A^{-1} = 单位矩阵
      逆矩阵符合乘法交换律,且只有满秩方阵有逆矩阵(此时|A| != 0),不满秩的方阵称为奇异矩阵或退化矩阵(此时|A| = 0
    • 转置矩阵
      B_{ij}=A_{ji}
      A=\begin{bmatrix}1&2&0\\3&5&9\end{bmatrix},则A^T=\begin{bmatrix}1&3\\2&5\\0&9\end{bmatrix}
    3D 张量与更高维张量
    • 三维数组可以理解为数字组成的立方体。
      如一张图片即一个3阶张量,张量的长宽即图片的分辨率,张量的高度为3(灰度图为1),即图像的彩色通道数(channel)
    • 将多个 3D 张量组合成一个数组,可以创建一个 4D 张量,以此类推。
      深度学习处理的一般是 0D 到 4D 的张量,但处理视频数据时可能会遇到 5D 张量。

    常见数据类型

    向量数据集(2D)

    通常将每个数据点编码为一个向量(1D),则其数据批量为 2D 张量(即 向量 组成的数组)。其中第一个轴是样本轴,第二个轴是特征轴。

    • 人口统计数据集,其中包括每个人的年龄、邮编和收入。每个人可以表示为包含 3 个值的向量,而整个数据集包含 100 000 个人,因此可以存储在形状为 (100000, 3) 的 2D张量中。
    时间序列数据或序列数据集(3D)

    当时间(或序列顺序)对于数据很重要时,应该将数据存储在带有时间轴的 3D 张量中。根据惯例,时间轴始终是第 2 个轴(索引为 1 的轴)。

    • 股票价格数据集。每一分钟,我们将股票的3个值(当前价格、前一分钟的最高价格和前一分钟的最低价格)编码为一个 3D 向量。整个交易日被编码为一个形状为 (390, 3) 的 2D 张量(一个交易日有 390 分钟),而 250 天的数据则可以保存在一个形状为 (250, 390, 3) 的 3D 张量中。这里每个样本是一天的股票数据。
    图像数据集(4D)

    单张图像为3D(图像集则为4D),其包含三个维度:高度、宽度和颜色深度(灰度图像的彩色通道是1维,彩色图像是3维)。
    图像张量的形状有两种约定:在 TensorFlow 中使用通道在后(channels-last)的约定 (samples, height, width, color_depth),在 Theano 中使用通道在前(channels-first)的约定(samples, color_depth, height, width) 。Keras 框架同时支持这两种格式。如在 TensorFlow 中 128 张 256×256 大小的图像, 灰度图像组成的批量可以保存在一个形状为 (128, 256, 256, 1) 的张量中,而彩色图像组成的批量则可以保存在一个形状为 (128, 256, 256, 3) 的张量中。

    视频数据集(5D)

    每个视频可以看作一系列帧(即一个图像数据集),保存在一个形状为 (frames, height, width,color_depth) 的 4D 张量中。
    而不同视频组成的批量则可以保存在一个 5D 张量中,其形状为(samples, frames, height, width, color_depth) 。

    ————————————————
    版权声明:本文为CSDN博主「醉Dowry」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/weixin_42259833/article/details/124766853


    卷积运算(convolution)

    卷指内卷/约束,两个变量互相纠缠。积是内积,两个概率密度函数或概率组成的向量的内积。
    两个函数的卷积,本质上就是先将一个函数翻转,然后进行滑动叠加,是过去的所有输入的效果的累积(积分或加权求和)。期间需保持\tau + (n-\tau)=n的约束。

    连续形式:(f*g)(n) = \int_{-\infty}^{+\infty}f(\tau)g(n-\tau)d\tau
    离散形式:(f*g)(n) = \sum_{\tau=-\infty}^{+\infty}f(\tau)g(n-\tau)

    • 离散形式举例:抛两枚6面骰,求相加为4的概率
      f(1)g(3)+f(2)g(2)+f(3)g(1)=\frac{1}{12} \implies (f*g)(4) = \sum_{\tau=1}^{3}f(\tau)g(4-\tau)
      翻转滑动叠加
    • 连续形式举例:0秒开始输入,求10秒后剩余的信号输入总合
      (f*g)(10) = \int_{0}^{10}f(\tau-0)g(10-\tau)d\tau
      其中f(\tau)为某一时刻输入的信号,g(10-\tau)为10秒截止时的信号衰减函数
    翻转滑动叠加
    向量卷积

    两个向量卷积,结果仍为向量,其长度为\text{两向量长度差}+1。为保证卷积结果维数同长向量,可在长向量两端补短向量维数-10
    向量卷积的数学意义可参考多项式乘法,如(x^2+3x+2)(2x+5)=2x^3+11x^2+19x+10,可视为基底为{x^3,x^2,x,1}的向量空间中,(0,1,3,2,0)*(2,5)=(2,11,19,10)

    矩阵卷积

    向量(即一维卷积)的情况如上所示,多维张量以此类推,也可以进行卷积运算:
    (f*g)(x,y,z) = \int_{-\infty}^{+\infty}\int_{-\infty}^{+\infty}\int_{-\infty}^{+\infty}f(\alpha,\beta,\gamma)g(x-\alpha,y-\beta,z-\gamma)d\alpha d\beta d\gamma

    矩阵的卷积结果仍为矩阵,类似向量卷积,在横纵两个维度滑动求内积。例如要求a_{11}点时,取出其周围点组成的矩阵f=\begin{bmatrix}a_{00}&a_{01}&a_{02}\\a_{10}&a_{11}&a_{12}\\a_{20}&a_{21}&a_{22}\end{bmatrix},与另一矩阵g计算内积:

    • g 与 f 维度相同但下标相反


      g 与 f 维度相同但下标相反
    • 此处可理解为g旋转了180°后进行内积计算


      此处可理解为g旋转了180°后进行内积计算

    当计算如a_{00}的边缘点时,可用0补全矩阵中不存在的a_{-1-1}等点,也可以用其他方式补全(如OpenCV中的边缘拷贝等)。

    三阶张量

    彩色图片即为三阶张量,可以理解为RGB三个矩阵的叠加。其卷积可以转化为进行3次独立的矩阵卷积,再将三个结果矩阵相加,合并为一个通道数为1的三阶张量。

    相关文章

      网友评论

          本文标题:张量、向量、矩阵、卷积

          本文链接:https://www.haomeiwen.com/subject/idhwartx.html