深度学习系列之CNN核心内容
导读
怎么样来理解近期异常火热的深度学习网络?深度学习有什么亮点呢?答案事实上非常简答。今年十月份有幸參加了深圳高交会的中科院院士论坛。IEEE fellow汤晓欧做了一场精彩的报告,这个问题被汤大神一语道破,他说深度学习网络说白了就是一个多层的神经网络。
同20年前相比,计算机硬件性能提升非常多,有了实现处理大数据和并行运算的能力,deep learning才被又一次重视起来。这里,再反复一遍CNN的实质:CNN就是一个更深层次、具有很多其它节点的ANN网络。但与简单的ANN相比:CNN主要是卷积使得权值共享。减少连接的数量级。同一时候兼顾二维特征;从算法层面上。CNN的核心还是同BP网络一样权值正向传播误差反向传播,并利用误差来更新每一层的权值。
DNN的背景
DNN,deep neural network。近几年机器学习算法中崛起的旗舰方法,作为分类精度最高、处理高维大数据的算法,拯救了机器学习在半个世纪里发展缓慢的颓势,也为人工智能新领域的拓展起着重要作用,来看看近期一些IT巨头在深度学习领域中的开展的工作。
2012年,《纽约时报》报道的google Brian项目,引起广泛关注,这个项目由机器学习领域大师级人物吴恩达和大规模计算机系统方面的世界顶级专家JeffDean主导,使用万为数量级的CPU数量搭建并行计算平台。模拟出10亿数量级的神经节点,让这个巨大的系统收看YouTube视频可以自学习和识别具有一个小孩的智力水平。
微软在天津举办一次公开的活动展示了全自己主动的同声传译系统。演讲者用英语说话,后台计算机一气呵成地完毕语音识别、英中文翻译、语音合成,效果非常流畅。
这个系统背后的关键技术就是DNN。或者说DL(Deep Learning)。2013年。李彦宏在百度年会上高调宣布成立“深度学习研究院”。
Why DNN
深度学习,体现出仿生生物学和人工智能等领域的光辉思想,借用获得诺贝尔生理学奖的“视觉分层”理论,深度学习採用多层的分层形式来模拟视觉系统的原理,从底层的像素获取形状方向。到大脑皮层不同区域抽象迭代获得局部特征。再到提取高层特征直到可以简单识别出模式。正由于深度学习神经网络中的深层次结构,可以无遗漏地提取样本特征,具有强大的分类能力。所以深度学习相比于其它机器学习的算法。可以减少误差率。成为近年来非常热门的算法。
深度学习有着多层深层的层次结构,将底层的特征不断抽象和迭代出可标示的特征。可以发现大数据中的复杂结构,具有强大的分类能力,因而在视频图像识别、语音识别、海量文本分类等方面具有重要应用。
深度学习的思想是通过深层网络的结构自己主动学习和提取海量数据的特征。
假设将深度学习网络看成一个信号处理系统。输入是一堆数据(一批图片或一叠文本),通过多层网络 (i=1,2..)的处理后无损地得到输出,形象表示为: I=>S1=>S2=>…=>Sn => O,假设I和O相等,说明该系统可以无损处理输入信号。这样可以不断迭代训练网络得到一个多层网络 每层网络从低到高来表述特征。所以深度学习的目的就是训练这个多层网络,得到正确的分类參数。深度学习网络的眼下主流的模型主要有三种,深度信念网络。受限玻尔兹曼机和卷积神经网络。这里主要解说机器学习课程上的卷积神经网络模型。
How CNN work
这里从两个方面来阐述这个庞大的问题:
- 理论方面
比如。CNN怎样权值正向传播并进行误差反向?卷积过程?
- 实例代码解说
比如,怎样使用matlab工具箱构建CNN网络?怎样训练网络?
Typical Example
这里就机器学习方面的大师级人物LecunYann设计训练的CNN网络模型来说明问题,。
CNN流程图具体解释
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i ').text(i));
};
$numbering.fadeIn(1700);
});
});
深度学习系列之CNN核心内容的更多相关文章
- 【深度学习系列】CNN模型的可视化
前面几篇文章讲到了卷积神经网络CNN,但是对于它在每一层提取到的特征以及训练的过程可能还是不太明白,所以这节主要通过模型的可视化来神经网络在每一层中是如何训练的.我们知道,神经网络本身包含了一系列特征 ...
- 【深度学习系列3】 Mariana CNN并行框架与图像识别
[深度学习系列3] Mariana CNN并行框架与图像识别 本文是腾讯深度学习系列文章的第三篇,聚焦于腾讯深度学习平台Mariana中深度卷积神经网络Deep CNNs的多GPU模型并行和数据并行框 ...
- 深度学习系列 Part(3)
这是<GPU学习深度学习>系列文章的第三篇,主要是接着上一讲提到的如何自己构建深度神经网络框架中的功能模块,进一步详细介绍 Tensorflow 中 Keras 工具包提供的几种深度神经网 ...
- 【深度学习系列2】Mariana DNN多GPU数据并行框架
[深度学习系列2]Mariana DNN多GPU数据并行框架 本文是腾讯深度学习系列文章的第二篇,聚焦于腾讯深度学习平台Mariana中深度神经网络DNN的多GPU数据并行框架. 深度神经网络( ...
- 【深度学习系列】PaddlePaddle垃圾邮件处理实战(二)
PaddlePaddle垃圾邮件处理实战(二) 前文回顾 在上篇文章中我们讲了如何用支持向量机对垃圾邮件进行分类,auc为73.3%,本篇讲继续讲如何用PaddlePaddle实现邮件分类,将深度 ...
- 基于TensorFlow的深度学习系列教程 2——常量Constant
前面介绍过了Tensorflow的基本概念,比如如何使用tensorboard查看计算图.本篇则着重介绍和整理下Constant相关的内容. 基于TensorFlow的深度学习系列教程 1--Hell ...
- 使用腾讯云 GPU 学习深度学习系列之二:Tensorflow 简明原理【转】
转自:https://www.qcloud.com/community/article/598765?fromSource=gwzcw.117333.117333.117333 这是<使用腾讯云 ...
- 【深度学习系列】关于PaddlePaddle的一些避“坑”技巧
最近除了工作以外,业余在参加Paddle的AI比赛,在用Paddle训练的过程中遇到了一些问题,并找到了解决方法,跟大家分享一下: PaddlePaddle的Anaconda的兼容问题 之前我是在服务 ...
- 【深度学习系列】手写数字识别卷积神经--卷积神经网络CNN原理详解(一)
上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...
随机推荐
- 令牌桶在数据通信QoS流量监管中的应用
令牌桶(Tocken Bucket,以下简称TB)在流量监管(以下简称CAR)功能中完成对流量进行限速的作用.流量监管主要是应用与网络边缘,从而保证核心设备的正常数据处理. 在流量监管的处理过程中,首 ...
- 更改ORACLE 用户的 expired状态
oracle中, 经常用户的状态会变成locked, expired 等状态, 这种情况下怎么处理呢? 首先, 如果是locked状态还好办, DBA直接执行alter user scott acco ...
- linux: /usr/bin/ld: cannot find -lloc
/usr/bin/ld: cannot find -lloc ld链接库的时候没发现loc这个库-lloc本事不是文件名字,要去找这个库就搜索libloc, loc, 不能搜索lloc. /usr1/ ...
- C语言,C++,static
术语static有着不寻常的历史.起初,在C中引入关键字static是为了表示退出一个块后仍然存在的局部变量.随后,static在C中有了第二种含义:用来表示不能被其它文件访问的全局变量和函数.为了避 ...
- vtk基础编程(2)-读取数据文件中的坐标点
原文地址: http://blog.csdn.net/chinamming/article/details/16860051 1. 案例说明 在实际计算中,常常需要大量的数据, 这个时候数据文件就必不 ...
- Linux权限操作 [转]
Linux权限操作 本文内容来自<鸟哥linux私房菜>读后个人做的笔记,该书实为学习linux的很好入门教材 一.文件属性 ls ls -al列出所有的档案属性 ls是List的意思 档 ...
- µC/OS-II版本升级指南
IDE: MDK V4+ MCU: LPC17xx(Cortex-M3) RTOS: µC/OS-II 升级顺序:V2.52->V2.62->V2.76-> ...
- 我是小白之<%%>用法
下面知识都是摘录自网络 <%= %>输出,等价于Response.Write()<%%> 写代码<%-- --%>注释. <% %>跟其它serv ...
- OpenSSL---堆栈
堆栈是一种先进后出的数据结构.是一种只允许在其一端进行插入或者删除的线性表.允许插入或删除操作的一端为栈顶,另一端称为栈底.对堆栈的插入和删除操作称为入栈和出栈. 1.1 概述 OpenSSL ...
- COM实现过程
前言 COM已经成为一个必需的东西了.在我们周围,可以说处处充满了COM – 如果你是在使用WINDOWS,并在其下面编写程序的话.然而,无论你是用VC,还是使用DELPHI进行COM编程时,在大多数 ...