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

【原创 深度学习与TensorFlow 动手实践系列 - 1】第一课:深度学习总体介绍的更多相关文章

  1. 【原创 深度学习与TensorFlow 动手实践系列 - 4】第四课:卷积神经网络 - 高级篇

    [原创 深度学习与TensorFlow 动手实践系列 - 4]第四课:卷积神经网络 - 高级篇 提纲: 1. AlexNet:现代神经网络起源 2. VGG:AlexNet增强版 3. GoogleN ...

  2. 【原创 深度学习与TensorFlow 动手实践系列 - 3】第三课:卷积神经网络 - 基础篇

    [原创 深度学习与TensorFlow 动手实践系列 - 3]第三课:卷积神经网络 - 基础篇 提纲: 1. 链式反向梯度传到 2. 卷积神经网络 - 卷积层 3. 卷积神经网络 - 功能层 4. 实 ...

  3. 【原创 深度学习与TensorFlow 动手实践系列 - 2】第二课:传统神经网络

    第二课 传统神经网络 <深度学习>整体结构: 线性回归 -> 神经网络 -> 卷积神经网络(CNN)-> 循环神经网络(RNN)- LSTM 目标分类(人脸识别,物品识别 ...

  4. 《ASP.NET SignalR系列》第一课 认识SignalR

    从现在开始相关文章请到: http://lko2o.com/moon 一.概述 ASP.NET signalr对ASP.NET开发者来说是一个新的程序库,它能让我们更加容易便捷地开发实时通信功能; s ...

  5. Python学习,第一课 - 基础学习

    前言. 本内容全部以python3所讲 一.Python安装 windows 1.下载安装包 https://www.python.org/downloads/ 2.安装 默认安装路径:C:\pyth ...

  6. Tensorflow简单实践系列(二):张量

    在上一节中,我们安装 TensorFlow 并运行了最简单的应用,这节我们熟悉 TensorFlow 中的张量. 张量是 TensorFlow 的核心数据类型.数学里面也有张量的概念,但是 Tenso ...

  7. Tensorflow简单实践系列(三):图和会话

    当执行一个 TensorFlow 函数的时候,并不会马上执行运算,而是把运算存储到一个称为“图”(graph)的数据结构里面. 图存储的各种运算,只有在会话(session)里执行图,才会真正地执行. ...

  8. Tensorflow简单实践系列(一):安装和运行

    TensorFlow 是谷歌开发的机器学习框架. 安装 TensorFlow 直接使用 pip 安装即可,添加豆瓣镜像可以加快速度: pip install tensorflow -i https:/ ...

  9. ABP开发框架前后端开发系列---(1)框架的总体介绍

    ABP是ASP.NET Boilerplate的简称,ABP是一个开源且文档友好的应用程序框架.ABP不仅仅是一个框架,它还提供了一个最徍实践的基于领域驱动设计(DDD)的体系结构模型.学习使用ABP ...

随机推荐

  1. 前后端通过API交互

    前两篇已经写好了后端接口,和前段项目环境也搭建好了 现在要通过接口把数据展示在页面上 先占位置写架子 创建一个头部组件和底部组件占位置 <template> <h1>这是头部组 ...

  2. 关于ugc的一点思考

    ugc会使互联网繁荣,但依赖大众用户创造的内容质量上会存在参差不齐,这是ugc本身存在的问题. 就拿技术论坛或社区来说,好的内容不少,但质量不好的内容也很多.社区在引导用户发言的同时,也应 对用户创造 ...

  3. Shell脚本笔记(一)一些零碎的基础知识

    一些零碎的基础知识 一.认识Shell脚本 一)相关概念 Shell是一种命令解释器,作用是按次序执行(遇到子脚本,先执行子脚本的命令)用户输入的命令和程序. Shell脚本语言是弱类型语言,与其他脚 ...

  4. 基于asp.net的excel导入导出

    新建aspx文件.代码大概如下: <!--导入Excel文件--> <table width="99%" border="0" align=& ...

  5. HQL实用技术

    HQL是Hibernate Query Language的缩写,提供更加丰富灵活.更为强大的查询能力:HQL更接近SQL语句查询语法. HQL基础查询  1.获取部分列 多列 /** * 获取部分列 ...

  6. C语言实现密码修改

    /* *修改密码 *描述: *1.本来已经存在密码 *2.很多时候需要输入两次密码,对比是否正确,才能确认修改密码正确 *敲代码思路: *1.输入旧的密码判断是否正确 *2.提示输入修改后的密码 *3 ...

  7. 第一章 初始STM32

    1.3什么是STM32? ST是意法半导体,M是MIcroelectronisc的缩写,32表示32位. 合起来就是:ST公司开发的32位微控制器. 1.4 STM32 能做什么? STM32属于一个 ...

  8. nodejs+koa2微信app支付,小程序支付

    企业付款到零钱文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_2 1,搞微信支付,先看流程图 https: ...

  9. BZOJ4964 : 加长的咒语

    把$($看作$-1$,$)$看作$1$,设$a$为前缀和,则相当于找两个位置$x,y$使得$a[x]=a[y]$,且$a[x]$是$[x,y]$的区间最大值. 求出询问区间的最大值$o$,然后找到$o ...

  10. 基于Tkinter以及百度翻译爬虫做的一个小的翻译软件

    首先看效果: 输入Hello, 可见输出 int. 打招呼 下面看源码: from tkinter import * import requests# 首先导入用到的库 request = reque ...