Graduação (2001), mestrado (2003) e doutorado (2009) em Ciência da Computação pela Universidade Federal de Minas Gerais – UFMG). Pós-doutorado pela Universidade Cornell (2013), nos Estados Unidos.

Professor adjunto da UFMG. Suas pesquisas incluem assuntos como Aprendizado de Máquina, Aprendizado Profundo e Processamento de Linguagem Natural.

Em 2014 obteve o reconhecimento de melhor artigo foi o melhor do Simpósio Brasileiro de Redes de Computadores pela Sociedade Brasileira de Computação.