Desenvolvimento de projetos de IA - Como os gerentes de projeto devem se preparar

Publicados: 2022-03-11

Ouça a versão em áudio deste artigo

Como gerente de projeto, você provavelmente se envolveu em vários projetos de TI ao longo de sua carreira, abrangendo estruturas monolíticas complexas para aplicativos Web SaaS. No entanto, com o avanço da inteligência artificial e do aprendizado de máquina, novos projetos com diferentes requisitos e problemas estão surgindo em alta velocidade.

Com o surgimento dessas tecnologias, está se tornando menos “bom de ter” e, em vez disso, essencial para os gerentes de projetos técnicos terem um relacionamento saudável com esses conceitos. De acordo com o Gartner, até 2020, a IA gerará 2,3 milhões de empregos, superando os 1,8 milhão que removerá – gerando US$ 2,9 trilhões em valor de negócios até 2021. O CEO do Google chega a dizer que “A IA é uma das coisas mais importantes a humanidade está trabalhando. É mais profundo do que […] eletricidade ou fogo.”

Com as aplicações de inteligência artificial já interrompendo setores que vão de finanças a saúde, os gerentes de projetos técnicos que podem aproveitar essa oportunidade devem entender como o gerenciamento de projetos de IA é distinto e como eles podem se preparar melhor para o cenário em mudança.

Teoria

O que tudo isso significa: IA vs. ML

Antes de ir mais fundo, é importante ter uma compreensão sólida do que a IA realmente é. Com muitos termos diferentes frequentemente usados ​​de forma intercambiável, vamos primeiro mergulhar nas definições mais comuns.

A progressão da IA, aprendizado de máquina e aprendizado profundo

A progressão da IA, aprendizado de máquina e aprendizado profundo

Inteligência Artificial (IA)

A IA é um campo da ciência da computação dedicado a resolver problemas que, de outra forma, exigem inteligência humana – por exemplo, reconhecimento de padrões, aprendizado e generalização.

Este termo tem sido usado em demasia nos últimos anos para denotar inteligência geral artificial (AGI) que se refere a programas de computador autoconscientes, capazes de cognição real. No entanto, a maioria dos sistemas de IA no futuro próximo será o que os cientistas da computação chamam de “IA estreita”, o que significa que eles serão projetados para executar uma tarefa de cognição muito bem, em vez de realmente “pensar” por si mesmos.

Aprendizado de máquina (ML)

O aprendizado de máquina é um subconjunto da inteligência artificial que usa técnicas estatísticas para dar aos computadores a capacidade de aprender com dados sem serem explicitamente programados.

IA e ML têm sido usados ​​de forma intercambiável por muitas empresas nos últimos anos devido ao sucesso de alguns métodos de aprendizado de máquina no campo da IA. Para ser claro, o aprendizado de máquina denota a capacidade de um programa de aprender , enquanto a inteligência artificial engloba o aprendizado junto com outras funções.

Para saber mais sobre redes neurais e aprendizado profundo, consulte o apêndice no final deste artigo.

Uma distinção importante: IA versus algoritmos padrão

Uma das principais conclusões da IA ​​é que seus algoritmos usam uma grande quantidade de dados para ajustar sua estrutura interna, de modo que, quando novos dados são apresentados, eles são categorizados de acordo com os dados anteriores. Chamamos isso de “aprender” com os dados, em vez de operar de acordo com as instruções de categorização escritas estritamente no código.

Imagine que queremos escrever um programa que possa diferenciar carros de caminhões. Na abordagem de programação tradicional, tentaríamos escrever um programa que procurasse recursos específicos e indicativos, como rodas maiores ou um corpo mais longo. Teríamos que escrever um código definindo especificamente como esses recursos se parecem e onde eles devem ser encontrados em uma foto. Escrever tal programa e fazê-lo funcionar de forma confiável é muito difícil, provavelmente gerando falsos positivos e falsos negativos, a um ponto em que pode não ser utilizável no final.

