当前位置: 首页 > article >正文

深度学习中Embedding的理解

Embedding这个概念翻译过来的意思就是嵌入,就是把一个大的东西想办法嵌入到一个小的地方。在深度学习领域,Embedding一般用于代表某个类目的全部相关信息,表现形式为一个向量。

1、Embedding常见的操作有两个:加法和拼接,含义完全不同

Embedding的加法一般用于同类目的不同物品的合集表示。这个可以按照one-hot的思维去理解。为什么用one-hot而不用二进制去表示不同物品呢?就是因为不同one-hot做加法之后得到的向量可以反过来推断出包含了哪些向量,虽然序列信息无法放到里面。因此,同类目的不同物品的Embedding加法表示同时包含这些信息。

Embedding拼接一般用于不同类目的合集,一般用拼接的方式放到神经网络去。两个物品如果属于不同类目,那么放在一起最好用拼接。换个角度理解,不同类目表示的含义可以看作Embedding的维度可以不一致。

2、对连续特征离散化后进行Embedding

此外,会在工业中发现,经常会对一些连续特征做离散化再做embedding来提升效果。例如,历史时间一般会按照1天内,7天内,30天内,一年内进行离散化再去embedding。

3、多模态Embedding融合

此外,Embedding还多用于多模态特征的融合,因为多种模态数据最后都是汇聚到向量表示。这方面相关的技术在基于内容的推荐系统中应用十分广泛。NLP中对于文本的Embedding操作技术更加成熟。

4、Embedding用于下游任务

1、直接利用Embedding计算相似度或者对比loss,那么重点会放在Embedding的学习上面,注意此时最好不要再对Embedding进行拼接等操作。
2、如果对Embedding进行了contactnation的操作,并且经过了MLP网络,那么学习出来的Embedding对分类变量的表征能力会有所损失,损失点主要在于会更为了MLP后输出的loss目标。


http://www.kler.cn/a/287465.html

相关文章:

  • React Native 全栈开发实战班 - 数据管理与状态之Zustand应用
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】自定义View
  • Java爬虫(Jsoup)详解
  • vueRouter路由切换时实现页面子元素动画效果, 左右两侧滑入滑出效果
  • Ubuntu 的 ROS 操作系统 turtlebot3 导航仿真
  • el-table中增加校验方法(二)
  • pod进阶:
  • [M二叉树] lc199. 二叉树的右视图(dfs+自顶向下+好题)
  • 使用 SASS 编写高效 CSS
  • CentOS 7安装和配置 NFS
  • [Doc][px4][ros2][gazebo][yolov8]PX4-ROS2-Gazebo-YOLOv8
  • 数据仓库系列10:如何处理维度表中的变化类型?
  • Shell 脚本入门指南
  • 深度学习100问24:什么是语言模型
  • 基于混沌麻雀搜索算法的光伏MPPT控制MATLAB仿真
  • 文章_Linux运维_在非docker环境中编译安装docker
  • java 二级列表 stream流实现
  • 力扣经典题目之->另一颗树的子树(subRoot是否是root的子树)
  • 【STM32 Blue Pill编程】-ADC数据采样(轮询、中断和DMA模式)
  • Linux使用openssl生成ssl证书
  • 游戏设计师:创造虚拟世界的艺术家
  • 江协科技stm32————10-1 I2C通信协议
  • 【C语言必学知识点六】自定义类型——结构体
  • 芯旺微,车规级32位MCU KF32A芯片简介
  • 内存管理篇-14kmalloc机制实现分析
  • SpringBoot整合积木报表