Aprendizagem de máquina e reconhecimento de imagens

O termo “aprendizagem de máquina” é utilizado para se referir ao conjunto de técnicas computacionais onde são empregados algoritmos bio inspirados no comportamento do cérebro humano ou algoritmos¹ com bases estatísticas e matemáticas formais. Já discutimos alguns destes conceitos nesta postagem.

Há diferenças significativas entre o modelo de programação “tradicional” e o modelo empregado na aprendizagem de máquina sendo que a principal é: no modelo tradicional são programadas as regras e, considerando um conjunto de dados de entrada, o computador gera uma determinada saída; já no modelo de aprendizagem de máquina é apresentado ao computador o conjunto de dados de entrada e, opcionalmente, os dados de saída, a própria máquina é capaz de gerar as regras que regem tal fenômeno.

 

Para deixar mais claro considere o exemplo abaixo:

  • Para o modelo tradicional tem-se: Seja o conjunto de dados de entrada x e uma função matemática f(x). Em todas as execuções da função f(x) o computador gera um conjunto de saída y.

Considere o seguinte exemplo matemático:

É programada, hipoteticamente, a seguinte função de primeiro grau:

Suponha ainda que x possa possuir os valores x={1, 2, 3, 4, 5}. Desta maneira y={6, 7, 8, 9, 10}

  • Já para o modelo de aprendizagem de máquina: Seja o conjunto de dados de entrada x e o conjunto de dados de saída y. Neste caso a máquina aprenderia através dos dados de treinamento (x, y) qual a função matemática f(x) que melhor se ajusta ao modelo.

Da mesma maneira considere o exemplo matemático:

São apresentados os dados de entrada x={1, 2, 3, 4, 5} e y={6, 7, 8, 9, 10}. A máquina irá processar qual é a melhor função que se ajusta para este par entrada-saída e retornará, como resposta, a função.

 

Existem diversas técnicas de aprendizagem de máquina, desde as mais simples como a regressão linear (conforme exemplo anterior) até as mais sofisticadas como redes neurais artificiais e deep learning.

Seja qual for a técnica ela será empregada em uma das seguintes categorias de problema:

  • Classificação / agrupamento: a qual grupo o conjunto de dados pertence?
  • Regressão / Predição: dado o comportamento apresentado qual será o próximo?

Para o problema de classificação pode-se considerar, por exemplo, a apresentação de um conjunto de dados à máquina e classificar esses dados como pertencentes ao conjunto A ou B. Neste contexto insere-se a utilização de aprendizagem de máquina para tarefas de  reconhecimento de imagens.

A imagem abaixo apresenta um exemplo simples de solução de classificação para segmentação de objetos:

photo4938673226431703140

Já para o problema de regressão pode se considerar, por exemplo, o comportamento da cotação de uma determinada moeda e ações na bolsa de valores. Também estão no escopo desta categoria as predições de séries temporais, como, por exemplo, as utilizadas nas previsões de temperatura e possibilidade de chuva utilizadas amplamente pelos climatologistas.

O exemplo abaixo ilustra um problema de regressão linear:

regressão-linear

Fonte: Andrea Naspi Blog ²

 

Seja qual for a categoria do problema o modelo de aprendizagem de máquina sempre utilizará fortemente algum arcabouço matemático/estatístico. Fundamentalmente tudo que possa ser codificável pode ser aprendido por uma máquina. À esta propriedade dá-se o nome de “aproximador universal de funções”, ou seja, para a máquina uma aprendizagem nada mais é do que se aproximar-se, de maneira estatisticamente confiável, ao comportamento da função geradora original.

A figura abaixo ilustra o momento de treinamento de uma rede neural, relacionando a redução do erro obtido enquanto o treinamento avança com o aumento do intervalo de confiança do modelo em relação aos dados apresentados.

Fonte: RWTH Aachen University ³

 

Classifica-se ainda a maneira pela qual a máquina de aprendizagem irá aprender em 2 grupos: a aprendizagem supervisionada e a não supervisionada.

Na aprendizagem supervisionada o conjunto de dados de entrada e saída são apresentadas à máquina e um supervisor indica qual a correção deve ser feita a fim de que a aprendizagem ocorra (semelhante ao que ocorre com o Google Translator onde o usuário é capaz de indicar uma tradução melhor do que a que foi apresentada). O diagrama abaixo retrata o fluxo básico da aprendizagem supervisionada:

_diagramaBlocosAprendizagemMaquina

Fonte: Elaborado pelo autor

 

Por outro lado pode ser desejável que a própria máquina indique os resultados sem a interferência de um supervisor. Neste caso a máquina “toma a decisão” baseada em dados históricos para gerar sua predição.

Como exemplo de método de aprendizagem supervisionada destaca-se as soluções baseadas em redes neurais artificiais (RNAs) com algoritmos de gradiente descendente. Como exemplo de método de aprendizagem não supervisionada destacam-se as soluções de agrupamento K-Means ou Fuzzy c-means.

Nós da Enacom aplicamos esses conceitos a todo momento, como no exemplo mostrado neste post sobre visão computacional.

 

¹ Algoritmo é uma sequência finita de passos que visam solucionar uma determinada classe de problema.

² Disponível em: <andreanaspi95.wordpress.com/2018/12/20/research-9-correlation-and-regression-line/> Acesso em mar. 2019.

³ Disponível em: <www.vision.rwth-aachen.de/media/course/SS/2016/machine-learning/ml16-part08-linear_svms.pdf> Acesso em mar. 2019.

Referências:

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *