深度学习FPGA实现基础知识6(Deep Learning(深度学习)学习资料大全及CSDN大牛博客推荐)

Posted Times_poem

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习FPGA实现基础知识6(Deep Learning(深度学习)学习资料大全及CSDN大牛博客推荐)相关的知识,希望对你有一定的参考价值。

需求说明:深度学习FPGA实现知识储备

来自:时间的诗


第一部分:博客大牛(深度学习方向)

1、http://blog.csdn.net/zouxy09

  • 研究方向:机器学习、计算机视觉、人机交互和人工智能等领域
  • 作品:Deep Learning(深度学习)学习笔记整理系列
  • 网友评价:深入浅出、条理清晰、内容全面、适合反复阅读


2、http://blog.csdn.net/matrix_space
  • 研究方向:专注于图像处理,计算机视觉,机器学习。
  • 作品:机器学习专栏http://lib.csdn.net/base/2



第二部分:学习资料大全
1、来自:http://blog.csdn.net/on2way/article/details/50094845

该篇小记一下学习到的一些好教程与资料。 
关于深度学习,介绍性的文章与博客非常多,写的也非常好。一个综述点的博客系列就是Zouxy大神的文章:

Deep Learning(深度学习)学习笔记整理

如果你是刚入门的小白,建议收藏这位大神的系列文章,这一系列基本山涵盖了深度学习的所有基本东西,所以相对来说也是比较综述性质的,很多的细节是你需要有一点了解的才能看得懂。可能第一遍下去看不懂,或者只能懂很浅显的一部分,但是不要紧,建议每隔一段时间看一看这个大综述,每一次你都会有不同的收获的。

如果觉得光看别人写的很难理解,网络上相关的视频也是很多的,比如说复旦大学 
吴立德教授的

《深度学习课程》

另外一个学习较好的教程是吴恩达的UFLDL教程,该教程也有网友翻译成中文版的了,可以说也是非常浅显易懂的,里面涉及到的代码也是有网友分享过。关于吴恩达,感觉研究深度学习的没几个不知道的,他还有比较经典的机器学习教程,这些可谓是更底层的原理介绍与一些浅层学习算法,对于较好的理解机器学习乃至深度学习非常有帮助。深度学习UFLDL教程教程如下:

http://ufldl.stanford.edu/wiki/index.php/UFLDL%E6%95%99%E7%A8%8B

机器学习教程网址如下:

http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=MachineLearning

该机器学习教程有更早的斯坦福课堂上的版本,在哪里有网友翻译的中文字幕,可以搜一下学习学习,很不错。

当然还有很多很多很好的教程: 
博客园上的网友总结系列,当你具体到学习某个部分的时候会很有用: 
http://www.cnblogs.com/tornadomeet/tag/Deep%20Learning/default.html?page=1

这位网友翻译的系列: 
机器学习 
其英文版的课程: 
CS231n: Convolutional Neural Networks for Visual Recognition.

在贴一个国外大牛还未出版的电子书: 
http://neuralnetworksanddeeplearning.com/index.html

还有一个好的教程(有英文视频) 
http://cl.naist.jp/~kevinduh/a/deep2014/

再就是DeepLearning的官网,里面好的好东西自己发现: 
http://deeplearning.net/

关于学习深度学习工具,似乎也有好多(matlab版,c++版,Python版等等深度学习库),视你自己熟悉而定。比如一个比较适合初学者学习原理的matlab版工具箱:

DeepLearnToolbox 
(后面会基于这个工具箱进行相关实验)。

Python下的工具箱:Theano; 深度学习平台:caffe等等,这些只是看过也没有实际用过,属于比较高端下的深度学习应用范围了。

教程可谓是多不胜数,只待寻找适合自己的最重要,找到一个好的教程坚持学下去,一定会有所收获的。


2、机器学习的最佳入门学习资源 来自:http://blog.csdn.net/thomashtq/article/details/42487955

