Crédito:Patrick Dockens / Creative Commons
Pesquisadores da North Carolina State University desenvolveram uma técnica que reduz o tempo de treinamento para redes de aprendizagem profunda em mais de 60 por cento, sem sacrificar a precisão, acelerando o desenvolvimento de novas aplicações de inteligência artificial (IA).
"As redes de aprendizagem profunda estão no centro das aplicações de IA usadas em tudo, desde carros autônomos a tecnologias de visão computacional, "diz Xipeng Shen, professor de ciência da computação na NC State e co-autor de um artigo sobre o trabalho.
"Um dos maiores desafios enfrentados pelo desenvolvimento de novas ferramentas de IA é a quantidade de tempo e poder de computação necessários para treinar redes de aprendizagem profunda para identificar e responder aos padrões de dados que são relevantes para seus aplicativos. maneira de acelerar esse processo, que chamamos de Reutilização Profunda Adaptável. Demonstramos que ele pode reduzir o tempo de treinamento em até 69 por cento sem perda de precisão. "
O treinamento de uma rede de aprendizado profundo envolve a divisão de uma amostra de dados em blocos de pontos de dados consecutivos. Pense em uma rede projetada para determinar se há um pedestre em uma determinada imagem. O processo começa dividindo uma imagem digital em blocos de pixels adjacentes uns aos outros. Cada bloco de dados é executado por meio de um conjunto de filtros computacionais. Os resultados são então executados por meio de um segundo conjunto de filtros. Isso continua iterativamente até que todos os dados tenham sido executados por meio de todos os filtros, permitindo que a rede chegue a uma conclusão sobre a amostra de dados.
Quando este processo tiver sido feito para cada amostra de dados em um conjunto de dados, isso é chamado de época. Para ajustar uma rede de aprendizagem profunda, a rede provavelmente funcionará com o mesmo conjunto de dados por centenas de épocas. E muitos conjuntos de dados consistem em dezenas de milhares e milhões de amostras de dados. Muitas iterações de muitos filtros aplicados a muitos dados significa que o treinamento de uma rede de aprendizado profundo exige muito poder de computação.
O momento decisivo para a equipe de pesquisa de Shen veio quando ela percebeu que muitos dos blocos de dados em um conjunto de dados são semelhantes entre si. Por exemplo, um pedaço de céu azul em uma imagem pode ser semelhante a um pedaço de céu azul em outro lugar na mesma imagem ou a um pedaço de céu em outra imagem no mesmo conjunto de dados.
Ao reconhecer esses blocos de dados semelhantes, uma rede de aprendizagem profunda pode aplicar filtros a um bloco de dados e aplicar os resultados a todos os blocos de dados semelhantes no mesmo conjunto, economizando muito poder de computação.
"Não fomos capazes apenas de demonstrar que essas semelhanças existem, mas podemos encontrar essas semelhanças para resultados intermediários em cada etapa do processo, "diz Lin Ning, um Ph.D. estudante da NC State e principal autor do artigo. "E fomos capazes de maximizar essa eficiência aplicando um método chamado hashing sensível à localidade."
Mas isso levanta duas questões adicionais. Qual deve ser o tamanho de cada bloco de dados? E que limite os blocos de dados precisam atingir para serem considerados "semelhantes"?
Os pesquisadores descobriram que a abordagem mais eficiente era começar observando blocos de dados relativamente grandes usando um limite relativamente baixo para determinar a similaridade. Em épocas subsequentes, os blocos de dados ficam menores e o limite de similaridade mais rigoroso, melhorando a precisão da rede de aprendizagem profunda. Os pesquisadores desenvolveram um algoritmo adaptativo que implementa automaticamente essas mudanças incrementais durante o processo de treinamento.
Para avaliar sua nova técnica, os pesquisadores o testaram usando três redes de aprendizagem profunda e conjuntos de dados que são amplamente usados como testbeds por pesquisadores de aprendizagem profunda:CifarNet usando Cifar10; AlexNet usando ImageNet; e VGG-19 usando ImageNet.
O Adaptive Deep Reuse reduziu o tempo de treinamento da AlexNet em 69 por cento; para VGG-19 em 68 por cento; e para CifarNet em 63 por cento - tudo sem perda de precisão.
"Isso demonstra que a técnica reduz drasticamente os tempos de treinamento, "diz Hui Guan, um Ph.D. aluna da NC State e co-autora do artigo. "Também indica que quanto maior a rede, o mais Adaptive Deep Reuse é capaz de reduzir os tempos de treinamento - já que o AlexNet e o VGG-19 são substancialmente maiores do que o CifarNet. "
"Achamos que o Adaptive Deep Reuse é uma ferramenta valiosa, e espero trabalhar com parceiros da indústria e de pesquisa para demonstrar como pode ser usado para o avanço da IA, "Shen diz.
O papel, "Adaptive Deep Reuse:Accelerating CNN Training on the Fly, "será apresentado na 35ª Conferência Internacional IEEE sobre Engenharia de Dados, a ser realizada de 8 a 11 de abril na RAE de Macau, China.