首页 > 其他分享 >在深度学习中的“维度”

在深度学习中的“维度”

时间:2024-09-05 17:23:29浏览次数:6  
标签:hiddens 每个 示例 张量 学习 num 深度 维度

在深度学习中,“维度”指的是数据的结构或数组的每个轴的长度。每个维度表示数据的不同特征或轴。为了更好地理解维度,我们可以通过一些示例来说明。

1. 一维数据

示例: 向量

[2, 4, 6, 8]
  • 维度: 1(这是一个一维数组)
  • 长度: 4(数组中有4个元素)

2. 二维数据

示例: 矩阵

[
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
]
  • 维度: 2(这是一个二维数组)
  • 形状: (3, 3)(矩阵有3行3列)

3. 三维数据

示例: 张量(可以用来表示图片的多个通道)

[
  [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
  ],
  [
    [10, 11, 12],
    [13, 14, 15],
    [16, 17, 18]
  ]
]
  • 维度: 3(这是一个三维数组)
  • 形状: (2, 3, 3)(有2个矩阵,每个矩阵有3行3列)

4. 四维数据

示例: 张量(用于批量处理图像)

[
  [
    [
      [1, 2, 3],
      [4, 5, 6],
      [7, 8, 9]
    ],
    [
      [10, 11, 12],
      [13, 14, 15],
      [16, 17, 18]
    ]
  ],
  [
    [
      [19, 20, 21],
      [22, 23, 24],
      [25, 26, 27]
    ],
    [
      [28, 29, 30],
      [31, 32, 33],
      [34, 35, 36]
    ]
  ]
]
  • 维度: 4(这是一个四维数组)
  • 形状: (2, 2, 3, 3)(有2个批次,每个批次包含2个图像,每个图像为3x3的像素矩阵)

在 Transformer 中的维度

在 Transformer 模型中,尤其是多头注意力机制中,维度的概念用于描述张量的形状和数据流动。

示例: 多头注意力中的张量维度

假设有以下张量:

  • querieskeysvalues 的形状为 (batch_size, seq_len, num_hiddens)
  • batch_size: 批量大小(即一次输入多少个样本)
  • seq_len: 序列长度(即每个样本有多少个时间步或词)
  • num_hiddens: 隐藏维度(即每个时间步的特征维度)

在多头注意力中,num_hiddens 被分成 num_heads 个头,每个头的维度是 num_hiddens / num_heads。为了计算每个头的注意力,张量的形状需要调整。例如,transpose_qkv 函数将张量的形状从 (batch_size, seq_len, num_hiddens) 调整为 (batch_size * num_heads, seq_len, num_hiddens / num_heads),以便于并行计算。

总结

  • 维度 是描述数据的不同轴的长度。
  • 在深度学习中,理解数据的维度有助于进行有效的数据处理和模型设计。
  • 在 Transformer 中,维度用于定义模型的输入、输出和计算过程的结构。

标签:hiddens,每个,示例,张量,学习,num,深度,维度
From: https://blog.51cto.com/u_16396074/11929475

相关文章

  • 深度学习系列(1) TensorFlow---Tensorflow学习路线
    学习TensorFlow是掌握深度学习和机器学习的关键一步。以下是一个详细的TensorFlow学习路线图,涵盖从基础到高级的知识点和实践,帮助你逐步掌握TensorFlow并应用于实际问题中。1.基础知识1.1了解TensorFlow概念:什么是TensorFlow?它的用途和应用场景。安装:如何在本地机......
  • Markdown学习
    标题:一级标题二级标题三级标题你好斜体斜体加粗删除线引用选择努力,走向巅峰分割线图片![截图](C:\Users\lijiajun\Documents\个人文件\火山\腾冲\数据\Monthlyaveragedreanalysis_tengchong\图表\stl4\average_lst_over_years01.png)超链接点击跳转到百度列......
  • Python基础学习教程笔记 (持续更新!!)
    Python3学习数字number数学函数abs(x)返回数字的绝对值ceil(x)返回数字的上入整数floor(x)返回数字的下舍整数(x>y)-(x<y)如果x<y返回-1,如果x==y返回0,如果x>y返回1exp(x)返回e的x次幂fabs(x)以浮点数形式返回数字的绝对值,eg:math.fabs(-10)返回10.0log(x)eg:math.......
  • 系统架构师考试学习笔记第三篇——架构设计高级知识(14)系统规划
    本课时考点:        第14课时主要了解系统规划知识,此部分考点非常少,因此不作为重点掌握的知识。本课时知识架构如图14.1所示。一、系统规划概述        系统规划的主要步骤包括:        (1)对现有系统进行初步调查。        (2)分析和确定......
  • 【JavaScript学习第六天】—讲述JS学习历程的知识分享!
    前言本篇主要讲述了面向对象开发的特点,对象和类的概念与区别,包括详细讲解一个Tab选项卡案例一、面向对象在引出面向对象之前,我们首先要了解面向过程的概念面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了......
  • 终于找到了!AI学习路线图——从零基础到就业!
    导读:极简可行,少即是多。本指南为不擅长数学的你私人订制,同时适用于:想要学习AI的学生、程序员、研究人员或爱好者;想转行AI的读者;想把AI运用到本职工作的读者。新手自学三大误区:贪多求全收集资料,却一份也没看完;想通过脑图了解“系统入门路线”,却只看到满屏的陌生......
  • 2024年最强网络安全学习路线,详细到直接上清华的教材!
        关键词:网络安全入门、渗透测试学习、零基础学安全、网络安全学习路线首先咱们聊聊,学习网络安全方向通常会有哪些问题前排提示:文末有CSDN官方认证Python入门资料包!1、打基础时间太长学基础花费很长时间,光语言都有几门,有些人会倒在学习linux系统及命令的路上,更多......
  • Kubernetes学习指南:保姆级实操手册06——部署kubernetes集群
    Kubernetes学习指南:保姆级实操手册06——部署kubernetes集群1、配置YUM源###在所有Master节点执行#配置yum源cat>/etc/yum.repos.d/kubernetes.repo<<EOF[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x8......
  • Unity网格编程学习(二)
    目录1.创建平面2.创建立方体1.创建平面定义平面的长、高,以及mesh的顶点、uv、法线publicintx=3,y=3;privateVector3[]vertices;privateVector2[]uvs;privateVector3[]normals;privatevoidStart(){Meshmesh=newMesh();MeshFilterfilter=......
  • 软件测试学习笔记丨Linux-Bash编程语法
    本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32091一、Bash编程基础1.1变量1.1.1语法Variable_name=value1.1.2变量定义的规则变量名区分大小写,a和A为两个不同的变量;变量名可以使用大小写字母混编的形式进行编写;变量名与值之间的=两侧都不能有空格;在读取或打印变量......