Artificial neural networks have been used on a variety of tasks , including computer vision , speech recognition , machine translation , social network filtering , playing board and video games and medical diagnosis .