É aqui que os algoritmos de IA se tornam muito úteis. Depois que um algoritmo de IA é treinado, podemos mostrar muitos exemplos e ele ajusta sua estrutura interna para começar a detectar recursos relevantes para a classificação bem-sucedida das imagens, em vez de depender de definições de recursos estáticas e prescritas.

Gerenciamento de projetos de IA na prática

Dados são reis

Os humanos não são bons em lidar com grandes volumes de dados, e o grande volume de dados disponíveis às vezes nos impede de usá-los diretamente. É aqui que entram os sistemas de IA.

Um conceito muito central em relação aos sistemas de IA é que suas previsões são tão boas quanto seus dados. Por exemplo, um algoritmo com um milhão de pontos de dados superará o mesmo algoritmo com 10.000 pontos de dados. Além disso, o BCG relata que “muitas empresas não entendem a importância dos dados e do treinamento para o sucesso da IA. Frequentemente, dados melhores são mais cruciais para a construção de um sistema inteligente do que algoritmos mais nus, assim como a criação geralmente supera a natureza nos seres humanos”.

Com esse conhecimento em mãos, preparar e limpar dados é algo que se tornará mais prevalente no processo de projeto. Essa etapa geralmente é a parte mais trabalhosa da construção de um sistema de IA, pois a maioria das empresas não tem os dados prontos nos formatos corretos - portanto, pode demorar um pouco para que os analistas de dados concluam essa etapa essencial.

A preparação de dados é uma etapa fundamental no gerenciamento de projetos de IA.

A preparação de dados é uma etapa fundamental no gerenciamento de projetos de IA.

Além disso, a configuração da infraestrutura de dados e os trabalhos de limpeza de dados são muito mais lineares do que o desenvolvimento de software normal e podem exigir uma metodologia de gerenciamento de projeto diferente.

Para resumir, pode levar muito mais tempo para criar a infraestrutura de dados correta e preparar os dados a serem usados ​​do que criar o modelo de aprendizado de máquina para executar os dados. Essa é uma grande consideração para os gerentes de projeto, pois eles gerenciam equipes e pensam no escopo da IA ​​e nas estimativas do projeto.

Além disso, o conjunto de dados deve ser continuamente atualizado com os novos dados. O acesso a conjuntos de dados exclusivos pode ser o principal fator decisivo para definir qual produto de ML é mais bem-sucedido. É fundamental manter-se atualizado sobre isso para alcançar o melhor desempenho possível para seu projeto de ML, mesmo após o lançamento.

O ciclo de vida de desenvolvimento de IA

A maioria de vocês estará familiarizada com o ciclo de vida de desenvolvimento de sistemas padrão (SDLC), juntamente com a forma como diferentes metodologias e tecnologias o estão moldando. É importante notar que o desenvolvimento de IA trará um novo conjunto de desafios para o campo. Podemos dividir o ciclo de vida de desenvolvimento de IA nestas etapas: ideação e descoberta de dados, priorizando MVPs e desenvolvendo MVPs em produtos completos.

Ideação e descoberta de dados

Nesse primeiro estágio, o foco deve estar em duas coisas principais: o usuário final do produto de ML e quais pools de dados estão disponíveis.

Ao abordar o problema de dois lados independentes, essas técnicas podem ajudar um gerente de projeto a reduzir rapidamente as oportunidades de produtos de ML disponíveis em uma empresa. Durante esta fase, os principais PMs podem se beneficiar de seu conhecimento do espaço de aprendizado de máquina para entender melhor a dificuldade para a qual determinados problemas podem ser resolvidos. As coisas se movem muito rápido no campo de ML, e alguns problemas difíceis podem ser muito mais fáceis com novos desenvolvimentos na pesquisa.

Como mencionado anteriormente, uma vez que os dados são descobertos, eles precisam ser limpos e preparados. Essa tarefa específica normalmente é feita em etapas lineares, que não se encaixam perfeitamente em metodologias de projeto típicas, como Agile ou Waterfall, embora possam ser forçadas a sprints. Normalmente, a limpeza de dados é feita de forma iterativa, aumentando gradualmente o tamanho dos conjuntos de dados e preparando-os em paralelo com outros esforços de desenvolvimento.

Priorizando o Produto Mínimo Viável (MVP)

