O que é aprendizado de máquina?

Rosto de homem em um aplicativo de reconhecimento facial em um smartphone
Zapp2Photo / Shutterstock.com

Para aprender uma habilidade, reunimos conhecimento, praticamos cuidadosamente e monitoramos nosso desempenho. Eventualmente, nos tornamos melhores nessa atividade. O aprendizado de máquina é uma técnica que permite que os computadores façam exatamente isso.

Os computadores podem aprender?

Definir inteligência é difícil. Todos nós sabemos o que queremos dizer com inteligência quando o dizemos, mas descrevê-lo é problemático. Deixando de lado a emoção e a autoconsciência, uma descrição funcional pode ser a capacidade de aprender novas habilidades e absorver conhecimentos e aplicá-los a novas situações para alcançar o resultado desejado.

Dada a dificuldade em definir inteligência, definir inteligência artificial não será mais fácil. Então, vamos trapacear um pouco. Se um dispositivo de computação é capaz de fazer algo que normalmente requer raciocínio e inteligência humana, diremos que está usando inteligência artificial.

Por exemplo, alto-falantes inteligentes como o Amazon Echo e o Google Nest podem ouvir nossas instruções faladas, interpretar os sons como palavras, extrair o significado das palavras e, então, tentar atender a nossa solicitação. Podemos estar pedindo para tocar música , responder a uma pergunta ou diminuir as luzes .

RELACIONADOS: As melhores piadas, jogos e ovos de Páscoa para o Google Assistente

Em todas as interações, exceto nas mais triviais, seus comandos falados são retransmitidos para computadores poderosos nas nuvens dos fabricantes, onde ocorre o levantamento de peso da inteligência artificial. O comando é analisado, o significado é extraído e a resposta é preparada e enviada de volta ao alto-falante inteligente.

O aprendizado de máquina sustenta a maioria dos sistemas de inteligência artificial com os quais interagimos. Alguns deles são itens em sua casa, como dispositivos inteligentes, e outros fazem parte dos serviços que usamos online. As recomendações de vídeo no YouTube e Netflix e as listas de reprodução automáticas no Spotify usam aprendizado de máquina. Os mecanismos de pesquisa dependem do aprendizado de máquina, e as compras online usam o aprendizado de máquina para oferecer sugestões de compra com base em seu histórico de navegação e compra.

Os computadores podem acessar enormes conjuntos de dados. Eles podem repetir incansavelmente processos milhares de vezes dentro do espaço que um humano levaria para realizar uma iteração – se um humano conseguisse fazer isso uma vez. Portanto, se o aprendizado requer conhecimento, prática e feedback de desempenho, o computador deve ser o candidato ideal.

Recomendado:  Como mover aplicativos para o cartão SD em um Amazon Fire Tablet

Isso não quer dizer que o computador será capaz de realmente pensar no sentido humano, ou de entender e perceber como nós. Mas aprenderá e ficará melhor com a prática. Habilmente programado, um sistema de aprendizado de máquina pode causar uma impressão decente de uma entidade atenta e consciente.

Costumávamos perguntar: “Os computadores podem aprender?” Isso acabou se transformando em uma questão mais prática. Quais são os desafios de engenharia que devemos superar para permitir que os computadores aprendam?

Redes neurais e redes neurais profundas

O cérebro dos animais contém redes de neurônios. Os neurônios podem disparar sinais através de uma sinapse para outros neurônios. Essa ação minúscula – replicada milhões de vezes – dá origem aos nossos processos de pensamento e memórias. A partir de muitos blocos de construção simples, a natureza criou mentes conscientes e a capacidade de raciocinar e lembrar.

Inspiradas por redes neurais biológicas, as redes neurais artificiais foram criadas para imitar algumas das características de suas contrapartes orgânicas. Desde a década de 1940, hardware e software foram desenvolvidos contendo milhares ou milhões de nós. Os nós, como os neurônios, recebem sinais de outros nós. Eles também podem gerar sinais para alimentar outros nós. Os nós podem aceitar entradas e enviar sinais para muitos nós de uma vez.

Se um animal concluir que os insetos amarelos e pretos voadores sempre lhe dão uma picada desagradável, ele evitará todos os insetos amarelos e pretos voadores. O hoverfly aproveita isso. É amarelo e preto como uma vespa, mas não tem ferrão. Animais que se enredaram com vespas e aprenderam uma lição dolorosa também dão uma boa margem para a mosca flutuante. Eles veem um inseto voador com um esquema de cores impressionante e decidem que é hora de recuar. O fato de que o inseto pode pairar – e as vespas não – nem sequer é levado em consideração.

A importância do vôo, zumbido e listras amarelas e pretas sobrepõe-se a todo o resto. A importância desses sinais é chamada de  ponderação  dessas informações. As redes neurais artificiais também podem usar ponderação. Um nó não precisa considerar todas as suas entradas iguais. Pode favorecer alguns sinais em detrimento de outros.

