唐宇迪:51CTO微职位讲师,计算机博士,人工智能专家

内容梗概:介绍人工智能学习步骤和知识框架。人工智能的学习可以拆分为7步,此为4-7步:下篇。

第4步:深度学习

1)深度学习概述

  • 终于说到深度学习了,都需要学什么呢?
    深度学习可以说是当下最好用的算法了,各个领域都能吃得开。其实最核心的还是在计算机视觉和自然语言处理中,因为神经网络算法更适用于图像和文本数据。

主要需要掌握的就是算法和框架了,算法就是CNN,RNN这些经典网络模型,框架就是实战的工具了例如tenorflow,Pytorch等,后面还会详细说。

  • 深度学习听起来比较高大上,是不是比机器学习难很多?
    好像现在好多小伙伴一拿到任务,第一个想法都是直接用深度学习做。如果深度学习难度大,做起来麻烦,那还能有这么高的热度吗?

其实恰恰相反,我觉得深度学习真的比机器学习简单很多,在机器学习中需要我们对不同的数据选择不同的预处理方法和特征工程构建方法。
深度学习中的套路相对来说更固定一些,而且有这些开源框架和各大经典网络架构,我们通常需要做的就是套用就可以了。整体难度要比机器学习任务更容易一些(只是相对来说!)。

2)深度学习必备算法

  • 深度学习都需要学哪些算法呢?
算法名称 内容概述
神经网络 神经网络是最基础的,相当于为后面网络的学习打下基础
卷积神经网络 这个大家听起来很熟悉吧,深度学习中的大哥大!计算机视觉的核心网络
递归神经网络 北乔峰,南慕容,它就是自然语言处理中的大哥大了!
对抗生成网络 现在比较火的模型,玩起来很有趣,可以进行各种图像融合
序列网络模型 NLP中常用架构,机器学习翻译模型,应用点比较多
各大经典网络架构 刚才说的CNN和RNN都是比较基础的网络模型,在其基础上还有很多拓展需要大家掌握

3)深度学习必备工具

  • 什么是框架?能帮我们做什么呢?
    框架好比说你设计了一个网络模型,但是如果把其中具体的计算过程全部自己完成就太麻烦了。

框架提供了高效的计算方法并且不需要咱们来完成,一套全自动的计算。相当于我们只需要设计好结构,具体的施工就交给它了。要玩深度学习必备的就是框架了。

  • 深度学习框架哪家强?
    tensorflow,Pytorch,keras,caffe等,有这么多框架,我该选哪一个呢?是不是不同框架差异很大呢?

现在最主流的就是tensorflow和PyTorch了,相当于肯德基和麦当劳吧。都很强,至于具体选择哪一个还是参考大家各自的项目组和任务需求吧。如果非要我推荐一个我会给大家推荐PyTorch,因为更简洁通俗。

这些框架我全都用过,最主要的原因就是工作中经常需要参考论文和开源项目,一般别人论文中源码用什么框架我也就接着进行二次开发了,所以这些框架早晚大家都会用一遍的!

  • 框架该怎么学呢?
    框架没有什么理论可谈,也不用看各种长篇大论,直接用就得了!其实就是一个工具包,便用边学,案例当模板来总结就可以了!

  • 针对不同框架,分别给大家准备了丰富的实战项目和学习内容。
框架名称 内容概述
Caffe框架 远古时代的神级框架,现在有点跌落神坛了,我学习的第一个框架
Tensorflow2版本 2版本做了很多改进,终于更人性化了,用起来比1版本舒服多了
Keras 一句话概述就是简单!简单!简单!都不用学,看代码非常容易理解
PyTorch 现阶段最火的框架,我估计也是今年(2020)最流行的框架了,推荐!

第5步:深度学习框架

针对各大深度学习框架均给大家提供了丰富的实战哪里,用哪个就看大家的喜好了!

1)深度学习框架-Tensorflow2

  • 请给我一个学tensorflow2的理由!
    Google出品我就不用多解释了,人家Google那么多开源项目肯定都是基于TF框架的,要学习或者参考人家开源项目和论文肯定要学TF的,工业界应用也非常广泛。这波肯定不亏!

  • 给大家准备的案例内容,借用程咬金的配音:一个字,干!
案例名称 内容概述
tensorflow安装与简介 2版本的介绍于安装方法,简单过一下就好
神经网络原理解读与整体架构 复习下神经网络架构
搭建神经网络进行分类与回归任务 用TF完成基本的分类于回归任务,掌握其应用方法
卷积神经网络原理与参数解读 CNN的架构于其中每一个参数详解
猫狗识别实战 经典的图像分类任务,这里要讲很多内容,非常重要
图像数据增强实例 数据增强可以说了现在必备技能了
训练策略-迁移学习实战 迁移学习带来的效果还是相当可以的
递归神经网络与词向量原理解读 RNN模型解读
基于TensorFlow实现word2vec 词向量模型解读,并基于TF来实现
基于RNN模型进行文本分类任务 基于TF完成文本分类任务
tfrecord制作数据源 数据源制作实例
将CNN网络应用于文本分类实战 CNN也能玩文本分类
时间序列预测 时间序列数据处理与建模实例
对抗生成网络实战 GAN来啦,这个可好玩了
基于CycleGan开源项目实战图像融合 我最喜欢玩的GAN,效果相当逗了!
经典网络架构Resnet实战 必须懂的网络架构,学就得了!

