---
kind: concept
slug: evidential-deep-learning
title: Evidential deep learning
summary: >-
  A network outputs non-negative evidence per class, which becomes a Dirichlet with a built-in uncertainty value, so one forward pass yields a prediction and an uncertainty. Per-input opinions are fused with a reduced Dempster-Shafer rule so unsure inputs count less. Main trade-off: one paper so far, all results author-reported, and the released code differs from the paper in places.
tags: [uncertainty, multi-view-learning, dempster-shafer, evidential-learning]
papers: ["2204.11423"]
related: [uncertainty-estimation, multimodal-fusion, ensembles, calibration, monte-carlo-dropout]
status: draft
updated_at: 2026-10-19
---

## Overview

A standard classifier with a softmax output tends to be overconfident, and a
model with several inputs usually weights each input the same way or with a
fixed weight [arxiv:2204.11423 §1]. Evidential deep learning asks each network
to report how much evidence it has for each class, instead of a probability
alone. The evidence sets the parameters of a Dirichlet distribution over class
probabilities [arxiv:2204.11423 §3.1]. From those parameters, the model derives
a belief mass for each class and one uncertainty mass, and the masses always
sum to one [arxiv:2204.11423 §3.2].

The invariant that all variants share is this opinion structure: class beliefs
plus one uncertainty mass, with total strength equal to the sum of the
Dirichlet parameters. When an input has little evidence, its uncertainty mass
is large, and its beliefs stay low. [arxiv:2204.11423 §3.2]

The paper extends this idea to several inputs ("views") of one sample. Each
view gets its own opinion. The opinions are fused with a reduced form of the
Dempster rule from evidence theory, so a view that is uncertain has less effect
on the joint decision, and the joint decision has its own uncertainty value
[arxiv:2204.11423 §3.3].

## Variants

### Trusted multi-view classification (TMC): fuse per-view opinions

Each view has a network whose output is turned into evidence, and then into a
per-view opinion [arxiv:2204.11423 §3.1] [arxiv:2204.11423 §3.2]. The views are
fused pairwise into one joint opinion [arxiv:2204.11423 §3.3]. Training sums a
loss term for each view and one for the fused opinion, and each term combines
a fit part with a KL term that pulls the evidence toward zero for wrong classes
[arxiv:2204.11423 §3.1] [arxiv:2204.11423 §3.6]. Card: [Trusted Multi-View Classification with Dynamic Evidential Fusion](/papers/2204.11423).

On six vector datasets, TMC has the highest accuracy on Caltech101 (92.93) and
is close to the best on Handwritten and CUB [arxiv:2204.11423 tab. 1]. Against
the best single-view baseline on PIE and Scene15, the margin is larger:
91.99 against 84.36 on PIE, and 67.74 against 52.96 on Scene15 (the table's
best single-view baseline on Scene15 is MCDO, not EDL) [arxiv:2204.11423 tab. 1].

### ETMC: TMC plus a pseudo-view

The extended model adds a pseudo-view, built from the concatenated features of
the original views. It gets its own Dirichlet and enters the fusion in the same
way [arxiv:2204.11423 §3.5]. The paper presents this as a way to model
interaction between views at the representation level [arxiv:2204.11423 §3.5].

ETMC has the top accuracy on five of the six vector datasets in the paper's
table, with the largest gaps on PIE (93.75 against TMC's 91.99), Scene15 (71.61 against
67.74) and HMDB (69.43 against 65.26). On Caltech101, TMC is slightly higher
[arxiv:2204.11423 tab. 1]. The extra parameters are about 0.02 million over
TMC [arxiv:2204.11423 tab. 5]. On SUN RGB-D fusion, ETMC scores 61.3 against
TMC's 60.7 [arxiv:2204.11423 tab. 3]. Whether the pseudo-view itself is the cause
is not isolated by an ablation in the results cited here.

### Single-view evidential baseline

The paper trains a single-view evidential model as a baseline, labelled EDL
[arxiv:2204.11423 §4.1]. Its accuracy is below both fused models on every vector
dataset in the table, and its PIE and Scene15 scores are 84.36 and 46.41
[arxiv:2204.11423 tab. 1]. The paper does not describe the baseline's
construction in enough detail to reproduce it from this card alone; treat it as
the authors' own implementation.

## When to use which

| Situation | Use | Why |
|---|---|---|
| Several inputs describe one sample, and some may be noisy or corrupted | TMC | Per-input uncertainty lets an unreliable input count less in the fused decision [arxiv:2204.11423 §1] [arxiv:2204.11423 tab. 1] |
| Same as above, and you want the extra accuracy the pseudo-view gives | ETMC | Largest margins over TMC on PIE, Scene15 and HMDB [arxiv:2204.11423 tab. 1]; about 0.02 million extra parameters [arxiv:2204.11423 tab. 5] |
| Little gain is needed on easy multi-view data | Either; check on your data first | The paper's gains on Handwritten, CUB and Caltech101 are under one point over the best baseline [arxiv:2204.11423 tab. 1] |
| Tight compute budget | TMC or ETMC over a late-fusion network | The fused models cost about the same as late fusion (3.64 GFLOPs, 22.37 million parameters), while the TRecg baseline needs 13.84 GFLOPs [arxiv:2204.11423 tab. 5] |
| Reject samples whose uncertainty is high | Threshold on the fused uncertainty | On SUN RGB-D, the paper's rule of dropping samples whose uncertainty exceeds the largest belief reduces the misclassification rate from 0.387 to 0.187 [arxiv:2204.11423 §4.2]. This is the paper's own rule, not a standard calibration metric |
| Out-of-distribution inputs, simulated with Gaussian noise on test samples | Fused uncertainty | Noisy test samples get higher uncertainty, and the effect grows with the noise level [arxiv:2204.11423 §4.1] |
| Calibrated probabilities are required | Check first | The cited results report accuracy, AUROC and uncertainty behaviour, not a calibration error. Compare against [calibration](/concepts/calibration) and [ensembles](/concepts/ensembles) before relying on the numbers |
| Only one input per sample | Consider [Monte Carlo dropout](/concepts/monte-carlo-dropout) or an [ensemble](/concepts/ensembles) | The fusion step that gives this method its advantage needs several inputs [arxiv:2204.11423 §3.3]. The single-view baseline is the authors' own run, not a validated replacement for a sampling method [arxiv:2204.11423 tab. 1] |

