深度学习(一)深度学习简介以及常用算法
深度学习
深度学习的概念源于人工神经网络的研究,但是并不完全等于传统神经网络。
不过在叫法上,很多深度学习算法中都会包含”神经网络”这个词,比如:卷积神经网络、循环神经网络。
所以,深度学习可以说是在传统神经网络基础上的升级,约等于神经网络。
传统机器学习 VS 深度学习
相同点
在数据准备和预处理方面,两者是很相似的。
他们都可能对数据进行一些操作:
- 数据清洗
- 数据标签
- 归一化
- 去噪
- 降维
不同点:
传统机器学习的特征提取主要依赖人工,针对特定简单任务的时候人工提取特征会简单有效,但是并不能通用。
深度学习的特征提取并不依靠人工,而是机器自动提取的。这也是为什么大家都说深度学习的可解释性很差,因为有时候深度学习虽然能有好的表现,但是我们并不知道他的原理是什么。
深度学习的优缺点
优点1:学习能力强
从结果来看,深度学习的表现非常好,他的学习能力非常强。
优点2:覆盖范围广,适应性好
深度学习的神经网络层数很多,宽度很广,理论上可以映射到任意函数,所以能解决很复杂的问题。
优点3:数据驱动,上限高
深度学习高度依赖数据,数据量越大,他的表现就越好。在图像识别、面部识别、NLP 等部分任务甚至已经超过了人类的表现。同时还可以通过调参进一步提高他的上限。
优点4:可移植性好
由于深度学习的优异表现,有很多框架可以使用,例如 TensorFlow、Pytorch。这些框架可以兼容很多平台。
缺点1:计算量大,便携性差
深度学习需要大量的数据很大量的算力,所以成本很高。并且现在很多应用还不适合在移动设备上使用。目前已经有很多公司和团队在研发针对便携设备的芯片。这个问题未来会得到解决。
缺点2:硬件需求高
深度学习对算力要求很高,普通的 CPU 已经无法满足深度学习的要求。主流的算力都是使用 GPU 和 TPU,所以对于硬件的要求很高,成本也很高。
缺点3:模型设计复杂
深度学习的模型设计非常复杂,需要投入大量的人力物力和时间来开发新的算法和模型。大部分人只能使用现成的模型。
缺点4:没有”人性”,容易存在偏见
由于深度学习依赖数据,并且可解释性不高。在训练数据不平衡的情况下会出现性别歧视、种族歧视等问题。
四种典型算法
- CNN(卷积神经网络)
- RNN(循环神经网络)
- GANs(生成对抗网络)
- RL(强化学习)
卷积神经网络 – CNN
CNN 的价值:
- 能够将大数据量的图片有效的降维成小数据量(并不影响结果)
- 能够保留图片的特征,类似人类的视觉原理
CNN 的基本原理:
- 卷积层 – 主要作用是保留图片的特征
- 池化层 – 主要作用是把数据降维,可以有效的避免过拟合
- 全连接层 – 根据不同任务输出我们想要的结果
CNN 的实际应用:
- 图片分类、检索
- 目标定位检测
- 目标分割
- 人脸识别
- 骨骼识别
循环神经网络 – RNN
RNN 是一种能有效的处理序列数据的算法。比如:文章内容、语音音频、股票价格走势…
之所以他能处理序列数据,是因为在序列中前面的输入也会影响到后面的输出,相当于有了“记忆功能”。但是 RNN 存在严重的短期记忆问题,长期的数据影响很小(哪怕他是重要的信息)。
于是基于 RNN 出现了 LSTM 和 GRU 等变种算法。这些变种算法主要有几个特点:
- 长期信息可以有效的保留
- 挑选重要信息保留,不重要的信息会选择“遗忘”
RNN 几个典型的应用如下:
- 文本生成
- 语音识别
- 机器翻译
- 生成图像描述
- 视频标记
生成对抗网络 – GANs
假设一个城市治安混乱,很快,这个城市里就会出现无数的小偷。在这些小偷中,有的可能是盗窃高手,有的可能毫无技术可言。假如这个城市开始整饬其治安,突然开展一场打击犯罪的“运动”,警察们开始恢复城市中的巡逻,很快,一批“学艺不精”的小偷就被捉住了。之所以捉住的是那些没有技术含量的小偷,是因为警察们的技术也不行了,在捉住一批低端小偷后,城市的治安水平变得怎样倒还不好说,但很明显,城市里小偷们的平均水平已经大大提高了。
警察们开始继续训练自己的破案技术,开始抓住那些越来越狡猾的小偷。随着这些职业惯犯们的落网,警察们也练就了特别的本事,他们能很快能从一群人中发现可疑人员,于是上前盘查,并最终逮捕嫌犯;小偷们的日子也不好过了,因为警察们的水平大大提高,如果还想以前那样表现得鬼鬼祟祟,那么很快就会被警察捉住。为了避免被捕,小偷们努力表现得不那么“可疑”,而魔高一尺、道高一丈,警察也在不断提高自己的水平,争取将小偷和无辜的普通群众区分开。随着警察和小偷之间的这种“交流”与“切磋”,小偷们都变得非常谨慎,他们有着极高的偷窃技巧,表现得跟普通群众一模一样,而警察们都练就了“火眼金睛”,一旦发现可疑人员,就能马上发现并及时控制——最终,我们同时得到了最强的小偷和最强的警察。
深度强化学习 – RL
强化学习算法的思路非常简单,以游戏为例,如果在游戏中采取某种策略可以取得较高的得分,那么就进一步“强化”这种策略,以期继续取得较好的结果。这种策略与日常生活中的各种“绩效奖励”非常类似。我们平时也常常用这样的策略来提高自己的游戏水平。
在 Flappy bird 这个游戏中,我们需要简单的点击操作来控制小鸟,躲过各种水管,飞的越远越好,因为飞的越远就能获得更高的积分奖励。
这就是一个典型的强化学习场景:
- 机器有一个明确的小鸟角色——代理
- 需要控制小鸟飞的更远——目标
- 整个游戏过程中需要躲避各种水管——环境
- 躲避水管的方法是让小鸟用力飞一下——行动
- 飞的越远,就会获得越多的积分——奖励
总结
深度学习属于机器学习的范畴,深度学习可以说是在传统神经网络基础上的升级,约等于神经网络。
深度学习和传统机器学习在数据预处理上都是类似的。核心差别在特征提取环节,深度学习由机器自己完成特征提取,不需要人工提取。
深度学习的优点:
- 学习能力强
- 覆盖范围广,适应性好
- 数据驱动,上限高
- 可移植性好
深度学习的缺点:
- 计算量大,便携性差
- 硬件需求高
- 模型设计复杂
- 没有”人性”,容易存在偏见
深度学习的4种典型算法:
- 卷积神经网络 – CNN
- 循环神经网络 – RNN
- 生成对抗网络 – GANs
- 深度强化学习 – RL
深度学习(一)深度学习简介以及常用算法相关推荐
- Math/ML:序列监督学习-时间序列数据集/时间序列预测任务的简介、常用算法及其工具、案例应用之详细攻略
Math/ML:序列监督学习-时间序列数据集/时间序列预测任务的简介.常用算法及其工具.案例应用之详细攻略 目录 序列学习/序列监督学习-时间序列数据集/时间序列预测任务的简介 1.序列学习/序列监督 ...
- Web学习第一天——HTML简介及常用标签(文本标签)
第一天 HTML简介及常用标签(文本标签) 一. HTML简介 1. 什么是HTML 2. HTML的编写工具 3. HTML的文档结构 4. W3C标准 二.HTML中的常用标签 (一). head ...
- Java学习笔记Day06 工具类及常用算法
第六章 工具类及常用算法 文章目录 第六章 工具类及常用算法 Java语言基础类 Java基础类库 Object类 概述 toString方法 方法摘要 覆盖重写 equals方法 方法摘要 默认地址 ...
- 机器学习简介及常用算法
概念 什么是机器学习? 机器学习是英文名称Machine Learning(简称ML)的直译.机器学习涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门研究计算机怎样模拟或实现人类的学 ...
- 深度强化学习(DRL)简介与常见算法(DQN,DDPG,PPO,TRPO,SAC)分类
简单介绍深度强化学习的基本概念,常见算法.流程及其分类(持续更新中),方便大家更好的理解.应用强化学习算法,更好地解决各自领域面临的前沿问题.欢迎大家留言讨论,共同进步. (PS:如果仅关注算法实现, ...
- OpenCV 3 Tracking API目标跟踪学习笔记——定义、物体跟踪常用算法、demo
今天开始接触目标跟踪 本文翻译自https://www.learnopencv.com/object-tracking-using-opencv-cpp-python/#opencv-tracking ...
- CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念)、早期/中期/近期应用领域(偏具体应用)、经典CNN架构(偏具体算法)概述、常用工具/库/框架/产品、环境安装、常用数据集、编程技巧
CV:计算机视觉技最强学习路线之CV简介(传统视觉技术/相关概念).早期/中期/近期应用领域(偏具体应用).经典CNN架构(偏具体算法)概述.常用工具/库/框架/产品.环境安装.常用数据集.编程技巧 ...
- 机器学习、深度学习、神经网络学习资料集合(开发必备)
最近整理了下AI方面的学习资料,包含了学习社区.入门教程.汲取学习.深度学习.自然语言处理.计算机视觉.数据分析.面试和书籍等方面的知识.在这里分享给大家,欢迎大家点赞收藏. 学习社区 神力AI(MA ...
- DL框架之PyTorch:深度学习框架PyTorch的简介、安装、使用方法之详细攻略
DL框架之PyTorch:PyTorch的简介.安装.使用方法之详细攻略 DL框架之PyTorch:深度学习框架PyTorch的简介.安装.使用方法之详细攻略 目录 PyTorch的简介 1.pyto ...
最新文章
- go语言设计模式 - 建造者模式
- linux进不了容器配置目录,linux – 在Docker容器中使用bcrypt的ELF头文件或安装问题...
- python下载文件到指定文件夹-Python 获取指定文件夹下的目录和文件的实现
- 抖音推荐机制与算法探讨
- RunLoop的学习
- jmeter非GUI的运行命令
- 七日掌握设计配色基础pdf_零基础到底该如何学习室内设计!怎么才能掌握核心知识!...
- 计算机原理内存详解,【讲给小白的计算机原理】什么是内存,内存的作用?
- RGBA 图片格式转换 RGB 无损
- 多点温度检测上位机显示_多点温度检测系统设计(论文)
- 研旭至尊板——F28335知识点总结①
- Android 使用Loader轻松实现仿微信图片加载
- 使用anaconda安装opencv包
- 什么是通信原理?原来这么简单
- SQL笔记——嵌套查询
- 股票查询:每个客户净买入金额排名前3的股票
- 万字总结 JS 数据结构与常用的算法
- 面试中的最常被问到的两种锁
- 零基础的人如何开始学计算机,零基础的人如何学好计算机?
- 多级分销系统(代理商佣金管理模块)设计概要(要求和数据库设计)
热门文章
- 产品经理的MRD市场需求文档(怎么做)
- 《电路分析基础》第7章 正弦稳态电路 读书笔记
- 果酷:80后IT男“鲜果切”年入千万 _ 财经频道 _ 东方财富网(Eastmoney.com)
- 如何从wondows到Linux
- 电阻的作用有哪些?(超全)
- 美国东北大学计算机专业排名,美国研究生院 计算机工程排名:美国东北大学研究生计算机专业排名怎么样...
- Ubuntu挂载iso为apt源
- python txt 和 xml 格式互转
- 深度学习基础入门篇[五]:交叉熵损失函数、MSE、CTC损失适用于字识别语音等序列问题、Balanced L1 Loss适用于目标检测
- 您无法关机或重启此计算机,win7电脑无法关机一直重启的解决教程