神经网络

AI芯片,将引发“智联网”大变革

随着AI快速发展应用,尤其是图像处理数据量大,快速响应,CPU不再是好的选择。GPU芯片逐渐成为深度神经网络(DNN, Deep Neural Network)计算的主流。

物联网被认为是继计算机、互联网之后世界信息产业发展的第三次浪潮,未来5-10年会对人类生产、生活产生深远影响,随着AI的蓬勃发展,IoT开始迈入AI+IoT智联网时期。

什么是AIoT?
智联网(AIoT)概念明确提出是在2017 年2 月,《人工智能芯片助阵,物联网将进化为AI+IoT》一文提到,“受过训练的AI系统,目前在特定领域的表现已可超越人类,而相关软件技术迅速发展的背后,与专用芯片的进步息息相关。在芯片对人工智能的支持更加完善后,物联网(IoT)将可望进化成AIoT(AI+IoT)。智能机器人的遍地开花只是个开端,人工智能终端芯片引领的边缘运算,其所将带来的商机更让人引颈期盼”。

具体来说,AIOT是指融合AI技术和IoT技术,通过物联网产生、收集海量的数据存储于云端、边缘端,再通过大数据分析,以及更高形式的人工智能,形成智能化的应用场景和应用模式,服务实体经济,为人类的生产活动,生活所需提供更好的服务,实现万物数据化、万物互联化。

AIoT的变化与趋势

神经网络,流形和拓扑

拓扑学,神经网络,深度学习,流形假设

最近,深度神经网络引起了人们广泛的关注,因为它在计算机视觉等领域取得了突破性的成果。1

但是,他们仍然有一些担忧。一个是人们无法监控到神经网络究竟在做什么。例如一个人训练得好,就能获得高质量的成绩,但要了解这个过程是如何发展的过程是比较困难的。所以网络出现故障,很难理解出了什么问题。

尽管深入了解深度神经网络的行为是一个很大的挑战,但是探索低维深度神经网络 - 每层只有少量神经元的网络要容易得多。事实上,我们可以创建可视化来完全理解这种网络的行为和培训。为了使我们能够更深入地了解神经网络的行为,我们可以将神经网络与数学的拓扑结构关联起来进行研究。

随之而来的是一些问题,例如我们如何界定对于不同数据集进行分类的神经网络复杂性的基本下界。

一个简单的例子
让我们从一个非常简单的数据集开始研究,一个平面上的两条曲线。神经网络将会判定平面上的某个点属于两条曲线中的哪一条

简单的数据集

作者:Sleibso,编译:csc57

可编程逻辑(PLD)是由一种通用的集成电路产生的,逻辑功能按照用户对器件编程来确定,用户可以自行编程把数字系统集成在PLD中。经过多年的发展,可编程逻辑器件由70年代的可编程逻辑阵列器件 (PLD) 发展到目前的拥有数千万门的现场可编程阵列逻辑 (FPGA), 随着人工智能研究的火热发展,FPGA的并行性已经在一些实时性很高的神经网络计算任务中得到应用。由于在FPGA上实现浮点数会耗费很多硬件资源,而定点数虽然精度有限,但是对于不同应用通过选择合适的字长精度仍可以保证收敛,且速度要比浮点数表示更快而且资源耗费更少, 已经使其成为嵌入式AI和机器学习应用程序的理想选择。

BrainChip Holdings刚刚发布了一款PCIe服务器加速卡BrainChip Accelerator,该卡可以使用脉冲神经网络而不是卷积神经网络(CNN)同时处理多种视频格式的16路视频。 BrainChip加速卡采用 Xilinx Kintex UltraScale FPGA实现了6核处理单元的BrainChip的Spiking神经网络(SNN)处理器。

这是BrainChip加速卡的照片:

神经网络入门指南

人工神经网络(ANN)是一种从信息处理角度对人脑神经元网络进行抽象从而建立的某种简单模型,按不同的连接方式组成不同的网络。其在语音识别、计算机视觉和文本处理等方面取得的突破性成果。在下文,我们将深入了解一种名为多层感知器的人工神经网络。

神经元
在神经网络中,神经元是计算的基本单元,也被称为节点或单元。它接受其他节点或外部的输入,在计算后产生输出。每两个节点间的连接都代表一个对于通过该连接信号的加权值,称之为权重(w)。该节点将一个函数f(定义如下)作用于输入的加权和,如下图所示

上述网络采用数值输入X1和X2、与输入相关联的权重w1和w2以及输入权重b(称为偏置)。稍后我们会介绍更多关于偏置的细节。
神经元输出Y的计算上图所示。函数f是非线性的,称为激活函数。它的作用是将非线性引入到神经元的输出中,以此达到神经元学习非线性表示的目的,满足实际环境的数据要求。

