Skip to main content

RKE score

Paper: An Information-Theoretic Evaluation of Generative Models in Learning Multi-modal Distributions

Mohammad Jalai 1*, Cheuk Ting Li 2, Farzan Farnia 2

1 Isfahan University of Technology (IUT), 2 The Chinese University of Hong Kong (CUHK)

* Work done during an internship at CUHK

1. Background

Abstract

The evaluation of generative models has received significant attention in the machine learning community. When applied to a multi-modal distribution which is common among image datasets, an intuitive evaluation criterion is the number of modes captured by the generative model. While several scores have been proposed to evaluate the quality and diversity of a model's generated data, the correspondence between existing scores and the number of modes in the distribution is unclear. In this work, we propose an information-theoretic diversity evaluation method for multi-modal underlying distributions. We define the R'enyi Kernel Entropy (RKE) as an evaluation score based on quantum information theory to measure the number of modes in generated samples. To interpret the proposed evaluation method, we show that the RKE score can output the number of modes of a mixture of sub-Gaussian components. We also prove estimation error bounds for estimating the RKE score from limited data, suggesting a fast convergence of the empirical RKE score to the score for the underlying data distribution. Utilizing the RKE score, we conduct an extensive evaluation of state-of-the-art generative models over standard image datasets. The numerical results indicate that while the recent algorithms for training generative models manage to improve the mode-based diversity over the earlier architectures, they remain incapable of capturing the full diversity of real data. Our empirical results provide a ranking of widely-used generative models based on the RKE score of their generated samples.

R'enyi Kernel Entropy Mode Count (RKE) and Relative R'enyi Kernel Entropy (RRKE)

Formulation

Toy example: Gaussian Distributions

Evaluation of Generative Models

2. Usage

Installation

Using PyPi

pip install rke-score

Manually

git clone https://github.com/mjalali/renyi-kernel-entropy-score
cd renyi-kernel-entropy-score
pip install -e .

Example

import numpy as np
from rke_score import RKE


num_real_samples = num_fake_samples = 10000
feature_dim = 1000

real_features = np.random.normal(loc=0.0, scale=1.0,
                                 size=[num_real_samples, feature_dim])

fake_features = np.random.normal(loc=0.0, scale=1.0,
                                 size=[num_fake_samples, feature_dim])

kernel = RKE(kernel_bandwidth=[0.2, 0.3, 0.4])


print(kernel.compute_rke_mc(fake_features))
print(kernel.compute_rrke(real_features, fake_features))

Guide to evaluate your model

You can evaluate your model using different feature extractors (mostly used: inceptionV3)

3. Cite our work

@inproceedings{
    jalali2023rke,
    title={An Information-Theoretic Evaluation of Generative Models in Learning Multi-modal Distributions},
    author={Mohammad Jalali and Cheuk Ting Li and Farzan Farnia},
    booktitle={Thirty-seventh Conference on Neural Information Processing Systems},
    year={2023},
    url={https://openreview.net/forum?id=PdZhf6PiAb}
}

Metadata

Release files for rke-score 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rke-score 0.0.7
File Size Uploaded
rke-score-0.0.7.tar.gz 5.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for rke-score 0.0.7
File Interpreter ABI Platform
rke_score-0.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 10.6 kB

Release files / rke-score-0.0.7.tar.gz

Download URL rke-score-0.0.7.tar.gz
Size 5.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a3a433d24728a3902e53ca11584e1410319f51c47dc08fdcb2b137f53046546f
BLAKE2b-256 checksum
How to use checksums
9a0f840eb1241731c1ee289abfc7d337687d09d0539d1f9f9c97f499ece7ece2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release files / rke_score-0.0.7-py3-none-any.whl

Download URL rke_score-0.0.7-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
17d6d8fa6420c4938b6a4e5e91df73f8736c6518b816feb5207c9cb21b89c249
BLAKE2b-256 checksum
How to use checksums
515a4eb16ca18fc27f416cc56088b4a38c2064a38c6f96fcae1623712f293572
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.9

Release history Release notifications | RSS feed

This release

0.0.7 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page