zoukankan      html  css  js  c++  java
  • 【原创 深度学习与TensorFlow 动手实践系列

    最近一直在研究机器学习,看过两本机器学习的书,然后又看到深度学习,对深度学习产生了浓厚的兴趣,希望短时间内可以做到深度学习的入门和实践,因此写一个深度学习系列吧,通过实践来掌握《深度学习》和 TensorFlow,希望做成一个系列出来,加油!

    学习内容包括了:

    1. 小象学院的《深度学习》课程

    2. TensorFlow的官方教程

    3. 互联网上跟深度学习相关的教程

    整个深度学习,学习的过程是通过一条主线串联起来的,这个知识结构总结的还是蛮好的。

    1. 线性回归 - 线性回归是基础。

    2. 神经网络 - 线性回归引入非线性激励(保留线性函数的信息,但是又要转化成为非线性,为啥呢?线性的描述能力太有限了,大部分复杂问题都是非线性的)就形成了神经元,神经元组合在一起就构成了最基础的神经网络,神经元和神经网络都是深度学习的基础。

    3. 卷积神经网络(CNN)- 神经网络,通过卷积核构建成为CNN(卷积神经网络),为什么引入卷积核?如何引入卷积核?需要好好再理解和分析一下。

    4. 卷积神经网络(CNN)- 目标分类,图像识别,人脸识别,物品识别,场景识别,文字识别,把卷积神经网络研究明白就可以完成大量的目标分类的功能。

    5. 卷积神经网络(CNN)- 目标监测, 安防,自动驾驶,卷积神经网络的进一步应用场景。

    6. 循环神经网络(RNN)- CNN时域迭代形成循环神经网络

    7. LSTM - Word2vec - 语句生成,自动翻译,智能对话

    8. 增强学习 - 围棋,德州扑克,自动游戏

    9. 生成网络,判别网络,对抗网络 - 无限数据

     计划与期望效果:

    1. 理论讲解,模型分析

    2. TensorFlow 实例运行,调试(源码共享)

    3. 思想总结,资源分享,论文推荐,方便课后研究

    能力进阶:

    1. 入门:明白概念,练习和原理。

    2. 实践:能够运用模型展开具体应用开发。

    3. 提升:根据具体问题设计新的模型。

    总结:理论+实践+总结 => 解决全新的问题

    提纲:

    1. 深度学习:传统到现在

    2. 深度学习应用特点

    3. 深度学习框架比较

    4. TensorFlow 介绍

    5. 一些基本深度学习概念

     期待目标:

    1. 了解深度学习发展

    2. 清楚深度学习能力范围

    3. 知道常见深度学习框架

    4. 会 安装、运行、简单调试 TensorFlow,了解 TF运行方式

    5. 了解:神经元,卷积核,分类,回归等基本概念

     

    深度学习:传统到现在

    1. 传统机器学习

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

    数据预处理:归一化,降维,去噪

    特征提取:人工设计模式图像:SIFT,LBP,Fisher,Gabor,Hog 语言:MFCC,小波,Word2vec

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

    2. 深度学习

    数据准备:数据,标签

    设计模型:CNN,RNN,CNN+RNN

    训练:调结构,损失函数,训练函数

    2010年 NEC-UIUC Lin CVPR 2011

    2012年 SuperVision

    2014年 GoogLeNet VGG

    2015年 MSRA

    推动因素:

    1. 理论:CNN,RNN,ReLU

    2. 数据:ImageNet,LFW

    3. 硬件:Nvidia CUDA + GPU

    总结:深度学习 = 硬件(CPU+GPU+FPGA+TPU) + 算法(CNN,RNN,ReLU)+大数据(ImageNet)

    未来可能进展 - 无人驾驶

    未来可能进展 - 无人超市

    未来可能进展 - 自动翻译

     未来可能进展 - 个人助手

    深度学习应用特点:

    优点:

    学习能力强

    覆盖范围广,适用性好

    可移植性好

    ImageNet -> ImageNet Model -> 物品分类,目标检测,人脸计算,场景识别,生成图片

    总结:5种类型的应用:物品分类,目标检测,人脸计算,场景识别,生成图像

    缺点:

    计算量大,便携性差

    硬件要求高

    模型设计复杂

    有可能被“Hack”

    长于计算,弱于算计

    深度学习框架比较

     TensorFlow Python,文档 +++,CNN兼容 +++,RNN兼容 ++,上手难易 +++,速度 ++,并行支持 ++,Keras兼容+,支持 Google

    深度学习框架比较:

    本课程选择:TensorFlow

    1. 文档丰富,适合初学者

    2. 安装非常方便

    3. 谷歌支持,长期有效

    4. 自动求导,只需关注模型设计

    5. Keras支持,方便迅速开发

    原因:

    1. 统一模型标准,方便交流

    2. 维持地位:TPU, Google Cloud,Future Market

    3. 影响力 TF2016 

     

     

    TensorFlow 介绍 - 实例程序运行

    1. 简单程序:直线方程拟合(见Code:course_1_tf_lr.py)

    2. 基本迭代:迭代次数,Learning Rate,模型结构,误差对比

     深度学习基本概念 - 神经元

     

     深度学习基本概念 - 卷积核 - 图像处理基本算子(边界算子)

    卷积核 - CNN卷积核Plot

     

     本节总结:

    1. 了解深度学习发展

    2. 清楚深度学习能力范围

    3. 知道常见的深度学习框架

    4. 会安装、运行、简单更改 TensorFlow

    5. 了解:神经元,卷积核,分类,回归等基本概念

    总结:

     

     

    课程代码:https://github.com/wiibrew/DeepLearningCourseCodes 

     

     

    https://github.com/wiibrew/DeepLearningCourseCodes/blob/master/course_1_tf_basic_operation.py

     

    https://github.com/wiibrew/DeepLearningCourseCodes/blob/master/course_1_tf_lr.ipynb

     

    https://github.com/wiibrew/DeepLearningCourseCodes/blob/master/course_1_tf_lr.ipynb

  • 相关阅读:
    猴子分香蕉
    打鱼晒网
    质数/素数
    三角形-->九九乘法表
    eclipse 导入gradle引入多模块项目,引入eclipse后变成了好几个工程
    linux 命令基础大全
    SQL Server 增加链接服务器
    Postgresql数据库部署之:Postgresql 存在session 会话不能删除数据库
    Postgresql数据库部署之:Postgresql本机启动和Postgresql注册成windows 服务
    Git常用命令使用大全
  • 原文地址:https://www.cnblogs.com/licheng/p/6950482.html
Copyright © 2011-2022 走看看