卷积神经网络

卷积神经网络文本分类

前言
卷积神经网络(CNN)在图像处理领域取得了很大的成绩,它的卷积和池化结构能很好提取图像的信息,而在 NLP 领域循环神经网络(RNN)则使用的更多,RNN 及其各种变种因拥有记忆功能使得它们更擅长处理上下文。但 NLP 领域很多方面使用 CNN 取得了出色的效果,比如语义分析、查询检索、文本分类等任务。这篇文章看看如何用 CNN 进行文本分类。

模型结构
模型结构可以通过下图一层层来看,总共由4部分组成,包括了输入层、卷积层、池化层和全连接层。

输入层
图中最左边的部分即为输入层,总的来说输入层就是句子对应的矩阵。一般不会使用 ont-hot 向量来表示单词,而是使用 k 维的分布式词向量。那么对于一个长度为 n 的句子,则构成一个 n × k 的矩阵。

预计2025年全球计算机视觉市场达到262亿美元

根据Tractica的最新数据,计算机视觉市场正在快速发展。深度学习和卷积神经网络(CNN)利用大量的视觉推动基于人工智能(AI)的计算机视觉迅速改进。此外,计算机视觉应用于视频,正在扩大现实世界。Tractica预测,到2025年全球计算机视觉软件、硬件和服务收入将从2016年的11亿美元增长到262亿美元。

根据Tractica的分析,2016-2025年计算机视觉最受欢迎的十大用例包括:

1.视频监控

2.机器/车辆物体检测/识别/避让

3.医学图像分析

4.增强现实(AR)/虚拟现实(VR)

5.定位和制图

6.将文书工作转换为数据

7.人类情感分析

8.广告插入图像和视频

9.脸部识别

10.房地产开发优化

自动驾驶系统:基于Zynq的实时物体检测

作者:Steve Leibson,编译:Stark

最近几年关于自动驾驶汽车的新闻不断出现在头条新闻,各大传统汽车制造商与互联网公司结合纷纷杀入自动驾驶这个“蓝海”市场,与其说这是汽车行业所经历的一场巨大革命,倒不如说是人工智能(AI)的兴起,自动驾驶的根本原理就是利用机器视觉系统。当然自动驾驶汽车的发展也是一步一步的并且需要经验的积累,目前我们看到特斯拉、百度等厂商都推出了辅助自动驾驶系统,还远远没有实现完全的自动驾驶,此外自动驾驶汽车真正上路还必须得到国家机动车管理部门的政策许可,因此不得不承认自动驾驶汽车还有很长的一段路要走。(图1:自动驾驶汽车要能够实时感知路况信息)

机器视觉技术可以应用于自动驾驶系统中实现路况信息的采集和检测,其中CNN(卷积神经网络)在机器视觉系统中用于图像处理具有压倒性的优势。CNN网络根据复杂度可以划分为很多个“网络层”,典型的卷积神经网络可以划分为卷积层、池化层和全连接层,它能够将数量庞大的图像识别问题进行不断的降维处理,最终被训练后用于高效的图像识别。

介绍一款基于FPGA的CNN硬件加速器IP

作者:Sleibso,编译:Stark

随着人工智能(AI)的不断发展,它已经从早期的人工特征工程进化到现在可以从海量数据中学习,机器视觉、语音识别以及自然语言处理等领域都取得了重大突破。CNN(Convolutional Neural Network,卷积神经网络)在人工智能领域受到越来越多的青睐,它是深度学习技术中极具代表性的网络结构之一,尤其在图像处理领域取得了很大的成功。随着网络变得越来越大、越来越复杂,我们需要大量的计算资源来对其进行训练,因此人们纷纷将注意力转向FPGA(Field Programmable Gate Array,现场可编程门阵列)器件,FPGA不仅具有软件的可编程性和灵活性,同时又有ASIC高吞吐和低延迟的特性,而且由于具有丰富的I/O接口,FPGA还非常适合用作协议和接口转换的芯片。

刚好在知乎上看到这个问题 如何用FPGA加速卷积神经网络CNN,恰巧我的硕士毕业设计做的就是在FPGA上实现CNN的架构,在此和大家分享。

先说一下背景,这个项目的目标硬件是Xilinx的PYNQ。该开发板加载了Linux Ubuntu操作系统,可以在CPU上运行现有的Python CNN架构如Caffe和Theano。本设计旨在用PYNQ加载的ZYNQ FPGA对于CNN核心计算进行硬件加速,以达到对于大规模信息流进行大吞吐量CNN处理。