A verdade de que é melhor ter um protótipo funcional de um produto menor, em vez de um grande inacabado, ainda permanece aqui com produtos de aprendizado de máquina. Novos MVPs de ML devem ser priorizados com base na velocidade de entrega e seu valor para a empresa. Se você puder entregar produtos, mesmo aqueles menores, com velocidade, pode ser uma vitória rápida e boa para toda a equipe – você deve priorizar esses produtos primeiro.

Preparar esses MVPs no estilo Agile clássico é uma boa ideia, e a equipe de desenvolvimento deve se concentrar em fornecer modelos de ML com base nos conjuntos de dados continuamente aprimorados preparados de forma independente pela equipe de dados. Uma distinção importante aqui é que a equipe de dados não precisa necessariamente trabalhar por meio da mesma estrutura de Sprint que a equipe que constrói o MVP .

MVP para produto completo

Esta etapa é onde a infraestrutura de dados se torna fundamental. Se o seu produto de ML exigir acesso à API de alta frequência de todo o mundo, agora você deve considerar como pode escalar a infraestrutura para oferecer suporte ao produto de ML.

É aqui que as alterações nos módulos de ML devem ser cuidadosamente avaliadas para evitar quebrar o desempenho do produto atual. Retreinar os módulos de ML com novos algoritmos ou conjuntos de dados nem sempre traz um aumento linear de desempenho, portanto, uma quantidade substancial de testes é necessária antes da implantação ao vivo. O teste do módulo de ML para casos extremos e possíveis ataques de rede adversarial generativa (GAN) ainda está em sua infância, mas definitivamente é algo que os gerentes de projeto devem ter em mente ao executar um produto de ML ao vivo.

Principais funções no ciclo de vida de desenvolvimento de IA

Os requisitos de dados pesados ​​do desenvolvimento de aplicativos de ML trazem novas funções para o SDLC dos produtos de IA. Para ser um ótimo gerente de projeto no campo de aplicativos de ML, você deve estar muito familiarizado com as três funções a seguir: cientistas de dados, engenheiros de dados e engenheiros de infraestrutura. Embora às vezes sejam orientados por outros títulos, incluindo engenheiros de aprendizado de máquina, engenheiros de infraestrutura de aprendizado de máquina ou cientistas de aprendizado de máquina, é importante ter uma compreensão sólida dessas posições principais e seu impacto no processo de desenvolvimento de ML.

Três funções principais com as quais os PMs técnicos devem estar familiarizados: cientista de dados, engenheiro de dados e engenheiro de infraestrutura

Três funções principais com as quais os PMs técnicos devem estar familiarizados: cientista de dados, engenheiro de dados e engenheiro de infraestrutura

Cientista de dados

Os cientistas de dados são os indivíduos que constroem os modelos de aprendizado de máquina. Eles sintetizam ideias com base em seu profundo conhecimento de estatísticas aplicadas, aprendizado de máquina e análises e, em seguida, aplicam seus insights para resolver problemas reais de negócios.

Os cientistas de dados às vezes são vistos como versões avançadas de analistas de dados. Os cientistas de dados, no entanto, geralmente têm fortes habilidades de programação, se sentem à vontade para processar grandes quantidades de dados que abrangem data centers e têm experiência em aprendizado de máquina.

Também se espera que eles tenham um bom entendimento de infraestruturas de dados e mineração de big data, bem como sejam capazes de realizar exercícios exploratórios por conta própria, analisando os dados e encontrando pistas e insights iniciais dentro deles.

Habilidades fundamentais: Python, R, Scala, Apache Spark, Hadoop, Machine Learning, Deep Learning, Estatística, Data Science, Jupyter, RStudio

Engenheiro de dados

Engenheiros de dados são engenheiros de software especializados na construção de software e infraestrutura necessários para que os produtos de ML funcionem. Eles tendem a se concentrar na arquitetura abrangente e, embora possam não ser especialistas em aprendizado de máquina, análise ou big data, devem ter um bom entendimento desses tópicos para testar seu software e infraestrutura. Isso é necessário para permitir que os modelos de aprendizado de máquina criados pelo cientista de dados sejam implementados com sucesso e expostos ao mundo real.