每个激活函数都取一个数并对它进行特定的运算。在实际应用中我们可能会遇到下面几种激活函数:

理解神经网络中的Dropout

dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。注意是暂时,对于随机梯度下降来说,由于是随机丢弃,故而每一个mini-batch都在训练不同的网络。

过拟合是深度神经网(DNN)中的一个常见问题:模型只学会在训练集上分类,这些年提出的许多过拟合问题的解决方案,其中dropout具有简单性而且效果也非常良好。

算法概述

我们知道如果要训练一个大型的网络,而训练数据很少的话,那么很容易引起过拟合,一般情况我们会想到用正则化、或者减小网络规模。然而Hinton在2012年文献:《Improving neural networks by preventing co-adaptation of feature detectors》提出了,在每次训练的时候,随机让一半的特征检测器停过工作,这样可以提高网络的泛化能力,Hinton又把它称之为dropout。

了解神经网络,你需要知道的名词都在这里

作者:Kailash Ahirwar

近日,Mate Labs 联合创始人兼 CTO 在 Medium 上撰文《Everything you need to know about Neural Networks》,从神经元到 Epoch,扼要介绍了神经网络的主要核心术语。

理解什么是人工智能,以及机器学习和深度学习如何影响它,是一种不同凡响的体验。在 Mate Labs 我们有一群自学有成的工程师,希望本文能够分享一些学习的经验和捷径,帮助机器学习入门者理解一些核心术语的意义。

神经元(节点)—神经网络的基本单元,它包括特定数量的输入和一个偏置值。当一个信号(值)输入,它乘以一个权重值。如果一个神经元有 4 个输入,则有 4 个可在训练中调节的权重值。

开源工具助你在FPGA上轻松实现二值化神经网络

作者:清风流云

神经网络技术起源于上世纪五、六十年代,当时叫感知机,拥有输入层、输出层和一个隐含层。输入的特征向量通过隐含层变换达到输出层,在输出层得到分类结果,早期感知机的推动者是Ronsenblatt。后来又发展到多层感知机,而多层感知机在摆脱早期离散传输函数的束缚,在训练算法上使用Werbos发明的反向传播BP算法,这个就是现在大家常数的神经网络NN,而目前存在的神经网络最常见的有:ANN,RNN,以及CNN。CNN是一种多层神经网络,擅长处理图像特别是大图像的相关机器学习问题,它可以通过一系列方法,成功将数据量庞大的图像识别问题不断将维,最终使其能够被训练。

GUNNESS开源工具:

Sigmoid函数的分段非线性拟合法及其FPGA实现

作者:宋宇鲲,高晓航,张多利,杜高明,2017年电子技术应用第8期

摘 要: 使用分段非线性逼近算法计算超越函数,以神经网络中应用最为广泛的Sigmoid函数为例,结合函数自身对称的性质及其导数不均匀的特点提出合理的分段方法,给出分段方式同逼近多项式阶数对逼近结果精度的影响。完成算法在FPGA上的硬件实现,给出一种使用三阶多项式处理Sigmoid函数的拟合结果及流水线架构,处理精度达到10-5数量级,最大频率达到127.327 MHz,满足了高速、高精度的处理要求。

0 引言

深度学习入门必须理解这25个概念

如果你是一个想学习或理解深度学习的人,这篇文章是为你量身定做的。在本文中,我将介绍深度学习中常用的各种术语。

如果你想知道我为什么要写这篇文章——我之所以在写,是因为我希望你开始你的深度学习之旅,而不会遇到麻烦或是被吓倒。当我第一次开始阅读关于深度学习资料的时候,有几个我听说过的术语,但是当我试图理解它的时候,它却是令人感到很迷惑的。而当我们开始阅读任何有关深度学习的应用程序时,总会有很多个单词重复出现。

在本文中,我为你创建了一个类似于深度学习的字典,你可以在需要使用最常用术语的基本定义时进行参考。我希望在你阅读这篇文章之后,你就不会再受到这些术语的困扰了。

与主题相关的术语

为了帮助你了解各种术语,我已经将它们分成3组。如果你正在寻找特定术语,你可以跳到该部分。如果你是这个领域的新手,那我建议你按照我写的顺序来通读它们。

1.神经网络基础(Basics of Neural Networks)
——常用激活函数(Common Activation Functions)

2.卷积神经网络(Convolutional Neural Networks)

3.循环神经网络(Recurrent Neural Networks)

同步内容