多层感知机(Multi-Layer Perceptron, MLP)

内容纲要

多层感知机(Multi-Layer Perceptron, MLP)是一种包含输入层、隐藏层和输出层的深度学习模型,核心通过引入隐藏层和非线性激活函数,突破线性模型的限制,实现对复杂特征关系的自动学习。以下是其关键特性与工作原理:
核心结构

输入层:接收原始特征(如用户ID、物品属性等),特征可通过Embedding层转换为低维稠密向量以处理高基数类别特征。
隐藏层:由多层神经元组成,每层神经元接收前一层输出并进行加权组合与非线性变换(如ReLU、Sigmoid),是特征抽象与交叉的核心。
输出层:根据任务输出预测结果(如点击率预估的概率值),通常使用Sigmoid等激活函数。

核心能力:自动特征交叉
MLP通过多层嵌套结构实现特征的高阶交叉,无需人工设计:

第一层隐藏层:对输入特征进行非线性组合(如“年龄<20 AND 城市=北京”),生成低阶抽象特征。
深层隐藏层:对前一层的抽象特征再次组合,形成高阶交叉模式(如“(用户×物品) × 上下文特征”),交叉阶数随网络深度指数增长。

.kd-stroke-width-icon-regular{stroke-width:var(--kd-stroke-width-icon-regular, 1px); }.kd-color-icon-primary{fill:#333333; fill:var(--kd-color-icon-primary, #333333); stroke:#333333; stroke:var(--kd-color-icon-primary, #333333); }.kd-color-icon-blue-primary{fill:#2661BF; fill:var(--kd-color-icon-blue-primary, #2661BF); stroke:#2661BF; stroke:var(--kd-color-icon-blue-primary, #2661BF); }.kd-stroke-width-icon-regular{stroke-width:var(--kd-stroke-width-icon-regular, 1px); }.kd-color-icon-primary{fill:#333333; fill:var(--kd-color-icon-primary, #333333); stroke:#333333; stroke:var(--kd-color-icon-primary, #333333); }.kd-stroke-width-icon-regular{stroke-width:var(--kd-stroke-width-icon-regular, 1px); }.kd-color-icon-primary{fill:#333333; fill:var(--kd-color-icon-primary, #333333); stroke:#333333; stroke:var(--kd-color-icon-primary, #333333); }

网络层级
学习内容
对应交叉阶数

第1层
原始特征的非线性组合
一阶(线性+非线性)

第2层
第一层组合的再组合
二阶及以上

第L层
L-1层输出的交叉模式再组合
高阶交叉

与传统模型的关键差异
相比逻辑回归(LR)等线性模型,MLP的核心优势在于:

非线性表达:通过隐藏层和激活函数,可拟合复杂的非线性决策边界,解决线性不可分问题。
端到端学习:特征学习与模型训练一体化,无需人工设计交叉特征,降低工程成本。
泛化能力:通过深度结构挖掘稀疏数据中的潜在关联,覆盖长尾场景。

训练机制
MLP通过前向传播和反向传播实现参数优化:

前向传播:输入特征经各层计算生成预测结果,与真实标签对比得到损失(如交叉熵)。
反向传播:从输出层反向计算各权重对损失的贡献(梯度),通过梯度下降调整参数以最小化损失。

由于损失函数为非凸函数,训练过程需应对局部最优问题,依赖足够的数据量、网络规模和算力支持。
应用场景
MLP广泛用于推荐系统、CTR预估等任务,尤其擅长处理:

高维稀疏特征(需结合Embedding层解决参数爆炸);
复杂高阶特征交叉(如用户行为序列、多属性组合)。

其局限性在于对低阶交叉特征学习效率较低,因此常与FM等模型结合(如DeepFM)以平衡记忆与泛化能力。

close
arrow_upward