Machine Learning: Como as máquinas aprendem

É sábado a noite e você decidiu ficar em casa para assistir um filme


04/02/2015
É sábado a noite e você decidiu ficar em casa para assistir um filme. Enquanto alguém vai estourar a pipoca, você decide que essa é a noite de Gravidade, filme de Alfonso Cuarón de 2013. Você assiste e decide dar 5 estrelas pro filme, por que você, além de ter gostado, está de bom humor e lembrou que tem sorvete na geladeira. No sábado seguinte, o Netflix recomenda que você assista 2001 - Uma Odisséia no Espaço, e você aceita, percebendo no final que foi uma boa recomendação mesmo. Com base nesse seu feedback, outra pessoa receberá sugestões de filme, e o Netflix saberá em seu banco de dados que vocês dois tem gostos parecidos, e o que um gosta, o outro deve gostar também. formulasecalculosCom o Spotify não é diferente; se você ouve Foo Fighters, as estatísticas do serviço sabem que outros usuários que ouvem essa banda também gostam de Pearl Jam, e você receberá essas recomendações em seguida. Entretanto, existem exceções, como o sertanejo universitário, em que o sistema desiste de coletar estatísticas e se desliga. (Aos sertanejos: as equipes técnicas garantem que estão trabalhando incessantemente para resolver esse problema.) Estes são apenas alguns exemplos de uma aplicação simples de Machine Learning, ou Aprendizagem de máquina, voltada para sistemas de recomendação. Machine Learning é um ramo do estudo para desenvolvimento de inteligência artificial, que tenta fazer com que máquinas "aprendam" certas tarefas e as executem por si só. Os exemplos acima tentam ser didáticos, e a implementação real desses sistemas é obviamente mais complexa do que comparar os gostos de duas pessoas. O fato de produzirmos um volume gigantesco de informações a cada instante torna as aplicações de Machine Learning cada vez mais interessantes e necessárias. Mas sistemas de recomendação são um uso básico da aprendizagem de máquina. Os carros sem motorista, como o que a Google está testando, ou carros com funcionalidades inteligentes para prevenção de acidentes e para assumir algumas atividades de direção, como o novo Model S (Tesla), fazem uso extensivo de Machine Learning em várias aplicações. Além disso, as aplicações na medicina tem sido frequentes, auxiliando a classificar tumores e doenças. O processamento de linguagem natural (como a Siri, do iPhone) e a classificação e sugestão de buscas, como feito por Google e Bing, são mais algumas aplicações de Machine Learning. E existem muuuitos outros exemplos. Esse artigo poderia ser composto somente da menção a cada aplicação, e ainda assim estaríamos excluindo várias outras. Fórmulas e cálculos Quando comecei a estudar Machine Learning, lembrei de uma pergunta que sempre me fazia nas aulas  de álgebra e matemática em geral: quando vou usar todas essas equações e símbolos? E acontece que agora estou usando. Para permitir que um computador "aprenda" e execute todas essas tarefas, Machine Learning faz uso de álgebra linear, cálculos e fórmulas cabeludas -- e algumas são aquelas que aprendemos na escola ou na faculdade e não sabíamos pra que serviam. Mencionei isso por que se você tem filhos e eles estão nessa fase de questionamentos fundamentais da matemática, explique que, se enveredarem para uma área científica ou de engenharia, é uma questão de tempo até que eles se deparem com uma situação em que precisem aplicar. Mas... E nós? Mas o que o Alfonso Cuarón, Sandra Bullock, Pearl Jam e Foo Fighters tem a ver com a Systêxtil? Tenho certeza que poderíamos traçar algumas comparações remotas, mas a resposta curta é: nada. Mas Machine Learning tem. Imagine aquele planejamento de ordens de tingimento, em que o PCP considera algumas variáveis (cliente, cor, fibra, última cor tingida pelo equipamento etc) e decide a máquina ideal e a data para produção. Agora imagine que o sistema possa aprender com essas programações, a ponto de poder realizá-las sozinho, ou com um mínimo de acompanhamento. Imaginou? E se, assim como mencionamos antes, construíssemos sistemas de recomendação para indicar antecipadamente quais produtos podem interessar a determinado cliente e que, portanto, merecem destaque? E se o sistema pudesse processar linguagem natural, de forma que pedidos e ordens fossem preparados utilizando o texto de um e-mail recebido, por exemplo? (Se quiser ler mais sobre processamento de linguagem natural, e estiver disposto a aturar mais alguns parágrafos desse tipo de prosa, tem um post no meu blog mostrando como apliquei isso num projeto para controle financeiro pessoal através de tweets.) Esses foram alguns exemplos que lembrei agora, e enquanto a abrangência pode ser muito maior, essa ciência de converter dados em inteligência está em franca evolução, e é provável que muitas barreiras que existem hoje sejam transponíveis amanhã ou depois. Agora em Janeiro mesmo o pessoal comemorou um avanço bem legal num algoritmo de reconhecimento de imagens. As atividades que delegamos aos computadores não exigem que eles sejam perfeitos; eles precisam ser apenas melhores do que nós. Por outro lado, muitas tarefas não podem ser executadas sem que exista um cérebro humano por trás, e talvez nunca sejam. Aqueles robôs super inteligentes, assassinos, que dão canseira no Will Smith e fazem o Schwarzenegger parecer jovem, só no Netflix para você assistir no sábado a noite -- pelo menos por enquanto. E isso, claro, não é ruim.

Inscreva-se para receber novidades