  Using optical hardware for neuromorphic computing has become more and more
popular recently due to its efficient high-speed data processing capabilities
and low power consumption. However, there are still some remaining obstacles to
realizing the vision of a completely optical neuromorphic computer. One of them
is that, depending on the technology used, optical weighting elements may not
share the same resolution as in the electrical domain. Moreover, noise and
drift are important considerations as well. In this article, we investigate a
new method for improving the performance of optical weighting, even in the
presence of noise and in the case of very low resolution. Even with only 8 to
32 levels of resolution, the method can outperform the naive traditional
low-resolution weighting by several orders of magnitude in terms of bit error
rate and can deliver performance very close to full-resolution weighting
elements, also in noisy environments.