这是一篇很难写的文章,因为我希望这篇文章能对学习者有所启发。我在空白页前坐下,并且问自己了一个很难的问题:什么样的库、课程、论文和书籍对于机器学习的初学者来说,是最好的。

文章里到底写什么、不写什么,这个问题真的让我很烦恼。我必须把自己当做一个程序员和一个机器学习的初学者,站在这个角度去考虑最合适的资源。

我找出了每个类型中最适合的资源。如果你是一个真正的初学者,并且乐意于开始了解机器学习领域的相关知识,我希望,你可以在我的文章中,找到有用的 资料。我的建议是,从中挑出一件来,一本书或者是一个库,反复阅读或者认真学习所有的相关教程。挑出一件并且坚持学习,直到你完全掌握,再重新选择一件, 重复这个学习过程。现在就让我们开始吧!

Programming Libraries 编程库资源

我是一个“学习要敢于冒险和尝试”观念的倡导者。这是我学习编程的方式,我相信很多人也是这样学习程序设计的。先了解你的能力极限,然后去拓展你的 能力。如果你了解如何编程,可以将编程经验很快借鉴到深入学习机器学习上。在你实现一个实际的产品系统之前,你必须遵循一些规则、学习相关数学知识。

找到一个库并且仔细阅读相关文档,根据教程,开始尝试实现一些东西。下面列出的是开源的机器学习库中最好的几种。我认为,并不是他们中的每一种都适合用在你的系统中,但是他们是你学习、探索和实验的好材料。

你可以从一个由你熟悉的语言编写的库开始学习,然后再去学习其他功能强大的库。如果你是一个优秀的程序员,你会知道怎样从一种语言,简单合理地迁移到另一种语言。语言的逻辑都是相同的,只是语法和API稍有不同。

  • R Project for Statistical Computing: 这是一个开发环境,采用一种近似于Lisp的脚本语言。在这个库中,所有你想要的与统计相关的功能都通过R语言提供,包括一些复杂的图标。CRAN(你可 以认为是机器学弟的第三方包)中的机器学习目录下的代码,是由统计技术方法和其他相关领域中的领军人物编写的。如果你想做实验,或是快速拓展知识,R语言 都是必须学习的。但它可能不是你学习的第一站。
  • WEKA:这是一个数据挖掘工作平台,为用户提供数一系列据挖掘全过程的API、命令行和图形化用户接口。你可以准备数据、可视化、建立分类、进行回归分析、建立聚类模型,同时可以通过第三方插件执行其他算法。除了WEKA之外, Mahout是Hadoop中为机器学习提供的一个很好的JAVA框架,你可以自行学习。如果你是机器学习和大数据学习的新手,那么坚持学习WEKA,并且全心全意地学习一个库。
  • Scikit Learn:这是用Python编写的,基于NumPy和SciPy的机器学习库。如果你是一个Python或者Ruby语言程序员,这是适合你用的。这个库很用户接口友好,功能强大,并且配有详细的文档说明。如果你想试试别的库,你可以选择Orange。
  • Octave:如果你很熟悉MatLab,或者你是寻求改变的NumPy程序员,你可以考虑 Octave。这是一个数值计算环境,与MatLab像是,借助Octave你可以很方便地解决线性和非线性问题,比如机器学习算法底层涉及的问题。如果你有工程背景,那么你可以由此入手。
  • BigML:可能你并不想进行编程工作。你完全可以不通过代码,来使用 WEKA那样的工具。你通过使用BigMLS的服务来进行更加深入的工作。BigML通过Web页面,提供了机器学习的接口,因此你可以通过浏览器来建立模型。

挑选出一个平台,并且在你实际学习机器学习的时候使用它。不要纸上谈兵,要去实践!

Video Courses视频课程

很多人都是通过视频资源开始接触机器学习的。我在YouTube和VideoLectures上看了很多于机器学习相关的视频资源。这样做的问题 是,你可能只是观看视频而并不实际去做。我的建议是,你在观看视频的时候,应该多记笔记,及时后来你会抛弃你的笔记。同时,我建议你将学到的东西付诸实 践。

坦白讲,我没有看见特别合适初学者的视频资源。视频资源都需要你掌握一定的线性代数、概率论等知识。Andrew Ng在斯坦福的讲解可能是最适合初学者的,下面是我推荐的一些视频资源。

  • Stanford Machine Learning斯坦福的机器学习课程:可以在Coursera上观看,这门课是由 Andrew Ng讲解的。只要注册,你可以随时观看所有的课程视频,从Stanford CS229 course下载讲义和笔记。这门课包括了家庭作业和小测试,课程主要讲解了线性代数的知识,使用Octave库。
  • Caltech Learning from Data加 利福尼亚理工学院的数据分析课程:你可以在edX上学习这门课程,课程是由Yaser Abu-Mostafa讲解的。所有的课程视频和资料都在加利福尼亚理工学院的网站上。与斯坦福的课程类似,你可以根据自己的情况安排学习进度,完成家庭 作业和小论文。它与斯坦福的课程主题相似,关注更多的细节和数学知识。对于初学者来说,家庭作业可能稍有难度。
  • Machine Learning Category on VideoLectures.Net网 站中的机器学习目录:这是个很容易令人眼花缭乱的资源库。你可以找出比较感兴趣的资源,并且深入学习。不要纠结于不适合你的视频,或者对于感兴趣的内容你 可以做笔记。我自己会一直重复深入学习一些问题,同时发现新的话题进行学习。此外,在这个网站上你可以发现是这个领域的大师是什么样的。
  • “Getting In Shape For The Sport Of Data Science” – 由Jeremy Howard讲授:这是与机器学习竞赛者的对话,他们是一些实践中的R语言用户。这是非常珍贵的资源,因为很少有人会讨论研究一个问题的完整过程和究竟怎样做。我曾经幻想过在网上找到一个TV秀,记录机器学习竞赛的全过程。这就是我开始学习机器学习的经历!

Overview Papers综述论文

如果你并不习惯阅读科研论文,你会发现论文的语言非常晦涩难懂。一篇论文就像是一本教科书的片段,但是论文会介绍一个实验或者是领域中其他的前沿知识。然而,如果你准备从阅读论文开始学习机器学习的话,你还是可以找到一些很有意思的文章的。

  • The Discipline of Machine Learning机器学习中的规则:这是由Tom Mitchell编著的白皮书,其中定义了机器学习的规则。Mitchell在说服CMU总裁为一个百年内都存在的问题建立一个独立的机器学习部门时,也用到了这本书中的观点。

我只是列出了两篇重要的论文,因为阅读论文会让你陷入困境。

Beginner Machine Learning Books给机器学习初学者的书

关于机器学习的书有很多,但是几乎没有为初学者量身定做的。什么样的人才是初学者呢?最有可能的情况是,你从另外一个完全不同的领域比如:计算机科学、程序设计或者是统计学,来到机器学习领域。那么,大部分的书籍要求你有一定的线性代数和概率论的基础。

但是,还有一些书通过讲解最少的算法来鼓励程序员学习机器学习,书中会介绍一些可以使用工具、编程函数库来让程序员尝试。其中最有代表性的书是: 《Programming Collective Intelligence》,《Machine Learning for Hackers》,《Hackersand Data Mining: Practical Machine Learning Tools and Techniques》(Python版, R版, 以及Java版)。如果感到迷惑的话,你可以选择其中一本开始学习。

  • Machine Learning for Hackers  (中文版:机器学习:实用案例解析 ):我建议你在阅读了《Programming Collective Intelligence》一书之后,再阅读这本书。这本书中也提供了很多实践练习,但是涉及更多的数据分析,并且使用R语言。我个人很喜欢这本书!
  • Machine Learning: An Algorithmic Perspective:这本书是《Programming Collective Intelligence》的高级版本。它们目的相同(让程序员开始了解机器学习),但是这本书包括一些数学知识,参考样例和phython程序片段。如果你有兴趣的话,我建议你在看完《Programming Collective Intelligence》之后来阅读这本书。
  • 数据挖掘:实用机器学习工具与技术(英文版·第3版) : 我自己是从这本书开始了解机器学习的,那时是2000年这本书还是第一版。我那时是Java程序员,这本书和WEKA库为我的学习和实践提供了一个很好的 环境。我通过这样的平台和一些插件,实现我的算法,并且真正开始实践机器学习和数据挖掘的过程。我强烈推荐这本书,和这样的学习过程。

