【导读】你是不是常常烦恼找不到合适的会议时间?我也经常遇到这种问题。当前人们越来越忙,想要协调合适的会议时间是很困难的。本文中,数据科学家Favio Vázquez介绍了一个基于AI的会议规划系统——Skejul。该系统不仅仅采用传统的RNN思想建模时间序列,而是 RNN,LSTM,ConvNets,Residual NN 等技术的集合体。Skejul将在今年相继推出其免费版和商业版,对其原理感兴趣的读者不妨深入读一下本文。
Skejul meetings with Deep Learning
▌目前的问题
当人们分布在在世界各地,处于不同时区时,安排正确的会议时间是很困难的。甚至当人们生活在同一地点,协调一个统一时间也是很困难的事情,因为人们都很忙
也许你没有正确使用你的时间,可能你在一天会议很多,而其他时间完全没有会议。如果有一个完美的日历,完美地安排所有空闲时间、会议或者活动,那将是一个很美好的事。
深度学习可以帮助你解决一切!
Skejul
我很高兴见到Skejul的首席执行官Matthew Lamons先生,他简要介绍了系统及其后端。
Skejul采用人工智能(AI),不需要您花大量时间来设置偏好、设置优先级、管理其他人的联系信息、输入您去的地方的信息或者您喜欢做的事情。
它也简化了人、地点和事物的复杂的协调过程。
但是它是如何做到的呢?
▌深度学习中的序列模型
什么是序列?
简而言之,是相关的事件、动作或事物的特定顺序。例如在斐波那契数列中,那些“事物”是数字,并且有一个函数表示它们,我们称之为一个递推关系:
如果你是程序员,也许你会发现这段Python代码倍感熟悉:
这个代码是递归的。什么是递归?是当你定义一个问题涉及到它自己时,就会发生递归。
以上的编程和数学都很酷。但是,这些和深度学习有什么关系。
在深度学习中,有一种特定类型的神经网络(NN),它能够通过迭代序列元素来处理序列,并维持节点包含以前所输入相关信息的状态。就像他们有一个“记忆”,是一种逐渐处理信息的方式。这种类型的神经网络被称为递归神经网络(RNN),这种类型的神经网络具有内部循环,并且在处理两个不同的独立序列之后更新其状态。
RNN的时间序列
所以Skejul解决问题的方式是使用RNN(和其他类型的NN)处理时间序列。时间序列是是具有一定时间顺序的数据,其数据元素与时间相关。例如股票价格,加密货币的价格等等。
RNN能很好地预测时间序列,用x时间点之前发生的事情预测在x时间点发生的事。
虽然RNN对于顺序数据非常有用,但是它们也存在一些问题,比如学习“长期依赖性”,想要保持长时间的信息。
为了解决以前问题,Hochreiter&Schmidhuber(1997)提出了LSTMs,它是一种特殊的RNN,能够学习长期的依赖性。
想了解更多关于LSTMs的信息点击这里。
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
▌LSTM模型Keras
代码:
https://github.com/jaungiers/LSTM-Neural-Network-for-Time-Series-Prediction/blob/master/lstm.py
下面看一下其代码,在Keras中构建LSTM是非常容易的。我以后将写一篇介绍keras的文章
from keras.layers.core import Dense, Activation, Dropout
from keras.layers.recurrent import LSTM
from keras.models import Sequential
import time
def build_model(layers):
model = Sequential()
model.add(LSTM(
input_shape=(layers[1], layers[0]),
output_dim=layers[1],
return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(
layers[2],
return_sequences=False))
model.add(Dropout(0.2))
model.add(Dense(
output_dim=layers[3]))
model.add(Activation("linear"))
start = time.time()
model.compile(loss="mse", optimizer="rmsprop")
print("> Compilation Time : ", time.time() - start)
return model
有了这个简单的代码,你可以在Keras上创建一个时间序列
▌时间序列和Skejul
所以,Skejul所做的就是使用自己的专有算法来进行合理的猜测,以便与用户确定会议的最佳时间和日期。
正如Matthew告诉我的,这个算法使用的不仅仅是RNN或者LSTM,还有使用ConvNets,Residual NN和深度增强学习。
但是数据呢?你可能会想,他们如何训练他们的NN?
你可以帮助Skejul测试,使用Skejul的私人测试版,算法可以向你学习!在这里注册。http://skejul.com/
Skejul所做的大部分工作是从你的日程表中获取数据,但不仅仅是会议,还包括你对会议的回复,例如你同意一个会议或者决定参加一个会议。
他们将在今年春季推出该软件的免费版本,以及在夏季中旬左右推出商业版本。Skejul将会有很多新的功能,并且会增加新的功能,如视频平台,利用应用程序进行会议,添加聊天功能。
他们声称,他们的算法和平台可以实现比目前最好的预测应用程序效果的75倍。他们还有来自25个国家,包括伦敦,孟买,墨西哥城,旧金山,新加坡,柏林,罗马,布宜诺斯艾利斯,都柏林,迪拜,香港等城市的预约成员。
▌概要
协商会议时间并不是一项简单的任务,所以我们使用Deep Learning和AI来解决这个问题。
深度学习是一个非常重要的技术,有很多的应用,这里的应用是预测序列模型中的值。
一个序列是特定的顺序,在这个顺序中,相关的事件、运动或者事物相互关联。
递归神经网络(RNN)是一种具有内部循环的神经网络,其状态在处理两个不同的独立序列时更新。他们拥有类似于记忆的功能。
RNN有学习“长期依赖性”的问题,所以采用LSTM网络解决了这个问题。
您可以在Keras中轻松快速地实现LSTM模型。
Skejul正在使用RNN,LSTM,ConvNets,Residual NN,Deep Reinforcement Learning等技术来解决与全球不同人员实时会议安排的问题。
原文链接:
https://towardsdatascience.com/skejul-meetings-with-deep-learning-5efab285b111
-END-
专 · 知
人工智能领域主题知识资料查看获取:【专知荟萃】人工智能领域26个主题知识资料全集(入门/进阶/论文/综述/视频/专家等)
同时欢迎各位用户进行专知投稿,详情请点击:
【诚邀】专知诚挚邀请各位专业者加入AI创作者计划!了解使用专知!
请PC登录www.zhuanzhi.ai或者点击阅读原文,注册登录专知,获取更多AI知识资料!
请扫一扫如下二维码关注我们的公众号,获取人工智能的专业知识!
请加专知小助手微信(Rancho_Fang),加入专知主题人工智能群交流!
点击“阅读原文”,使用专知!