Min_event_ndims
bijectors:双射函数
我们可以认为bijectors有一个固有的min_event_ndims,这个参数(数字)是这个bijectors操作的数据的最小维度。
例如,Cholesky 分解对象是矩阵,所以min_event_ndims=2
常见的bijectors
AffineScalar: min_event_ndims=0
Affine: min_event_ndims=1
Cholesky: min_event_ndims=2
Exp: min_event_ndims=0
Sigmoid:min_event_ndims=0
SoftmaxCentered: min_event_ndims=1
注意到Affine和AffineScalar的ndims不同,因为AffineScalar的操作对象是标量,而Affine对向量操作。
更一般地,Min_event_ndims应该是 forward_min_event_ndims 和 inverse_min_event_ndims,绝大多数情况下他们都是一致的。但一些修改shape的bijectors两者会不一样,例如某bijector在最后添加一个额外的维度,这会使forward_min_event_ndims=0
的情况会有inverse_min_event_ndims=1
雅可比矩阵行列式
雅可比行列式是event_ndims - min_event_ndims
的归约 (forward_min_event_ndims对应 forward_log_det_jacobian 和 inverse_min_event_ndims 对应 inverse_log_det_jacobian)
网友评论