deeplearning简介

3 篇文章 0 订阅
1 篇文章 0 订阅

深度学习介绍

什么是深度学习

  • multiple layers of nonlinear processing units
  • the supervised or unsupervised learning of feature representations in each layer, with the layers forming a hierarchy from low-level to high-level features.
  • include latent variables organized layer-wise in deep generative models

image

与传统的机器学习的区别是什么

深度学习可以自己通过最最基本的特征(simple features),利用更深的层(layers)对特征进行层层抽象。
image

神经网络的结构

神经元神经网络
imageimage

- 神经元在横向和纵向组合成为一个网络;
- 每一层进行特征学习(feature representation) 由简单到复杂,从低等级特征到高等级特征

它能做什么

视觉问题:

1. 图像分类

image

举个例子:
在imagenet上的图像分类challenge上Alex提出的alexnet网络结构模型赢得了2012届的冠军。

image

在ILSVRC2010中,top-1和top-5的成绩分别为37.5%和17.0%;这个大的网络包含6千万个参数和65万的神经元;由5个卷基层,3个全连接层和最终分类器构成。利用了RELU,dropout,data augmentation等多种防止过拟合的技术。

之后出现了更多更trick更复杂的cnn结构,目前精确度最高的是inception v4.
image

【TODO】inception 简介

2. 人脸识别

image
上图是facebook的deepface人脸识别网络结构。首先使用3D模型来将人脸对齐,再使用CNN分类。
1. FaceNet:A Unified Embedding for Face Recognition and Clustering
2. DeepFace:Closing the Gap to Human-Level Performance in Face Verification
3. Multi-view Face Detection Using Deep Convolutional Neural Networks

3&4. 物体识别object detection&图像分割
graph LR
    A[old MAP:0.33] --> B[RCNN:0.66]

物体识别主要需要解决两个问题:
1. 物体的位置
2. 这个物体是什么
object detection流程

  1. 一张图像生成1K~2K个候选区域(采用SS方法)
  2. 对每个候选区域,使用深度网络提取特征
  3. 特征送入每一类的SVM 分类器,判别是否属于该类
  4. 使用回归器精细修正候选框位置

image

主要方法有:

rcnn->spp-net->fast-rcnn->faster-rcnn->yolo->ssd->R-FCN

参见:
专栏:
http://blog.csdn.net/column/details/ym-alanyannick.html
Faster RCNN详解:
http://blog.csdn.net/u013832707/article/details/53641055
http://blog.csdn.net/ture_dream/article/details/52896452

语音识别:

graph LR
    A[GMM:混合高斯模型] --> B[CNN:深度神经网络模型]

文本理解:

1. 词向量word2vec

word2vec是dnn用于神经网络的第一步,该方法流程:
1. 分词,每个词给一个初始化权重(词向量);
2. 使用skip-gram或者cbow方法进行逻辑回归,更新权重和词向量

对于词向量可以使用如下方式进行评价

vec(中国)减去vec(北京)约等于vec(英国)减去vec(伦敦)
2. 语义分析(recursive nn)

image

通过rnn学习树形结构得到语义向量。
参见 cs224d。

3. 机器翻译&问答系统(seq2seq)

image
图中用户的输入为ABC(A,B,C可以看做三个不同词),对话系统的输出为WXYZ。编码器:左边没有输出的RNN是一个编码器,该编码器按照句子中单词出现的顺序进行编码,前一个词的隐藏层信息反馈给当前词的隐藏信息。当遇到输入句子的结束符eos时,整个句子的编码就完成了,也就是RNN的隐藏层信息作为该句子的编码。解码器:右边带有输出层的为解码器,解码器每次只产生一个词;而产生的这个词会作为解码器的输入,同时上一时刻的隐藏层信息会反馈给当前时刻的隐藏,然后继续输出一个词,直到输出句子结束符eos为止。解码器的输入层的初始输入为eos,隐藏层的初始输入为编码器对输入句子的编码结果(也就是隐藏层信息)。

参见:http://blog.csdn.net/linmingan/article/details/51077837

游戏

阿尔法狗:
iamge
参见:http://news.mydrivers.com/1/474/474324.htm

工具简介

tensorflow

源自加州伯克利分校的Caffe被广泛应用,包括Pinterest这样的web大户。与TensorFlow一样,Caffe也是由C++开发,Caffe也是Google今年早些时候发布的DeepDream项目(可以识别喵星人的人工智能神经网络)的基础。

Theano

2008年诞生于蒙特利尔理工学院,Theano派生出了大量深度学习Python软件包,最著名的包括Blocks和Keras。

mxnet

Apache MXNet 是一种功能全面、可以灵活编程并且扩展能力超强的深度学习框架,支持包括卷积神经网络 (CNN) 与长短期记忆网络 (LSTM) 在内的顶尖深度模型。MXNet 是在 Apache-2 许可下以开源形式提供的框架,根源于学术界,由多所顶尖大学的研究人员精心合作和贡献而成。创始机构包括华盛顿大学和卡耐基梅隆大学

caffe

源自加州伯克利分校的Caffe被广泛应用,包括Pinterest这样的web大户。与TensorFlow一样,Caffe也是由C++开发,Caffe也是Google今年早些时候发布的DeepDream项目(可以识别喵星人的人工智能神经网络)的基础。

torch()

Torch诞生已经有十年之久,但是真正起势得益于去年Facebook开源了大量Torch的深度学习模块和扩展。Torch另外一个特殊之处是采用了不怎么流行的编程语言Lua(该语言曾被用来开发视频游戏)。

比较

开源信息

image

性能等比较

image

一句话,ml码农用keras或者tensorflow。
mxnet听说也挺好用,但是没用过。

tensorflow介绍

参见tensorflow 入门简介
http://blog.csdn.net/sadfasdgaaaasdfa/article/details/69947068

CNN:tensorflow实现的alexnet finetune

参见alexnet tensorflow finetune实现和简介:
http://blog.csdn.net/sadfasdgaaaasdfa/article/details/69947981

tips&tricks

训练CNN你需要知道的tricks/tips

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值