Recomendado:  Como transformar um Raspbery Pi em um servidor Plex

O aprendizado de máquina usa estatísticas para encontrar padrões nos conjuntos de dados nos quais é treinado. Um conjunto de dados pode conter palavras, números, imagens, interações do usuário, como cliques em um site, ou qualquer outra coisa que possa ser capturada e armazenada digitalmente. O sistema precisa caracterizar os elementos essenciais da consulta e, em seguida, combiná-los com os padrões detectados no conjunto de dados.

Se estiver tentando identificar uma flor, precisará saber o comprimento do caule, o tamanho e o estilo da folha, a cor e o número de pétalas, e assim por diante. Na realidade, serão necessários muito mais fatos do que esses, mas em nosso exemplo simples, vamos usá-los. Uma vez que o sistema conhece esses detalhes sobre o espécime de teste, ele inicia um processo de tomada de decisão que produz uma correspondência de seu conjunto de dados. Surpreendentemente, os sistemas de aprendizado de máquina criam a árvore de decisão por conta própria.

Um sistema de aprendizado de máquina aprende com seus erros, atualizando seus algoritmos para corrigir as falhas de raciocínio. As redes neurais mais sofisticadas são  redes neurais profundas . Conceitualmente, eles são formados por uma grande quantidade de redes neurais dispostas uma em cima da outra. Isso dá ao sistema a capacidade de detectar e usar até mesmo padrões minúsculos em seus processos de decisão.

As camadas são comumente usadas para fornecer ponderação. As chamadas camadas ocultas podem atuar como camadas “especializadas”. Eles fornecem sinais ponderados sobre uma única característica do assunto de teste. Nosso exemplo de identificação de flores pode talvez usar camadas ocultas dedicadas à forma das folhas, ao tamanho dos botões ou ao comprimento dos estames.

Diferentes tipos de aprendizagem

Existem três técnicas amplas usadas para treinar sistemas de aprendizado de máquina: aprendizado supervisionado, aprendizado não supervisionado e aprendizado por reforço.

Aprendizagem Supervisionada

A aprendizagem supervisionada é a forma de aprendizagem mais frequentemente usada. Não porque seja inerentemente superior a outras técnicas. Tem mais a ver com a adequação desse tipo de aprendizado aos conjuntos de dados usados ​​nos sistemas de aprendizado de máquina que estão sendo escritos hoje.

Recomendado:  Como ocultar endereços de e-mail em um grupo de contatos do Outlook

No aprendizado supervisionado, os dados são rotulados e estruturados de forma que os critérios utilizados na tomada de decisão sejam definidos para o sistema de aprendizado de máquina. Esse é o tipo de aprendizado usado nos sistemas de aprendizado de máquina por trás das sugestões de playlist do YouTube.

Aprendizagem Não Supervisionada

O aprendizado não supervisionado não requer preparação de dados. Os dados não estão rotulados. O sistema varre os dados, detecta seus próprios padrões e deriva seus próprios critérios de acionamento.

Técnicas de aprendizado não supervisionado têm sido aplicadas à segurança cibernética com altas taxas de sucesso. Os sistemas de detecção de intrusos aprimorados pelo aprendizado de máquina podem detectar a atividade de rede não autorizada de um intruso porque não corresponde aos padrões de comportamento previamente observados de usuários autorizados.

Aprendizagem por Reforço

O aprendizado por reforço é a mais nova das três técnicas. Simplificando, um algoritmo de aprendizagem por reforço usa tentativa e erro e feedback para chegar a um modelo ótimo de comportamento para atingir um determinado objetivo.

Isso requer feedback de humanos que “pontuam” os esforços do sistema de acordo com o fato de seu comportamento ter um impacto positivo ou negativo no alcance de seu objetivo.

O lado prático da IA

Por ser tão predominante e ter sucessos comprováveis ​​no mundo real, incluindo sucessos comerciais, o aprendizado de máquina foi chamado de “o lado prático da inteligência artificial”. É um grande negócio e há muitas estruturas comerciais escaláveis ​​que permitem incorporar o aprendizado de máquina em seus próprios desenvolvimentos ou produtos.

Se você não tem uma necessidade imediata desse tipo de poder de fogo, mas está interessado em explorar um sistema de aprendizado de máquina com uma linguagem de programação amigável como o Python, existem excelentes recursos gratuitos para isso também. Na verdade, eles serão escalados com você se você desenvolver um interesse adicional ou uma necessidade comercial.

Torch é uma estrutura de aprendizado de máquina de código aberto conhecida por sua velocidade.

Scikit-Learn  é uma coleção de ferramentas de aprendizado de máquina, especialmente para uso com Python.

Caffe é uma estrutura de aprendizado profundo, especialmente competente no processamento de imagens.

Keras  é uma estrutura de aprendizado profundo com interface Python.