侧边栏壁纸
博主头像
无知无畏 博主等级

行动起来,活在当下

  • 累计撰写 13 篇文章
  • 累计创建 6 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

How to Incorporate Monotonicity in Deep Networks While Preserving Flexibility

快乐玩耍
2024-11-03 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

Published as a conference paper at ICLR 2023

背景

论文的主旨是,怎么在保留深度神经网络的灵活性的前提下,纳入单调性。作者主要是提供了一个损失函数,来实现一些网络的单调性保证,同时不失灵活性。

Point-wise Loss(PWL)

啥也没说,直接先丢出这个 Loss function:
\min\ L_{mono}=min\{\sum_{i=1}^n\max (0,-\nabla_{·M}f(x_i;\ \theta))+L_{NN}\}
其中 \nabla_{·M} 代表单调特征的梯度,\sum_j \frac{\partial f(x_i;\theta)}{\partial x[M])i^j}\ \forall\ j \in M;其中 \theta 表示可训练参数,L_{N,N} 表示神经网络的其他损失函数。

1.1 评估策略

为了评估这个 Loss 函数好不好,作者直接将加了 PWL 的网络和 DLN 进行比较。对,就是那个 Deep\ Lattice\ Network。用作者的话来说,就是这个损失函数聚焦于从数据中学到单调性,而不是从结构上限定(DLN:有话请直说,别绕弯子,我忍你很久了)。
作者使用了两个评估函数,第一个是常见的 AUC,用于评估分类损失。另一个是作者自己定义的 M_k 函数:
M_k=\frac{1}{n}\sum_{i=1}^n 1_{(\delta_i)}
其中 \triangle_+ 代表非递减单调性:
\delta_i= \begin{equation} \left\{ \begin{array}{ll} 1 &if \ \triangle_+f(x_j;\theta) \geq 0 \ \\ &\forall \ j \ni \{ x_j[k]\in[k_{min},k_{max}),x_j[p]=x_i[p]\ \forall \ p \ne k \} \\ 0 &otherwise. \end{array} \right. \end{equation}
别看数学公式写的很复杂,想表达的思想就一个:如果是单调的特征,并且在 x_j[k]\in[k_{min},k_{max}) 这个范围内满足单调性,则加 1,否则都是 0。换句话说,保证单调性的比例为多少。

1.2 实验

总结:在第一个数据集中表现要比 DLN 好,其他数据集上表现出了单调性。并且是更平滑的单调性,保留了非单调特征的非单调性,在这一点上比 DLN 好。
Artificial dataset
![[Pasted image 20231215212454.png|600]]
UCI - Adult dataset
![[Pasted image 20231215212535.png|600]]
Airline Ancillary dataset
![[Pasted image 20231215212554.png|600]]

0

评论区