关闭

Unsupervised Feature Learning and Deep Learning(UFLDL) Exercise 总结

423人阅读 评论(0) 收藏 举报
分类:

7.27 暑假开始后,稍有时间,“搞完”金融项目,便开始跑跑 Deep Learning的程序

Hinton 在Nature上文章的代码 跑了3天 也没跑完 后来Debug 把batch 从200改到20 勉强跑出结果

后来开始看 文章等  感觉晕晕乎乎 

又翻到:Deep Learning Tutorials 装Theano等,但是python 代码 Debug真是好生恶心

再后来翻到 UFLDL,看着有Exercise 便做了起来。

用了5天刷了9个Exercises。


大概年后吧,在微博上看到 @邓侃 组织翻译 Andrew Ng 执笔的 Deep Learning 系列(UFLDL)


当时 就泼了冷水 那个时候在读 Machine Learning的书 清一色英文 觉得英文不是问题  为什么要翻译呢?

我觉得读书 应该读经典 读好书;国内很多书的内容质量大家都懂的。

学习一个新方向(比如ML/CV/IP等)我的方法是:先找一本中文书(可以是翻译的)熟悉知识的框架/关键字;然后找些经典书籍(多数是英文,偶尔会有不错的中文书)来读,再深入就要 Code 读Paper等;Code也可以在读书的时候进行,我在读PRML的时候,看完一章节,就合上书自己推导/Code,收获很多。

现在来看邓前辈组织的翻译,特别符合我入门DL的需求,而且Ng的Exercise做得很用心,难度不大。

为一开始的不敬,愧疚。向翻译团队致敬!

============================================

1.Sparse Autoencoder 

在Neural Networks中,通过约束隐含层的平均激活度 来实现稀疏


Exercise Result:


展示的是 第一层系数W每一行 reshape成 patch 大小的图像。联想到了EignFaces...

-----------------------------------------------------------------------------------------

2.Vectorization 

向量化编程;matlab中for循环很慢,如果在cost函数中包含for循环,那么优化将变得很慢。

一开始我不以为意,没去做这事;在后面的一个Exercise中,程序跑得很慢,便优化了Sparse Autoencoder的代码,去掉了所有for循环,速度提高了8倍左右。

-----------------------------------------------------------------------------------------

3.PCA and Whitening 

Whitening部分对我来说虽然较新,却不难;做降维的时候,PCA就是一个主要方法;PCA重建这事自己也探索过;

白化在PRML上看到过,没太留意。图形的预处理还是很重要的。


-----------------------------------------------------------------------------------------

4.Softmax Regression

Logistic Regression 多分类的直接推广。关于这个还有个小故事,曾经以对LR的理解,看出了豆瓣某工程师对SR推导的错误。

MNIST:


这个准确率 跟前段时间 玩Kaggle时用 one-vs-all logistic regression差不多(91.x%)

-----------------------------------------------------------------------------------------

5.Self-Taught Learning

使用5-9的MNIST数据 train 一个 Autoencoder 得到参数W1 b1

reshape W1:


使用W1 b1 来 Extract 0-4的Features

接着使用softmax regression训练一个分类器(偷了个懒 Autoencoder只迭代了200次)


-----------------------------------------------------------------------------------------

6.Implement Deep Learning Networks for Digital Classification

真正意义上构建的的第一个深层网络:前两层用Sparse Autoencoder训练feature I II,最后使用softmax regression对feature II进行分类。


迭代的次数 需要自己设定 所以多少有些出入


-----------------------------------------------------------------------------------------

7.Linear Decoders with Autoencoders

由于sigmoid/tanh函数的取值范围限制,输入数据x也只能在相同范围内

在输出端 使用线性激励函数 就可以克服此问题.


-----------------------------------------------------------------------------------------

8.Convolution and pooling



-----------------------------------------------------------------------------------------

9.Sparse Coding

稀疏模型 不多说了 关于Sparse/Low-rank  model,看过20多篇计算机视觉的文章,还Code过几个算法。

咔咔,解析解需要用到矩阵求导 利用trace(AA')求导即可 加入收敛条件

从其提供的代码来看,cost function的第一项重建差 需要除以patch数目,其实这种除可以相应scale lambda gamma达到一样的效果,cosnt*f(x)与f(x)最优解是一致的。


================================================

再次感谢 翻译团队 对母语的理解 还是要比英文顺畅得多


在此之前 只code过一次 Neuron Network,

——做Exercise6的时候,胸口疼了一会,真正在做多层网络啦!


接下来 读一些 readlist 上的文章,丰富Neuron Networks的知识。

Autoencoder知识UF的一种...

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Deep Learning论文笔记之(三)单层非监督学习网络分析

Deep Learning论文笔记之(三)单层非监督学习网络分析zouxy09@qq.comhttp://blog.csdn.net/zouxy09          自己平时看了一些论文,但老感觉看...
  • zouxy09
  • zouxy09
  • 2013-08-15 14:53
  • 31468

文献 | 2010-2016年被引用次数最多的深度学习论文(修订版)

书籍 Deep learning 引用次数最多的深度学习论文
  • u010402786
  • u010402786
  • 2016-06-15 15:50
  • 3155

资源|17类对抗网络经典论文及开源代码(附源码)

对抗网络专题文献集 第一篇论文 [Generative Adversarial Nets](the first paper about it) [Pa...
  • AMDS123
  • AMDS123
  • 2017-04-10 14:16
  • 9233

机器学习之无监督特征学习——Unsupervised feature learning and deep learning

 无监督学习近年来很热,先后应用于computer vision, audio classification和 NLP等问题,通过机器进行无监督学习feature得到的结果,其accuracy大...
  • u014365862
  • u014365862
  • 2015-09-04 20:51
  • 632

Unsupervise learning——Unsupervised feature learning and deep learning

无监督学习近年来很热,先后应用于computer vision, audio classification和 NLP等问题,通过机器进行无监督学习feature得到的结果,其accuracy大多明显优...
  • u012796064
  • u012796064
  • 2013-12-01 13:14
  • 869

UFLDL学习笔记4(Self-Taught Learning and Unsupervised Feature Learning)

最近在学习UFLDL Tutorial,这是一套关于无监督学习的教程。在此感觉Andrew Ng做的真的是非常认真。下面把我的代码贴出来,方便大家学习调试。所有代码已经过matlab调试通过。 ...
  • richard2357
  • richard2357
  • 2014-01-13 20:13
  • 2463

UFLDL Tutorial_Self-Taught Learning and Unsupervised Feature Learning

Self-Taught Learning Contents  [hide] 1 Overview2 Learning features3 On p...
  • xulinshadow701
  • xulinshadow701
  • 2013-12-12 19:55
  • 1586

Why Does Unsupervised Pre-training Help Deep Learning?

很多最近的研究都致力于学习深层结构的算法,例如深度置信网络(DBN)和堆叠自动编码器的变形,他们在不同的领域成果斐然,大部分建立在视觉和语言数据集。监督学习任务获得的最好的结果均包括无监督学习成分,通...
  • qq_37655759
  • qq_37655759
  • 2017-02-26 20:07
  • 384

why does unsupervised pre-training help deep learning.pdf

  • 2015-06-16 14:33
  • 1.22MB
  • 下载

deep learning UFLDL tutorial

  • 2013-10-09 18:45
  • 5.86MB
  • 下载
    个人资料
    • 访问:120027次
    • 积分:1816
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:49篇
    • 译文:0篇
    • 评论:22条
    最新评论