Several inverse and optimization problems involve the use of simulation models, data or experiments. Examples of such problems include simulation-based optimization, simulation-based (parameter) inference, identifying quasi-optimal regions in computer-aided design, optimal experimental design, etc. The simulation models represent complex real-world phenomena and therefore are often computationally expensive to evaluate. Consequently, it is desirable to minimise the number of simulations involved in solving the inverse and optimization problems. We explore neural networks as surrogate models that learn the inverse mapping between simulator response as neural network input, and simulator parameters as neural network outputs. We consider different neural architectures including diffusion models, autoencoders, Bayesian neural networks, etc. for different workflows, and also work on associated training algorithms (large-scale optimization).