Habilidades Fundamentais: Python, Hadoop, MapReduce, Hive, Pig, Data Streaming, NoSQL, SQL, Programação, DashDB, MySQL, MongoDB, Cassandra

Engenheiro de Infraestrutura

Os engenheiros de infraestrutura cuidam da espinha dorsal dos produtos de ML: a camada de infraestrutura. Embora os engenheiros de dados possam construir parte dessa infraestrutura, ela geralmente é construída sobre a camada preparada e acordada pela equipe de infraestrutura.

Os engenheiros de infraestrutura podem trabalhar em várias equipes de ML, com o objetivo de criar um ambiente escalável e eficiente no qual os aplicativos de ML podem ser dimensionados para atender a milhões de usuários. Os engenheiros de infraestrutura não apenas cuidam do nível de software das plataformas, mas também coordenam com os parceiros do data center para garantir que tudo esteja funcionando sem problemas, desde a localização geográfica dos dados hospedados até o hardware. Com esses aspectos ganhando importância para projetos de ML, os engenheiros de infraestrutura estão se tornando cada vez mais importantes em empresas orientadas por IA.

Habilidades fundamentais: Kubernetes, Mesos, EKS, GKE, Hadoop, Spark, HDFS, CEPH, AWS, Cloud Computing, Data Center Operations, End-to-end Computing Infrastructure, IT Infrastructure, Service Management

Desafios comuns hoje

Com o surgimento de produtos baseados em IA e ML, espera-se que os gerentes de projeto se deparem com desafios familiares e completamente estrangeiros. Os principais gerentes de projetos estão cientes desses problemas em potencial durante todo o processo, desde a definição do escopo dos projetos até a conclusão.

Verificação da realidade

Apesar da popularidade e promessa da IA, há uma boa chance de que o problema que você está tentando resolver não exija uma solução elaborada de IA .

Muitos problemas de previsão podem ser resolvidos usando modelos de regressão estatística mais simples e, em alguns casos, mais confiáveis. É muito importante que um PM faça uma verificação de sanidade antes de iniciar um projeto para garantir que o problema realmente exija aprendizado de máquina.

Às vezes, é aconselhável começar com um modelo estatístico mais simples e avançar em paralelo com uma solução baseada em aprendizado de máquina. Por exemplo, se você estiver criando um mecanismo de recomendação, pode ser aconselhável começar com uma solução mais simples com um ciclo de vida de desenvolvimento mais rápido, fornecendo uma boa linha de base que o modelo de ML subsequente deve superar.

Deslocamento do escopo de IA

As causas mais comuns de desvio de escopo em projetos de ML estão relacionadas à tentativa de fazer muitas coisas ao mesmo tempo e subestimar o esforço necessário para preparar os dados .

Para resolver o primeiro problema, gerencie as partes interessadas para que elas entendam que é melhor começar com ganhos rápidos em vez de planos grandiosos. Comunique essa abordagem continuamente durante todo o projeto, à medida que você cria e testa.

Comece com recursos pequenos e atômicos que podem ser facilmente definidos e testados. Se você se deparar com uma tarefa complexa, tente dividi-la em tarefas mais simples que sejam bons substitutos para sua tarefa principal. Deve ser fácil comunicar o que essas tarefas se propõem a realizar.

Por exemplo, se você estiver tentando prever quando um usuário clicará em um anúncio específico, primeiro tente prever se o usuário dispensará o anúncio por completo. Nesta abordagem, o problema é simplificado e pode ser melhor acomodado e previsto pelos atuais modelos de ML. O Facebook fez uma ótima série se aprofundando nesse tópico, focando mais no pipeline de ML desde o início até a entrega do modelo.

Para abordar o segundo contribuinte para o aumento do escopo, certifique-se de que você seja capaz de preparar os dados para dar suporte aos seus projetos de ML. Simplesmente presumir que você tem os dados necessários, no formato necessário, é o erro mais comum que os PMs cometem quando estão começando com projetos de ML. Como a preparação e a limpeza de dados geralmente são a parte mais demorada do processo de projeto de ML, gerenciar essa etapa é essencial. Certifique-se de que seu cientista de dados tenha acesso aos dados corretos e possa verificar sua qualidade e validade antes de criar os recursos de ML que desejam criar.

