本文转载自公众号“读芯术”(ID:AI_Discovery)。
世界正处于变革时代,这一时期的重要性可比肩文艺复兴和工业革命。人们相信,AI和IoT就是具有前景的两个领域,它们将使世界现代化,这两大支柱在未来有着巨大的发展空间。
本文将通过分析AI和IoT这两个概念来了解我们可以对其抱有什么期待;还会讨论如何利用这些集成技术来开发创新性和创造性的项目;最后,本文将分析一种使代码更紧凑、更有效地部署在嵌入式设备中的方法。
什么是物联网(IoT)?
图源:unsplash
物联网是描述嵌入传感器、软件和其他技术的物理实体网络,目的是通过互联网和其他设备与系统连接并交换数据。物联网的定义因多种技术、实时分析、机器学习、商品传感器和嵌入式系统的融合不断发展。嵌入式系统、无线传感器网络、控制系统、自动化等传统领域都有助于实现物联网。
在消费市场,物联网技术与“智能家居”产品同义,包括支持一个或多个公共生态系统的设备和电器,并且可以通过与该生态系统相关的其他设备进行控制。
什么是人工智能和AIOT?
人工智能是一个广泛的领域,包含许多子类,如自然语言处理(NLP)、人工神经网络、计算机视觉、机器学习、深度学习、机器人学等。人工智能的官方定义是:能够执行通常需要人类智能才能执行的任务的计算机系统的理论和发展,例如视觉感知、语音识别、决策和语言间翻译。
麦肯锡全球研究所的一项研究表明,到2030年,人工智能预计每年将额外创收13万亿美元。即使在今天,人工智能技术也创造了巨额收入,但主要是在软件领域。等到2030年,人工智能创收领域将不只局限在软件行业,还有零售、旅游、运输、汽车、材料、制造等行业。
人工智能与物联网结合形成了一个全新、有趣且独特的研究分支,人工物联网或AIOT。搭载人工智能的物联网能够创建智能机器,这些机器可以模拟智能行为,同时提高决策能力,几乎很少甚至没有人为干扰。
通过将人工智能集成到raspberry pi和Nvidia Jetson Nano等嵌入式物联网设备中,我们可以开发出一些杰作,利润高且有益于整个社会。像Alexa、Siri或Google AI这样的虚拟助手的一些示例展示了高级智能和未来的可能性。
如何入门?
1. Arduino
Arduino是一个由ATmega微控制器组成的开发板。这是开始机器人和物联网项目的最佳方式之一。
Arduino是一家开源软硬件公司,业余爱好者、修补者和专业人士都可以用它来构建令人惊叹的创新项目。根据我的经验,Arduino绝对是你实现机器人梦想的最佳方法之一,因为它比其他微控制器更容易操作。
Arduino有多种规格和尺寸,分别是Arduino Nano、Arduino Uno和Arduino mega。Nano是一种尺寸较小的板,可用于更简单、更独特的项目;Uno中等大小,非常适合试用以及业余爱好者级别的项目;Mega更大一点,可用于稍微复杂一点的项目和场景。
笔者认为,Arduino是开始任何类型的物联网项目的最佳方法。使用Arduino进行传感器控制和学习设备等一些基础项目的管理,对于在该领域追求更具创意的想法非常有利。
刚开始学习很简单,因为它主要是C和C++等编程语言的混合。作为初学者,主要需要担心两个代码块,即设置和循环功能块。因此,初步建议先试用Arduino Uno开发板,然后再使用更复杂的嵌入式设备。
图源:unsplash
2. Raspberry Pi
Raspberry Pi是单板计算机,这是开始计算和编程的绝佳方式。Raspberry Pi提供了许多在分支机构中创建极酷项目的机会,例如计算机视觉、游戏、物联网项目等等。
借助摄像机,Raspberry Pi甚至可以用于物体检测、面部识别和监视之类的任务。如果你想开始学习编程、编码,那么Raspberry Pi是最便宜、最好的方法。中级业余爱好者或专家也可以用它完成更高级的项目。
使用Raspberry Pi和Raspbian OS之类的操作系统进行编程的最大好处在于你可以使用多种编程语言,包括python。Thony编辑器是OS操作系统中的预装程序,你可以在这里编写python代码。
Raspberry Pi中编码的所有程序,包括机器学习和深度学习程序,都可以轻松部署。外部附件,如照相机、音频设备等也可以添加到Raspberry Pi和控制执行实时计算机视觉任务,如视频监控,人脸识别等。
3. Nvidia Jetson Nano
NVIDIA Jetson Nano是机器人学中人工智能相关操作的最佳工具之一,比Raspberry Pi稍贵,但计算能力更强。NVIDIA称:NVIDIA Jetson Nano支持开发数百万个新型小型低功耗人工智能系统,开启了嵌入式物联网应用程序的新世界,包括入门级网络录像机、家用机器人和具有完整分析能力的智能网关。
NVIDIA开发套件允许用户运行许多神经网络操作,包括图像分类、分段、对象检测、语音处理等。
虽然Nvidia Jetson Nano比Raspberry Pi贵一点,但它有相对更好的功能,也是开发中高级项目的一个很好的起点。如前所述,它功能强大,可以执行多种任务。
在我看来,这些是使用AIOT的最好的设备。当然,还有许多其他非常棒的选项和嵌入式设备选择来开发有效的模型。
本文谈到的最后一个话题至关重要,将介绍机器学习和深度学习模型的训练后量化,以在嵌入式设备上运行GPU容量较小的复杂程序。
训练后量化
在你的系统上有效运行的模型可能无法在低端设备上有效运行同一程序/模型。这可能是因为目标设备有硬件限制。对此,训练后量化可以帮助改善目标设备的算法和模型的优化。
训练后量化是一种转换技术,可以减少模型大小,同时还可以改善CPU和硬件加速器的延迟,而模型精度几乎不会下降。使用TensorFlow Lite转换器将已训练的float TensorFlow模型转换为TensorFlow Lite格式时,你可以对其进行量化。
TensorFlow Lite转换器在Raspberry Pi之类的设备上非常有用,可优化对象检测模型、人脸识别模型等。使用TensorFlow Lite可以优化对象检测项目,同时在安卓或苹果系统设备上也有很好的效果。
在探索这些模型时,如果你确实希望将其转换为可以惠及众人的实际使用案例,那么模型的训练后分析和训练后量化对于提高效率、质量和紧凑性以将项目部署到更广泛的受众就变得极其重要。训练后量化还使我们能够在量化模型上实现几乎与原始模型相同的精度,让我们的生活变得轻松多了!
AIoT在未来几年的影响将是令人震惊的,未来将出现的新发明让我兴奋不已。你打算建立什么样的项目来迎接这样的未来呢?