第 74 题:神经网络架构搜索(NAS)在推荐中的应用,DARTS的连续松弛策略?
题目
神经网络架构搜索(NAS)在推荐中的应用,DARTS的连续松弛策略?
完整讲解
一、NAS 在推荐中的诉求
推荐模型有大量超参与结构选择:嵌入维度、塔的层数与宽度、是否用注意力、专家数量等。神经网络架构搜索(NAS) 希望自动在搜索空间内找到在验证指标上较优的结构,减少人工试错。
二、DARTS 的连续松弛策略
- 离散搜索:结构选择本是离散的(如选哪条边、哪种 op),直接搜组合爆炸。DARTS 将离散选择松弛为连续:每条边上一组候选操作 ${o_1,\ldots,o_m}$,引入结构参数 $\alpha = (\alpha_1,\ldots,\alpha_m)$,边的输出为
\(\bar{o}(x) = \sum_i \frac{\exp(\alpha_i)}{\sum_j \exp(\alpha_j)} o_i(x).\)
即用 softmax($\alpha$) 对候选操作做加权混合,可微,可与网络权重一起用梯度优化。
- 联合优化:训练时同时更新网络权重 $w$ 与结构参数 $\alpha$(如交替或同步);验证集上根据 $\alpha$ 选最大对应的 op 得到离散结构,再重新训练或微调。
- 在推荐中的应用:搜索空间可包含不同 MLP 宽度/深度、是否用 FM/注意力、嵌入维度等;用 DARTS 或类似可微 NAS 在 CTR/多任务等任务上搜结构,再部署最优子网。
三、注意点
- 连续松弛存在离散-连续 gap:最优 $\alpha$ 对应的离散结构未必最优;可多阶段(先搜再 retrain)、或加熵正则鼓励 $\alpha$ 稀疏。计算成本为「同时训练多 op」的倍数,需控制候选集大小。
面试要点
- 能写出 DARTS 的连续松弛:$\bar{o}(x) = \sum_i \frac{\exp(\alpha_i)}{\sum_j \exp(\alpha_j)} o_i(x)$,结构可微、与权重联合优化。
- 能说明流程:训练 $(w,\alpha)$ → 根据 $\alpha$ 取离散结构 → 再训练或微调;推荐中可搜塔结构、嵌入维、是否注意力等。
- 能提及离散-连续 gap、熵正则与计算成本。
记忆要点
- DARTS:结构参数 $\alpha$,边输出为 softmax($\alpha$) 加权混合 op,可微联合优化。
- 推荐 NAS:搜塔结构、嵌入维、op 类型等;训练 $\alpha$ 后离散化再训。
- 注意:离散-连续 gap、熵正则、计算成本。