Predicting Citywide Crowd Flows Using
Deep SpatioTemporal Residual Networks^{1}^{1}1This paper is an expanded version of zhang2017aaai (), which has been accepted for presentation at the AAAI Conference on Artificial Intelligence (AAAI17).
Abstract
Forecasting the flow of crowds is of great importance to traffic management and public safety, and very challenging as it is affected by many complex factors, including spatial dependencies (nearby and distant), temporal dependencies (closeness, period, trend), and external conditions (e.g. weather and events). We propose a deeplearningbased approach, called STResNet, to collectively forecast two types of crowd flows (i.e. inflow and outflow) in each and every region of a city. We design an endtoend structure of STResNet based on unique properties of spatiotemporal data. More specifically, we employ the residual neural network framework to model the temporal closeness, period, and trend properties of crowd traffic. For each property, we design a branch of residual convolutional units, each of which models the spatial properties of crowd traffic. STResNet learns to dynamically aggregate the output of the three residual neural networks based on data, assigning different weights to different branches and regions. The aggregation is further combined with external factors, such as weather and day of the week, to predict the final traffic of crowds in each and every region. We have developed a realtime system based on Microsoft Azure Cloud, called UrbanFlow, providing the crowd flow monitoring and forecasting in Guiyang City of China. In addition, we present an extensive experimental evaluation using two types of crowd flows in Beijing and New York City (NYC), where STResNet outperforms nine wellknown baselines.
keywords:
Convolutional Neural Networks, Spatiotemporal Data, Residual Learning, Crowd Flows, Cloud1 Introduction
Predicting crowd flows in a city is of great importance to traffic management, risk assessment, and public safety Zheng2014AToISaTT (). For instance, massive crowds of people streamed into a strip region at the 2015 New Year’s Eve celebrations in Shanghai, resulting in a catastrophic stampede that killed 36 people. In midJuly of 2016, hundreds of “Pokemon Go” players ran through New York City’s Central Park in hopes of catching a particularly rare digital monster, leading to a dangerous stampede there. If one can predict the crowd flow in a region, such tragedies can be mitigated or prevented by utilizing emergency mechanisms, such as conducting traffic control, sending out warnings, or evacuating people, in advance.
In this paper, we predict two types of crowd flows Zhang2016 (): inflow and outflow, as shown in Figure 1(a). Inflow is the total traffic of crowds entering a region from other places during a given time interval. Outflow denotes the total traffic of crowds leaving a region for other places during a given time interval. Both types of flows track the transition of crowds between regions. Knowing them is very beneficial for risk assessment and traffic management. Inflow/outflow can be measured by the number of pedestrians, the number of cars driven nearby roads, the number of people traveling on public transportation systems (e.g., metro, bus), or all of them together if data is available. Figure 1(b) presents an illustration. We can use mobile phone signals to measure the number of pedestrians, showing that the inflow and outflow of are , respectively. Similarly, using the GPS trajectories of vehicles, two types of flows are , respectively. Therefore, the total inflow and outflow of are , respectively. Apparently, predicting crowd flows can be viewed as a kind of spatiotemporal prediction problem Zheng2014AToISaTT ().
Deep learning lecun2015deep () has been used successfully in many applications, and is considered to be one of the most cuttingedge artificial intelligence (AI) techniques. Exploring these techniques for spatiotemporal data is of great importance to a series of various spatiotemporal applications, including urban planning, transportation, the environment, energy, social, economy, public safety and security Zheng2014AToISaTT (). Although two main types of deep neural networks (DNNs) have considered a sort of spatial or temporal property: 1) convolutional neural networks (CNNs) for capturing spatial structures; 2) recurrent neural networks (RNNs) for learning temporal dependencies. It is still very challenging to apply these existing AI techniques for such spatiotemporal prediction problem because of the following three complex factors:

Spatial dependencies.
 Nearby

The inflow of Region (shown in Figure 1(a)) is affected by outflows of nearby regions (like ). Likewise, the outflow of would affect inflows of other regions (e.g., ). The inflow of region would affect its own outflow as well.
 Distant

The flows can be affected by that of distant regions. For instance, people who lives far away from the office area always go to work by metro or highway, implying that the outflows of distant regions directly affect the inflow of the office area.

Temporal dependencies.
 Closeness

The flow of crowds in a region is affected by recent time intervals, both near and far. For instance, a traffic congestion occurring at 8:00am will affect that of 9:00am. And the crowd flows of today’s time interval^{5}^{5}5Assume that halfhour is a time interval, time interval means 7:30am  8:00am. is more similar to that of yesterday’s time interval than that of today’s time interval.
 Period

Traffic conditions during morning rush hours may be similar on consecutive weekdays, repeating every 24 hours.
 Trend

Morning rush hours may gradually happen later as winter comes. When the temperature gradually drops and the sun rises later in the day, people get up later and later.

External influence. Some external factors, such as weather conditions and events may change the flow of crowds tremendously in different regions of a city. For example, a thunderstorm affects the traffic speed on roads and further changes the flows of regions.
To tackle above mentioned challenges, we here explore DNNs for spatiotemporal data, and propose a deep spatiotemporal residual network (STResNet) to collectively predict inflow and outflow of crowds in every region. Our contributions are fivefold:

STResNet employs convolutionbased residual networks to model both nearby and distant spatial dependencies between any two regions in a city, while ensuring the model’s prediction accuracy is not comprised by the deep structure of the neural network.

We summarize the temporal properties of crowd flows into three categories, consisting of temporal closeness, period, and trend. STResNet uses three different residual networks to model these properties, respectively.

STResNet dynamically aggregates the output of the three aforementioned networks, assigning different weights to different branches and regions. The aggregation is further combined with external factors (e.g., weather).

We evaluate our approach using Beijing taxicabs’ trajectories and meteorological data, and NYC bike trajectory data. The results demonstrate the advantages of our approach compared with 9 baselines.

