  Spike-timing-dependent-plasticity (STDP) is an unsupervised learning
algorithm for spiking neural network (SNN), which promises to achieve deeper
understanding of human brain and more powerful artificial intelligence. While
conventional computing system fails to simulate SNN efficiently,
process-in-memory (PIM) based on devices such as ReRAM can be used in designing
fast and efficient STDP based SNN accelerators, as it operates in high
resemblance with biological neural network. However, the real-life
implementation of such design still suffers from impact of input noise and
device variation. In this work, we present a novel stochastic STDP algorithm
that uses spiking frequency information to dynamically adjust synaptic
behavior. The algorithm is tested in pattern recognition task with noisy input
and shows accuracy improvement over deterministic STDP. In addition, we show
that the new algorithm can be used for designing a robust ReRAM based SNN
accelerator that has strong resilience to device variation.
