Deep Sets 求和以后还剩什么:用两组反例检查集合表征
把一组无序观测交给模型时,打乱输入行序不应改变整组结论。Deep Sets常用“逐项变换、求和、再变换”的结构满足这个要求。不过,求和不看顺序,并不保证保留了所有信息。检查模型结构前,先用几组小输入问清楚:读者需要不变的究竟是顺序,还是数量也要忽略?
AI生成的概念示意图:相同物件改变摆放次序后仍可生成相同摘要;图形不对应正文集合或网络运行结果。
共享变换之后再对成员求和
对每个标量x使用同一个变换φ(x)=(1,x,x²),再求和得到z=(n,s,q):分别是观测数、数值总和、平方总和。最后的ρ读取这个三维向量,输出均值s/n和总体方差q/n-(s/n)²。这里假设n大于零,方差按总体公式计算。
输入S=[1,3],两项变换为(1,1,1)与(1,3,9),相加得到(2,4,10)。均值2、方差1。把输入改为[3,1],求和相同,最终输出也相同。这个性质来自每项共用φ以及加法的交换律,无需通过训练才学会忽略次序。
若只先求原数值之和,S与T=[2,2]都变成4,后面的网络无法再区分它们。加入平方项后,T得到(2,4,8),方差为0。先做非线性逐项变换,再汇聚,决定了哪些差别有机会被保留下来。
重复次数是否重要要由任务决定
本文的输入是允许重复观测的无序集合,也可称多重集合。把S整体复制一次,U=[1,1,3,3]的求和表征变成(4,8,20),观测数翻倍,但均值与总体方差仍为2和1。ρ可以利用计数区别两批数据,也可以选择只输出与复制无关的统计量。
如果把汇聚改成均值,S与U的φ均值都为(1,2,5),计数差别消失。若下游需要总量或样本数,仅靠这份平均表征无从恢复;可以另外提供有效成员数,但这需要明确设计,不能假定网络会从完全相同的输入向量猜出不同数量。
三个统计量仍然无法分清所有输入
考虑V=[0,3,3]与W=[1,1,4]。两组都有三项,总和都是6,平方和也都是18,因此本文的φ求和均为(3,6,18)。均值2、方差2也相同,但最大值分别为3和4,显然是不同的观测集合。
不管ρ多复杂,它接收同一个z时就无法稳定输出两个不同最大值。问题发生在前面的表示压缩。Deep Sets论文讨论的表达能力依赖变换、域和容量等条件,不能从求和结构直接推出“任意三维摘要都无损”。读者可以按目标任务补特征,也可以学习更丰富的φ,再验证能否区分关键反例。
把结构性质变成可以自动运行的测试
请AI分别生成三类测试:随机置换成员,检查整组输出不变;复制成员,检查是否符合任务对数量的要求;构造汇聚值相同而目标不同的输入,寻找表示瓶颈。本次枚举上述小集合的排列,并独立复算统计量,未训练任何网络。
实际批处理通常把不同长度的集合补齐。应在φ之后用有效位屏蔽填充项;即使填充值是零,φ(0)也可能包含偏置或本例的常数1,直接求和会把填充位置算成真实成员。有效计数为零时,还需要为ρ的除法定义专门行为。
若任务要给每个成员各输出一个标签,打乱输入以后标签应随成员一起重排,这叫置换等变。本文只讨论每组一个结果的置换不变。先把这两种验收要求分开,才能让AI帮助设计正确的输入输出接口,避免把应当保留的身份关系一起丢掉。
资料核对日期:2026年10月3日。本文数值为原创教学设定,已用本地程序复算,未训练真实模型或验证生产效果。