Prepare-se para fazer a rotulagem e limpeza de dados como um exercício contínuo ao longo do projeto, não apenas como um iniciador, pois o projeto sempre pode se beneficiar de dados melhores e mais. Como essa etapa não é a tarefa mais cativante, divida esse trabalho em sprints para que sua equipe de dados possa sentir o progresso de seus esforços, em vez de enfrentar uma interminável carteira de pedidos.

Às vezes, as empresas terceirizam a rotulagem de dados para terceiros. Embora isso possa ajudar a economizar tempo e custos iniciais, também pode produzir dados não confiáveis, prejudicando o sucesso do seu modelo de ML. Para evitar isso, use a técnica de sobreposição múltipla, em que cada parte dos dados é verificada por várias partes e usada apenas se os resultados corresponderem.

Ao planejar o projeto, reserve tempo suficiente para que a equipe de dados faça ajustes caso seus requisitos de rotulagem mudem no meio do projeto e seja necessária nova rotulagem.

Por fim, verifique se seus dados podem ser facilmente usados ​​com métodos de ML existentes em vez de inventar novos métodos de ML, pois começar do zero pode aumentar drasticamente o tempo e o escopo do projeto. Observe que, se você estiver tentando resolver um problema de ML que ainda não foi resolvido, há uma boa chance de falhar. Apesar do sucesso do aprendizado de máquina e do número de trabalhos de pesquisa publicados, resolver problemas de ML pode ser uma tarefa muito difícil. É sempre mais fácil começar com uma área de ML que tem muitos bons exemplos e algoritmos e tentar melhorá-la em vez de tentar inventar algo novo.

Aprendizado de máquina, expectativas e UX

Todo PM deve estar pronto para pensar na experiência do usuário dos produtos de IA que estão criando e na melhor forma de gerenciar a equipe que os está desenvolvendo. O Google escreveu um ótimo artigo sobre sua maneira de pensar sobre UX e IA, com ênfase na interação humana.

Esse ponto é especialmente importante se seu produto de ML precisar interagir com operadores ou até mesmo ser substituído por eles. O projeto deve adicionar a quantidade mínima necessária de estresse aos operadores e usuários do sistema. Por exemplo, os chatbots geralmente são baseados em aprendizado de máquina, mas podem ser facilmente controlados por um operador humano.

Há também a possibilidade de que as partes interessadas possam esperar muito mais dos produtos de aprendizado de máquina do que o que eles podem oferecer. Isso geralmente é um problema decorrente do hype criado pela mídia ao escrever sobre produtos de IA e, portanto, é importante que o gerente de projeto defina expectativas razoáveis.

Certifique-se de explicar o que a ferramenta de IA realmente é e pode alcançar para seus stakeholders para que você possa gerenciar suas expectativas bem o suficiente antes que eles testem a ferramenta. Uma boa UX é ótima, mas não pode agregar valor aos usuários com expectativas irreais, por isso é essencial para qualquer PM envolvido gerenciá-las e educar suas partes interessadas sobre a IA e seus recursos realistas.

Garantia de qualidade (QA) e práticas de teste em ML

A IA em sua forma atual é um campo relativamente novo. Nunca antes houve tantos aplicativos usando deep learning para atingir seus objetivos. Esses novos desenvolvimentos vêm com seu próprio conjunto de desafios, principalmente nos testes.

Embora seja relativamente fácil testar software padrão que tenha um “conjunto de regras” claro escrito por pessoas, é muito mais difícil testar exaustivamente modelos de aprendizado de máquina, especialmente aqueles construídos usando redes neurais. Atualmente, a maioria dos modelos de ML é testada pelos próprios cientistas de dados, mas há poucos métodos acordados de teste com equipes de controle de qualidade padrão para garantir que os produtos de ML não falhem de maneiras inesperadas.

