Os pesquisadores estão usando diferenciação automática e outras técnicas para tornar o aprendizado profundo mais rápido e simples. Crédito:Purdue University
Os sistemas de inteligência artificial baseados no aprendizado profundo estão mudando os dispositivos eletrônicos que nos cercam.
Os resultados desse aprendizado profundo são vistos cada vez que um computador entende nossa fala, procuramos a foto de um amigo ou vemos um anúncio colocado de forma apropriada. Mas o aprendizado profundo em si requer enormes conjuntos de computadores e execuções de uma semana.
"Métodos desenvolvidos por nossa equipe internacional irão reduzir esse fardo, "disse Jeffrey Mark Siskind, professor de engenharia elétrica e da computação na Faculdade de Engenharia de Purdue. "Nossos métodos permitem que indivíduos com computadores mais modestos façam os tipos de aprendizado profundo que costumavam exigir clusters de milhões de dólares, e permitir que os programadores escrevam programas em horas que costumavam levar meses. "
O aprendizado profundo usa um tipo particular de cálculo em seu cerne:uma técnica inteligente, chamada de diferenciação automática (AD) no modo de acumulação reversa, para calcular com eficiência como os ajustes em um grande número de controles afetarão um resultado.
"Sistemas de software sofisticados e gigantescos clusters de computadores foram construídos para realizar este cálculo específico, "disse Barak Pearlmutter, professor de ciência da computação na Maynooth University, na Irlanda, e o outro princípio desta colaboração. "Esses sistemas são a base de grande parte da IA na sociedade:reconhecimento de voz, Pesquisa na internet, compreensão da imagem, reconhecimento de rosto, tradução automática e colocação de anúncios. "
Uma das principais limitações desses sistemas de aprendizado profundo é que eles suportam esse cálculo específico de AD de forma muito rígida.
"Esses sistemas funcionam apenas em tipos muito restritos de programas de computador:aqueles que consomem números em sua entrada, realizar as mesmas operações numéricas neles, independentemente de seus valores, e produzir os números resultantes, "Siskind disse.
Os pesquisadores disseram que outra limitação é que a operação do AD requer uma grande quantidade de memória do computador. Essas restrições limitam o tamanho e a sofisticação dos sistemas de aprendizado profundo que podem ser construídos. Por exemplo, eles dificultam a construção de um sistema de aprendizado profundo que execute uma quantidade variável de computação, dependendo da dificuldade da entrada específica, aquele que tenta antecipar as ações de um usuário adaptável inteligente, ou um que produza como resultado um programa de computador.
Siskind disse que a colaboração visa eliminar essas restrições.
Uma série de inovações permite não apenas AD de modo reverso, mas outros modos de AD, para ser usado de forma eficiente; para que essas operações sejam colocadas em cascata, e aplicado não apenas a cálculos rígidos, mas também a programas de computador arbitrários; para aumentar a eficiência desses processos; e para reduzir significativamente a quantidade de memória necessária do computador.
"Normalmente, esses tipos de ganhos têm o preço de aumentar a carga sobre os programadores de computador, "Siskind disse." Aqui, as técnicas desenvolvidas permitem essa flexibilidade e eficiência aumentadas, ao mesmo tempo que reduzem enormemente o trabalho que os programadores de computador que criam sistemas de IA precisarão fazer. "
Por exemplo, uma técnica chamada "AD reverso de ponto de verificação" para reduzir os requisitos de memória era conhecida anteriormente, mas só poderia ser aplicado em configurações limitadas, era muito complicado, e exigiu muito trabalho extra dos programadores de computador que construíram os sistemas de aprendizado profundo.
Um método desenvolvido pela equipe permite a redução dos requisitos de memória para aplicar a qualquer programa de computador, e não requer nenhum trabalho extra dos programadores de computador que constroem os sistemas de IA.
"A redução massiva de RAM necessária para o treinamento de sistemas de IA deve permitir a construção de sistemas mais sofisticados, e deve permitir que o aprendizado de máquina seja executado em máquinas menores - smartphones em vez de enormes clusters de computador, "Siskind disse.
Como um todo, esta tecnologia tem o potencial de tornar muito mais fácil construir sistemas sofisticados de IA baseados em aprendizado profundo.
"Esses avanços teóricos estão sendo construídos em uma implementação de recursos completos altamente eficiente que roda em CPUs e GPUs e oferece suporte a uma ampla gama de componentes padrão usados para construir modelos de aprendizagem profunda, "Siskind disse.