A survey of approaches for implementing optical neural networks. (April 2021)