深度学习-初识深度学习-笔记

 传统机器学习与深度学习

  尽管深度学习在学习能力上优于传统的机器学习,但是深度学习中仍有机器学习的影子,深度学习的理论是离不开传统的机器学习的。比如线性模型,卷积核,ReLU激活函数,softmax等,这些都应用在深度学习中的神经网络中。下面简单介绍一下传统机器学习与深度学习的对比。

传统机器学习建立过程

数据预处理              特征提取                      选择分类器

归一化

降维

去噪

人工设计模式

图像:SIF, LBP, Fisher, Gabor,Hog

语言:MFCC, 小波, Word2vec

SVM, 决策树,随机森林,贝叶斯网络,线性回归,聚类

深度学习建立过程

数据准备               设计模型                          训练

数据,label

CNN, RNN  CNN+RNN

调结构 损失函数 训练参数

深度学习应用特点

优点:

  学习能力强,覆盖范围广,适应性好,可移植性好(例如迁移学习)

缺点:

  计算量大,便携性差,硬件需求高,模型设计复杂,有可能被“hack” – 有可能将某些图案识别成别的物体,长于计算,弱于算计

深度学习框架比较

框架

语言

文档资料

CNN兼容

RNN兼容

上手难易

速度

并行支持

Keras兼容

支持团队

Theano

Python/C++

++

++

++

+

++

+

+

蒙特利尔大学

Tensor Flow

Python

+++

+++

++

+++

++

++

+

Google

Torch/Pytorch

Lua, Python

+

+++

++

++

+++

++

 

Facebook

Caffe

C++

+

++

 

+

+

+

 

贾杨清,加州伯克利

MXNet

Python,R,Julia

++

++

+

++

++

+++

+

李沐,陈天奇等,Amazon

Neon

Python

+

++

+

+

++

+

 

Intel

CNTK

C++

+

++

+++

+

++

+

 

Microsoft

TensorFlow

文档丰富,适合初学者,安装非常方便,谷歌支持,长期有效,自动求导,只需关注模型设计,Keras支持,方便迅速开发。

TensorFlow的具体应用可以看一下中文的一些网站比如TensorFlow中文社区http://www.tensorfly.cn/tfdoc/how_tos/overview.html,还有c语言中文网的http://c.biancheng.net/tensorflow/,当然也可以学习英文的相关文档。

深度学习基本概念的了解

  人工神经网络又叫神经网络,是借鉴了生物神经网络的工作原理形成的一种数学模型。神经网络是机器学习诸多算法中的一种,它既可以用来做有监督的任务,如分类、视觉识别等,也可以用作无监督的任务。同时它能够处理复杂的非线性问题,它的基本结构是神经元,如下图所示:这是简单的神经元只有一层

 

 其中,x1、x2、x3代表输入,中间部分为神经元,而最后的hw,b(x)是神经元的输出。整个过程可以理解为输入——>处理——>输出。

  由多个神经元组成的就是神经网络:它由输入层,隐藏层和输出层组成,如下图是鸢尾花数据集经过训练的结果,当然此图是盗用别的博客的:

卷积核是图像处理的基本算子,卷积神经网络将卷积核应用到了神经网络中,可以从下图了解一下卷积的大概过程:

 接下来就是对深度学习开始系统的学习一番了。

 

 

 

posted @ 2019-11-10 10:03  yg_staring  阅读(228)  评论(0编辑  收藏  举报