[转载] NLP和CV中的token分别是啥

1. NLP中

在自然语言处理(NLP)领域,令牌(token)通常指经过分词(tokenization)处理后得到的最小语义单元。具体来说:

  • 对于英文等语言,token通常是单词(word)或子词(subword)。例如"I love NLP!"可以分词为["I", "love", "NLP", "!"]这4个token。

  • 对于中文,token可以是单个汉字、词语或子词。如"我爱自然语言处理!"可分词为["我","爱","自然语言","处理","!"]这5个token。

大多数NLP模型都是以token为单位来处理输入文本的。Transformer类模型通常把输入token序列映射为向量,然后对token向量序列进行各种变换和计算。

一些常见的英文分词器有空格分词、Moses、Byte Pair Encoding (BPE)、WordPiece、SentencePiece等。对于中文,常用的有jieba、THULAC、PKUSEG、BPE、WordPiece等。


在NLP中,token本身并不是向量,而是文本序列中的基本单元,如单词、子词或字符。token只是一个离散的符号,并没有直接的数值表示。

然而,为了让机器学习模型能够处理这些离散的token,通常需要将它们转换为数值向量,这个过程就是词嵌入(word embedding)。常见的词嵌入方法有:

  • One-hot编码:将每个token映射为一个高维稀疏向量,向量维度等于词表大小,只有对应token的位置为1,其余位置为0。

  • Word2Vec:通过浅层神经网络,在大规模语料库上训练出dense的词向量,使得语义相似的词有相近的向量表示。

  • GloVe:基于全局词频统计,通过矩阵分解的方法学习词向量,同样使得语义相似的词有相近的向量表示。

在实际的NLP应用中,通常使用预训练的词向量作为编码token的起点,然后在特定任务上进行微调。因此,虽然token本身只是离散符号,但它们最终都要转换为数值向量,以供机器学习模型处理。这也是NLP中"embedding"这一概念的由来。

2. CV中

token是构成NLP模型输入的基本单元,在视觉 Transformer 中, token的概念与NLP领域有所不同,但本质上仍然是将输入数据划分为一系列离散的单元。具体来说:

在视觉 Transformer 中,图像通常被划分为一系列的图像块(image patch),每个图像块被视为一个token。例如,如果一幅图像的分辨率为 H × W H \times W H×W,划分的图像块大小为 P × P P \times P P×P,则可以得到 H P × W P \frac{H}{P} \times \frac{W}{P} PH×PW个图像块,即 H W P 2 \frac{HW}{P^2} P2HW个token。

这些图像块token通过线性投影(linear projection)映射到Transformer的输入维度,得到一系列的图像块向量(patch embedding)。这个过程类似于NLP中的词嵌入(word embedding)。

除了图像块token外,视觉Transformer通常还会添加一些特殊的token,如分类token([CLS]),以实现分类。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值