All accuracy and uncertainty numbers above are author-reported.

## Implementation sketch

The sketch follows the paper's equations for one training step [arxiv:2204.11423 §3.6]
with a fused opinion, written in Python style. Shapes are `(B, K)` for a batch of
size `B` with `K` classes. Each step is annotated with its source.

```pseudocode
# Per-view evidence to Dirichlet parameters  [arxiv:2204.11423 §3.1]
def view_alpha(logits):
    evidence = softplus(logits)          # non-negative, (B, K)
    return evidence + 1                  # Dirichlet parameters, (B, K)

# Opinion from Dirichlet parameters  [arxiv:2204.11423 §3.2]
def to_opinion(alpha):
    strength = alpha.sum(-1, keepdim=True)   # S, (B, 1)
    belief = (alpha - 1) / strength          # (alpha_k - 1) / S
    uncertainty = K / strength               # K / S, (B, 1)
    return belief, uncertainty

# Reduced Dempster rule for two opinions  [arxiv:2204.11423 §3.3]
def combine(a, b):
    (ba, ua), (bb, ub) = a, b
    # Conflict: belief the two views put on different classes  [eq. 13]
    conflict = ba.sum(-1) * bb.sum(-1) - (ba * bb).sum(-1)
    # C = 1 divides by zero; the paper does not discuss this case
    scale = 1 - conflict
    belief = (ba * bb + ba * ub + bb * ua) / scale
    uncertainty = ua * ub / scale
    return belief, uncertainty

# Joint Dirichlet parameters from the fused opinion  [arxiv:2204.11423 §3.3]
def fused_alpha(belief, uncertainty):
    strength = K / uncertainty
    return belief * strength + 1
```

```pseudocode
# Loss for one opinion: fit term plus weighted KL to uniform  [§3.1]
def loss_term(onehot, alpha, lam):
    strength = alpha.sum(-1, keepdim=True)
    fit = (onehot * (digamma(strength) - digamma(alpha))).sum(-1)
    # Reset the true-class parameter to 1 before the KL  [eq. 7]
    alpha_t = onehot + (1 - onehot) * alpha
    # Closed-form KL to Dir(1, ..., 1)  [eq. 8]
    return fit + lam * kl_to_uniform(alpha_t)

# One training step: per-view and fused terms  [arxiv:2204.11423 §3.6]
def training_step(views, onehot, lam):
    alphas = [view_alpha(head(v)) for head, v in zip(heads, views)]
    fused = to_opinion(alphas[0])
    for alpha in alphas[1:]:
        fused = combine(fused, to_opinion(alpha))
    terms = [loss_term(onehot, a, lam) for a in alphas + [fused_alpha(*fused)]]
    return sum(terms).mean()   # the released code averages over the batch
```

Implementation notes:

- **KL weight.** The paper says the weight increases gradually but gives no
  schedule [arxiv:2204.11423 §3.1]. The released code uses a linear ramp over a
  fixed number of epochs ([paper card](/papers/2204.11423), Paper vs code).
  Early training depends on this choice.
- **Division by `1 - C`.** The fusion divides by `1 - C` with no guard, so full
  conflict breaks the step. A small epsilon or a clamp is needed in practice.
- **Model selection.** The released RGB-D scripts select checkpoints and the
  learning-rate schedule on the test loader, so those numbers may be
  optimistic. Use a separate validation split when comparing with other work
  ([paper card](/papers/2204.11423), Pitfalls).
- **Scale of the loss.** The paper writes sums over samples [arxiv:2204.11423 §3.6].
  Averaging changes the balance against weight decay.
- **Vector demo.** The paper describes a pseudo-view for vector data, but the
  released vector demo has none ([paper card](/papers/2204.11423), Paper vs code).

## Contradictions

- **Table 1 against table 2, same TMC runs.** CUB accuracy is 91.00±0.42 in
  [arxiv:2204.11423 tab. 1] and 90.83±3.23 in [arxiv:2204.11423 tab. 2]. PIE
  accuracy is 91.99±1.01 in tab. 1 and 91.91±0.11 in tab. 2. The standard
  deviations also differ for HMDB and Handwritten. Use tab. 1 with caution.
- **Percentage points.** The text describes accuracy gains on PIE and Scene15
  as percentages [arxiv:2204.11423 §4.1]. The values in the table imply
  percentage points.
- **Paper and released code.** The paper gives weight decay of 1e-4
  [arxiv:2204.11423 §4.1]. The released scripts use 1e-5 ([paper card](/papers/2204.11423), Paper vs code).

## Papers

- [Trusted Multi-View Classification with Dynamic Evidential Fusion](/papers/2204.11423): introduces per-view Dirichlet opinions, a reduced Dempster fusion rule and the TMC and ETMC models.