2)深度学习框架-Pytorch

  • 听说它很火,为啥呢?
    19年底Pytorch框架使用人数已经超越tensorflow成为当下最火的框架,原因其实很简单,大家都喜欢用更简单易懂的框架。整体的感觉确实比tensorflow好上手而且调试起来十分方便,也是建议初学的同学们优先选择Pytorch框架。
案例名称 内容概述
PyTorch框架基本处理操作 PyTorch简单熟悉一下就好,上手非常简单
神经网络实战分类与回归任务 用PyTorch构建神经网络模型,确实比TF用的顺手
卷积神经网络原理与参数解读 CNN模型架构与参数书解读
图像识别核心模块实战解读 非常重要,PyTorch中的图像处理核心模块
迁移学习的作用与应用实例 PyTorch中加载模型来进行迁移学习
递归神经网络与词向量原理解读 RNN模型架构解读
新闻数据集文本分类实战 基于PyTorch来构建文本分类模型
对抗生成网络架构原理与实战解析 GAN模型通俗解读
基于CycleGan开源项目实战图像融合 PyTorch版本的CYCLEGAN,这个开源项目写的相当棒
OCR文字识别原理 OCR其实原理很简单,需要多个模型协助完成
OCR文字识别项目实战 构建OCR网络模型
基于3D卷积的视频分析与动作识别 用3D卷积来处理视频数据并完成行为识别
基于PyTorch实战BERT模型 BERT这个架构太火了,必备模型之一
PyTorch框架实战模板解读 提供一个模板,以后有任务可以基于模板来进行改进

3)深度学习框架-Keras

  • Keras都说简单,有多简单呢?
    整体感觉就是啥都不用学,从案例开始直接用就好了,TF2版本其实跟keras很像。适合做实验写论文,简单快速!
案例名称 内容概述
安装与简介 keras安装与上手很容易,基于tf来进行
搭建神经网络模型 搭建个神经网络模型来试试水
再战卷积神经网络 CNN模型构建起来也非常容易
LSTM时间序列预测任务 LSTM模型应用于时间序列任务
文本分类实战 文本分类实例
多标签与多输出 多标签任务很常见,很有学习价值
新闻数据集文本分类实战 基于keras的文本分类任务
数据增强 数据增强实例解读
对抗生成网络 GAN架构,用keras来做更简单
迁移学习与Resnet残差网络 resnet模型大家一定自己动手玩一遍
地址邮编多序列任务 文本模型实例
seq2seq网络实战 序列网络模型应用还是比较广的
实战模板总结 给大家提供的keras模板,再有任务直接写就好

4)深度学习框架-Caffe

  • Caffe框架现阶段还有必要学习吗?
    我觉得现阶段已经有tensorflow和pytorch了,暂时轮不到caffe登场了,初学的同学们就不推荐了。可能有些论文和任务还是需要caffe框架,需要的同学们自取就好啦!
案例名称 内容概述
Caffe配置文件解读 Caffe框架常用配置文件解读
多种数据集构建方法 数据集构建方法,这个很重要
Caffe常用工具解读 里面内置了很多小工具,可以快速完成任务
人脸检测实战 基于Caffe框架构建人脸检测模型
人脸关键点定位实战 基于Caffe框架完成人间关键点识别模型

第6步:计算机视觉

1)计算机视觉概述

  • 计算机视觉发展这么火,就业面试都需要哪些核心技能呢?
    计算机视觉这个行业我就不用多说啦,当下最吃香的了。那都需要学什么呢?最核心的其实就量部分了,一个是图像处理,另一个是图像建模。

所谓的图像处理就是Opencv那一套啦,这个工具包简直无敌了,但凡你要用的这里全能找到。图像建模主要就是用深度学习来完成检测,识别等任务。

现阶段的学习我觉得关于传统图像处理算法可以都不用去看啦,简单熟悉一下就好,主流的方向还是用深度学习来做,这就需要大家多多最新的阅读论文了。

2)Opencv图像处理实战

  • 关于opencv我该怎么学呢?
    建议大家选择Python版本来进行学习和使用,跟其他工具包一样,调就完事了!遇到不熟悉的多查API,边用边学是最快的途径。

Opencv中基本所有函数都涉及非常多的数学公式,这些大家都可以先放一放,如果把每个算法每个公式都学一遍那得猴年马月了,以后用到了再说完全来得及。

  • 这些案例我需要自己动手写一遍吗?
    给大家准备了非常多的学习资源和案例,前期只需要熟悉即可,工具包就是用的,面向复制粘贴编程也是一项技能!
案例名称 内容概述
Opencv简介与环境配置 环境安装与配置
图像基本操作 用opencv完成基本的图像处理操作,练手!
阈值与平滑处理 最常用的处理操作,几行代码就能搞定
图像形态学操作 这几个形态学操作熟悉下即可
图像梯度计算 图像梯度计算实例
边缘检测 边缘检测的应用面非常广
图像金字塔与轮廓检测 轮廓检测实例,效果还是不错的
直方图与傅里叶变换 熟悉下即可
项目实战-信用卡数字识别 动手做一个实战项目,对信用卡数字进行检测与识别
项目实战-文档扫描OCR识别 扫描文档数据,进行ocr识别
图像特征-harris 常用特征提取方法,算法简单熟悉就可以
图像特征-sift 最老牌的特征提取方法了,数学还是蛮多的
案例实战-全景图像拼接 全景摄像大家肯定都玩过,怎么实现的呢?
项目实战-停车场车位识别 重型项目,从零开始构建停车场车位识别模型
项目实战-答题卡识别判卷 咱们也整一个自动阅卷的玩玩
背景建模 常规处理方法
光流估计 简单熟悉即可
Opencv的DNN模块 加载训练好的模型进行识别
项目实战-目标追踪 追踪的效果还是蛮有意思的
卷积原理与操作 卷积到哪都是核心
项目实战-疲劳检测 基于摄像头检测疲劳

3)计算机视觉实战项目(基于深度学习)

  • 这些项目我都需要掌握吗?
    对于准备面试就业的同学们建议都过一遍,里面的思想都是蛮好的,大部分都是基于论文来进行复现。

有时间的同学最好先阅读一遍论文再开始研究代码,里面的代码量都会相对较大,建议从debug模式入手,一行代码一行代码来看,我在讲解过程中也会进入debug模式给大家逐行进行讲解。

  • 有没有哪个是需要重点学习的?最好能写在简历里面呢?
    重点推荐Mask-rcnn实战项目,可以说是计算机视觉中的通用项目,检测,识别,分割一步全到位了!

应用场景非常广,也适合进行二次开发和改进,如果要写在简历里肯定非它莫属了,算法原理和源码都需要大家熟悉,在课程中我会重点讲解该项目,并应用到自己的数据任务中!

项目名称 内容概述
图像风格转换(style-transfer) 主要来学习其思想,效果还是很有意思的
图像缺失自动补全 GAN网络应用场景非常多,图像也能自己修复
超分辨率重构 近几年研究的重点领域之一,这篇论文的效果已经非常不错了
物体检测框架-MaskRcnn项目 这个就是我重点强调的开源项目,必看!必看!必看!
MaskRcnn网络框架源码详解 源码非常重要,每一行都需要懂!
基于MASK-RCNN框架训练自己的数据 如何标注图像数据并进行训练呢?这里给你答案
人体姿态识别demo MaskRcnn应用场景非常多
物体检测FasterRcnn系列 物体检测的经典之作,可以当作学习资源
基于CycleGan开源项目实战图像融合 PyTorch版本的CYCLEGAN,这个开源项目写的相当棒
OCR文字识别原理 OCR其实原理很简单,需要多个模型协助完成
OCR文字识别项目实战 构建OCR网络模型
基于3D卷积的视频分析与动作识别 用3D卷积来处理视频数据并完成行为识别

第7步:自然语言处理

  • NLP学习难度大不大?就业方向怎么样呢?
    难度可以说还是蛮大的,对于图像来说,数据都是固定的,拍了什么就是什么!但是文本数据就没那么固定了,人类有时候理解起来都不容易,更何况计算机了。

高挑战也是高收益,NLP发展前景还是非常不错的,至于具体选择哪个方向其实还是看大家的喜好了!

  • 这么多项目,有没有哪个是需要重点学习的?最好能写在简历里面呢?
    18年的时候Google一篇论文横空出世,BERT!相当于自然语言处理通用解决框架了,基本所有任务都能做!

这个需要大家重点来学习,并且可以当作项目写在简历里,可以说是当下NLP必备技能之一啦!

项目名称 内容概述
语言模型 语言模型需要大家熟悉下,后续词向量的基础
使用Gemsim构建词向量 Gensim这个包实在好用!
基于word2vec的分类任务 先用这个例子来理解上如何使用词向量
NLP-文本特征方法对比 文本特征构造方法这么多,哪一个更好用呢?
LSTM情感分析 用这个项目来理解RNN模型所需的输入长什么样子
NLP-相似度模型 文本相似度计算方法
对话机器人 基于tensorlfow框架构建一个聊天机器人
动手打造自己的输入法 能不能构建一款自己的输入法呢?帮你搞定!
机器人写唐诗 看看模型写出的唐诗咋样
NMT机器翻译框 开源项目,可以进行二次开发
地址邮编多序列任务 经典文本分类任务
自然语言处理通用框架BERT原理 这个就是上面说的BERT了,重点!重点!重点!
Google开源项目BERT源码解读 源码非常重要,每一行都需要理解
基于BERT的中文情感分析 基于开源项目进行模型开发
基于BERT的中文命名实体识别 基于开源项目进行命名实体识别

唐宇迪-人工智能学习路线(上篇)

点击图片查看唐宇迪讲师亲自授课的微职位

人工智能微职位 唐宇迪授课