您的位置:首页 > 其它

【菜鸟学深度】Introduction to Machine Learning CMU-10701

2015-04-22 00:18 323 查看
大家好,我是ColdZoo,本博客是在学习 卡耐基梅隆大学的Slides—

Introduction to Machine Learning CMU-10701 (以下简称Slides)之后得出的总结。记录下自己的成长。

目前写到LeNet部分,你的支持是我写下去的动力哦~


大部分内容为英文直接翻译,一切版权归原作者Barnabás Póczos & Aarti Singh所有。 Slides的作者认为目前的Deep Learning 走错路了,如日中天的CNN进不了法眼,目的主要是介绍深度信念网络DBN 和深度玻尔兹曼机DBM.

深度架构(deep architecture)的定义

深度架构是由多层非线性运算堆叠而成的架构。例如含有多有隐含层的神经网络。



上图中含有多个层,每一层都有不同的输出函数。

深度架构的目标

深度架构的目标是:

学习特征层次

学习高层特征是如何由底层特征表示出来的



特征层次的示例图,从最底层的Raw input(原始输入)到最后的高层一个ANP的形式。ANP这里可以对应一个概念,也可以是概念的组合。

深度架构的神经生物学动机

动机一:目前绝大多数所谓机器学习的架构都是浅薄的(shallow architecture), 例如SVM,KNN,PCA,Perceptron。 其中曾经如日中天的SVM就是浅薄的三层架构。



SVM可以用公式表示为如上面的形式,k(。)函数为核函数。 有机器学习基础的朋友肯定知道。

动机二:神经生物学发现哺乳动物大脑是由深度架构的 (Serre, Kreiman, Kouh, Cadieu, Knoblich, & Poggio, 2007)

(E.g. visual system has 5 to 10 levels)

深度架构上的突破

从历史上看取得了一些突破,直接贴原文

-Deep Belief Network Hinton, G. E, Osindero, S., and Teh, Y. W. (2006). A fast learning algorithm for deep belief nets. Neural Computation, 18:1527-1554

- Autoencoders Bengio, Y., Lamblin, P., Popovici, P., Larochelle, H. (2007). Greedy Layer-Wise Training of Deep Networks,

Advances in Neural Information Processing Systems 19

都是经典著作。

深度架构的理论优势

目前在深度方面的理论研究一直都是难点,Slides的作者虽然提出了一些理论优势,但看起来更多的是为了解释实验结果而提出来的假说。

很多问题的不能被简单模型解释 (同意),而深度模型解释的很好。

更严密的说法:假设有一个问题可以被K层模型紧密表示(compactly represented),如果用K-1层模型表示这个问题,则需要指数个参数。

使用深度架构可以减少参数的使用。是不是有点反直觉?但是仔细想想,为了达到同样的效果,Shallow Architecture需要的参数确实是海量的,以至于不可能完成。

下面开始介绍深度架构的几个具体实现


深度卷积网络 (Deep Convolutional Neural Network)

与传统的feed-forward NN 相比, CNN有如下特点

CNN的连接和参数都更少

因此训练起来容易

理论效果之比传统网络差一点点(真的么?)

一个典型的CNN网络,也是最早的CNN是LeCun的作品。

LeNet 5

Y. LeCun, L. Bottou, Y. Bengio and P. Haffner: Gradient-Based Learning Applied to Document Recognition, Proceedings of the IEEE, 86(11):2278-2324, November 1998

激动人心的时刻



终于到了激动人心的讲解网络的时刻了。

LeNet由三个卷积层,两个降采样层和一个全连接层构成。

卷积层

卷积层需要使用的是卷积核,Kernel。 以第一个卷积层C1为例。这一层含有6个卷积核,每一个卷积核的尺寸是5*5. 在32*32的原图上滑动,滑动步长为1. 因此结果是得到六层Feature Maps(等于卷积核数)。 每层Feature Maps的边长为28 ((32-5)/1+1=28).

降采样层

降采样层所做的事情和常见的图片压缩是一样一样的。也是为了加快训练速度。常用的降采样技术是Max Pooling。

本模型中实际是将图片尺寸缩小到了原先的一半。

实验结果

好不容易做了个网络当然要拉出来遛遛。 我们来看一下实际效果如何。



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: