跳到主内容
快讯直播
AI智模界
AI 词典

Pooling(池化):一堆向量如何压成句向量

一句话定义:池化(Pooling)就是把"长度不定的一串向量"按某个规则合并成"一个固定长度的向量"。

为什么必须压

一句话进模型后,先被切成 token,每个 token 输出一个向量。十个词的句子就是十个向量,一百个词就是一百个。可后面的环节——分类头、向量检索、聚类——通常只接受固定长度的输入。于是需要一个操作把 N 个向量变成 1 个,这就是池化。最常见的做法是平均池化(Mean Pooling):把每个维度上的数值加总再除以 N。

打个生活化的比方

一场会,每人都发言,纪要只能写一页。

  • 平均池化:把所有人的观点"取平均"——共识留下来,个性被抹平。
  • 最大池化(Max Pooling):每个议题只记最强烈的那个意见——最响的声音留下,其余消失。
  • 求和池化(Sum Pooling):把所有发言原样叠加——话越多,总量越大。

压的过程里丢掉了什么

1. 词序。"猫追狗"和"狗追猫"若 token 集合相同,平均池化的结果一模一样。

2. 归属关系。平均值无法回溯是哪个词把某一维拉高的,可解释性弱。

3. 长度信息。平均把句长除掉了;求和保留长度,但数值尺度随句子长短漂移。

4. 分布形状。最大池化只留峰值,丢掉其余;平均池化只留重心,丢掉尖峰。

方式怎么算主要保留主要丢失
平均池化 Mean逐维求平均整体语义重心词序、句长
最大池化 Max逐维取最大最显著的维度特征多数 token 的信息
求和池化 Sum逐维相加长度信息数值范围不稳定
CLS 向量取特殊标记的输出训练中学到的全局表示不对应任何具体词

和相邻概念的区别

AI 词典:Embedding">Embedding 是"把词/句子变成向量",池化是"把多个向量合成一个";注意力(Attention)也是加权合并,但权重由数据学出来,平均池化只是它权重全等的特例;降维(如 PCA)改变维度,但要求输入本来就等长,解决不了变长问题。卷积网络里的池化窗口也做同样的事:在局部区域取最大或平均,缩小特征图,顺带带来一点平移不变性。

对从业者的实际意义

做 RAG、语义检索、聚类、去重,你比较的是句向量,而句向量质量很大程度取决于池化方式。同一个底座模型,换成不同的池化,相似度排序就可能变化。开源向量模型通常在训练阶段就固定了池化策略,别随手替换;具体用哪种,以官方页面说明为准。对普通职场人来说,你搜"意思相近"而不只是"字面相同",背后正是这句话被压成了一个点——压缩时丢掉的那些东西,恰恰是它偶尔"答非所问"的原因。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。