从单个示例中生成图像,使用卷积和 MCMC
ConvChain 是一个 Markov 链,其会收敛到与输入相似的图像。也就是说,输出中的 NxN 图案分布会随着过程的进行而收敛到输入中的 NxN 图案分布。在示例中,典型的 N 值为 3。如何构建这样的过程?我们希望给定图案的最终概率与图案的权重成比例,其中图案的权重是输入中此类图案的数量。为此,只需满足一个更强的条件即可:给定状态(图像)S的概率应与S中所有图案的图案权重乘积成比例。
幸运的是,有 一般方法 来构建一个马尔可夫链,使其固定分布与所需的状态概率分布相一致。
附加定义: 1. 为了便于解释算法,我们引入一个能量函数 E, E(S) := - sum over all patterns P in S of log(weight(P)), 这样状态的概率分布就变成 p(S) ~ exp(-E(S)). 请注意,这个能量函数是 Ising 模型 的能量的一种推广。在 Ising 模型中,模式是 1x2 的,而不是 NxN 的。 2. 为了扩展可能的应用,我们引入一个 温度 参数 T, 这样状态的概率分布就变成 p(S) ~ exp(-E(S)/T)。低温使得分布更集中在能量井中,高温使得分布更均匀。如果使用 ConvChain 生成地牢,低温对应于精确的新建地牢,而高温对应于废墟。 3. 为了加快收敛速度,我们引入所有模式的权重都为非零。因此,我们重新定义模式 P 的 weight(P) 为输入中模式 P 的数量,如果该数量大于零,否则为一个小数 eps, 0 < eps < 1。
暂无开放 Issues,或尚未同步最近议题。