有一些人认为那些经典的机器学习教科书很了不起。 我也赞同,那些书的确非常好。但是,我认为,对于初学者来说,这些书可能并不合适。

Further Reading 继续阅读

在写这篇文章时,我认真思考了相关问题,同时也参考了其他人推荐的资料,以确保我没有遗漏任何重要参考资料。为了确保文章的完整性,下面也列出了一些网上流行的,可以供初学者使用的材料。.

你是不是以及读过或者用过上面的一些资源了呢?你怎么看这个问题?

我是不是如愿为那些对机器学习有兴趣的初学者提供了重要、有用的资源呢?请留下你的建议,让我们分享!

 翻译: 伯乐在线 programmer_lin

 译文链接: http://blog.jobbole.com/56256/

 原文连接:http://www.open-open.com/news/view/fab75c



3、Deep Learning(深度学习) 来自:http://blog.csdn.net/augusdi/article/details/20238157

Deep Learning(深度学习)

ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):一

ufldl的2个教程(这个没得说,入门绝对的好教程,Ng的,逻辑清晰有练习):二

Bengio团队的deep learning教程,用的theano库,主要是rbm系列,搞python的可以参考,很不错。

deeplearning.net主页,里面包含的信息量非常多,有software, reading list, research lab, dataset, demo等,强烈推荐,自己去发现好资料。

Deep learning的toolbox,matlab实现的,对应源码来学习一些常见的DL模型很有帮助,这个库我主要是用来学习算法实现过程的。

2013年龙星计划深度学习教程,邓力大牛主讲,虽然老师准备得不充分,不过还是很有收获的。

Hinton大牛在coursera上开的神经网络课程,DL部分有不少,非常赞,没有废话,课件每句话都包含了很多信息,有一定DL基础后去听收获更大。

Larochelle关于DL的课件,逻辑清晰,覆盖面广,包含了rbm系列,autoencoder系列,sparse coding系列,还有crf,cnn,rnn等虽然网页是法文,但是课件是英文。

CMU大学2013年的deep learning课程,有不少reading paper可以参考。

达慕思大学Lorenzo Torresani的2013Deep learning课程reading list.

Deep Learning Methods for Vision(余凯等在cvpr2012上组织一个workshop,关于DL在视觉上的应用)。

斯坦福Ng团队成员链接主页,可以进入团队成员的主页,比较熟悉的有Richard Socher, Honglak Lee, Quoc Le等。

多伦多ML团队成员链接主页,可以进入团队成员主页,包括DL鼻祖hinton,还有Ruslan Salakhutdinov , Alex Krizhevsky等。

蒙特利尔大学机器学习团队成员链接主页,包括大牛Bengio,还有Ian Goodfellow 等。

纽约大学的机器学习团队成员链接主页,包括大牛Lecun,还有Rob Fergus等。

豆瓣上的脑与deep learning读书会,有讲义和部分视频,主要介绍了一些于deep learning相关的生物神经网络。

Large Scale ML的课程,由Lecun和Langford讲的,能不推荐么。

Yann Lecun的2014年Deep Learning课程主页,强烈推荐。

一些常见的DL code列表,csdn博主zouxy09的博文,Deep Learning源代码收集-持续更新…

Deep Learning for NLP (without Magic),由DL界5大高手之一的Richard Socher小组搞的,他主要是NLP的。

