前 言
在物联网(Internet of Things,IoT)时代,大量的传感设备会随着时间的推移而收集并生成各种传感数据,以用于各种应用。这些数据主要由基于应用的大型、快速和实时流组成。与此类大数据或数据流相关分析的使用对于学习新信息、预测未来见解,以及做出明智的决定至关重要,这使得物联网成为一种有价值的商业模式和提高生活质量的技术。
本书将详细介绍被称为深度学习(Deep Learning,DL)的高级机器学习技术,它可以促进各种物联网应用中的数据分析和学习。本书的实际用例涉及数据收集、分析、建模和模型的性能评估,以及各种物联网应用和部署的设置,基本上涵盖了每个实现的全部过程。
通过这些实际用例,读者将了解到如何训练卷积神经网络(CNN),以开发基于图像的道路故障检测和智能固体垃圾分离的应用程序,以及实现由语音启动的智能灯光控制和由循环神经网络(RNN)驱动的家庭门禁系统。读者将了解到如何使用自动编码器和长短期记忆(LSTM)网络掌握室内定位、预测性维护技术和用于大型医院的设备定位的物联网应用等。此外,读者还将学习到具有增强的物联网安全性的医疗保健物联网应用程序的开发技术。
总之,在阅读完本书之后,相信读者会对为具有物联网功能的设备开发复杂的深度学习应用有较为深入的理解,站在新技术腾飞的起点上。
最后我们想说的是,本书以模块化形式编写,因此读者完全可以直接翻到自己感兴趣的内容或想要完成的实际用例进行阅读,当然也可以通读全书以激发自己的灵感。谢谢!祝你阅读愉快!
本书读者
本书适用于希望借助TensorFlow、Keras和Chainer的强大功能,使用深度学习技术来分析和理解物联网生成的大数据和实时数据流的读者。如果你想构建自己广泛的物联网应用,使它们可以有效运行,并且可以对未来明智决策进行预测,那么本书就是你需要的!因此,本书主要面向的是物联网应用开发人员、数据分析人员,以及在复杂的数值计算方面没有太多的知识背景,但是却很想知道深度学习的真正含义的深度学习爱好者。
内容介绍
本书采用了模块化编写形式,全书共分为3篇10章。
第1篇为“物联网生态系统、深度学习技术和框架”,包括第1章和第2章。
第1章“物联网生态系统”,将讨论物联网的端到端生命周期及其相关概念和组成部分,以及需要在物联网中使用深度学习的物联网数据的关键特征和问题。此外,本章还将讨论物联网中分析的重要性以及在数据分析中使用深度学习的动机。
第2章“物联网深度学习技术和框架”,将详细阐释深度学习框架和平台的基本概念,它们在后面的所有章节中都是有用的。本章首先将简要介绍机器学习(ML);然后,将转到深度学习,它是机器学习的一个分支,并基于一组试图对数据中的高级抽象建模的算法;接着本章将简要讨论一些广泛使用的神经网络框架;最后,我们将探讨深度学习框架和库的各种功能,这些功能将用于在支持物联网的设备上开发深度学习应用程序。
第2篇为“物联网深度学习应用开发”,包括第3~7章。
第3章“物联网中的图像识别”,将介绍物联网中图像数据处理应用程序的开发。在本章的第一部分中,将简要描述不同的物联网应用及其基于图像检测的决策。此外,本章还将简要讨论两种物联网应用程序及其在实际场景中基于图像检测的实现。在本章的第二部分中,将详细介绍使用深度学习算法的图像检测应用的实现。
第4章“物联网中的音频/语音/声音识别”,在本章的第一部分中,将介绍不同的物联网应用及其基于音频/语音识别的决策。此外,本章还将简要讨论两个物联网应用以及它们在实际场景中的基于语音/语音识别的实现。在本章的第二部分中,将详细介绍使用深度学习算法的音频/语音检测应用的实现。
第5章“物联网中的室内定位”,将通过一个用例,讨论如何将深度学习技术用于物联网应用中的室内定位。本章将讨论如何从设备中收集数据,例如通过使用深度学习模型分析WiFi指纹数据来预测设备或用户在室内环境中的位置。此外,本章还将讨论物联网环境中室内定位服务的一些部署设置。
第6章“物联网中的生理和心理状态检测”,将介绍常用于物联网应用的基于深度学习的人类生理和心理状态检测技术。本章的第一部分基于生理和心理状态的检测将简要描述不同的物联网应用及其决策能力。此外,本章还将简要讨论两个物联网应用程序,以及它们在实际场景中的基于生理和心理状态检测的实现。在本章的第二部分中,将详细介绍使用深度学习算法的生理和心理状态检测应用的实现。
第7章“物联网安全”,将详细介绍基于深度学习的网络和设备的行为数据分析,以及一般物联网应用的安全事件检测技术。本章的第一部分将简要介绍各种物联网安全攻击及其潜在的检测技术,包括基于深度学习/机器学习的攻击。此外,本章还将详细讨论两个物联网用例,在这些用例中,可以通过基于深度学习的异常检测技术来智能地自动检测安全攻击(例如DoS攻击和DDoS)。在本章的第二部分中,将提供两个基于深度学习的安全事件检测用例相应的实现。
第3篇为“物联网高级分析”,包括第8~10章。
第8章“物联网的预测性维护”,将介绍如何使用Turbofan Engine Degradation Simulation(涡扇发动机退化模拟)数据集为物联网的预测性维护开发深度学习解决方案。预测性维护的思想是确定是否可以预测各种类型的故障模式。本章还将讨论如何从具有物联网功能的设备中收集数据以进行预测性维护。
第9章“医疗物联网中的深度学习”,将从总体上介绍基于深度学习的医疗物联网解决方案。本章的第一部分将简要介绍物联网在医疗保健中的不同应用,然后将详细讨论两个用例,它们都是可以通过深度学习改进医疗服务或支持医疗服务自动化的物联网解决方案。在本章的第二部分中,将详细介绍这两个用例中基于深度学习的医疗事件或疾病检测部分的实现经验。
第10章“挑战和未来”,将对前几章的内容进行总结。然后,将讨论现有深度学习技术在资源有限的物联网设备和嵌入式物联网环境的开发和实现中面临的主要挑战以及示例。最后,本章还将总结许多现有解决方案,并指出某些问题可能的解决方向,这些方向的发展可以填补基于深度学习的物联网分析的现有空白。
充分利用本书
本书用例中模型的训练是在PC上完成的,作者的PC配置为Intel Xenon CPU E5-1650 v3@3.5 GHz和32 GB RAM(具有GPU支持),所以,读者应该拥有不低于该配置的PC和Raspberry Pi 3平台。此外,读者还应该具有一些Python及其库的基本知识,例如pandas、NumPy、Keras、TensorFlow、scikit-learn、Matplotlib、Seaborn、OpenCV和Beautiful Soup 4等,这将有助于理解本书中的所有概念。
下载示例代码文件
读者可访问www.packtpub.com以下载本书的示例代码文件。具体步骤如下:
(1)登录或注册www.packtpub.com。
(2)选择Support(支持)选项卡。
(3)单击Code Downloads & Errata(代码下载和勘误表)。
(4)在Search(搜索)框中输入图书名称Hands-On Deep Learning for IoT,然后按照屏幕上的说明进行操作。
下载文件后,请确保使用最新版本解压缩或解压缩文件夹:
WinRAR/7-Zip(Windows系统)
Zipeg/iZip/UnRarX(Mac系统)
7-Zip/PeaZip(Linux系统)
该书的代码包也已经在GitHub上托管,对应的网址如下:
https://github.com/PacktPublishing/Hands-On-Deep-Learning-for-IoT
如果代码有更新,则也会在现有GitHub存储库上更新。
下载彩色图像
由于黑白印刷的缘故,本书部分图片可能难以辨识颜色差异,为此我们提供了一个PDF文件,其中包含本书使用的屏幕截图/图表的彩色图像。读者可以通过以下地址下载:
https://www.packtpub.com/sites/default/files/downloads/9781789616132_ColorImages.pdf
本书约定
本书中使用了许多文本约定。
(1)CodeInText:表示文本中的代码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟URL、用户输入和Twitter句柄等。以下段落就是一个示例:
对于开发人员来说,如果想要轻松完成任务,则可以考虑使用pandas_profiling库。有关该库的详细信息,请访问以下网址:
https://github.com/pandas-profiling/pandas-profiling
(2)有关代码块的设置如下:
# 导入所需的模块
import urllib
from bs4 import BeautifulSoup
from selenium import webdriver
import os, os.path
import simplejson
(3)当希望引起读者对代码块的特定部分的注意时,相关的行或项目以粗体显示。示例如下:
import pandas as pd
import numpy as np
import tensorflow as tf
from sklearn.preprocessing import scale
from keras.models import Sequential
(4)任何命令行输入或输出都采用如下所示的粗体代码形式:
$ mkdir css
$ cd css
(5)本书还使用了以下两个图标:
表示警告或重要的注意事项。
表示提示或小技巧。