Com novas maneiras de manipular os resultados dos modelos conhecidos, como esses ataques GAN, o teste abrangente de modelos se tornará cada vez mais importante. Isso se tornará uma prioridade para muitos projetos de ML e veremos mais testes de tipo de “integração” para os modelos de ML nos próximos anos. Para a maioria dos projetos simples, isso pode não ser um problema tangível no momento, mas é importante ter isso em mente se você estiver criando um produto de ML de missão crítica.

Roubo e plágio de modelo de ML

Desde que este artigo da Wired foi publicado e o artigo original foi apresentado na conferência USENIX Security em 2016, tornou-se evidente que existe a possibilidade de plagiar um modelo de ML ao vivo.

Isso ainda é muito difícil de realizar bem, mas se você tiver um modelo em execução por meio de uma API disponível publicamente, é importante estar ciente dessa possibilidade. Em teoria, uma parte com acesso substancial a ela poderia treinar sua própria rede com base na sua e copiar efetivamente sua capacidade de previsão.

Isso ainda é bastante limitado em termos de possibilidade, mas certifique-se de trabalhar com sua equipe em uma estratégia de prevenção para possíveis ataques, se isso for uma preocupação para o seu projeto.

Escassez de Talentos

Com a demanda atual por especialistas em IA de classe mundial, a competição para obter o talento certo é acirrada. De fato, o New York Times relata que especialistas em IA de classe mundial podem ganhar até US $ 1 milhão por ano trabalhando para grandes potências de tecnologia do Vale do Silício. Como PM, enquanto você procura especialistas em IA para se juntar à sua equipe, esteja ciente dessas dinâmicas, pois elas podem afetar seus ciclos de contratação, orçamento ou qualidade do trabalho realizado.

Essa escassez se estende além das mentes inovadoras que criam os mais novos algoritmos de aprendizado profundo e também é verdade para engenheiros e cientistas de dados de alta qualidade.

Muitas das pessoas mais talentosas participam de competições de aprendizado de máquina, como o Kaggle, onde podem esperar ganhar mais de US$ 100.000 para resolver problemas difíceis de aprendizado de máquina. Se for difícil contratar especialistas de ML localmente, é aconselhável procurar soluções fora da caixa, como contratar empreiteiros especializados remotamente ou executar sua própria competição Kaggle para os problemas de ML mais difíceis.

Desafios legais e éticos

Os desafios legais e éticos da IA ​​no gerenciamento de projetos são duplos.

O primeiro conjunto de desafios decorre dos dados usados ​​para treinar os modelos de ML. É essencial entender a origem dos dados que você usa e, especificamente, se você tem os direitos de utilizá-los e as licenças que permitem o uso dos dados.

É sempre importante consultar seus advogados para resolver tais questões antes de implantar um modelo treinado nos dados para os quais você pode não ter o tipo certo de licença. Como esse é um campo relativamente novo, muitas dessas respostas não são claras, mas os PMs devem se certificar de que suas equipes estão usando apenas conjuntos de dados que eles têm direitos de uso.

Aqui está uma boa lista de conjuntos de dados disponíveis publicamente para treinar seus algoritmos de ML.

O segundo conjunto de desafios vem de garantir que seu sistema não desenvolva um viés sistemático. Houve vários casos de tais problemas nos últimos anos, onde uma empresa de câmeras teve que admitir que sua tecnologia de reconhecimento de sorriso detecta apenas pessoas de uma determinada raça porque foi treinada apenas em dados contendo rostos dessa raça. Outro exemplo veio de uma grande empresa de software, que teve que retirar seu bot de autoaprendizagem do Twitter depois de alguns dias de aprendizado, pois um esforço conjunto de um grupo de trolls da internet o fez produzir insultos raciais e repetir conspirações selvagens.

O grau desses problemas pode ser menor ou destruir o projeto, portanto, ao desenvolver sistemas críticos, os PMs devem se certificar de que consideram essas possibilidades e as previnem o mais cedo possível.

Boas fundações levam a estruturas fortes

O progresso da gestão da informação, levando à IA.

O progresso da gestão da informação, levando à IA.

