Skip to main content

Compute Renyi Kernel Entropy scores (RKE-MC and RRKE) for two sets of vectors.

Project description

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 PIP

pip install rke

Manually

git clone https://github.com/mjalali/renyi-kernel-entropy-score
python setup.py install

Example

import numpy as np
from rke 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)
print(kernel.compute_rrke)

Guide to evaluate your model

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

3. Cite our work

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rke_score-0.0.5.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

rke_score-0.0.5-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file rke_score-0.0.5.tar.gz.

File metadata

  • Download URL: rke_score-0.0.5.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for rke_score-0.0.5.tar.gz
Algorithm Hash digest
SHA256 09cdb98acca507d5c15711de5f6245336d5fed65b358490da7019b477964e2d1
MD5 4dc73f79a34483446f8a2957047a7dd9
BLAKE2b-256 dcc9c231cd62b5bfa1bc32aeb1d6acfebd4a438af177e9e24d0dc1ee90d1d0e4

See more details on using hashes here.

File details

Details for the file rke_score-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: rke_score-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.9

File hashes

Hashes for rke_score-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 976c0d4adc4d5a7114bc92873cce189ef8f24363a971f05750fa3220738b2c8c
MD5 5fa89a8acc3b284b6aa0ed4689e74456
BLAKE2b-256 c726767ec67ce37c15ea06a9283424e50426ce2b57815ed15bfd5f861ba394f8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page