2012 Graduate Summer School: Deep Learning, Feature Learning,高手云集,深度学习盛宴,几乎所有的DL大牛都有参加。

matlab下的maxPooling速度优化,调用C++实现的。

2014年ACL机器学习领域主席Kevin Duh的深度学习入门讲座视频。

 

Machine Learning(机器学习):

介绍图模型的一个ppt,非常的赞,ppt作者总结得很给力,里面还包括了HMM,MEM, CRF等其它图模型。反正看完挺有收获的。

机器学习一个视频教程,youtube上的,翻吧,内容很全面,偏概率统计模型,每一小集只有几分钟。 

龙星计划2012机器学习,由余凯和张潼主讲。

demonstrate 的 blog :关于PGM(概率图模型)系列,主要按照Daphne Koller的经典PGM教程介绍的,大家依次google之

FreeMind的博客,主要关于机器学习的。

Tom Mitchell大牛的机器学习课程,他的machine learning教科书非常出名。

CS109,Data Science,用python介绍机器学习算法的课程。

 

Computer Vision(计算机视觉):

MIT2013年秋季课程:Advances in Computer Vision,有练习题,有些有code.

IPAM一个计算机视觉的短期课程,有不少牛人参加。

 

OpenCV相关:

http://opencv.org/

2012年7月4日随着opencv2.4.2版本的发布,opencv更改了其最新的官方网站地址。

http://www.opencvchina.com/

好像12年才有这个论坛的,比较新。里面有针对《learning opencv》这本书的视频讲解,不过视频教学还没出完,正在更新中。对刚入门学习opencv的人来说很不错。

http://www.opencv.org.cn/forum/

opencv中文论坛,对于初次接触opencv的学者来说比较不错,入门资料多,opencv的各种英文文档也翻译成中文了。不足是感觉这个论坛上发帖提问很少人回答,也就是说讨论不够激烈。

http://opencv.jp/

opencv的日文网站,里面有不少例子代码,看不懂日文可以用网站自带的翻译,能看个大概。

http://code.opencv.org/projects/opencv

opencv版本bug修补,版本更新,以及各种相关大型活动安排,还包含了opencv最近几个月内的活动路线,即未来将增加的功能等,可以掌握各种关于opencv进展情况的最新进展。

http://tech.groups.yahoo.com/group/OpenCV/

opencv雅虎邮件列表,据说是最好的opencv论坛,信息更新最新的地方。不过个人认为要查找相关主题的内容,在邮件列表中非常不方便。

http://www.cmlab.csie.ntu.edu.tw/~jsyeh/wiki/doku.php

台湾大学暑假集训网站,内有链接到与opencv集训相关的网页。感觉这种教育形式还蛮不错的。

http://sourceforge.net/projects/opencvlibrary/

opencv版本发布地方。

http://code.opencv.org/projects/opencv/wiki/ChangeLog#241    http://opencv.willowgarage.com/wiki/OpenCV%20Change%20Logs

opencv版本内容更改日志网页,前面那个网页更新最快。

http://www.opencv.org.cn/opencvdoc/2.3.2/html/doc/tutorials/tutorials.html

opencv中文教程网页,分几个模块讲解,有代码有过程。内容是网友翻译opencv自带的doc文件里的。

https://netfiles.uiuc.ed

以上是关于深度学习FPGA实现基础知识6(Deep Learning(深度学习)学习资料大全及CSDN大牛博客推荐)的主要内容,如果未能解决你的问题,请参考以下文章

深度学习FPGA实现基础知识0(FPGA击败GPU和GPP,成为深度学习的未来?)

Deep Learning(深度学习)学习笔记整理(二)

FPGA教程案例59深度学习案例6——基于FPGA的CNN卷积神经网络之整体实现

重学 PyTorch Tutorial

Deep Reinforcement Learning 基础知识(DQN方面)

进阶篇腾讯云FPGA的深度学习算法