计算机视觉
MNIST 数字分类
使用卷积神经网络在手写数字的 MNIST 数据库上培训数字识别.
定义接受 28
×28 灰度图像作为输入的卷积神经网络:
CIFAR-10 对象分类
使用标签图像的 CIFAR-10 数据库,培训卷积网络预测每个对象的类. 首先,获取培训数据:
从随机样本中选择图像,其中神经网络会产生最高和最低熵预测. 高熵输入会被诠释为其中的网络对于正确的类大部分是不确定的:
首先,导入数据并只接受标签在 0 与 4 之间的范例:
通过采用图像对创建培训集,如果标签不同,则用
True 关联,标签相同,则用
False:
把网络应用于数字对列表中并在嵌入中计算距离. 带有同样标签的数字具有小距离:
计算它们的嵌入并绘图. 同样标签下的数字在学习嵌入下被聚类:
用一个图像的内容和另一图像的样式创建一个新的图像. 该应用遵循 Gatys et al., "A Neural Algorithm of Artistic Style" 中描述的方法.
创建这些图像的混合,通过获取预培训的图像分类网络开始:
使用了三个损失函数. 第一种损失确保合成图像的内容类似于内容图像:
第二种损失确保合成图像的样式类似于那幅样式图像. 样式类似性被定义为输入和目标间的
γ 矩阵的均方差:
第三种损失确保合成图像中相邻像素的强度幅度变化较小. 这样可以使合成图像看上去更自然:
定义一个函数为任何内容和样式图像创建一个最后培训网络. 该函数也创建一个随机初始图像:
培训数据包括来自于内容和样式图像的特征提取. 定义一个特征提取函数:
创建一个培训网络,它的输入维度对应于内容和样式图像的维度:
当培训时,三种损失的权重是不同的,以设定内容和样式的相对重要性. 这些值可能需要使用不同的内容和样式图像进行更改. 创建一个损失指标,将最终损失定义为三种损失的组合:
玩具文本数据集上的语义分割
训练一个网络,将字词图像中的每个像素分类为背景的一部分或者字母 a 至 z 之一的一部分.
首先,产生培训好测试数据,包括字词图像和对应的标签每个像素的
“掩膜
”整数矩阵:
可视化单个范例的掩膜数组,其中每个颜色表示一个特殊的类:
定义一个卷积网络,接受一幅图像并返回图像中每个像素的概率向量:
推荐 GPU 培训,因为 CPU 培训会花近一个小时. 培训网络:
定义一个函数,光栅化一个字符串,然后应用到培训的网络,给出对应于每个像素最可能类的索引的矩阵: