摘要: U-Net 集编码-解码于一体, 是一种常见的网络架构.
如图 1 所示, U-Net 就是 U 形状的网络, 前半部分 (左边) 进行编码, 后半部分 (右边) 进行解码.
- 编码部分, 将一个图像经过特征提取, 变成一个向量. 前面说过: 深度学习本质上只做件事情, 就是特征提取.
- 解码部分, 将压缩表示解压, 又变成矩阵.
- 从思想上, 压缩与解压, 这与矩阵分解有几分类似, 都是把数据进行某种形式的压缩表示. 把图片压缩成向量 (而不是两个子矩阵), 想想都可怕.
需要注意, 原始图片可以是多个通道 (如 RGB 3 色对应于 3 通道), 中间层与输出层也可以是多通道.
U-Net 可以用于很多的任务:
- 自编码器. 直接将输入数据作为标签, 看编码导致的损失 (更像矩阵分解了).
- 从一种风格转换为另一种风格. 如将自然照片转换成卡通风格, 将地震数据转换成速度模型 (2010年如果你这么做会被业内人士笑话的).
- 图像分割, 或提取图片的边缘. 嗯, 这个和转成卡通风格也差不多.
- 机器翻译. 把句子编码成机器内部的表示 (一种新的世界语言?), 然后转成其它语言的句子.
- 输入一个头, 输出多个头, 就可以做多任务. 如在速度模型反演的同时, 进行边缘提取, 这样导致反演的结果更丝滑.