  One of the big challenges of current electronics is the design and
implementation of hardware neural networks that perform fast and
energy-efficient machine learning. Spintronics is a promising catalyst for this
field with the capabilities of nanosecond operation and compatibility with
existing microelectronics. Considering large-scale, viable neuromorphic systems
however, variability of device properties is a serious concern. In this paper,
we show an autonomously operating circuit that performs hardware-aware machine
learning utilizing probabilistic neurons built with stochastic magnetic tunnel
junctions. We show that $in \ situ$ learning of weights and biases in a
Boltzmann machine can counter device-to-device variations and learn the
probability distribution of meaningful operations such as a full adder. This
scalable autonomously operating learning circuit using spintronics-based
neurons could be especially of interest for standalone artificial-intelligence
devices capable of fast and efficient learning at the edge.
