Afinal, o que Machine Learning e Redes Neurais fazem?

Este não é post direcionado para pessoas técnicas

Andressa Sivolella
4 min readNov 28, 2016

Não sei se é porque eu me interesso pelo assunto, mas parece que recentemente tais termos tem se tornado mais frequentes nas minhas redes de comunicação.

Quando um aplicativo do seu celular ou um serviço online diz que "Utiliza Inteligência Artificial" o que isso quer dizer afinal? Inteligência Artificial parece algo futurístico, não é? Assim como Inteligência Artificial, Redes Neurais e outros modelos de Machine Learning são realmente capazes de melhorar um aplicativo.

Recentemente, o Google anunciou que vai utilizar Redes Neurais para o seu serviço de tradução. Em Agosto desse ano o Spotify publicou em seu blog técnico a trajetória do desenvolvimento de serviços oferecidos utilizando Machine Learning. A Todoist semana passada disponibilizou uma funcionalidade (Smart Schedule), que através de Inteligência Artificial, sugere qual o melhor dia/horário para você completar suas tarefas. Pode parecer que é apenas marketing quando uma empresa anuncia que vai utilizar algumas dessas técnicas. Mas em alguns casos, os benefícios são reais. Quer ver?

Redes Neurais para análises complexas

Artificial Neural Networks, ANNs (ou simplesmente Neural Networks, em português, Redes Neurais) é um modelo específico de aprendizado que simula a maneira como sinapses funcionam no seu cérebro (se você é médico, desculpe se estou utilizando termos de maneira equivocada).

Enquanto a abordagem tradicional de computação utiliza uma série de blocos lógicos para executar uma determinada tarefa, Redes Neurais utilizam redes compostas por nós (os quais atuam como neurônios) e arestas (que por sua vez atuam como sinapses) para processar dados. As entradas então percorrem o sistema e uma série de saídas são geradas. Estas saídas são então comparadas com dados que conhecemos.

Hein?! Não entendi nada…

Por exemplo: digamos que você deseja treinar um computador para reconhecer uma imagem de um cachorro. Você precisaria apresentar para o computador milhões de fotos de cachorros através da Rede Neural, para que ele decida quais ele acredita que correspondem a imagens de cachorro ou não. Um ser humano (adulto, pelo menos) é capaz de confirmar quais imagens são efetivamente de um cachorro. A partir desta confirmação (ou não), a Rede Neural se ajusta para iterativamente, melhorar o seu palpite.

Você pode substituir a Rede Neural por uma criança neste exemplo dado. Para ensinar uma criança o que é um cachorro, é necessário que ela visualize milhares (talvez nem tantas vezes, mas…) de vezes fotos de cachorro para então, na milésima primeira vez decidir se aquela imagem é efetivamente de um cachorro, certo? E nessas milhares de vezes, você vai corrigindo o palpite dela, até que ela aprenda. Simples assim =)

Existe um exemplo prático bastante legal oferecido pelo Google, o Google Quick Draw. No caso, uma rede neural tenta adivinhar o que está sendo desenhado por você. Cuidado para não perder horas desenhando no link compartilhado. Cada desenho que você faz, o Google aprende um pouco mais.

É importante lembrar que Redes Neurais não resolvem todos os problemas do mundo (e nem é essa a intenção). É interessante aplicar Redes Neurais quando os problemas e dados que temos em mãos são complexos.

Complexidade é relativo, Andressa.

É, eu sei. Mas pense por exemplo no Google Tradutor, utilizando redes neurais. Traduzir idiomas é um caso complexo, não? Sabe-se que ao introduzir redes neurais no Google Voz, erros de transcrição reduziram em 49%. Você deve ter notado que este tipo de serviço ainda não é perfeito, mas também trata-se de um problema complexo.

Mas e Machine Learning?

Machine Learning pode ser entendido como algo mais amplo. Redes Neurais é apenas um exemplo de Machine learning, mas não é única técnica utilizada para ensinar uma máquina.

A imagem a seguir (retirada deste link) ilustra os diferentes algoritmos que compõem Machine Learning. Neste momento, você é capaz de perceber que realmente, Redes Neurais correspondem a apenas uma folha dessa gama de técnicas disponíveis no aprendizado de máquinas, certo? Podemos falar de outros algoritmos em outra oportunidade =)

Particularmente, acho as aplicações de Machine Learning muito interessantes. A parte mais emocionante é que não existe um único algoritmo que resolva todos os problemas. Como tudo na vida, cada caso é um caso e a exploração das técnicas faz parte do desafio.

As indústrias que surgiram nessa era da Quarta Revolução Industrial já entendem que Inteligência Artificial é capaz de mudar o jogo. A área de TI cada vez mais aparece na indústria como ator principal, não mais coadjuvante. Enquanto isso, outros aplicativos surgirão dizendo que "Utilizam Inteligência Artificial". Você deve entender isso apenas como:

"Ok, este serviço pode ser um pouco mais inteligente do que outros… E Redes Neurais implica em um método de aprendizado de máquinas. Entendi \o/"

Isso tudo pra dizer que, no fim, você provavelmente não vai utilizar o aplicativo só por causa disso, mas também, pelo quão útil ele é pra você =)

--

--

Andressa Sivolella

Engenheira no mercado de tecnologia há mais de 15 anos. Especialista em soluções de Data & Analytics. Mestre em Inteligência Artificial. Mãe de gêmeas!