We develop a realtime crowd flow monitoring & forecasting system using STResNet. And our solution is based on the Cloud and GPU servers, providing powerful and flexible computational environments.
The rest of this paper is organized as follows. In Section 2, we formally describe the crowd flow prediction problem. Section 3 overviews the architecture of our proposed system. Section 4 describes the DNNbased prediction model used. We present the evaluation in Section 5 and summarized the related work in Section 6.
The differences between this paper and our earlier work zhang2017aaai () are four aspects. First, we have deployed a cloudbased system that continuously forecasts the flow of taxicabs in each and every region of Guiyang City in China, showcasing the capability of STResNet in handling realworld problems. The implementation of the cloudbased system is also introduced in Section 3 of this paper. Second, we extend STResNet from a onestep ahead prediction to a multistep ahead prediction, enabling the prediction of crowd flows over a farther future time (Section 4.4). Third, we conduct more comprehensive experiments on crowd flow prediction, showcasing the effectiveness and robustness of STResNet: i) comparing our method with more advanced baselines (e.g., three different variants of recurrent neural networks) (Section 5.2); ii) testing more network architectures for STResNet (Section 5.3); iii) adding the experiments of multistep ahead prediction (Section 5.4); iv) discussing the performance of our method changing over different cloud resources (Section 5.5). Fourth, we have explored more related works (in Section 6), clarifying the differences and connections to thestateoftheart. This helps better position our research in the community.
2 Preliminary
We first briefly revisit the crowd flow prediction problem Zhang2016 () and then introduce deep residual learning He2016apa ().
2.1 Formulation of Crowd Flow Prediction Problem
Definition 1 (Region Zhang2016 ())
There are many definitions of a location in terms of different granularities and semantic meanings. In this study, we partition a city into an grid map based on the longitude and latitude where a grid denotes a region, as shown in Figure 2(a).
Definition 2 (Inflow/outflow Zhang2016 ())
Let be a collection of trajectories at the time interval. For a grid that lies at the row and the column, the inflow and outflow of the crowds at the time interval are defined respectively as
where is a trajectory in , and is the geospatial coordinate; means the point lies within grid , and vice versa; denotes the cardinality of a set.
At the time interval, inflow and outflow in all regions can be denoted as a tensor where , . The inflow matrix is shown in Figure 2(b).
Formally, for a dynamical system over a spatial region represented by a grid map, there are 2 types of flows in each grid over time. Thus, the observation at any time can be represented by a tensor .
Problem 1
Given the historical observations , predict .
2.2 Deep Residual Learning
Deep residual learning He2015apa () allows convolution neural networks to have a super deep structure of 100 layers, even over1000 layers. And this method has shown stateoftheart results on multiple challenging recognition tasks, including image classification, object detection, segmentation and localization He2015apa ().
Formally, a residual unit with an identity mapping He2016apa () is defined as:
(1) 
where and are the input and output of the residual unit, respectively; is a residual function, e.g., a stack of two convolution layers in He2015apa (). The central idea of the residual learning is to learn the additive residual function with respect to He2016apa ().
3 System Architecture
Figure 3 presents the framework of our system, which consists of three major parts: local GPU servers, and the Cloud, and users (e.g., website and QR Code), resulting in offline and online data flows, respectively. The local GPU servers store historical observations, such as taxi trajectories, meteorological data. The Cloud receive realtime data, including realtime traffic data (e.g. trajectories) within a time interval as well as meteorological data. The users access the inflow/outflow data, displaying them on websites or smart phone via scanning QR code.
3.1 The Cloud
The cloud continuously receives GPS trajectories of taxicabs and crawls meteorological data, and then caches them into a redis. A virtual machine (VM) (or VMs) on the Cloud pulls these data from the redis, and then computes crowd flows according to GPS trajectories for each and every region of a city. Meanwhile, the VM extracts the features from meteorological data, event data and others. Afterwards, the VM stores the crowd flow data and extracted features into the storage (a part of the VM). To save the resource on the cloud (more storages need more expensive payment), we only store the crowd flow data and features in past two days. Historical data can be moved to local servers periodically.
We use Azure platform as a service (PaaS). Table 1 details the Azure^{6}^{6}6https://azure.microsoft.com resources for our system as well as the price^{7}^{7}7https://azure.microsoft.com/enus/pricing. We employ a VM^{8}^{8}8To accelerate the computation, one also can choose a more powerful VM, such as D4 standard of Azure that has 8 cores and 28 GB memory with per hour., called A2 standard in Azure, that has 2 cores and 3.5 GB memory for forecasting the crowd flows in near future. The website and web service share a App Service, given the potential heavy accesses by many users. As the historical data is stored in local servers, a 6 GB Redis Cache is enough for caching the realtime trajectories in past halfhour, crowd flow data & extracted features in past two days, and inferred results.
Azure Service  Configuration  Price 

App Service  Standard, 4 cores, 7GB memory  
Virtual Machine  A2 standard, 2 cores, 3.5 GB memory  
Redis Cache  P1 premium, 6GB 
3.2 Local GPU Servers
Although all the jobs can be done on the cloud, GPU services on the Cloud is not supported in some areas (e.g., China). On the other hand, we need to pay for other cloud services, like storages and I/O bandwidths. Saving unnecessary cost is vital for a research prototype. In addition, migrating massive data from local servers up to the cloud is timeconsuming given the limited network bandwidth. For instance, the historical trajectories can be hundreds of Gigabytes, even Terabytes, leading to a very long time for copying the data from local servers to the cloud.
Therefore, we employ a hybrid framework that combines local GPU servers with the cloud. Local GPU servers mainly handle the offline training (learning), including three tasks:

Converting trajectories into inflow/outflow: we first use the massive historical trajectories and employ a calculation module to get crowd flow data, then store them in local.

Extracting features from external data: we fist collect external data (e.g. weather, holiday events) from different data sources and fit them into a feature extraction module to get continuous or discrete features, and then store them in local.

Training model: we use above generated crowd flows and external features to train a predictive model via our proposed STResNet, and then upload the learned model to the cloud. Note that as the dynamic crowd flows and features are stored in the Storage (Azure), we sync up the online data to local servers before each training processing. In this way, we are agile to try new ideas (e.g. retrain the model) while greatly reducing expense for a research prototype.
3.3 User Interface
Figure 4(a) presents the website of UrbanFlow urbanflow (), where each grid on the map stands for a region and the number associated with it denotes its inflow or outflow of crowds. The user can view inflow or outflow via the topright button named “InFlow/OutFlow”. The smaller the number is, the crowd flow is sparser. The color of each grid is determined in accordance with its crowd flows, e.g., “red” means “dense” crowd flow and “green” means “sparse” crowd flow. The topright corner of the website shows the buttons which can switch between different types of flows. A user can select any grid (representing a region) on the website and click it to see the region’s detailed flows, as shown in Figure 4(b) where blue, black, and green curves indicate flows of yesterday, past, and future times at today, respectively. The bottom of the website shows a few sequential timestamps. The heatmap at a certain timestamp will be shown in the website when a user clicks the associated timestamp. Intuitively, the user can watch the moviestyle heatmaps (Figure 4(c)) by clicking “play button” at the bottomleft of Figure 4(a). At present, we apply UrbanFlow to the area of Guiyang City, China ^{9}^{9}9http://urbanflow.sigkdd.com.cn/.
4 Deep SpatioTemporal Residual Networks
Recurrent neural networks (RNNs), like longshort term memory (LSTM), is capable of learning longrange temporal dependencies. Using RNNs, however, to model temporal period and trend, it needs very long input sequences (e.g., )^{10}^{10}10Assume that halfanhour is a time interval, 4week sequence’s length is equal to , which makes the whole training processing nontrivial (see Section 5.2 for empirical evaluation). According to the ST domain knowledge, we know that only a few previous keyframes influence the next keyframe. Therefore, we leverage temporal closeness, period, trend to select keyframes for modeling. Figure 5 presents the architecture of STResNet, which is comprised of four major components modeling temporal closeness, period, trend, and external influence, respectively.
As illustrated in the topright part of Figure 5, we first turn inflow and outflow throughout a city at each time interval into a 2channel imagelike matrix respectively, using the approach introduced in Definitions 1 and 2. We then divide the time axis into three fragments, denoting recent time, near history and distant history. The 2channel flow matrices of intervals in each time fragment are then fed into the first three components separately to model the aforementioned three temporal properties: closeness, period and trend, respectively. The first three components share the same network structure with a convolutional neural network followed by a Residual Unit sequence. Such structure captures the spatial dependency between nearby and distant regions. In the external component, we manually extract some features from external datasets, such as weather conditions and events, feeding them into a twolayer fullyconnected neural network. The outputs of the first three components are fused as based on parameter matrices, which assign different weights to the results of different components in different regions. is further integrated with the output of the external component . Finally, the aggregation is mapped into by a Tanh function, which yields a faster convergence than the standard logistic function in the process of backpropagation learning lecun2012efficient ().
4.1 Structures of the First Three Components
The first three components (i.e. closeness, period, trend) share the same network structure, which is composed of two subcomponents: convolution and residual unit, as shown in Figure 6.
Convolution. A city usually has a very large size, containing many regions with different distances. Intuitively, the flow of crowds in nearby regions may affect each other, which can be effectively handled by the convolutional neural network (CNN) that has shown its powerful ability to hierarchically capture the spatial structural information LeCun1998PotI (). In addition, subway systems and highways connect two locations with a far distance, leading to the dependency between distant regions. In order to capture the spatial dependency of any region, we need to design a CNN with many layers because one convolution only accounts for spatial near dependencies, limited by the size of their kernels. The same problem also has been found in the video sequence generating task where the input and output have the same resolution Mathieu2015apa (). Several methods have been introduced to avoid the loss of resolution brought about by subsampling while preserving distant dependencies Long2015 (). Being different from the classical CNN, we do not use subsampling, but only convolutions Jain2007 (). As shown in Figure 6(a), there are three multiple levels of feature maps that are connected with a few convolutions. We find that a node in the highlevel feature map depends on nine nodes of the middlelevel feature map, those of which depend on all nodes in the lowerlevel feature map (i.e. input). It means one convolution naturally captures spatial near dependencies, and a stack of convolutions can further capture distant even citywide dependencies.
The closeness component of Figure 5 adopts a few 2channel flows matrices of intervals in the recent time to model temporal closeness dependency. Let the recent fragment be , which is also known as the closeness dependent sequence. We first concatenate them along with the first axis (i.e. time interval) as one tensor , which is followed by a convolution (i.e. Conv1 shown in Figure 5) as:
where denotes the convolution in a convolutional operator; is an activation function, e.g. the rectifier Krizhevsky2012 (); are the learnable parameters in the first layer.
The classical convolution has smaller output size than input size, namely, narrow convolution, as shown in Figure 7(a). Assume that the input size is and the filter size is with stride 1, the output size is if using narrow convolution. In our task, the final output size should be same as the size of the input (i.e. ). For this goal, we employ a special type of convolution, i.e. same convolution (see Figure 7(b)), which allows a filter to go outside the border of an input, padding each area outside the border with a zero.
Residual Unit. It is a wellknown fact that very deep convolutional networks compromise training effectiveness though the wellknown activation function (e.g. ReLU) and regularization techniques are applied Ioffe2015 (); Krizhevsky2012 (); Nair2010 (). On the other hand, we still need a very deep network to capture very large citywide dependencies. For a typical crowd flow data, assume that the input size is , and the kernel size of convolution is fixed to , if we want to model citywide dependencies (i.e., each node in highlevel layer depends on all nodes of the input), it needs more than 15 consecutive convolutional layers. To address this issue, we employ residual learning He2015apa () in our model, which have been demonstrated to be very effective for training super deep neural networks of over1000 layers.
In our STResNet (see Figure 5), we stack residual units upon Conv1 as follows,
(2) 
where is the residual function (i.e. two combinations of “ReLU + Convolution”, see Figure 6(b)), and includes all learnable parameters in the residual unit. We also attempt Batch Normalization (BN) Ioffe2015 () that is added before ReLU. On top of the residual unit, we append a convolutional layer (i.e. Conv2 shown in Figure 5). With 2 convolutions and residual units, the output of the closeness component of Figure 5 is .
Likewise, using the above operations, we can construct the period and trend components of Figure 5. Assume that there are time intervals from the period fragment and the period is . Therefore, the period dependent sequence is . With the convolutional operation and residual units like in Eqs. 4.1 and 2, the output of the period component is . Meanwhile, the output of the trend component is with the input where is the length of the trend dependent sequence and is the trend span. Note that and are actually two different types of periods. In the detailed implementation, is equal to oneday that describes daily periodicity, and is equal to oneweek that reveals the weekly trend.
4.2 The Structure of the External Component
Traffic flows can be affected by many complex external factors, such as weather and event. Figure 8(a) shows that crowd flows during holidays (Chinese Spring Festival) can be significantly different from the flows during normal days. Figure 8(b) shows that heavy rain sharply reduces the crowd flows at Office Area compared to the same day of the latter week. Let be the feature vector that represents these external factors at predicted time interval . In our implementation, we mainly consider weather, holiday event, and metadata (i.e. DayOfWeek, Weekday/Weekend). The details are introduced in Table 2. To predict flows at time interval , the holiday event and metadata can be directly obtained. However, the weather at future time interval is unknown. Instead, one can use the forecasting weather at time interval or the approximate weather at time interval . Formally, we stack two fullyconnected layers upon , the first layer can be viewed as an embedding layer for each subfactor followed by an activation. The second layer is used to map low to high dimensions that have the same shape as . The output of the external component of Figure 5 is denoted as with the parameters .
4.3 Fusion
In this section, we discuss how to fuse four components of Figure 5. We first fuse the first three components with a parametricmatrixbased fusion method, which is then further combined with the external component.
Figures 9(a) and (d) show the ratio curves using Beijing trajectory data presented in Table 2 where axis is time gap between two time intervals and axis is the average ratio value between arbitrary two inflows that have the same time gap. The curves from two different regions all show an empirical temporal correlation in time series, namely, inflows of recent time intervals are more relevant than ones of distant time intervals, which implies temporal closeness. The two curves have different shapes, which demonstrates that different regions may have different characteristics of closeness. Figures 9(b) and (e) depict inflows at all time intervals of 7 days. We can see the obvious daily periodicity in both regions. In Office Area, the peak values on weekdays are much higher than ones on weekends. Residential Area has similar peak values for both weekdays and weekends. Figures 9(c) and (f) describe inflows at a certain time interval (9:00pm9:30pm) of Tuesday from March 2015 and June 2015. As time goes by, the inflow progressively decreases in Office Area, and increases in Residential Area. It shows the different trends in different regions. In summary, inflows of two regions are all affected by closeness, period, and trend, but the degrees of influence may be very different. We also find the same properties in other regions as well as their outflows.
Above all, the different regions are all affected by closeness, period and trend, but the degrees of influence may be different. Inspired by these observations, we propose a parametricmatrixbased fusion method.
Parametricmatrixbased fusion. We fuse the first three components (i.e. closeness, period, trend) of Figure 5 as follows
(3) 
where is Hadamard product (i.e. elementwise multiplication), , and are the learnable parameters that adjust the degrees affected by closeness, period and trend, respectively.
Fusing the external component. We here directly merge the output of the first three components with that of the external component, as shown in Figure 5. Finally, the predicted value at the time interval, denoted by , is defined as
(4) 
where is a hyperbolic tangent that ensures the output values are between 1 and 1.
Our STResNet can be trained to predict from three sequences of flow matrices and external factor features by minimizing mean squared error between the predicted flow matrix and the true flow matrix:
(5) 
where are all learnable parameters in the STResNet.
4.4 Algorithms and Optimization
Algorithm 1 outlines the STResNet training process. We first construct the training instances from the original sequence data (lines 16). Then, STResNet is trained via backpropagation and Adam Kingma2014apa () (lines 711).
After training, the learned STResNet model is obtained for the single or multistep lookahead prediction. the process of which is summarized in Algorithm 2. Some types of external features (i.e., weather) used here are different from that in Algorithm 1. In the training process, we use the true weather data, which is replaced by the forecasted weather data in Algorithm 2.
5 Experiments
In this section, we evaluate our STResNet on two types of crowd flows in Beijing and NYC against 9 baselines.
5.1 Settings
Datasets. We use two different sets of data as shown in Table 2. Each dataset contains two subdatasets: trajectories and weather, as detailed as follows.

