神经网络是目前人工智能领域最热门的机器学习趋势。实际上,神经网络有许多不同的形式和实现,卷积神经网络(CNN)是最常见的一种(图1)。CNN和其他深神经网络(DNN)通常涉及产生可以用于推理的模型的培训过程。培训需要大量的时间和数据,而推理部分使用更少。因此,它可以部署在下端系统上,其中培训通常在云中进行。
1.机器学习包括一系列的算法。
尖峰神经网络(snn)是一种不同形式的神经网络,与生物神经元更接近。snn使用前馈训练,具有较低的计算和功耗要求(图2)而cnn。
2.利用前馈训练,与cnn相比,尖峰神经网络具有较低的计算和功耗需求。
CNNS和SNNS类似的是,它们采用输入,使用其神经网络模型分析输入,并生成响应。开发人员将输入数据转换为算法可用的表单,通常意味着预处理原始数据。对于SNN,也需要数据 - 尖峰转换器。BrainChip为开发人员提供许多数据到普通的转换器以启动,但可以根据应用程序和源数据格式创建更多。例如,它具有用于来自动态视觉传感器(DVS)的信息的像素到峰值转换器。
SNN模型的工作方式也不同于cnn,因为它们的尖峰特性。信息以波浪形的方式流过CNN模型;信息通过与每个网络层中的节点相关联的权值来修改。snn以某种类似的方式发出峰值,但峰值并不总是在每个点产生,这取决于数据。
BrainChip的新Akida开发环境(ADE)旨在支持SNN模型创建(图3)。它可以为将在大多数CPU上运行的Akida执行引擎生成可执行文件。当然,硬件加速度将更快地更快。
3.BrainChip的Akida使用Python脚本来控制工作流程和结果的呈现。
该软件的实现是一种新的峰值神经网络的先驱:Akida神经形态片上系统(NSoC)硬件,Brainchip将在未来发布。当硬件可用时,由Akida开发的snn将能够在硬件上运行,尽管有些应用程序可能不需要求助于专门的硬件就能工作得很好。
ADE是围绕Python和开源构建的Jupyter笔记本平台,与其他机器学习工具一起使用。开发工具与NumPyPython数值包按摩输入和输出数据以及matplotlib,一个python 2d绘图库。ADE模型动物园包括开发人员可以选择或添加到的预配置模型。
秋田开发过程(图4)使用类似于CNN开发的迭代周期。开发人员开始或创建一个新模型,然后是培训和测试。通过迭代进行渐进精炼,直到模型符合性能要求。
4. Akida开发过程是类似于CNN开发的迭代周期;在模型符合性能要求之前,有进步的细化。
SNN的培训和硬件需求与cnn有很大的不同,因此开发人员有必要熟悉它们之间的差异和优势。在某些应用中,一种方法比另一种好得多,在某些领域,它们有重叠之处。对许多应用来说,现场训练snn是另一个优势。然而,开发人员将需要理解和试验snn,以确保其特定的应用程序是合适的。ADE提供了这种功能。