Resumo
O objetivo deste trabalho é desenvolver um algoritmo para solução de quebra-cabeças do tipo jigsaw puzzle usando deep learning. Deep learning são redes neurais profundas que não exigem interferência humana direta para serem treinadas e, dessa forma, problemas complexos que requerem o reconhecimento de características abstratas podem ser resolvidos com maior agilidade. Navegação autônoma, diagnóstico de câncer e reconhecimento facial são algumas das diversas aplicações de deep learning. Neste trabalho, a solução de um quebra-cabeça via deep learning foi utilizada para a compreensão das ferramentas e do ambiente de desenvolvimento de uma rede neural profunda. Para tanto, foi estudado um algoritmo proposto por Noroozi e Favaro (2016) que propõe uma arquitetura chamada context-free network (CFN). A rede neural profunda avaliada admite a entrada das nove partes de um quebra-cabeça em um grid de 3X3 peças, que são originadas de um pré-tratamento e embaralhadas aleatoriamente. Ao final da rede neural, espera-se que ela forneça a ordem em que as peças foram embaralhadas, ou seja, a solução do quebra-cabeça. O algoritmo foi desenvolvido em Python em conjunto com as bibliotecas de deep learning Keras e Tensorflow, além do processamento acelerado dos dados via GPU/CUDA. Referência Noroozi M, Favaro P. Unsupervised learning of visual representations by solving jigsaw puzzles. In European Conference on Computer Vision 2016 Oct 8 (pp. 69-84). Springer, Cham.
Referências
Noroozi M, Favaro P. Unsupervised learning of visual representations by solving jigsaw puzzles. In European Conference on Computer Vision 2016 Oct 8 (pp. 69-84). Springer, Cham.
Todos os trabalhos são de acesso livre, sendo que a detenção dos direitos concedidos aos trabalhos são de propriedade da Revista dos Trabalhos de Iniciação Científica da UNICAMP.