Machine Learning: Um admirável mundo novo

Rodrigo Brigham

Ex Presidente do IBC

18 dedezembrode 2022

"Muito se fala sobre as suas [machine learning] infinitas possibilidades e como já está a moldar o mundo que vivemos."

Nos dias que correm é cada vez mais comum depararmo-nos com os termos “inteligência artificial”, Big Data, Smart Data, “redes neurais”, “segmentação”, etc. Um que é mencionado com particular frequência é Machine Learning. Muito se fala sobre as suas infinitas possibilidades e como já está a moldar o mundo que vivemos. No entanto, para a maioria das pessoas que não envergou num curso ou numa especialização ligado de alguma forma à ciência de dados, o termo é provavelmente mais visto como um potencial artigo interessante para se ler no futuro. Ora, este pode ser esse artigo. E o futuro, com ajuda de Machine Learning, está cada vez mais perto.

Em 2021, a PwC realizou um estudo onde concluiu que em 86% dos indivíduos contactados, Machine Learning e inteligência artificial era já uma parte intrínseca do dia a dia no trabalho da sua empresa. Modelos avançados de tratamento de dados são cada vez mais comuns, mas como surgiu esta revolução? Comecemos pela definição do conceito.

Machine Learning é um ramo de ciência de dados e computadores que se foca na utilização de data e algoritmos para tentar recriar o processo de aprendizagem humano em sistemas de computação. De forma semelhante à de como o nosso cérebro adquire conhecimento e entendimento de causa, os processos de Machine Learning estão dependentes de inputs como dados de treino e regras que estabelecem conexões entre as várias entidades do problema. À medida que estudamos mais sobre um determinado tópico, à partida, melhor o entendemos, e, de forma semelhante, à medida que alimentamos a aprendizagem dos computadores com mais dados, a sua precisão deverá aumentar. Os algoritmos procuram padrões nos dados de forma a poderem realizar algum tipo de inferência no futuro com base no que aprenderam. O principal foco de Machine Learning é permitir que os sistemas possam aprender de forma autónoma e com a menor intervenção humana direta possível.

O termo Machine Learning foi inicialmente cunhado por Arthur Samuel, engenheiro da IBM, em 1959. Arthur tinha-se inspirado pelo trabalho de Claude Shanon, que, aparentemente, tinha sido capaz de desenvolver um programa de computador capaz de jogar xadrez eficazmente. Armado com o pensamento de que um trabalho já tinha sido concretizado em xadrez e motivado pelo campeonato mundial de damas que se iria realizar na cidade vizinha, Samuel decidiu começar a trabalhar num programa que fosse capaz de competir e potencialmente vencer o torneio.

No entanto, em 1949, Arthur Samuel viajou para se encontrar com o Professor Claude Shanon e foi aí que entendeu que este não tinha de facto criado um sistema capaz de jogar xadrez, e estava apenas a falar disso como uma ideia conceptual e de forma genérica. Arthur compreendeu que construir algo capaz de jogar estes jogos seria valioso pois daria a estrutura necessária para se resolver outros problemas estratégicos no futuro, e tendo já bastante trabalho avançado sozinho, decidiu continuar a navegar num ramo desconhecido.

I became so intrigued with this general problem of writing a program that would appear to exhibit intelligence that it was to occupy my thoughts during almost every free moment for the entire duration of my employment by IBM and indeed for some years beyond.” — Arthur Samuel

 

O Professor Arthur Samuel implementou o seu primeiro algoritmo alfa-beta no computador IBM 704. Utilizando algo semelhante ao que hoje chamamos algoritmos de Reinforcement Learning, criou uma função de perda capaz de calcular uma potencial probabilidade de vencer o jogo com base na posição atual dos jogadores no tabuleiro, tendo em conta diversos fatores relevantes num jogo de damas como o número de peças em cada lado do tabuleiro, a distância ao fim da linha… etc

Em 1962, o programa de Samuel competiu em direto contra o melhor jogador de damas do mundo, Robert Nealey. Tendo apenas saído vencedor em um dos vários jogos que realizaram, foi uma vitória monumental para o mundo da computação e um primeiro passo na revolução que se iria seguir.

De forma genérica, há essencialmente 3 grandes ramos em Machine Learning – Supervised Learning, Unsupervised Learning e Reinforcement Learning – cada um relacionado com um tipo de problema específico a abordar. De notar que ainda há um outro grande ramo, Semi-Supervised Learning, que é um ponto intermédio entre supervised e unsupervised.

Supervised Learning

