深度学习&机器学习相关资料汇总

来源:互联网 发布:java程序计数器 编辑:程序博客网 时间:2024/05/15 11:33

这篇博客主要是整理下自己看过的一些深度学习及机器学习的资料,希望可以给那些想要入门的小伙伴提供一点帮助,同时也是给自己梳理下思路,该博客会持续更新。目前主要分两大部分整理:一部分是理论基础;另一部分是代码实现。

机器学习&深度学习基础知识

1、吴恩达-deeplearning.ai
链接:http://mooc.study.163.com/smartSpec/detail/1001319001.htm(有中文字幕)
这是最近几个月热播的吴恩达(Andrew Ng)的机器学习视频,个人看过觉得不错,每个小课都只有5到10分钟,从最基础的内容开始,同时包含一些工程方面实现的细节。比较推荐给那些零基础且想入门机器学习及深度学习的小伙伴。当然对于在此方面有相关知识积累的小伙伴,也可以将此当做完善知识体系的一种方式。

2、cs231n
链接:http://cs231n.stanford.edu/syllabus.html(这里可以下载想要的资料)
这是斯坦福大学的公开课,李飞飞教授主讲,适合想了解深度学习细节和基础知识的小伙伴比较适合。当初就是看这份课程的PDF资料将反向传播等内容看懂。

深度学习框架

了解再多的理论基础,没有用代码实现那也只是浮云。因此你必须要熟练使用一些深度学习框架来实现你的算法。

接触过Caffe、MXNet、Tensorflow、pytorch。总结起来各有优缺点,相比之下后三者走的路线都是基于图。总的来说训练一个模型的代码主要包括数据导入、网络构建、参数初始化、优化策略制定、训练(前后向传播及loss的计算一般都封装好)这几个大的部分。因此在学习框架使用的时候可以针对这几个部分依次搞懂就能组合出你想要的训练代码。

初学者学习的时候可以先跑官方的demo,用简单的网络实现简单数据集的结果,然后将前面提到的那几个部分替换成你想要的或自定义的内容,如果能灵活使用,就基本入门了。另外对各框架所采用的数据结构要有深入了解,这样使用起来才能如鱼得水,不至于一直debug。

强调:各框架的接口的使用和具体实现可以看官方的文档,目前这几个框架的文档质量还是不错的,主流的应该算是python接口。

1、MXNet
MXNet框架的特点就是速度快、显存占用小、代码灵活。
MXNet的安装比较简单,直接参考官方的安装步骤依次操作即可。
要入手这个框架,推荐近期李沐开的动手学习深度学习这门课,可以说既有详细的算法介绍,又包含代码实现,适合各年龄段的深度学习爱好者。代码方面采用MXNet框架的新接口Gluon,代码逻辑清晰,值得推荐。
链接:http://zh.gluon.ai/index.html(这个链接是中文资料,推荐)
另外还有英文资料:http://gluon.mxnet.io/index.html

原创粉丝点击