地形变分自动编码器:原理、实验与扩展
1. 数据集处理
在处理数据集时,选取了包含所有3种形状、最大的5种尺度,以及前30个方向、x位置和y位置中每隔一个的示例子集。最终得到的数据集共有50,625张图像(3种形状、5种尺度、15个方向、15个x位置、15个y位置),相比原始的737,280张图像有所减少。
构建序列时,遵循与MNIST相同的过程:
1. 随机选择一个示例和一种变换。
2. 构建一个包含15张图像的序列,其中仅依次应用所选的变换。
可用于序列的变换定义为尺度、方向、x位置和y位置,由于dSprites数据集中不存在平滑的形状变换,因此省略形状变换。所有变换都定义为循环的,即到达第15个元素后,接着是第1个元素。对于尺度变换,每个序列简单地对所有5种尺度循环3次。尽管这些序列与潜在先验并不完全匹配,但模型仍然训练得相对较好,这意味着模型具有一定的鲁棒性。
2. 胶囊相关指标(CapCorr)
为了更精确地定义CapCorr,做如下操作:
1. 用$y_l$表示序列在时间步$l$的真实变换参数(例如,对于旋转序列,$y_l$是时间步$l$的旋转角度),用$\mathbf{t} l$表示时间步$l$的相应激活。
2. 为了获得一个任意的起始点,令$l = \Omega$表示$y_l$处于其规范位置(例如,旋转角度为0,x位置为0,或尺度为1)的时间步。由于每个序列的第一个时间步($l = 0$)是一个随机变换的示例,所以$\Omega$不一定为0。
3. 通过计算$\mathbf{t} {\Omega}$和$\mathbf{t} {0}$的离散(周期性)互相关的最大
超级会员免费看
订阅专栏 解锁全文
1254

被折叠的 条评论
为什么被折叠?