TaxiBJ: Trajectoriy data is the taxicab GPS data and meteorology data in Beijing from four time intervals: 1st Jul. 2013  30th Otc. 2013, 1st Mar. 2014  30th Jun. 2014, 1st Mar. 2015  30th Jun. 2015, 1st Nov. 2015  10th Apr. 2016. Using Definition 2, we obtain two types of crowd flows. We choose data from the last four weeks as the testing data, and all data before that as training data.

BikeNYC: Trajectory data is taken from the NYC Bike system in 2014, from Apr. 1st to Sept. 30th. Trip data includes: trip duration, starting and ending station IDs, and start and end times. Among the data, the last 10 days are chosen as testing data, and the others as training data.
Dataset  TaxiBJ  BikeNYC 
Data type  Taxi GPS  Bike rent 
Location  Beijing  New York 
Time Span  7/1/2013  10/30/2013  
3/1/2014  6/30/2014  4/1/2014  9/30/2014  
3/1/2015  6/30/2015  
11/1/2015  4/10/2016  
Time interval  30 minutes  1 hour 
Gird map size  (32, 32)  (16, 8) 
Trajectory data  
Average sampling rate (s)  60  
# taxis/bikes  34,000+  6,800+ 
# available time interval  22,459  4,392 
External factors (holidays and meteorology)  
# holidays  41  20 
Weather conditions  16 types (e.g., Sunny, Rainy)  
Temperature / C  
Wind speed / mph 
Baselines. We compare our STResNet with the following 9 baselines:

HA: We predict inflow and outflow of crowds by the average value of historical inflow and outflow in the corresponding periods, e.g., 9:00am9:30am on Tuesday, its corresponding periods are all historical time intervals from 9:00am to 9:30am on all historical Tuesdays.

ARIMA: AutoRegressive Integrated Moving Average (ARIMA) is a wellknown model for understanding and predicting future values in a time series.

SARIMA: Seasonal ARIMA. Beyond ARIMA, SARIMA also considers the seasonal terms, capable of both learning closeness and periodic dependencies.

VAR: Vector AutoRegressive (VAR) is a more advanced spatiotemporal model, which can capture the pairwise relationships among all flows, and has heavy computational costs due to the large number of parameters.

STANN: It first extracts spatial (nearby 8 regions’ values) and temporal (8 previous time intervals) features, then fed into an artificial neural network.

DeepST Zhang2016 (): a deep neural network (DNN)based prediction model for spatiotemporal data, which shows stateoftheart results on the crowd flow prediction.

RNN bengiodeep (): recurrent neural network (RNN), a deep learning model, which can capture temporal dependencies. Formally, RNN can train on sequences with the arbitrary length. In our experiment, we fix the length of input sequence as one of . Taking 48 as example, the dependent input sequence is just a oneday data if the interval time is equal to 30 minutes. Therefore, we have 6 RNN variants, including RNN3, RNN6, RNN12, RNN24, RNN48, and RNN336.

LSTM hochreiter1997long (): Longshorttermmemory network (LSTM), a special kind of RNN, capable of learning longterm temporal dependencies. Being same as the setting of RNN, we conduct the experiments on 6 LSTM variants, i.e. LSTM3, LSTM6, LSTM12, LSTM24, LSTM48, and LSTM336.

GRU cho2014learning (): Gatedrecurrentunit network, a new kind of RNN, can be used to capture longterm temporal dependencies. Being same as the setting of RNN, the following GRU variants are selected as the baselines: GRU3, GRU6, GRU12, GRU24, GRU48, and GRU336.
Preprocessing. In the output of the STResNet, we use as our final activation (see Eq. 4), whose range is between 1 and 1. Here, we use the MinMax normalization method to scale the data into the range . In the evaluation, we rescale the predicted value back to the normal values, compared with the groundtruth. For external factors, we use onehot coding to transform metadata (i.e., DayOfWeek, Weekend/Weekday), holidays and weather conditions into binary vectors, and use MinMax normalization to scale the Temperature and Wind speed into the range .
Hyperparameters. The learnable parameters are initialized using a uniform distribution with the default parameter in Keras Chollet2015 (). The convolutions of Conv1 and all residual units use 64 filters of size , and Conv2 uses a convolution with 2 filters of size . For example, a 4residualunit of STResNet consists of Conv1, 4 residual unit, and Conv2. See Table 3 for the details. The Adam Kingma2014apa () is used for optimization, and the batch size is 32. The number of residual units is set as 12 for the dataset TaxiBJ, and 4 for BikeNYC. There are 5 extra hyperparamers in our STResNet, of which and are empirically fixed to oneday and oneweek, respectively. For lengths of the three dependent sequences, we set them as: . We select 90% of the training data for training each model, and the remaining 10% is chosen as the validation set, which is used to earlystop our training algorithm for each model based on the best validation score. Afterwards, we continue to train the model on the full training data for a fixed number of epochs (e.g., 10, 100 epochs).
layer name  output size  closeness  period  trend 

