NIPS2017-The neural hawks process

NIPS2017哪些论文值得关注

论文链接

1.首先这篇文章研究的是 event stream,什么是event stream呢 ?

假如你是一个医生,你每天会看到很多病人 ,对于每一个病人,你都有他一长串的历史记录,有他在不同时间做了什么检查,得了什么病

假如你在淘宝、亚马逊买东西的记录,在不同时间买了不同的东西, 这也是一个event stream

在推特或者 微博上面 你可以看到 好友 在不同的时间发表微博,这些都是 event stream

2.研究event stream的意义

因为基于对过去的掌握,我们想对未来做出一定程度的预测

比如你是医生,给你病人过去的事件流,你可以预测他什么时候再来,为了什么来visit(感冒、发烧、拉肚子)

在亚马逊上,根据过往信息,你想知道用户什么时候再来买东西,买什么东西

在微博上,你想知道什么时候会retweet ,是来做这件事

通常用 Point Process 处理 event stream

通常,用point process 来model 事件流,怎么来model呢 首先,前面看了一共有K个时间类别 , 每一个事件类别 有一个intensity function

它代表:极短时间内品均有多少个这类事件,在这个极端时间内发生了 所以在一个极小的时间内时间K类事件发生的概率

被intensity function 定义为那么在这个时间点上 没有任何事件发生的概率 是(1减去其他事件发生的总和)

定义完这些之后,我们可以构造一个 event stream 在这个model下的probability

 

在这张图中,我们观测到两类事件(k = 2) 绿色的五边形代表的事件,粉色的正方形事件
在0到T的时间内 观测到了 N个不同的时间点。分别在Ti 发生了 事件ki
整个event stream 在0-T时间的log probability 在所有时间点没有任何事件发生(也就是左边的那一行) 加上 在 N个时间点上的 log probability (也就是第二项 ) ,
在前一页 在每一个时间点发生的概率 和 没有事件发生的概率() , 把他俩带入公式 ,并且进行一个泰勒展开 ,就可以得到最下面的公式
这个式子就是point process 对每一个观测到的事件流给出来的 log probability
左边这个被减去的积分 解释 0-T无穷个时间点上 没有任何时间发生
右边这一项 解释 为什么在N个离散的时间点有你观测到的事件发生

3.The Hawkes Process

 

很久以前,这个hawkes教授首先做了这件事,他提出了hawkes process :
他假设过去的事件 对未来事件 都有一个短暂的正向影响,
也就是过去的事件 会 正向提高 未来事件发生的概率 ,
基于这个假设, 他把intensity function 定义为一个 base level + 过去每一个事件对后面的事件带来的影响的加和,
这个影响是不同事件之间的相互影响,有k个事件,就有k的平方个阿尔法 , 这个正向的影响随着 事件衰减,所以要加上 后面这个指数项
也就是说 hawkes process假设每一类别事件他的intensity function在一个base level的基础上不断被过去事件激发,激发又随着事件消减

4.Continuous-Time LSTM (neural hawkes process)

作者提出了一个continuous-time LSTM
先看右边的公式:正如刚才所说的,可以把intensity function 作为一个连续时间上变化的hidden state上的non-linear function 。由于我们知道 hidden state 是被update 和 cell memory 共同决定
我们假设 cell memory 是随着时间变化的 ,从而使得H也随着时间变化
通常在普通的lstm中gate encode cell memory C 的变化, 在新模型中有两个C
一个表示暂态的memory 就是这个C , 他表示第i 次事件发生的时候,他变成了Ci+1
同时类似的,我们还可以有另外一个cell memeory 表示一个稳态的memory Cbar
他表示在稳态的时候cellmemory处于什么样的值,我们可以假设在每次事件发生之后和下一次事件发生之前,真正的cell memory T 会从暂态cell memory 开始 逐渐的向 稳态C bar变化,变化率 由一个可以被学习到的 daita function 决定
这样的话 由于c的每一个 element都是对着时间指数变化的 这堆element做一个combination 和一个non-linear 的变换,理论上可模拟 任何方式变化的时间函数 , 也就是说当我们把很多指数变化的函数组合起来的时候,我们可以让他们的组合 来逼近任何复杂形状的函数,那我们就可以得到任何复杂
形状的intensity function
举个例子 ,就是左边这张图,下面的黄线代表cell memory,假设用的是有3个hidden node 的LSTM
也就是他的维度D=3,每一个维度都随着事件递增或递减,当下一个维度发生之后,这个cell memory都会发生显著的变化,事件发生之后,cell memory 会发生显著变化,以一定速率递增或者递减
假设有两个不同事件,绿色和粉色事件,每一个事件都有它的 intensity function,他俩都可以以一些参数被写成这三个cell,c1,c2,c3的non-linear projection,那么我们可以看到 随着横轴时间轴的推移,cell memory 不断产生变化 , intensity function 也不断产生变化 , 当粉色事件发生,粉色事件作为输入,改变了cell memory的值 ,进而改变了 intensity function的值 , 新一轮的缓慢变化又开始了
整个这部分内容就是 neural hawkes 的核心内容 ,作者用连续时间上的LSTM 来capture连续时间
上hidden state的变化 ,进而能把intensity function 表示成 hidden state的一个复杂的non-linear projection。从未capture到各种复杂的影响

 5.Future Work

future work 就是跟reinforce learning 结合起来
做连续时间 上的 reinforcement learning , 来学习环境什么时候给反馈,给什么反馈
和 agent 什么时候做响应 做 什么响应

原文地址:https://www.cnblogs.com/asd1234/p/8177570.html