  Traditional artificial intelligence implemented in software is usually
executed on accurate digital computers. Nevertheless, the nanoscale devices for
the implementation of neuromorphic computing may not be ideally identical, and
the performance is reduced by nonuniform devices. In biological brains,
information is usually encoded by a cluster of neurons such that the
variability of nerve cells does not influence the accuracy of human cognition
and movement. Here, we introduce the population encoding strategy in
neuromorphic computing and demonstrate that this strategy can overcome the
problems caused by nonuniform devices. Using magnetic memristor device based on
current-induced domain-wall motion as an example, we show that imperfect
storage devices can be applied in a hardware network to perform principal
component analysis (PCA), and the accuracy of unsupervised classification is
comparable to that of conventional PCA using ideally accurate synaptic weights.
Our results pave the way for hardware implementation of neuromorphic computing
and lower the criteria for the uniformity of nanoscale devices.
