导读

怎么样来理解近期异常火热的深度学习网络?深度学习有什么亮点呢?答案事实上非常简答。今年十月份有幸參加了深圳高交会的中科院院士论坛。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 = $('

    ').addClass('pre-numbering').hide();
    $(this).addClass('has-numbering').parent().append($numbering);
    for (i = 1; i ').text(i));
    };
    $numbering.fadeIn(1700);
    });
    });

深度学习系列之CNN核心内容的更多相关文章

  1. 【深度学习系列】CNN模型的可视化

    前面几篇文章讲到了卷积神经网络CNN,但是对于它在每一层提取到的特征以及训练的过程可能还是不太明白,所以这节主要通过模型的可视化来神经网络在每一层中是如何训练的.我们知道,神经网络本身包含了一系列特征 ...

  2. 【深度学习系列3】 Mariana CNN并行框架与图像识别

    [深度学习系列3] Mariana CNN并行框架与图像识别 本文是腾讯深度学习系列文章的第三篇,聚焦于腾讯深度学习平台Mariana中深度卷积神经网络Deep CNNs的多GPU模型并行和数据并行框 ...

  3. 深度学习系列 Part(3)

    这是<GPU学习深度学习>系列文章的第三篇,主要是接着上一讲提到的如何自己构建深度神经网络框架中的功能模块,进一步详细介绍 Tensorflow 中 Keras 工具包提供的几种深度神经网 ...

  4. 【深度学习系列2】Mariana DNN多GPU数据并行框架

    [深度学习系列2]Mariana DNN多GPU数据并行框架  本文是腾讯深度学习系列文章的第二篇,聚焦于腾讯深度学习平台Mariana中深度神经网络DNN的多GPU数据并行框架.   深度神经网络( ...

  5. 【深度学习系列】PaddlePaddle垃圾邮件处理实战(二)

    PaddlePaddle垃圾邮件处理实战(二) 前文回顾   在上篇文章中我们讲了如何用支持向量机对垃圾邮件进行分类,auc为73.3%,本篇讲继续讲如何用PaddlePaddle实现邮件分类,将深度 ...

  6. 基于TensorFlow的深度学习系列教程 2——常量Constant

    前面介绍过了Tensorflow的基本概念,比如如何使用tensorboard查看计算图.本篇则着重介绍和整理下Constant相关的内容. 基于TensorFlow的深度学习系列教程 1--Hell ...

  7. 使用腾讯云 GPU 学习深度学习系列之二:Tensorflow 简明原理【转】

    转自:https://www.qcloud.com/community/article/598765?fromSource=gwzcw.117333.117333.117333 这是<使用腾讯云 ...

  8. 【深度学习系列】关于PaddlePaddle的一些避“坑”技巧

    最近除了工作以外,业余在参加Paddle的AI比赛,在用Paddle训练的过程中遇到了一些问题,并找到了解决方法,跟大家分享一下: PaddlePaddle的Anaconda的兼容问题 之前我是在服务 ...

  9. 【深度学习系列】手写数字识别卷积神经--卷积神经网络CNN原理详解(一)

    上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度.有的同学表示不是很理解原理,为什么传统的机器学习算法,简单的神经网络(如多层感知机)都可 ...

随机推荐

  1. MUI跳转页面传值

    1.打开新的页面.通过 mui.openWindow 打开页面extras参数传递参数 mui.openWindow({ id: "yingshou-" + newid, url: ...

  2. Android 程式开发:(二十)内容提供者 —— 20.6 自定义ContentProvider的使用

    现在,ContentProvider已经创建好了,可以去尝试使用一下. 1. 使用之前的工程,在布局文件main.xml中添加一些控件. <?xml version="1.0" ...

  3. PHP - 目录与文件

    第6章 目录与文件 学习要点: 1.目录操作 2.磁盘.目录和文件计算 3.文件处理 将相关的数据组织为文件和目录等实体,这一直是计算环境的核心概念.出于这个原因,程序员需要有一种方法来获得关于文件和 ...

  4. ubuntu: root用户

    ubuntu怎么设置root用户  http://blog.csdn.net/chenping314159/article/details/7561339 创建root帐号: 在安装系统时,root账 ...

  5. gdb 远程qemu-arm调试

    把 c 编译成 arm 指令的可运行文件 /usr/bin/arm-linux-gnueabi-g++ hello.cpp cat hello.cpp #include <stdio.h> ...

  6. Swift - 单例模式的实现

    过去Swift要实现单例,无非是这三种方式:全局变量,内部变量和dispatch_once方式.但都略显繁琐. 后来从1.2版本起,Swift中添加了如 static let 和 static var ...

  7. Swift - 制作一个录音机(声音的录制与播放)

    1,技术介绍 (1)AVFoundation.framework框架提供了AVAudioRecorder类.它可以实现录音功能. (2)而使用该框架的AVAudioPlayer类,可以实现声音的播放. ...

  8. semaphore实现浏览器的读写原理

    在编程范式中的斯坦福大学的老师说了一个例子:好比世界上就只有一台互联网的服务器,当我们浏览网页的时候,就好比服务器进行了写操作,而浏览器则进行了读操作. 我如果用简单的伪代码c++写出来是这个样子的: ...

  9. <input type=button> 跳转页面

    打开新页面 标题" type="button" onclick='window.open("bedzhao.aspx")' /> 转换本页面 标 ...

  10. Basic4android:多功能的Android应用软件快速开发平台

    Basic4android 是目前最简单.最强大的Android平台快速应用开发工具. ( "Basic4android is the simplest and most powerful ...