一步一步学用Tensorflow构建卷积神经网络

摘要: 本文主要和大家分享如何使用Tensorflow从头开始构建和训练卷积神经网络。这样就可以将这个知识作为一个构建块来创造有趣的深度学习应用程序了。

0. 简介

初学者必读:卷积神经网络指南(一)

摘要: 何为卷积神经网络,它来自何方?又要走向何处?跟着作者的节奏,一起来开始探索CNN吧。

卷积神经网络听起来像一个奇怪的生物学和数学的组合,但它是计算机视觉领域最具影响力的创新之一。2012年是卷积神经网络最流行的一年,因为Alex Krizhevsky用它赢得当年的ImageNet竞争(基本上算得上是计算机视觉的年度奥运),它将分类错误记录从26%降至15%,这是惊人的改善。从那时起,深度学习开始流行起来,Facebook使用神经网络进行自动标记算法,Google进行照片搜索,亚马逊的产品推荐,家庭饲料个性化的Pinterest,以及以搜索为基础设施的Instagram。

今天我们来看看在图像处理中如何使用CNN进行图像分类。

1.空间问题

【科普】卷积神经网络(CNN)基础介绍

本文是对卷积神经网络的基础进行介绍,主要内容包括卷积神经网络概念、卷积神经网络结构、卷积神经网络求解、卷积神经网络LeNet-5结构分析、卷积神经网络注意事项。

一、卷积神经网络概念
上世纪60年代,Hubel等人通过对猫视觉皮层细胞的研究,提出了感受野这个概念,到80年代,Fukushima在感受野概念的基础之上提出了神经认知机的概念,可以看作是卷积神经网络的第一个实现网络,神经认知机将一个视觉模式分解成许多子模式(特征),然后进入分层递阶式相连的特征平面进行处理,它试图将视觉系统模型化,使其能够在即使物体有位移或轻微变形的时候,也能完成识别。

卷积神经网络(Convolutional Neural Networks, CNN)是多层感知机(MLP)的变种。由生物学家休博尔和维瑟尔在早期关于猫视觉皮层的研究发展而来。视觉皮层的细胞存在一个复杂的构造。这些细胞对视觉输入空间的子区域非常敏感,我们称之为感受野,以这种方式平铺覆盖到整个视野区域。这些细胞可以分为两种基本类型,简单细胞和复杂细胞。简单细胞最大程度响应来自感受野范围内的边缘刺激模式。复杂细胞有更大的接受域,它对来自确切位置的刺激具有局部不变性。

卷积神经网络(CNN)的简单实现(MNIST)

卷积神经网络(CNN)的基础介绍见 http://xilinx.eetrend.com/article/11731 ,这里主要以代码实现为主。

CNN是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。

以MNIST作为数据库,仿照LeNet-5和tiny-cnn( http://blog.csdn.net/fengbingchun/article/details/50573841 ) 设计一个简单的7层CNN结构如下:
输入层Input:神经元数量32*32=1024;

C1层:卷积窗大小5*5,输出特征图数量6,卷积窗种类6,输出特征图大小28*28,可训练参数(权值+阈值(偏置))5*5*6+6=150+6,神经元数量28*28*6=4704;

S2层:卷积窗大小2*2,输出下采样图数量6,卷积窗种类6,输出下采样图大小14*14,可训练参数1*6+6=6+6,神经元数量14*14*6=1176;

C3层:卷积窗大小5*5,输出特征图数量16,卷积窗种类6*16=96,输出特征图大小10*10,可训练参数5*5*(6*16)+16=2400+16,神经元数量10*10*16=1600;

CNN模型压缩与加速算法综述

自从AlexNet一举夺得ILSVRC 2012 ImageNet图像分类竞赛的冠军后,卷积神经网络(CNN)的热潮便席卷了整个计算机视觉领域。CNN模型火速替代了传统人工设计(hand-crafted)特征和分类器,不仅提供了一种端到端的处理方法,还大幅度地刷新了各个图像竞赛任务的精度,更甚者超越了人眼的精度(LFW人脸识别任务)。CNN模型在不断逼近计算机视觉任务的精度极限的同时,其深度和尺寸也在成倍增长。

表1 几种经典模型的尺寸,计算量和参数数量对比

Model Model Size(MB) Million
Mult-Adds
Million
Parameters
AlexNet[1] >200 720 60
同步内容