内容简介:传统的深度学习算法产生人工智能功能需要如此强烈的功率需求,以至于它们仅限于主要在云中运行的GPU。通过Xnorizing神经网络(见令人惊讶的是,答案是肯定的。 2019年2月13日我们的超低功耗相机有四个主要组件:低功耗相机,FPGA,外部闪存和电源收集器。本文详细介绍了每个组件。
传统的深度学习算法产生人工智能功能需要如此强烈的功率需求,以至于它们仅限于主要在云中运行的GPU。通过Xnorizing神经网络(见 Xnor.Net paper ),我们证明可以在商用CPU上运行最先进的深度学习算法,我们甚至在pi0上运行计算强烈的对象识别。但权力仍是一个问题。即使这5美元的电脑也需要大量的电池。这就是我们的硬件工程和机器学习团队提出大胆问题的原因,“ 我们可以创建一个硬件,机器学习架构,能够运行深度学习模型而无需电池吗?那可能是如此低功率,他们可以从太阳收集环境能量?“
令人惊讶的是,答案是肯定的。 2019年2月13日 we announced 这是首款独立的无电池太阳能AI技术,可使AI在各种边缘设备上以永远在线的模式运行。它部署在大约相当于美国四分之一大小的硬件设备上,能够智能地检测视觉对象,包括人。在这篇文章中,我们深入探讨了使这项创新成为可能的底层硬件架构。
The Device
我们的超低功耗相机有四个主要组件:低功耗相机,FPGA,外部闪存和电源收集器。本文详细介绍了每个组件。
The Camera
该相机使用HM01B0,这是一款功耗极低的320x320图像传感器,可以30fps输出QVGA(320x240)帧,而功耗不到2mW。这远远低于市场上的大多数解决方案。启动时,需要通过I2C接口由FPGA配置摄像机。需要配置的设置包括帧速率,分辨率,像素读数的模拟和数字增益以及曝光时间。正确配置摄像机后,它将通过并行接口将图像帧输出到FPGA。
The FPGA
FPGA是由可编程逻辑阵列组成的计算结构,用于实现硬件的数字设计。它们比其他计算结构(如CPU)更专业,因为硬件执行自定义计算模块,因此可以提供比大多数CPU更高的性能。然而,这种专业化使得开发FPGA的定制应用变得困难,因为必须使用逻辑门设计和合成模块。这意味着使用独特架构构建的每个应用程序或模型也需要FPGA上的独特架构。但是,如果这些应用程序或模型共享相同的架构,那么单个FPGA设计就足够了。
FPGA的容量及其成本主要取决于其总的片上存储器,以及其计算资源中的查找表(LUT)的数量。 FPGA具有的LUT和存储器越多,可以实现的操作越复杂。因此,FPGA通常被认为是健壮且昂贵的。但是,Xnor的硬件和软件是共同设计的,因此即使像对象检测和分类这样复杂的AI任务也可以在相对较小且成本较低的FPGA上实现。
为了证明这一点,我们的设计采用Lattice ECP5-45,仅具有44K LUT和小于300KB的片上存储器。在启动期间,FPGA仅在大约16ms内从外部闪存中获取其配置和模型参数。随后,所有模型参数和网络权重都存储在FPGA的片上存储器模块中,这样可以将数据尽可能地存储在计算模块中。这在推理期间节省了大量能量。
The Memory
我们使用4MB或32Mb的外部闪存来存储FPGA配置和模型参数。通过将FPGA与外部闪存相结合,我们能够允许闪存存储关键信息,如曝光时间和相机的像素读出放大增益。这使我们能够使用不包含片上非易失性存储器的FPGA。
我们的系统不含电池,因此可以间歇运行。当能量储存器上的功率收集器存储了足够的能量时,FPGA和摄像机通电,进行少量推断,然后关闭,直到能量储存器再次充电。因此,只要系统通电,它只会在少量帧上进行推断。
由于相机的自动曝光和增益控制需要几帧延迟来根据环境进行调整,因此在录制少量帧时我们无法依赖。相反,FPGA测量每次通电时接收的第一帧的平均强度。然后,它以这个平均强度更新外部闪存中的值,以便下次通电时,它可以根据前一个周期的保存值设置相机的增益和曝光。
The Power Harvester
功率采集器是一种DC-DC升压转换器,可以从电压低至80mV的输入信号中获取功率。它可以将能量储存在能量储存器中,在这种情况下,储存在称为超级电容器的高能量密度电容器中。当电荷储存器的电压达到V_max时,功率采集器使系统通电,而当电荷储存器已经放电至V_min电压时,功率采集器关闭。下图显示了我们系统的有效时间覆盖在超级电容器的充电/放电曲线上。 V_min和V_max都可以通过电阻网络进行编程,并根据电荷储存器的容量以及进行一次推断所需的能量来设置。在具有一个推断所需的电容C和E能量的超级电容器的情况下,V_max和V_min可以如下确定:
我们的系统实现了超过32fps的推理帧速率,同时仅燃烧端到端160mW的功率。
大图建筑:
我们的超低功耗智能相机开辟了以前不可行的应用。例如,可以使用我们的对象分类器以及低功率相机和远程和低功率无线通信模块(如LoRa和NB-IoT)为功率受限区域开发解决方案,这些模块可提供数十公里的距离。无线连接范围到接入点,并支持高达数十kbps的数据传输速率。下图显示了与低功耗无线模块结合使用时的无电池对象分类器的高级框图。
然后可以无线操作摄像机以发送命令和查询,接收帧和输出数据,以及更新FPGA固件和推理模型。这开辟了在边缘真正运行AI的可能性,以监控野生动物,农作物,交通或偏远地区的人们。
The inventors
这项技术部分由Hessam Bagherinezhad,Ali Farhadi,James Gabriel,Karen Khatamifard,Saman Naderiparizi和Mohammad Rastegari实现。
以上所述就是小编给大家介绍的《我们如何只用太阳能电池收集的环境能量为人工智能提供动力?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Unity 人工智能挑战赛 全面启动,打破人工智能研究瓶颈
- 人工智能与智能运维
- 程序员如何学习人工智能?2019年人工智能的薪资前景如何?
- 人工智能会取代人工翻译吗?
- 腾讯发布人工智能辅助翻译 致敬人工翻译
- 忽略这一点,人工智能变人工智障的!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深度探索C++对象模型
斯坦利•B.李普曼 (Stanley B. Lippman) / 侯捷 / 电子工业出版社 / 2012-1 / 69.00元
作者Lippman参与设计了全世界第一套C++编译程序cfront,这本书就是一位伟大的C++编译程序设计者向你阐述他如何处理各种explicit(明确出现于C++程序代码中)和implicit(隐藏于程序代码背后)的C++语意。 本书专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模......一起来看看 《深度探索C++对象模型》 这本书的介绍吧!