CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?
2016-06-20 14:16
781 查看
https://www.zhihu.com/question/34681168
个人觉得CNN、RNN和DNN不能放在一起比较。
DNN是一个大类,CNN是一个典型的空间上深度的神经网络,RNN是在时间上深度的神经网络。
推荐你从UFLDL开始看,这是斯坦福深度学习的课程,了解一些神经网络的基础,会对你的学习有很大帮助。
=============================分割线======================================
前面一位同学回答得非常详细完整,我再回来谈一谈怎么学习这些模型,我来分享一下我的学习历程。我也是在学习中,以后会慢慢继续补充。
1、http://ufldl.stanford.edu/wiki/index.php/UFLDL教程
这是我最开始接触神经网络时看的资料,把这个仔细研究完会对神经网络的模型以及如何训练(反向传播算法)有一个基本的认识,算是一个基本功。
2、Deep Learning Tutorials
这是一个开源的深度学习工具包,里面有很多深度学习模型的python代码还有一些对模型以及代码细节的解释。我觉得学习深度学习光了解模型是不难的,难点在于把模型落地写成代码,因为里面会有很多细节只有动手写了代码才会了解。但Theano也有缺点,就是极其难以调试,以至于我后来就算自己动手写几百行的代码也不愿意再用它的工具包。所以我觉得Theano的正确用法还是在于看里面解释的文字,不要害怕英文,这是必经之路。PS:推荐使用python语言,目前来看比较主流。(更新:自己写坑实在太多了,CUDA也不知道怎么用,还是乖乖用theano吧...)
3、Stanford University CS231n: Convolutional Neural Networks for Visual Recognition
斯坦福的一门课:卷积神经网络,李飞飞教授主讲。这门课会系统的讲一下卷积神经网络的模型,然后还有一些课后习题,题目很有代表性,也是用python写的,是在一份代码中填写一部分缺失的代码。如果把这个完整学完,相信使用卷积神经网络就不是一个大问题了。
4、斯坦福大学公开课 :机器学习课程
这可能是机器学习领域最经典最知名的公开课了,由大牛Andrew Ng主讲,这个就不仅仅是深度学习了,它是带你领略机器学习领域中最重要的概念,然后建立起一个框架,使你对机器学习这个学科有一个较为完整的认识。这个我觉得所有学习机器学习的人都应该看一下,我甚至在某公司的招聘要求上看到过:认真看过并深入研究过Andrew Ng的机器学习课程,由此可见其重要性。
CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?修改
CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?以及他们的主要用途是什么?只知道CNN是局部感受和参数共享,比较适合用于图像这方面。刚入门的小白真心个人觉得CNN、RNN和DNN不能放在一起比较。
DNN是一个大类,CNN是一个典型的空间上深度的神经网络,RNN是在时间上深度的神经网络。
推荐你从UFLDL开始看,这是斯坦福深度学习的课程,了解一些神经网络的基础,会对你的学习有很大帮助。
=============================分割线======================================
前面一位同学回答得非常详细完整,我再回来谈一谈怎么学习这些模型,我来分享一下我的学习历程。我也是在学习中,以后会慢慢继续补充。
1、http://ufldl.stanford.edu/wiki/index.php/UFLDL教程
这是我最开始接触神经网络时看的资料,把这个仔细研究完会对神经网络的模型以及如何训练(反向传播算法)有一个基本的认识,算是一个基本功。
2、Deep Learning Tutorials
这是一个开源的深度学习工具包,里面有很多深度学习模型的python代码还有一些对模型以及代码细节的解释。我觉得学习深度学习光了解模型是不难的,难点在于把模型落地写成代码,因为里面会有很多细节只有动手写了代码才会了解。但Theano也有缺点,就是极其难以调试,以至于我后来就算自己动手写几百行的代码也不愿意再用它的工具包。所以我觉得Theano的正确用法还是在于看里面解释的文字,不要害怕英文,这是必经之路。PS:推荐使用python语言,目前来看比较主流。(更新:自己写坑实在太多了,CUDA也不知道怎么用,还是乖乖用theano吧...)
3、Stanford University CS231n: Convolutional Neural Networks for Visual Recognition
斯坦福的一门课:卷积神经网络,李飞飞教授主讲。这门课会系统的讲一下卷积神经网络的模型,然后还有一些课后习题,题目很有代表性,也是用python写的,是在一份代码中填写一部分缺失的代码。如果把这个完整学完,相信使用卷积神经网络就不是一个大问题了。
4、斯坦福大学公开课 :机器学习课程
这可能是机器学习领域最经典最知名的公开课了,由大牛Andrew Ng主讲,这个就不仅仅是深度学习了,它是带你领略机器学习领域中最重要的概念,然后建立起一个框架,使你对机器学习这个学科有一个较为完整的认识。这个我觉得所有学习机器学习的人都应该看一下,我甚至在某公司的招聘要求上看到过:认真看过并深入研究过Andrew Ng的机器学习课程,由此可见其重要性。
相关文章推荐
- CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?
- xmlPull解析网络数据(xml文件)
- 11gRAC安装grid软件时网络配置报错
- JavaSE入门学习47:Socket网络通信编程(一)
- JavaSE入门学习48:Socket网络通信编程(二)
- JavaSE入门学习49:Socket网络通信编程(三)四通过Socket实现TCP编程
- TCP/IP驱动十一 ——内核2.6.26中inet_csk和inet_sk两个函数推导
- Java网络编程
- 网络请求工具类之OkHttp3封装(支持缓存、日志、拦截器、断点下载、上传等)
- RNN学习(一) 神经网络概述
- HttpClient请求网络数据
- android HttpURLConnection网络请求数据
- HTTP 代理原理及实现(二)
- HTTP 代理原理及实现(一)
- centos7在vmware上安装后不能连接网络和没有ifconfig命令
- MATLAB 神经网络基础(5)
- Chromium的当前net/disk_cache/simple file模块没有实现缓存的原子更新
- 让XP远程桌面连接支持网络身份验证
- HttpClient 使用proxy 设置了connectionTimeout, socketTimeout 还是无限等待
- Android OkHttp完全解析