实际上这是非常常用的做法,比如我们要采用用户的历史行为数据作为特征,这类特征中有大量计数性的,并且时间不稳定。如果我们仅仅采用某个时间窗口内的数据,那数据噪声就会显得特别大,在最终模型中的数据贡献因此被削弱。
简单方法:
- 使用数据直方图作为特征。直方图也就是将数据分布范围划分为有限的区间,然后对区间内的数据进行计数。这样,每个区间可以单独作为一个新的特征,每个区间内的计数就是这个新特征的值。这种做法会导致特征数量大量增加,也会导致模型的训练变得不稳定,更难以收敛。
- 简化直方图特征。比如特征的均值、方差、最小值、最大值、中值等,或者人工划分更少的区间进行离散化。比如某个计数类特征,通常这类特征是非常长尾的[1],那么可以使用对数变换进行处理:
-- sql cast(log(1+ coalesce(x,0))*10 as bigint) as x
这种方法不会增加特征的数量,模型训练因此会相对更容易。但离散化的办法需要对数据分布具有深刻的理解,不然对模型结果的贡献可能是负面的。
复杂方法
在机器学习里面,有很多成熟方法可以快速提取数据的分布或者分布差异。比如KL散度(Kullback-Leibler Divergence)[2][3] . 假如我们有一个目标分布,使用KL散度计算样本数据分布跟目标分布之间的差异[3]可以作为一个新的特征。
既然KL散度可以这样处理,那么自然地,其他关于分布的度量,包括Wasserstein Distance等也可以这样处理[4][5].
实际上,缩小生成数据和训练样本数据直接的分布差异是我们在GAN中最根本的一个目标[6]:
, 因此在GAN中我们经常需要计算分布和分布差异。而分布,经过一定的处理,可以变成人可以理解的具有语义意义的“特征”[7]。隐空间去纠缠(Disentangling Latent Space)[8][9][10]便是一种这样的方法。
通过隐空间去纠缠(正交化等),我们可以让隐空间向量的每个维度具有特定的意义。这样,我们让数据过一遍模型,得到隐空间向量,就可以作为一种关于数据分布的特征。这类方法计算量大,但仅仅在训练中或者数据预处理时候需要进行计算,在做模型推理时候不需要,因此并不会增加模型推理开销。实际上,这类方法目前已经在人脸换脸的应用中广泛使用了。
参考
- ^ Zhu, X., Anguelov, D., & Ramanan, D. (2014). Capturing long-tail distributions of object subcategories. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (pp. 915-922).
- ^ Kullback, S., & Leibler, R. A. (1951). On information and sufficiency. e Annals of Mathematical Statistics, 22 (1): 79–86.
- ^ a b Hershey, J. R., & Olsen, P. A. (2007, April). Approximating the Kullback Leibler divergence between Gaussian mixture models. In 2007 IEEE International Conference on Acoustics, Speech and Signal Processing-ICASSP'07 (Vol. 4, pp. IV-317). IEEE.
- ^ Peyré, G., & Cuturi, M. (2019). Computational optimal transport: With applications to data science. Foundations and Trends® in Machine Learning, 11(5-6), 355-607.
- ^ Arjovsky, M., Chintala, S., & Bottou, L. (2017, July). Wasserstein generative adversarial networks. In International conference on machine learning (pp. 214-223). PMLR.
- ^ Goodfellow, I., Pouget-Abadie, J., Mirza, M., Xu, B., Warde-Farley, D., Ozair, S., ... & Bengio, Y. (2014). Generative adversarial nets. Advances in neural information processing systems, 27.
- ^ Huang, E., & Gupta, S. (2020). Style is a Distribution of Features. arXiv preprint arXiv:2007.13010.
- ^ Shen, Y., Gu, J., Tang, X., & Zhou, B. (2020). Interpreting the latent space of gans for semantic face editing. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 9243-9252).
- ^ Zheng, Z., & Sun, L. (2019). Disentangling latent space for vae by label relevant/irrelevant dimensions. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 12192-12201).
- ^ Liu, K., Cao, G., Zhou, F., Liu, B., Duan, J., & Qiu, G. (2020). Disentangling Latent Space for Unsupervised Semantic Face Editing. arXiv preprint arXiv:2011.02638.