Conv1  
ResUnit 1  
ResUnit 2  
ResUnit 3  
ResUnit 4  
Conv2 
Evaluation Metric: We measure our method by Root Mean Square Error (RMSE)^{11}^{11}11The smaller the better. as
where and are the available ground truth and the corresponding predicted value, respectively; is the number of all available ground truths.
Experiments are mainly run on a GPU server, whose detailed information is shown in Table 4. The python libraries, including Theano TDT2016ae () and Keras Chollet2015 (), are used to build our models.
OS  Windows Server 2012 R2 

Memory  256GB 
CPU  Intel(R) Xeon(R) CPU E52680 v2 @ 2.80GHz 
GPU  Tesla K40m 
Number of GPU cards  4 
CUDA version  8.0 
cuDNN version  8.0 
Keras version  1.1.1 
Theano version  0.9.0dev 
5.2 Evaluation of Singlestep Ahead Prediction
In this section, we evaluate the singlestep ahead prediction, namely, predicting the crowd flows at time using the historical observations. Table 5 shows the RMSE of all methods on both TaxiBJ and BikeNYC. Our STResNet consistently and significantly outperforms all baselines. Specifically, the results on TaxiBJ demonstrates that STResNet (with 12 residual units) is relatively better than ARIMA, better than SARIMA, better than VAR, better than STANN, better than DeepST, to better than RNN, to better than LSTM, to better than GRU. STResNetnoExt is a degraded version of STResNet that does not consider the external factors (e.g. meteorology data). We can see that STResNetnoExt is slightly worse than STResNet, pointing out external factors are always beneficial. DeepST exploits spatiotemporal CNNs and is clearly better than other baselines. While both STANN and VAR use spatial/temporal information and relationships among flows, they are worse than DeepST because they only consider the near spatial information and recent temporal information. Among the temporal models, GRU and LSTM have similar RMSE, and outperform RNN in average because GRU and LSTM both can capture longterm temporal dependencies. However, GRU336 and LSTM336 have very bad performance as well as RNN336, which demonstrates RNNbased models cannot capture very longterm dependencies (i.e. period and trend). Intuitively, we rank all of these models, as shown in Figure 10(a).
Being different from TaxiBJ, BikeNYC consists of two different types of crowd flows, including newflow and endflow Hoang2016 (). We here adopt a total of 4residualunit STResNet, and consider the metadata as external features like DeepST Zhang2016 (). STResNet has relatively from up to lower RMSE than these baselines, demonstrating that our proposed model has good generalization performance on other flow prediction tasks. Figure 10(b) depicts the ranking of these models.
RMSE  
Model  TaxiBJ  BikeNYC 
HA  57.69  21.58 
ARIMA  22.78  10.07 
SARIMA  26.88  10.56 
VAR  22.88  9.92 
STANN  19.57  7.57 
DeepST  18.18  7.43 
RNN3  23.42  7.73 
RNN6  23.80  7.93 
RNN12  32.21  11.36 
RNN24  38.66  12.95 
RNN48  46.41  12.15 
RNN336  39.10  12.01 
LSTM3  22.90  8.04 
LSTM6  20.62  7.97 
LSTM12  23.93  8.99 
LSTM24  21.97  10.29 
LSTM48  23.02  11.15 
LSTM336  31.13  10.71 
GRU3  22.63  7.40 
GRU6  20.85  7.47 
GRU12  20.46  6.94 
GRU24  20.24  11.96 
GRU48  21.37  9.65 
GRU336  31.34  12.85 
STResNet  16.89 (12 residual units)  6.33 (4 residual units) 
STResNetnoExt  17.00 (12 residual units) 
5.3 Results of Different STResNet Variants
We here present the results of different STResNet variants, including changing network configurations, network depth, and different components used.
5.3.1 Impage of different network configurations
Figure 11 shows the results of different network configurations. The same hyperparameters: , , , .

Effect of batch normalization (BN): We attempt to adopt BN into each residual unit, finding that the RMSE slightly improves in singlestep ahead prediction, as shown in Figure 11(a).

Effect of parametricmatrixbased fusion: We use a parametricmatrixbased fusion mechanism (see Eq. 3) to fuse temporal closeness, period and trend components. Simply, one also can employ a straightforward method for fusing, i.e., . Figure 11(b) shows that ours is significantly better than the straightforward method, demonstrating the effectiveness of our proposed parametricmatrixbased fusion.

