深度学习基础算法梳理
1、实质用途
深度学习用来处理图像、语音等任务,也可用来处理数值型分类、回归任务。深度学习无需特征选择过程,具有较强的自学习能力,能拟合任意函数。
2、算法列表
2.1 感知器
感知器是由神经元,组成的一个基本的线性深度学习模型。用来解决线性分类问题。
感知器可实现基本的与、或函数、基本的二分类。它可以拟合任何的线性函数,任何线性分类或线性回归问题都可以用感知器来解决。
(1)感知器的定义
感知器为神经网络的组成单元,感知器的结构图片如下
感知器的公式如下:
激活函数的公式如下:
感知器由输入权值、激活函数(阶跃函数)、输出组成。
(2)感知器的训练
权重更新的公式如下:
注意:此处t、y为一批输入的所有训练数据的y值。轮次则代表这个w更新几轮。如果轮次为1的话,此处w只更新一次。图中的学习率为每次更新的参数的跨度。
2.2 线性单元
感知器只能解决线性可分的情况,面对线性不可分的情况无法处理,线性单元就是为了解决线性不可分的情况。
激活函数的公式为
f(x)=xf(x)=x f(x)=x
以上这种简单的激活函数,为线性回归,可以解决回归问题。
因此线性单元的公式为,其中X0为1,代表偏置b。目标函数为
y=wTxy=w^Tx y=wTx
e=12(y−y‾)2e=\frac{1}{2}(y−\overline{y})^2 e=21(y−y)2
2.3 全连接神经网络
在线性单元的基础上,激活函数变换为sigmoid等其他的激活函数,目标函数为均方差。因此参数更新公式如下
反向传播算法
代表从输出层往前一直求解权重的过程。
由于全连接神经网络参数太多,一般无法将参数传递超过3层。因此需要用其他网络来优化算法。
2.4 卷积神经网络
图像和语音识别一般选择卷积神经网络。激活函数一般选择relu为max(0,x)
relu速度快、减轻梯度小时、稀疏性
卷积神经网络由卷积层、池化层、全连接层组成。
卷积层:局部连接、权值共享【某一片节点连接1个输出,公用一个权值】提升计算效率可保留局部特征。(卷积相当于矩阵的内积,是对一片区域的特征提取过程,得到一个featuremap)
池化层:下采样【均值、最大值】
LeNet-5是实现手写数字识别的卷积神经网络,在MNIST测试集上,它取得了0.8%的错误率。
2.5 循环神经网络
某些任务需要能够更好的处理序列的信息,即前面的输入和后面的输入是有关系的。同时输入的长度不是固定的。
网络结构如下,S值取决于当前的x值与上次隐藏层的s值。可以理解为当前来了个单次要看下一个单次是什么,不仅要拿当前单次,还要拿以前存储的信息库的信息。
循环神经网络为向前看,双向循环神经网络【结合向前看和向后看】
深度循环神经网络,代表中间有多个隐藏层
循环神经网络存在梯度爆炸和梯度消失问题,并不能真正的处理好长距离的依赖(虽然有一些技巧可以减轻这些问题)
2.6 长短时记忆神经网络
针对循环神经网络,增加一个来存储长期状态。包含输入门、遗忘门、新值门、输出门,其中原来RNN的状态不变,只是增加了一个C来存储长期状态。可以理解为上一个信息经过多重变换,保留信息的原始性,放在了h中。
3、基础概念
3.1目标函数
(1)0-1 loss函数
(2)交叉熵函数
(3)Hinge loss
(4)均方差损失
Hinge loss被用来解SVM问题中的间距最大化问题。回归任务的损失
(5)L1损失(MAE)
(6)L2损失(MSE)
3.2激活函数
(1)sigmoid
(2)tanh
(3)relu
relu优势计算速度快、不存在梯度饱和的问题
4、常用实例
梯度下降
一般情况我们求解一个函数的极值是通过求导来求解的,但是有很多函数求导很复杂,且计算器不会求导,计算机是通过试出来的,这种尝试的方式就是梯度下降。
所谓的梯度下降也就是对当前函数针对参数求导,导数乘以步长作为梯度的反方向去下降找到最小误差值点。(梯度下降也可理解为,寻找一个最能找到极值点的方向去移动)
https://www.cnblogs.com/pinard/p/5970503.html
详细内容参考以上文献。
随机梯度下降与批梯度下降
批梯度下降,使用全部样本进行更新,更新速度慢。
随机梯度下降每次选取一个样本来优化权重,方向变化大不一定能很快得到局部最优解
最小二乘法
寻找一条线到所有的点距离最短,采用求导的方式计算
超参数设置
神经网络的层数,一般根据经验来确定。层的节点个数根据公式来定,比如根号nl,或者log。学习率、单批次大小、轮次
softmax
给定多维向量,输出对应的概率
相关学习链接
总体参考技术博客
https://cuijiahua.com/
NLP学习视频
https://www.bilibili.com/video/BV17A411e7qL?p=4
图像识别课程
OpenCV视频教程计算机视觉图像识别从基础到深度学习实战
https://www.bilibili.com/video/BV1uW41117GE?p=8
撰写目的
以最通俗的方式,记录深度学习学习进程,以应用为主。
深度学习基础算法梳理相关推荐
- 机器学习,深度学习基础算法原理详解(图的搜索、交叉验证、PAC框架、VC-维(持续更新))
机器学习,深度学习基础算法原理详解(图的搜索.交叉验证.PAC框架.VC-维.支持向量机.核方法(持续更新)) 机器学习,深度学习基础算法原理详解(数据结构部分(持续更新)) 文章目录 1. 图的搜索 ...
- 深度学习基础(基本概念、优化算法、初始化、正则化等)
2020-04-25 16:29:09 引言 深度学习目前已成为发展最快.最令人兴奋的机器学习领域之一,许多卓有建树的论文已经发表,而且已有很多高质量的开源深度学习框架可供使用.然而,论文通常非常简明 ...
- 深度学习优化算法的总结与梳理(从 SGD 到 AdamW 原理和代码解读)
作者丨科技猛兽 转自丨极市平台 本文思想来自下面这篇大佬的文章: Juliuszh:一个框架看懂优化算法之异同 SGD/AdaGrad/Adam https://zhuanlan.zhihu.com/ ...
- 大梳理!深度学习优化算法:从 SGD 到 AdamW 原理和代码解读
作者丨知乎 科技猛兽 极市平台 编辑 https://zhuanlan.zhihu.com/p/391947979 本文思想来自下面这篇大佬的文章: Juliuszh:一个框架看懂优化算法之异同 ...
- 动手学习深度学习(总结梳理)——9. Pytorch神经网络基础
目录 1. 层和块 1.1 自定义块 1.2 顺序块 1.3 一些灵活写法的例子(主要是展示写法自由度) 2. 参数管理 2.1 参数访问 2.1.1 目标函数 2.1.2 一次性访问所有参数 2.1 ...
- Adam 那么棒,为什么还对 SGD 念念不忘?一个框架看懂深度学习优化算法
作者|Juliuszh 链接 | https://zhuanlan.zhihu.com/juliuszh 本文仅作学术分享,若侵权,请联系后台删文处理 机器学习界有一群炼丹师,他们每天的日常是: 拿来 ...
- 有三AI发布360页11万字深度学习CV算法工程师成长指导手册,可下载收藏打印,未完待续...
文/编辑 | 言有三 字少事大,各位同学,今天有三AI平台发布<深度学习视觉算法工程师成长指导手册>,超过11万字,360页word文档,可下载收藏打印,且还有大约1/3内容并未完结,最终 ...
- arcgis10.8深度学习介绍课程梳理
arcgis10.8深度学习介绍 1.课程概况 2.面向用户以及需要具备的基础知识 3.ArcGIS中使用中常见报错汇总 4.模型更新和进展梳理 1.课程概况 听说最近arcgis深度学习很火,那么它 ...
- 深度学习优化算法,Adam优缺点分析
优化算法 首先我们来回顾一下各类优化算法. 深度学习优化算法经历了 SGD -> SGDM -> NAG ->AdaGrad -> AdaDelta -> Adam -& ...
最新文章
- mysql安装图解_MySQL安装图解
- (回溯Uva524)素数环
- How GPUs Work
- mysql有dataguard吗_Oracle查看是否搭建DataGuard
- 【kafka】服务器上Kafka启动 Cannot allocate memory
- h5禁止页面长按操作_HTML5 对于手机页面长按会粘贴复制的禁用 (解决方案)
- ​我拿 12 年 36 套四级真题做了什么 ?
- 铣削力matlab,船用螺旋桨多轴铣削力仿真与优化+CAD图纸+MATLAB程序
- 起底 Telegram 的发家史:Pavel Durov 的游戏才刚刚开始
- The DAO事件始末
- 手机测试设计测试用例——(1)
- 校招php竞争状况,学习猿地-2018 新浪校招 PHP 实习生 电话面试总结
- 两字母.com域名交易频繁,这是要大爆发的节奏
- TCP协议(Transmission Control Protocol)
- 10-200 C2-2修改特定职工的订单运费
- CultureInfo中重要的InvariantCulture
- 气象绘图中出现白条该如何解决
- Java毕业设计-二手书籍交易管理系统
- 计算机信息的安全威胁包含( ),计算机信息系统存在的主要安全威胁不包括()
- android openal播放器,用 Golang 开发 Android 应用(五)—— Audio(openAL)使用-Go语言中文社区...