Redes neurais para todos

Nov 29 2022
Foi preciso uma feira de ciências da 6ª série para eu treinar minha primeira rede neural em muito tempo. Minha família mora em uma área rural do norte da Califórnia repleta de carvalhos, sequóias e outras espécies de flora nativa.

Foi preciso uma feira de ciências da 6ª série para eu treinar minha primeira rede neural em muito tempo. Minha família mora em uma área rural do norte da Califórnia repleta de carvalhos, sequóias e outras espécies de flora nativa. Para a próxima feira de ciências, meu filho decidiu construir um modelo de aprendizado de máquina para identificar as árvores locais. Caminhamos no sábado à tarde para tirar fotos e construir um conjunto de dados, enquanto no sábado à noite trabalhamos em um modelo de rede neural. A feira de ciências é daqui a dois meses e imaginei que precisaríamos desse tempo para construir um modelo decente. Acontece que subestimei profundamente o quão fácil e acessível o aprendizado de máquina se tornou. A versão 1 foi concluída após apenas algumas horas com uma precisão surpreendente. Usamos o mesmo poderoso mecanismo de IA de muitos dos principais laboratórios de pesquisa de IA. Fizemos tudo em um navegador e era grátis.

Encontrei redes neurais pela primeira vez em um curso universitário sobre IA durante o chamado inverno da IA ​​no final dos anos 90. Este foi um ponto baixo de entusiasmo pela IA em geral e redes neurais em particular. Apesar dos avanços teóricos nos anos 80, a aplicabilidade comercial era limitada e relativamente poucos laboratórios de pesquisa estavam focados em redes neurais. Ainda assim, fiquei intrigado com as abordagens biológicas da IA ​​e experimentei diferentes abordagens e aplicações de treinamento. Eu construí modelos de redes neurais e codifiquei os algoritmos de treinamento principalmente do zero no lisplinguagem de programação. O treinamento podia levar horas e não havia muitos dados de treinamento disponíveis. Por um tempo, entrei para um laboratório de IA na UC San Diego para explorar mais as redes neurais, mas acabei seguindo em frente. Levaria mais 15 anos até que as redes neurais realmente decolassem e o termo “ aprendizado profundo ” passasse a ser amplamente utilizado.

Interesse em aprendizagem profunda acelerou entre 2012-2018

Ao longo da última década, as redes neurais entraram em um novo renascimento alimentado por GPUs, computação em nuvem, conjuntos de dados massivos e avanços contínuos em algoritmos de aprendizado. As aplicações comerciais explodiram. As aplicações incluem reconhecimento de fala (Siri, Alexa), tradução (Google Translate), geração de texto (OpenAI's GPT-3), reconhecimento de imagem (Tesla Autopilot, Adobe Sensei), geração de imagem (Dall-E 2, Midjourney, Stable Diffusion), facial reconhecimento (Apple Photos), geração de vídeo (Runway) e descoberta de drogas. Alguns dos novos aplicativos mais impressionantes estão na IA generativa , que está progredindo em uma velocidade alucinante.

Avanço rápido para o último fim de semana de ação de graças, que estimulou algumas observações.

Primeiro, é incrivelmente fácil configurar e treinar modelos de aprendizado de máquina bastante sofisticados. Você não precisa codificar ou ter experiência em aprendizado de máquina. Existem muitas ferramentas de aprendizado de máquina sem código e AutoML que automatizam etapas comuns no fluxo de trabalho de aprendizado de máquina. Para unir seus próprios fluxos de trabalho, é útil ter conhecimento básico de python, uma linguagem popular na comunidade de aprendizado de máquina. Meu filho de 12 anos está aprendendo python há cerca de dois anos. Por iniciativa própria, ele baixou o TensorFlow – a biblioteca de aprendizado de máquina que alimenta o Google e o OpenAI – e rapidamente teve um modelo de amostra em execução em seu laptop. Ainda mais fácil do que isso, encontrei um tutorialna classificação de imagens que usa o TensorFlow e é executado no ambiente Colab do Google . O Colab permite criar modelos de aprendizado de máquina em um navegador da Web e executá-los nas GPUs do Google gratuitamente, sem baixar ou instalar nenhum pacote. Existem inúmeros tutoriais e modelos pré-treinados para começar.

Em segundo lugar, os fatores limitantes da taxa de implantação dessa tecnologia são a imaginação para novos aplicativos do mundo real e dados de qualidade para treinar modelos. O problema de reconhecer um tipo de árvore com base em uma imagem cai no domínio da classificação de imagens. Como esta é uma aplicação comum de aprendizado de máquina, a etapa mais desafiadora é montar um conjunto de dados robusto. Não conseguimos encontrar um conjunto de dados prontamente disponível de árvores locais rotuladas com nomes, então criamos o nosso próprio. Uma curta caminhada com um iphone rendeu cerca de 250 imagens. Isso é minúsculo para os padrões de hoje. O mais recente modelo de difusão estável é treinado usando o conjunto de dados LAION-5B lançado recentemente de 5,85 bilhões de imagens da web. À medida que mais conjuntos de dados se tornam públicos, as barreiras para o desenvolvimento de modelos para fins especiais diminuirão.

Em terceiro lugar, agora existem soluções e recursos abundantes para colocar modelos de aprendizado de máquina em produção (ML Ops). Apenas alguns anos atrás, era um desafio treinar um modelo e implantá-lo na velocidade e escala da web. Hoje, é relativamente simples implantar modelos em um navegador, em um telefone, em um servidor ou em um fluxo de trabalho corporativo.

Entramos na era de ouro das redes neurais. Este é um momento incrivelmente emocionante para ser um pesquisador de IA/aprendizagem profunda, um empreendedor de IA ou um estudante interessado em IA. Existem aplicativos maduros prontos agora e um pipeline de pesquisa emergente de IA que impulsionará aplicativos inovadores nos próximos anos. A acessibilidade da tecnologia significa que você não precisa de um laboratório de pesquisa ou capital para participar. É incrível como um conceito pode existir por décadas (por exemplo, carros elétricos, redes neurais), mas não decolar até que as condições sejam adequadas.