Internal structure of residual unit: The proposed residual unit includes 2 convolutions. We here test the performance different setting in the residual unit. From Figure 11(c), we observe that the model using 2 convolutions are better than using 1 convolution.
5.3.2 Impact of network depth
Figure 12 presents the impact of network depth. As the network goes deeper (i.e. the number of residual units increases), the RMSE of the model first decreases and then increases, demonstrating that the deeper network often has a better result because it can capture not only near spatial dependence but also distant one. However, when the network is very deep (e.g. number of residual unit ), training becomes much difficult.
5.3.3 Impact of filter size and number
The receptive field of a convolution is determined by the size of the filter used. We here change the size of the filter from to . Figure 13(a) shows that the larger filter size has the lower RMSE, demonstrating larger receptive field has better ability to model spatial dependency. From Figure 13(b), we can observe that more filters better result.
5.3.4 Impact of temporal closeness, period, trend
We here verify the impact of temporal closeness,period, trend components on TaxiBJ, as shown in Figure 14. Figure 14(a) shows the effect of temporal closeness where we fix and but change . For example, means that we does not employ the closeness component, resulting in a very bad RMSE: . We can observe that RMSE first decreases and then increases as the length of closeness increases, indicating that has the best performance. Figure 14(b) depicts the effect of period where we set as 3 and as 1 but change . We can see that has the best RMSE. The model without the period component (i.e. ) is worse than the model with , but better than the model, meaning that shortrange periods are always beneficial, and longrange periods may be hard to model or not helpful. Figure 14(c) presents the effect of trend where and are fixed to 3 and 2, respectively. We change from 0 to 3. The curve points that the model outperforms others. Similar to period, it is better to employ the trend component, but longrange trend may be not easy to capture or useless.
To better understand the temporal closeness, period and trend, we here visualize the parameters of the parametricmatrixbased fusion layer, which is capable of learning different temporal influence degrees for each region of a city, as shown in Figure 15. Each element in each subfigure denotes a learned parameter of a certain region that reflects the influence degree by closeness, period, or trend. We here set a threshold (e.g., ) to see the temporal properties of the whole city. Given a fixed threshold , we observe that the ratio (the number of regions whose parametric value is less than ) of the closeness is 0, demonstrating all of regions in the city have a more or less closeness. The ratio of the period shows that there are regions only have very weak periodic patterns. Likewise, Figure 15(c) depicts that regions do not have temporal trend. From Figure 15(a), we find that the closeness of some mainroadrelated regions (red dashed frame) is not obvious. One reason is that the crowd flows in these regions can be predicted using period or/and trend, adding slight closeness.
5.4 Evaluation of Multistep Ahead Prediction
According to Algorithm 2, we can use historical observations and the recent predicted ones to forecast the crowd flows in subsequent time intervals which is referreed to multistep ahead prediction. Figure 16 shows multistep prediction results of 13 different models on TaxiBJ. Among these models, STResNet[BN], STResNet[CP], and STResNet[C] are three variants of STResNet (12 residual units), of which STResNet[BN] employs BN in all residual units, STResNet[CP] does not employ the trend component but three others, STResNet[C] only uses the closeness and external components. LSTM3, LSTM6 and LSTM12 are three variants of LSTM (see details in Section 5.1). In realworld applications, forecasting the crowd flows in the near future (e.g. future 2 hours) is much more important. From the results of 4step ahead prediction^{12}^{12}124step ahead prediction on TaxiBJ means predicting the crowd flows in next 2 hours, we find our STResNet performs best though STResNet[BN] is better in the singlestep ahead prediction, showing in Figure 11(a). From the curves of STResNet, STResNet[C] and STResNet[CP], we observe that STResNet is significantly best, demonstrating the period and trend are very important in the multistep ahead prediction. We observe that LSTM12 is better than STResNet when the number of the lookahead steps is greater than 8. The reason may be that LSTM12 reads the past 12 observations to predict, however, our STResNet only takes past recent 3 observations as the input of the closeness component.
5.5 Efficiency and Resources
We test the efficiency on two different virtual machines in the cloud (i.e. Microsoft Azure). As introducing in Section 3.1, there are four main steps to predict crowd flows for each region of a city: (1) pulling trajectories from redis; (2) converting trajectories into crowd flow data; (3) predicting the crowd flows in near future; (4) pushing results into redis. We also report the time consumed by above four steps. Totally, A2 standard VM finishes the whole predicting process in 18.56 seconds. It takes 10.93 seconds on D4 standard VM, which is more powerful but expensive. One can choose A2 standard because it only costs 20% money but achieves more than 50% performance.
Virtual Machine (Azure)  A2 standard  D4 standard 

price  
OS  Ubuntu 14.04  Ubuntu 14.04 
Memory  3.5GB  28GB 
CPU  8 cores @ 2.20GHz  2 cores @ 2.20GHz 
Keras version  1.1.1  1.1.1 
Theano version  0.9.0dev  0.9.0dev 
Time (s)  
Pulling trajectories from redis  2.71  1.64 
Converting trajectories into flows  9.65  6.05 
Predicting the crowd flows  5.79  2.97 
Pushing results into redis  0.41  0.27 
Total  18.56  10.93 
6 Related Work
6.1 Crowd Flow Prediction
There are some previously published works on predicting an individual’s movement based on their location history Fan2015 (); Song2014 (). They mainly forecast millions, even billions, of individuals’ mobility traces rather than the aggregated crowd flows in a region. Such a task may require huge computational resources, and it is not always necessary for the application scenario of public safety. Some other researchers aim to predict travel speed and traffic volume on the road Abadi2015IToITS (); Silva2015PotNAoS (); Xu2014IToITS (). Most of them are predicting single or multiple road segments, rather than citywide ones Xu2014IToITS (); Chen2014 (). Recently, researchers have started to focus on cityscale traffic flow prediction Hoang2016 (); Li2015 (). Both work are different from ours where the proposed methods naturally focus on the individual region not the city, and they do not partition the city using a gridbased method which needs a more complex method to find irregular regions first.
6.2 Classical Models for Time Series Prediction
Predicting the flows of crowds can be viewed as a type of time series prediction problem. There are several conventional linear models for such problem. The historical average model is portable, which simply uses the average value of historical time series to predict future value of time series. However, the model unable to respond to dynamic changes, such as incidents smith1997traffic (). The AutoRegressive Integrated Moving Average (ARIMA) model assumes that the future value of time series is a linear combination of previous values and residuals, furthermore, in order to obtain stationarity, the nonstationary time series should be differenced before analysis box2015time (). ARIMA is not suite for time series with missing data, since they relying on uninterrupted time series, and data filling technique might be problematic as the complexity of the situation increase smith2002comparison (). The additional seasonal difference is often applied to seasonal time series to obtain stationarity before ARIMA being used, which is called SARIMA. The disadvantage of SARIMA is time consuming smith2002comparison (). The Vector Autoregressive (VAR) models capture the linear inter dependencies among interrelated time series chandra2009predictions (). However, the correlation between predicted values and residuals is neglected.
Being different from the above linear models, the artificial neural network (ANN) model is a nonlinear model and commonly used in time series prediction florio1996neural (); dougherty1997short (); zhang2003time (). ANNs have excellent nonlinear modeling ability, but not enough for linear modeling ability zhang2005neural ().
6.3 Deep Neural Networks
Neural networks and deep learning lecun2015deep (); schmidhuber2015deep (); bengio2015deep () have gained numerous success in the fields such as compute vision Krizhevsky2012 (); ren2015faster (), speech recognition graves2013speech (); yu2012automatic (), and natural language processing le2014distributed (). For example, convolutional neural networks won the ImageNet ILSVRC15 () competition since 2012, and help AlphaGo silver2016mastering () beat Go human champion^{13}^{13}13https://en.wikipedia.org/wiki/AlphaGo_versus_Lee_Sedol. Recurrent neural networks (RNNs) have been used successfully for sequence learning tasks sutskever2014sequence (). The incorporation of long shortterm memory (LSTM) hochreiter1997long () or gated recurrent unit (GRU) cho2014learning () enables RNNs to learn longterm temporal dependency. However, both kinds of neural networks can only capture spatial or temporal dependencies. Recently, researchers combined above networks and proposed a convolutional LSTM network xingjian2015convolutional () that learns spatial and temporal dependencies simultaneously. Such a network cannot model very longrange temporal dependencies (e.g., period and trend), and training becomes more difficult as depth increases.
In our previous work Zhang2016 (), a general prediction model based on DNNs was proposed for spatiotemporal data. In this paper, to model a specific spatiotemporal prediction (i.e. citywide crowd flows) effectively, we mainly propose employing the residual learning and a parametricmatrixbased fusion mechanism. A survey on data fusion methodologies can be found at Zheng2015Itobd ().
6.4 Urban Computing
Urban computing Zheng2014AToISaTT (), has emerged as a new research area, which aims to tackle urban challenges (e.g., traffic congestion, energy consumption, and pollution) by using the data that has been generated in cities (e.g., geographical data, traffic flow, and human mobility). A branch of research also partitions a city into grids, and then studies the traffic flow in each region of the city, such as predicting urban air quality Zheng:2013UAir (); Zheng2015 (), detecting anomalous traffic patterns pang2013detection (), inferring missing air quality XiuwenYi2016 (), forecasting of spatiotemporal data Zhang2016 (). Besides, some researchers started to research on deep learning methods for urban computing applications. For example, Song et al. proposed a recurrentneuralnetworkbased model to predict the person’s future movement song2016deeptransport (). Chen et al. proposes a deep learning model to understand how human mobility will affect traffic accident risk chen2016learning (). Both work are very different from ours in terms of approach and problem setting. To the best of our knowledge, in the field of urban computing, endtoend deep learning for forecasting citywide crowd flows has never been done.
7 Conclusion and Future Work
We propose a novel deeplearningbased model for forecasting the flow of crowds in each and every region of a city, based on historical spatiotemporal data, weather and events. Our STResNet is capable of learning all spatial (nearby and distant) and temporal (closeness, period, and trend) dependencies as well as external factors (e.g. weather, event). We evaluate our model on two types of crowd flows in Beijing and NYC, achieving performances which are significantly beyond 9 baseline methods, confirming that our model is better and more applicable to the crowd flow prediction. The code and datasets have been released at: https://www.microsoft.com/enus/research/publication/deepspatiotemporalresidualnetworksforcitywidecrowdflowsprediction. We develop a Cloudbased system, called UrbanFlow, that can monitor the realtime crowd flows and provide the forecasting crowd flows in near future using our STResNet.
In the future, we will consider other types of flows (e.g., metro card swiping data, taxi/truck/bus trajectory data, and phone signals data), and use all of them to generate more types of flow predictions, and collectively predict all of these flows with an appropriate fusion mechanism.
8 Acknowledgments
This work was supported by the National Natural Science Foundation of China (Grant No. 61672399 and No. U1401258), and the China National Basic Research Program (973 Program, No. 2015CB352400).
References
 (1) J. Zhang, Y. Zheng, D. Qi, Deep spatiotemporal residual networks for citywide crowd flows prediction, in: ThirtyFirst AAAI Conference on Artificial Intelligence, 2017.
 (2) Y. Zheng, L. Capra, O. Wolfson, H. Yang, Urban computing: concepts, methodologies, and applications, ACM Transactions on Intelligent Systems and Technology (TIST) 5 (3) (2014) 38.

