Spotlight (Top 3%) at Neural Information Processing Systems (NeurIPS), 2021.
Spotlight at ICML 2020 Workshop on Human Interpretability in Machine Learning.
1. 什么是 NAM
NAM
是从GAM
演化而来,将神经网络当成 f_i 的GAM
。GAM
的公式形式如下所示:
g(E[y])=\beta+f_1(x_1)+f2_(x_2)+...+f_K(x_K)
其中 x_1,x_2,...,x_K 是K个特征,g(·) 代表连接函数,f_i 代表无偏类型函数,即期望为0
。广义线性模型,如逻辑回归为GAM
的特殊形式,即 f_i 被限制为线性函数。
NAM
的结构很简单,将神经网络当成 f_i 即可得到:
![[Pasted image 20231206221250.png|400]]
相比一般广义线性模型,NAM性能更好,不需要复杂的假设。下图左侧是一层线性层(1024个unit)以及标准RuLU
的结果,右侧是使用ReLU-n
以及ExU
隐藏单元训练10000轮的结果:
![[Pasted image 20231206222805.png|600]]
什么是ExU
单元?ExU
是作者设计的一个新的神经元,定义如下:
h(x)=f(e^w*(x-b))
其中w
和b
是权重以及偏差参数。这样的设计可以使得,微小的权重变化也可以引起较大的输出变化。这样的设计虽然没有增加神经网络的表达性(容量),但是增加拟合比较跳跃的函数(曲线)的学习能力。实践中,初始化权重时使用 N(x,0.5) 其中 x\in[3,4] 有比较好的效果,主要是因为这样的初始化保持了网络在一开始就能比较随机。
其中ReLU-n
表示只截获0-n
之间的输入,使得神经元的输出在一个比较小的范围内。
![[Pasted image 20231206224103.png|600]]
![[Pasted image 20231206224135.png|600]]
多任务结构的NAM
,每一个输入建立多个channel
,然后输出使用不同的线性层加权得到:
![[Pasted image 20231206224415.png|600]]
2. 实验结果
使用多任务数据集,其中每一个任务的构造如下所示:
Task_0=f(x_0)+g(x_1)+h(x_2)
Task_1=f(x_0)+g(x_1)+i(x_2)
...
Task_5=f(x_0)+g(x_1)-(h(x_2)+i(x_2))
每一个func
形式如下:
![[Pasted image 20231206224832.png|600]]
实验结果如下,多任务比单任务学习时显然表现更好:
![[Pasted image 20231206224932.png|600]]
![[Pasted image 20231206224949.png|600]]
3. 怎么解释?
显然,NAM提升了模型的拟合能力,但是也削弱了模型的可解释性,因为引入了新的黑盒,也就是神经网络。按照现在业务上常常采用的一种做法,固定最后输出的各加权权重,训练模型时,让模型学习每个因子的变换网络。
这样,将黑盒模型输出的因子作为新的客观变量,并且赋予其新的业务含义,而最后的加权权重作为可解释项公布出去。既保证了一定的可解释性,也可以通过直观的曲线,画出原因子和新因子的变换关系,可第一时间知晓模型决策机制。
评论区