一 、目标检测算法
1. R-CNN
a . 算法步骤
- 使用启发式搜索算法来选择锚框(选出多个锚框大小可能不一,需要使用Rol pooling)
- 使用预训练好的模型(去掉分类层)对每个锚框进行特征抽取(如VGG,AlexNet…)
- 训练一个SVM来对每个类进行分类
- 训练一个线性回归模型来预测边缘框偏移
b . Rol Pooling
每个锚框的大小是不一样的大的,所以需要对锚框进行处理
2 . Fast R-CNN
R-CNN对于每个锚框都有重复的部分,所以计算的时候会有重复计算,没有共享计算.而 Fast R-CNN的改进就是不是对锚框进行特征抽取,而是直接对整个图片进行特征抽取,对对应的锚框位置直接映射到了抽取完成的图片的位置,然后再进行向前传播
3 . Faster R-CNN
4 . Mask R-CNN
5 . 总结
二 、 SSD (单发多框检测)
总结:
- SSD通过单神经网络来检测模型
- 以每个像素为中心的产生多个锚框
- 在多个段的输出上进行多尺度的检测(下面的检测小物体,上面的段检测大的物体)
三、 YOLO(你只看一次)
四 、 转置卷积
大多的时候取得的都是图像的上采样,也不是卷积的一个逆运算,最后也是一个卷积运算
上采样:将我们的输入变大
下采样:将输入变小,输入的像素变小
1 . 填充、步幅,多通道
- 填充:作用在了输出上,填充了多少则会去掉输出的几个高和宽
- 步幅:作用在了输出,将会增大我们的输出
- 如果超参数和卷积时候的参数一样的话,能将第一次卷积的结果形状变为卷积之前的形状,但是内容全变了
2 . 计算步骤
五 、 全连接卷积神经网络(FCN)
1 . 思想
六、 循环神经网络
1 . 序列模型
1)简介
实际的数据是有时序结构的,例如电影的评价随时间变化而变化
序列的数据还有更多的体现地方:
- 音乐,语言,文本,和视频都是连续的,如果文字或者视频有时候换一下顺序会比较impressive
- 大地震以后,可能会有几次比较小的余震
- 人的互动是连续的,例如网上的吵架
- 预测明天的股价要比填补昨天遗失股价更难
2) 统计的工具
处理序列数据需要统计工具和新的深度神经网络架构。
**核心变为算f(x…) **
3) 马尔科夫假设
假设当前的数据点只和过去的 t 个数据点相关
4 ) 潜变量模型
引入潜变量来表示过去的信息 h = f(x,…) ,创建两个模型,一个是计算前一个潜变量和前一个输入计算当前潜变量,另一个模型是计算当前的潜变量和前一个输入来计算当前输出的模型
2 . 文本预处理
- 读取数据集
- 词元化
- 词表
3 . 语言模型
1)语言模型的目标
2 ) 建模
<
3 ) N元语法
4 ) 总结
4 . RNN模型
notion
- **隐藏层:**输入到输出的路径上(以观测角度来理解)的隐藏的层
- **隐变量:**变量捕获并保留了序列直到其当前时间步的历史信息, 就如当前时间步下神经网络的状态或记忆, 因此这样的隐藏变量被称为隐状态(hidden state)
- 循环模型:在当前时间步中, 隐状态使用的定义与前一个时间步中使用的定义相同, 因此计算是循环的(recurrent)。 于是基于循环计算的隐状态神经网络被命名为 循环神经网络
1)循环神经网络
2 ) 困惑度perplexity
3 )梯度剪裁
5 ) 应用
七 、 现代循环神经网络
1.GRU(门控循环单元)
不是每个观察到的值都是同样重要的,想只记住相关的观察:
- 能关注的机制(更新门)
- 能遗忘的机制(重置门)
1)总体结构
当Z全为0时,且R全为1时,GRU退化为RNN
2. LSTM
1)独特门
I F O C 四个门
2)记忆单元
a . 候选记忆单元
b .记忆单元
3 ) 隐状态
因为Ct的取值范围可以时-2,所以会比较大 需要加一个激活函数
4)总结
3 .深度RNN
在原先的RNN的基础上多加了隐藏层,能够得到更多的信息
a )网络结构
4 .双向RNN
a )网络结构
双向RNN经常用在Encoder
5 .编码-解码器架构
a)架构
输入和输出都是变长的情况下,我们需要使用编码器使我们输入从变长变为固定形状的编码状态,解码器将固定形状的编码状态映射到长度可变的序列
6 . Seq2Seq
a)架构
前面的一个RNN经过抽取句子的特征以后,将最后一层的隐藏层参数给到Decoder里面,然后Decoder也直接从参数刚开始到最后翻译结束就完成,任意长度的原句子到任意长度的句子
b)隐藏状态如何传
将Encoder的RNN最后一层最后一个时刻的隐藏状态和Embedding放在一起然后作为Decoder的输入
c)BLEU(双语评价替补)
7 . Beam Search(束搜索)
在Seq2Seq中我们使用了贪心搜索来预测序列
a)原理