(3)
J. Zhang, Y. Zheng, D. Qi, R. Li, X. Yi,
DNNbased prediction
model for spatiotemporal data, in: Proceedings of the 24th ACM
SIGSPATIAL International Conference on Advances in Geographic Information
Systems, GIS 2016, Burlingame, California, USA, October 31  November 3,
2016, 2016, pp. 92:1–92:4.
doi:10.1145/2996913.2997016.
URL http://doi.acm.org/10.1145/2996913.2997016  (4) Y. LeCun, Y. Bengio, G. Hinton, Deep learning, Nature 521 (7553) (2015) 436–444.

(5)
K. He, X. Zhang, S. Ren, J. Sun,
Identity mappings in
deep residual networks (2016) 630–645doi:10.1007/9783319464930_38.
URL http://dx.doi.org/10.1007/9783319464930_38 
(6)
K. He, X. Zhang, S. Ren, J. Sun,
Deep residual learning for
image recognition (2016) 770–778doi:10.1109/CVPR.2016.90.
URL http://dx.doi.org/10.1109/CVPR.2016.90  (7) Urban Flow website:: http://urbanflow.sigkdd.com.cn/.
 (8) Y. A. LeCun, L. Bottou, G. B. Orr, K.R. Müller, Efficient backprop, in: Neural networks: Tricks of the trade, Springer, 2012, pp. 9–48.
 (9) Y. LeCun, L. Bottou, Y. Bengio, P. Haffner, Gradientbased learning applied to document recognition, Proceedings of the IEEE 86 (11) (1998) 2278–2324.
 (10) M. Mathieu, C. Couprie, Y. LeCun, Deep multiscale video prediction beyond mean square error, arXiv preprint arXiv:1511.05440.
 (11) J. Long, E. Shelhamer, T. Darrell, Fully convolutional networks for semantic segmentation, in: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015, pp. 3431–3440.
 (12) V. Jain, J. F. Murray, F. Roth, S. Turaga, V. Zhigulin, K. L. Briggman, M. N. Helmstaedter, W. Denk, H. S. Seung, Supervised learning of image restoration with convolutional networks, in: 2007 IEEE 11th International Conference on Computer Vision, IEEE, 2007, pp. 1–8.
 (13) A. Krizhevsky, I. Sutskever, G. E. Hinton, ImageNet classification with deep convolutional neural networks, in: Advances in neural information processing systems, 2012, pp. 1097–1105.

(14)
S. Ioffe, C. Szegedy,
Batch
normalization: Accelerating deep network training by reducing internal
covariate shift, in: Proceedings of the 32nd International Conference on
Machine Learning, ICML 2015, Lille, France, 611 July 2015, 2015, pp.
448–456.
URL http://jmlr.org/proceedings/papers/v37/ioffe15.html  (15) V. Nair, G. E. Hinton, Rectified linear units improve restricted boltzmann machines, in: Proceedings of the 27th International Conference on Machine Learning (ICML10), 2010, pp. 807–814.
 (16) D. Kingma, J. Ba, Adam: A method for stochastic optimization, arXiv preprint arXiv:1412.6980.
 (17) Y. Bengio, I. J. Goodfellow, A. Courville, Deep learning, book in preparation for mit press (2015), URL http://www. iro. umontreal. ca/bengioy/dlbook 373 – 420.
 (18) S. Hochreiter, J. Schmidhuber, Long shortterm memory, Neural computation 9 (8) (1997) 1735–1780.

(19)
K. Cho, B. van Merrienboer, Ç. Gülçehre, D. Bahdanau,
F. Bougares, H. Schwenk, Y. Bengio,
Learning phrase
representations using RNN encoderdecoder for statistical machine
translation (2014) 1724–1734.
URL http://aclweb.org/anthology/D/D14/D141179.pdf  (20) F. Chollet, Keras, https://github.com/fchollet/keras (2015).

