  In the era of the Internet of Things (IoT), an enormous amount of sensing
devices collect and/or generate various sensory data over time for a wide range
of fields and applications. Based on the nature of the application, these
devices will result in big or fast/real-time data streams. Applying analytics
over such data streams to discover new information, predict future insights,
and make control decisions is a crucial process that makes IoT a worthy
paradigm for businesses and a quality-of-life improving technology. In this
paper, we provide a thorough overview on using a class of advanced machine
learning techniques, namely Deep Learning (DL), to facilitate the analytics and
learning in the IoT domain. We start by articulating IoT data characteristics
and identifying two major treatments for IoT data from a machine learning
perspective, namely IoT big data analytics and IoT streaming data analytics. We
also discuss why DL is a promising approach to achieve the desired analytics in
these types of data and applications. The potential of using emerging DL
techniques for IoT data analytics are then discussed, and its promises and
challenges are introduced. We present a comprehensive background on different
DL architectures and algorithms. We also analyze and summarize major reported
research attempts that leveraged DL in the IoT domain. The smart IoT devices
that have incorporated DL in their intelligence background are also discussed.
DL implementation approaches on the fog and cloud centers in support of IoT
applications are also surveyed. Finally, we shed light on some challenges and
potential directions for future research. At the end of each section, we
highlight the lessons learned based on our experiments and review of the recent
literature.