Em resumo, a iminente revolução da IA ​​traz um conjunto de projetos dinâmicos e interessantes que geralmente vêm com um processo de desenvolvimento modificado, um arquétipo de equipe diferente e novos desafios.

Os principais gerentes de projetos técnicos têm não apenas uma boa compreensão dos fundamentos da IA, mas também a intuição para a dificuldade de cada etapa do projeto e o que é realmente possível criar com sua equipe. Como a IA não é uma solução comercial pronta para uso (COTS), mesmo as empresas que optarem por comprar determinados produtos de ML ainda terão que investir em testar coisas novas e gerenciar seus dados e infraestrutura corretamente.

Está claro que os tipos de produtos de software e os processos para criá-los estão mudando com o surgimento da IA. Os gerentes de projeto capazes de compreender e executar esses novos conceitos serão atores fundamentais na criação dos produtos de aprendizado de máquina do futuro.

Materiais extras do autor

Teoria Adicional: DLs e NNs

Além do palavreado mais comum de inteligência artificial (IA) e aprendizado de máquina (ML), os gerentes de projeto podem se beneficiar de estar cientes da distinção entre aprendizado profundo (DL) e redes neurais (NN).

Aprendizado Profundo (DL)

O aprendizado profundo faz parte de uma família mais ampla de métodos de aprendizado de máquina baseados em representações de dados de aprendizado, em oposição aos algoritmos clássicos específicos de tarefas.

A maioria dos modelos modernos de deep learning são baseados em uma rede neural artificial, embora possam usar vários outros métodos.

Redes Neurais (NN)

As redes neurais são estruturas matemáticas conectadas e biologicamente inspiradas que permitem que os sistemas de IA aprendam com os dados apresentados a eles.

Podemos imaginar essas redes como milhões de pequenos portões que abrem ou fecham, dependendo de nossa entrada de dados. O sucesso dessas técnicas foi possibilitado pelo crescimento do poder de computação da GPU nos últimos anos, permitindo-nos ajustar rapidamente mais desses “pequenos portões” dentro das redes neurais.

Um diagrama de rede neural

Um diagrama de rede neural

Existem vários tipos de redes neurais, cada uma acompanhada por seus próprios casos de uso específicos e nível de complexidade. Você pode ver termos como CNN (rede neural convolucional) ou RNN (rede neural recorrente) usados ​​para descrever diferentes tipos de arquitetura de rede neural.

Para entender melhor como eles se parecem e funcionam, aqui está uma ótima visualização 3D de como as redes neurais “parecem” enquanto estão ativas.

Interessado em aprender mais sobre IA?

Se, depois de ler isso, você quiser se aprofundar um pouco mais no assunto, recomendo dar uma olhada nessas fontes:

Entendendo as Redes Neurais

Se você quiser se aprofundar na mecânica de como as redes neurais funcionam, sugiro que você confira a série 3Blue1Brown sobre redes neurais no YouTube. Na minha opinião, esta é de longe a melhor explicação detalhada das redes neurais. É entregue em termos simples e não requer conhecimento prévio.

Mantendo-se atualizado com as notícias de IA

Se você deseja se manter atualizado com os mais recentes avanços na tecnologia de IA sem gastar horas lendo trabalhos acadêmicos, recomendo os seguintes artigos de dois minutos. Este canal fornece atualizações semanais de dois minutos sobre as novas técnicas de IA mais impressionantes e suas implementações.

Aprendendo o básico do desenvolvimento de ML

Se você quiser se interessar por código por conta própria e tiver algumas habilidades rudimentares em Python, confira o Fast.ai. Seu curso permite que qualquer pessoa com habilidades básicas de desenvolvimento comece a experimentar e brincar com redes neurais.

Fundamentos do aprendizado de máquina

Esta sugestão é para aqueles que querem começar desde o início e chegar ao topo da compreensão e implementação do aprendizado de máquina.

Criado pelo agora lendário Andrew Ng, que lançou o Coursera com este curso, requer um investimento de tempo substancial - pelo menos seis meses - mas pode ser uma maneira extremamente produtiva de passar um sábado.


Nota: As definições de termos-chave foram adaptadas da Wikipedia.