cs.LGOct 27, 2026

Property-Based Testing for Robust Softmax and Cross-Entropy

Authors: Muhammad Maaz

Abstract

A recent paper of Barron et. al. (2026) identified two numerical issues with the softmax and cross-entropy functions in virtually all standard machine learning libraries (e.g., PyTorch and JAX). We show that these issues can be recovered through simple property-based tests in Hypothesis. However, our tests identify an additional edge case where their implementation fails. We then propose an even more robust softmax implementation which passes these tests and also supports use in causal attention masking. We compare our implementation with theirs and discuss some of the differences. Overall, this work shows that property-based testing can be a powerful tool for discovering and fixing numerical issues in machine learning libraries. Our implementations and property-based tests can be found at https://github.com/mmaaz-git/softmax-fix.

Figures & tables

Explore similar work

CardsList
  1. A Fix for Softmax and Cross-Entropy

    Oct 22, 2026Jonathan T. Barron, Dan Gnanapragasam, Michael TschannenNeural Network Activation Functions

  2. SoftJAX & SoftTorch: Empowering Automatic Differentiation Libraries with Informative Gradients

    Mar 9, 2026Anselm Paulus, A. René Geist, Vít Musil +3Straight-Through EstimatorDifferentiable Programming