(21)
Theano Development Team, Theano: A
Python framework for fast computation of mathematical expressions, arXiv
eprints abs/1605.02688.
URL http://arxiv.org/abs/1605.02688 
(22)
M. X. Hoang, Y. Zheng, A. K. Singh,
Forecasting
citywide crowd flows based on big data, ACM SIGSPATIAL 2016, 2016.
URL https://www.microsoft.com/enus/research/publication/forecastingcitywidecrowdflowsbasedbigdata/  (23) Z. Fan, X. Song, R. Shibasaki, R. Adachi, Citymomentum: an online approach for crowd behavior prediction at a citywide level, in: Proceedings of the 2015 ACM International Joint Conference on Pervasive and Ubiquitous Computing, ACM, 2015, pp. 559–569.
 (24) X. Song, Q. Zhang, Y. Sekimoto, R. Shibasaki, Prediction of human emergency behavior and their mobility following largescale disaster, in: Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining, ACM, 2014, pp. 5–14.
 (25) A. Abadi, T. Rajabioun, P. A. Ioannou, Traffic flow prediction for road transportation networks with limited traffic data, IEEE Transactions on Intelligent Transportation Systems 16 (2) (2015) 653–662.
 (26) R. Silva, S. M. Kang, E. M. Airoldi, Predicting traffic volumes and estimating the effects of shocks in massive transportation systems, Proceedings of the National Academy of Sciences 112 (18) (2015) 5643–5648.
 (27) Y. Xu, Q.J. Kong, R. Klette, Y. Liu, Accurate and interpretable bayesian mars for traffic flow prediction, IEEE Transactions on Intelligent Transportation Systems 15 (6) (2014) 2457–2469.
 (28) P.T. Chen, F. Chen, Z. Qian, Road traffic congestion monitoring in social media with hingeloss markov random fields, in: 2014 IEEE International Conference on Data Mining, IEEE, 2014, pp. 80–89.
 (29) Y. Li, Y. Zheng, H. Zhang, L. Chen, Traffic prediction in a bikesharing system, in: Proceedings of the 23rd SIGSPATIAL International Conference on Advances in Geographic Information Systems, ACM, 2015, p. 33.
 (30) B. L. Smith, M. J. Demetsky, Traffic flow forecasting: comparison of modeling approaches, Journal of transportation engineering 123 (4) (1997) 261–266.
 (31) G. E. Box, G. M. Jenkins, G. C. Reinsel, G. M. Ljung, Time series analysis: forecasting and control, John Wiley & Sons, 2015.
 (32) B. L. Smith, B. M. Williams, R. K. Oswald, Comparison of parametric and nonparametric models for traffic flow forecasting, Transportation Research Part C: Emerging Technologies 10 (4) (2002) 303–321.
 (33) S. R. Chandra, H. AlDeek, Predictions of freeway traffic speeds and volumes using vector autoregressive models, Journal of Intelligent Transportation Systems 13 (2) (2009) 53–72.
 (34) L. Florio, L. Mussone, Neuralnetwork models for classification and forecasting of freeway traffic flow stability, Control Engineering Practice 4 (2) (1996) 153–164.
 (35) M. S. Dougherty, M. R. Cobbett, Shortterm interurban traffic forecasts using neural networks, International journal of forecasting 13 (1) (1997) 21–31.
 (36) G. P. Zhang, Time series forecasting using a hybrid arima and neural network model, Neurocomputing 50 (2003) 159–175.
 (37) G. P. Zhang, M. Qi, Neural network forecasting for seasonal and trend time series, European journal of operational research 160 (2) (2005) 501–514.
 (38) J. Schmidhuber, Deep learning in neural networks: An overview, Neural Networks 61 (2015) 85–117.
 (39) I. Goodfellow, Y. Bengio, A. Courville, Deep learning, An MIT Press book in preparation. Draft chapters available at http://www.deeplearningbook.org/.
 (40) S. Ren, K. He, R. Girshick, J. Sun, Faster rcnn: Towards realtime object detection with region proposal networks, in: Advances in neural information processing systems, 2015, pp. 91–99.
 (41) A. Graves, A.r. Mohamed, G. Hinton, Speech recognition with deep recurrent neural networks, in: 2013 IEEE international conference on acoustics, speech and signal processing, IEEE, 2013, pp. 6645–6649.
 (42) D. Yu, L. Deng, Automatic Speech Recognition, Springer, 2012.
 (43) Q. V. Le, T. Mikolov, Distributed representations of sentences and documents., in: ICML, Vol. 14, 2014, pp. 1188–1196.
 (44) O. Russakovsky, J. Deng, H. Su, J. Krause, S. Satheesh, S. Ma, Z. Huang, A. Karpathy, A. Khosla, M. Bernstein, A. C. Berg, L. FeiFei, ImageNet Large Scale Visual Recognition Challenge, International Journal of Computer Vision (IJCV) 115 (3) (2015) 211–252. doi:10.1007/s112630150816y.
 (45) D. Silver, A. Huang, C. J. Maddison, A. Guez, L. Sifre, G. Van Den Driessche, J. Schrittwieser, I. Antonoglou, V. Panneershelvam, M. Lanctot, et al., Mastering the game of go with deep neural networks and tree search, Nature 529 (7587) (2016) 484–489.
 (46) I. Sutskever, O. Vinyals, Q. V. Le, Sequence to sequence learning with neural networks, in: Advances in neural information processing systems, 2014, pp. 3104–3112.
 (47) S. Xingjian, Z. Chen, H. Wang, D.Y. Yeung, W.k. Wong, W.c. WOO, Convolutional lstm network: A machine learning approach for precipitation nowcasting, in: Advances in Neural Information Processing Systems, 2015, pp. 802–810.
 (48) Y. Zheng, Methodologies for crossdomain data fusion: An overview, IEEE transactions on big data 1 (1) (2015) 16–34.
 (49) Y. Zheng, F. Liu, H.P. Hsieh, Uair: When urban air quality inference meets big data, in: Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining, ACM, 2013, pp. 1436–1444.
 (50) Y. Zheng, X. Yi, M. Li, R. Li, Z. Shan, E. Chang, T. Li, Forecasting finegrained air quality based on big data, in: Proceedings of the 21th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, ACM, 2015, pp. 2267–2276.
 (51) L. X. Pang, S. Chawla, W. Liu, Y. Zheng, On detection of emerging anomalous traffic patterns using gps data, Data & Knowledge Engineering 87 (2013) 357–373.

(52)
X. Yi, Y. Zheng, J. Zhang, T. Li,
STMVL: filling missing values
in geosensory time series data, in: Proceedings of the TwentyFifth
International Joint Conference on Artificial Intelligence, IJCAI 2016, New
York, NY, USA, 915 July 2016, 2016, pp. 2704–2710.
URL http://www.ijcai.org/Abstract/16/384  (53) X. Song, H. Kanasugi, R. Shibasaki, DeepTransport: Prediction and simulation of human mobility and transportation mode at a citywide level, IJCAI, 2016.
 (54) Q. Chen, X. Song, H. Yamada, R. Shibasaki, Learning deep representation from big and heterogeneous data for traffic accident inference, in: Thirtieth AAAI Conference on Artificial Intelligence, 2016.