Como já descrevemos, a Inteligência Artificial é a área da ciência da computação que desenvolve algoritmos que imitam o raciocínio humano e suas capacidades de tomar decisões, decifrar enigmas e perceber soluções novas. Dentro dessa área, a aprendizagem de máquina é apenas um subcampo, mas que se destaca grandemente e possuiu muitos avanços recentes. Seu destaque está na busca de regras e padrões por meio de um conjunto grande de dados, denominados de big data. Estas regras são estabelecidas em algoritmos genéricos, que definam informações sobre um composto de dados, que por conta de sua recorrência não mais necessitam de um código de programação específico para resolver aquele problema (Nilsson, 2013). Pelo contrário: o algoritmo desenha sua lógica a partir dos dados (fig. 2).
De forma bastante simplificada, ao invés de escrever um código para cada ação, o algoritmo genérico constrói sua própria lógica a partir de dados que são inseridos. (Geitgey, 2016).
50
Para Nilsson, algoritmos aprendizes apresentam uma lógica que é usualmente desenhada por 3 passos básicos, que começam com a identificação de um padrão ou modelo, a previsão e em seguida a avaliação de funcionamento do modelo. Cada fase recorre a dois possíveis caminhos. No primeiro passo (Pattern), pode seguir o caminho da inferência ou a predição (infere or predict). No segundo (Predict), do acerto ou a erro (arrow or loss). E por fim (Learn), do treinamento ou aprendizado (train or learn). Para cada modelo assumido, esses três passos são calculados e treinados em uma matriz que recebe os valores de pesos para cada especificidade (features), que assumem uma ou outra validação, de acordo com modelos cuja eficiência no resultado está diretamente relacionada a quantos milhões de dados forem imputados (Nilsson, 2013).
Como exemplo, segundo Adam Geitgey, imagine um aplicativo feito com algoritmo de aprendizagem que determina o preço de uma casa. Em um primeiro momento, é necessário ter uma base com milhões de preços dados a casas, que serve como o modelo (pattern). Diante disso, um padrão é estabelecido com uma matriz que possui os detalhes da casa e as especificidades (features), que são as colunas com características diferenciadoras das casas, como quantos quartos existem, se a localização é no centro etc. A partir desse modelo, no segundo passo da predição (predict) o algoritmo aplica pesos a cada especificidade, de acordo com predições que para ele dariam o preço para cada casa. Nesse caso, a álgebra é utilizada para providenciar os cálculos (fig. 3).
Nessa fase da predição, o algoritmo faz chutes dos pesos, com base estatística adquirida dos dados da matriz, que servem para definir a relevância de cada especificidade. Cada chute define um valor para o cálculo, que passa por uma validação externa, que gera um output de erro ou acerto. Com isso, seguem para a terceira fase da validação (learn): se o preço estiver certo, o algoritmo é treinado (train), caso não esteja é modificado (learn), para tentar novamente chegar a um melhor palpite (Geitgey, 2017).
Fig. 3: Exemplo de um algoritmo para a busca dos pesos, em que θ representa o peso vigente. J(θ) representa o ‘custo para o peso vigente’ (Geitgey, 2017).
51
Para compreensão mais simplificada, esmiuçaremos alguns tipos mais genéricos de algoritmos de aprendizagem, que são de aprendizagem supervisionada, aprendizagem não supervisionada e aprendizagem por reforço. A supervisionada é exatamente o exemplo citado acima, pois ocorre imputação de dados externos e validação das ações para encontrar uma função por meio de dados inseridos. Aqui, uma variável dependente descobre o relacionamento entre especificidades independentes (Nilsson, 2013). Ou seja, como no exemplo, ao usar um sistema de inputs e outputs, uma máquina aprende a relacionar o preço de uma casa com o tamanho dos quartos. Esta área da inteligência artificial concentra grande parte das aplicações com resultados mais expressivos, pois se tratam de problemas já bem entendidos.
Problemas de aprendizagem supervisionadas são classificados em regressão e classificação. Em um problema de regressão, a previsão é feita em cima de resultados com uma mesma continuidade e em categorias numéricas. Um exemplo de regressão seria uma previsão do preço da casa por meio de dados numéricos do seu tamanho. Um algoritmo classificador, no entanto, separa informações em diferentes grupos. O mesmo algoritmo de classificação pode ser usado para reconhecer um tumor cancerígeno pelo seu tamanho, ou ainda classificar um e-mail como SPAM. É o mesmo algoritmo, mas com as informações de dados específicas, adota um tipo diferente de classificação (Geitgey, 2016).
52
Já na aprendizagem não supervisionada, ainda segundo Geitgey, não temos dados que permitem uma ideia clara sobre os resultados, também por não saber exatamente o efeito das variáveis sobre os dados. Nestes casos, para resolver o problema buscam relações ao agrupar dados em clusters e tendências (Geitgey, 2017). Nesta aprendizagem, não há feedback externo ou uma orientação mais próxima. Como exemplo no mesmo cenário anterior, seria como se não soubéssemos o preço das casas descritas. Somente com os dados de localização e estrutura interna, no entanto, seria possível realizar várias combinações interessantes, como análises de imóveis para determinados perfis. Segundo Yann LeCun, diretor executivo do Fecabook, “enquanto a aprendizagem supervisionada é a cobertura do bolo, a não supervisionada é o bolo como um todo” (LeCun, 2016). Aqui existem possibilidades sem muita supervisão, mas com potencial surpreendente. Destaca- se inclusive os anúncios pagos via Faceboook, que são impulsionados por conta das interações e comentários, e são exemplos de aprendizagem não supervisionada.
Fig. 5: Parâmetros para a diferenciação de aprendizagem supervisionada e não supervisionada. (LeCun, 2016)
O terceiro tipo citado é a aprendizagem por reforço, que também ocorre com problemas que não possuem dados com uma resposta, mas que são elucidados a partir de uma metodologia de cálculo que considera tentativas e erros com recompensas. Estas aplicações têm trazido muitos avanços recentes, com aprendizados que levam em consideração a incerteza como um fator a ser considerado. A metodologia usa exemplos do clássico aprendizado por reforço estabelecido por Skinner, na teoria do
53
behaviorismo, que utiliza-se da ideia de recompensas e punições. Segundo ele, no condicionamento operante, um mecanismo é reforçado ao fazer com que uma resposta mais provável seja valorizada, ou ainda, uma mais frequente (Baum, 2008). Todos os grandes modelos são uma equação desenvolvida pela máquina para resolver um problema específico com base em dados, reforços e com uma fórmula de generalização.