目录
1.语义分割和FCN
语义分割:找到同一画面中的不同类型目标区域。
首个端对端的针对像素级预测的全卷积网络。
1.1 语义分割基本思想
目标:对图中每一个像素进行分类,得到对应标签。
基本思想:滑动窗口。但是这种方法计算很慢,而且对于太小的窗口来说,很难分别不同的物体。
1.2 FCN网络结构
网络结构分为两个部分:全卷积部分和反卷积部分。全卷积部分借用了一些经典的 CNN 网络,并把最后的全连接层换成卷积,用于提取特征,形成热点图;反卷积部分则是将小尺寸的热点图上采样得到原尺寸的语义分割图像。
最终卷积层得到的结果是一系列分辨率很低的特征图,要得到想要的效果,得到原始图片的大小,一个很简单的思想就是把图像放大。
1.3 反池化
跟平均池化和最大值池化对应,还有对应位置的反池化。
1.4 FCN具体实现
传统卷积神经网络,注意最后的全连接层
FCN中第 6 、7 、8 层都是通过 1×1卷积得到的第 6 层的输出是 4096×7×7第 7 层的输出是 4096×7×7 第 8 层的输出是 1000×7×7 即 1000 个大小是7×7的特征图(称为 heatmap)。
注意到反卷积实际上是对于卷积得到的结果,先通过反池化放大,再通过一个卷积核,希望得到与原始图像大小相等的图像
最终的训练结果:
1.5 评价指标和标注工具
举例说明:
第0类(标签为0)
第1类(标签为1)
第2类(标签为2)
第3类(标签为3)
第4类(标签为4)
计算准确率
2.循环神经网络与NLP
2.1 文本预处理和词嵌入
- 文本预处理:
这些步骤通常包括:
1.将文本作为字符串加载到内存中。
2.将字符串切分为词元(如单词和字符)。
3.建立一个字典,将拆分的词元映射到数字索引。
4.将文本转换为数字索引序列,方便模型操作。
- 词嵌入:
使用独热编码把单词映射成向量,但是会导致维数过高。
词嵌入(word embedding)就是通过一个矩阵,把高维映射到低维。
这样的映射矩阵通过训练数据学习得到。但是这样的训练效果不好不差
2.2 RNN模型
一个句子中,前一个单词其实对于当前单词的词性预测是有很大影响的,比如预测苹果的时候,由于前面的吃是一个动词,那么很明显苹果作为名词的概率远远大于动词的概率,因为动词后面接名词很常见,动词后接动词很少见。
RNN模型结构如下:
上面的这个图可能比较抽象,给出一个更加具体的图:
进一步展开:
现在看上去比较清楚了,这个网络在t时刻收到输入xt之后,隐藏层的值是st,输出值是ot。关键的一点是st的值不仅仅取决于xt,还取决于st-1,用公式表示如下循环就是: