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.