Supervised Machine Learning é caracterizado pela utilização de um data set para treinar os algoritmos que tem uma variável especifica denominada target / objectivo que está labeled, ou seja, sabemos o valor dessa variável em cada uma das observações de treino oferecidas. O que se pretende é que o output do nosso algoritmo de aprendizagem seja capaz de retornar uma função cujo output seja o valor do target numa observação futura. Um exemplo prático e bastante utilizado nos dias de hoje é a capacidade da nossa caixa de email detetar o que é ou não é spam, com base num conjunto de treino de emails que se sabiam inicialmente serem ou não lixo. Ao analisar estes dados – cujo valor da variável target era conhecido – o algoritmo de aprendizagem infere uma função capaz de caracterizar futuros emails como sendo spam ou não, com um certo nível de precisão. É até possível comparar os outputs do algoritmo versus os valores realmente observados de forma a encontrar potenciais erros ou modificar o modelo para melhor. Alguns dos principais algoritmos utilizados incluem redes neurais, algoritmos bayesianos, regressão linear, regressão logística e support vector machines.

Unsupervised Learning:

Unsupervised Learning é um conjunto de técnicas utilizadas para treinar algoritmos cujos dados não têm um variável target especificada e, portanto, não estão labeled. Essencialmente este ramo estuda a forma como sistemas podem inferir estruturas aparentemente escondidas nos dados. A capacidade destes métodos de encontrar similitudes e diferenças nos dados tornam nas ferramentas essenciais para exploração de data sets, segmentação e clustering de clientes, reconhecimento de imagens, etc. O sistema não sabe em momento algum, com certeza, o output de um dado de treino, ao contrário do que acontece em Supervised Learning, mas infere através dos dados o que esse tal output poderia ser. Alguns dos algoritmos mais conhecidos incluem também redes neurais, k-means e as suas variantes, e modelos de clustering probabilísticos. Estes tipos de métodos também são usados de forma a potencialmente reduzir a dimensionalidade dos dados, através de técnicas com PCA (Principal Component Analysis) e SVD (Singular Value Decomposition). Quantas mais variáveis um modelo tiver, maior é a possibilidade de caracterização dos dados, mas também é maior a dimensão planar em que os pontos se dispersam, o que dificulta não só a visualização dos dados, mas também a própria possibilidade de estes se aglomerarem. A este conceito costuma-se dar o nome The  Curse of Dimensionality.

Reinforcement Learning:

Algoritmos de Reinforcement Learning caracterizam-se por interagir com o seu ambiente virtual e produzirem ações, que podem depois ser recompensadas ou penalizadas. De certa forma tem algumas semelhanças com Supervised Learning, com a diferença essencial de que o algoritmo não treina com nenhum data set, produzindo apenas ações por tentativa e erro. Estes métodos permitem ao sistema determinar automaticamente o comportamento ideal dado um contexto específico e maximizar a sua performance através da função de recompensas do sistema. Alguns dos principais exemplos são o sistema IBM Watson que venceu o prémio Jeopard! em 2011 e o icónico IBM Deep Blue que venceu o lendário Garry Kasparov após 2 jogos de 6 partidas de xadrez em 1997.

Como referido anteriormente, sistemas alimentados por Machine Learning são frequentemente utilizados no dia a dia e as suas potencialidades continuam a expandir. Estes métodos permitem hoje processar de forma rápida bases de dados gigantes – o conhecido Big Data – e delas extrair conhecimento e conclusões. Permitem operacionalizar round-the-clock através da automatização de processos de trabalho, mas também permitem a colaboração direta entre humanos e computadores de forma a aumentar a sua eficiência. Além disto, estão ainda presentes na nossa vida diária em formas tão simples como os algoritmos de recomendação de filmes da Netflix ou de músicas no Spotify. Aliás, deixo a recomendação de explorarem a playlist ‘Discovery Weekly’ no Spotify e verem em primeira mão o que um algoritmo de Unsupervised Learning poderá ter inferido através dos vossos hábitos de música diários. Após sabermos, por alto, como funcionam estes processos, é difícil não ver a sua aplicabilidade em praticamente todas as áreas que possamos imaginar. Inteligência artificial vai ser potencialmente o próximo grande passo do humano, e a única forma de uma máquina adquirir inteligência, é aprendendo.

 

“I am telling you, the world’s first trillionaires are going to come from somebody who masters AI and all its derivatives ,and applies it in ways we never thought of.” Mark Cuban ,American entrepreneur and investor

Referências:

https://www.pwc.com.au/digitalpulse/ai-predictions-2021-report.html

https://machinelearningmastery.com/what-is-semi-supervised-learning/

https://www.ibm.com/cloud/learn/machine-learning

https://medium.com/ibm-data-ai/the-first-of-its-kind-ai-model-samuels-checkers-playing-program-1b712fa4ab96