Qual é o principio de funcionamento de um algoritmo de inteligência artificial ?

Pierre Guillou
4 min readMay 2, 2018

--

Fonte da imagem : “An Efficient Denoising Architecture for Removal of Impulse Noise in Images

Este post faz parte de uma série de publicações relacionadas à palestra de Pierre Guillou do 26/04/2018 em Brasília sobre a Inteligência Artificial, sua realidade e seu impacte na democracia (slides, post precedente : “Impactos da Inteligência Artificial na democracia”, post seguinte : “Como treinar um algoritmo de inteligência artificial (IA) na área do direito ?”).

Como converter informações em números

De fato, a questão deste post fala sobretudo de como converter informações em números (dados como imagens, vídeos, sons, textos, tabelas…).

Por quê ? Na prática, o funcionamento de um algoritmo de IA é um cálculo de uma probabilidade, resultando da multiplicação de um vetor de entrada com milhões de parâmetros cujos valores foram encontrados pelo treinamento.

E ai, uma IA precisa somente de números.

Caso de uma imagem

No caso de uma imagem digitalizada por exemplo, cada parte da imagem (se chama pixel ou quadrado de base) é definida por um número próprio que dá a sua cor, e a série desses números se chama vetor.

E ai, se uma imagem não pode ser usada como entrada de um algoritmo de IA, um vetor de números pode. Ele será manipulado por funções matemáticas para calcular a probabilidade que a imagem correspondente seja um rosto por exemplo.

Machine Learning vs Deep Learning

Slide da palestra do Pierre Guillou (26/04/2018)

Há 2 categorias de algoritmos de IA : Machine Learning (ML) e Deep Learning (DL ou Rede Neural Profunda).

Os do ML precisam de uma preparação dos variáveis a treinar por especialistas do setor relacionado aos dados, enquanto os do DL não precisam. Por isso (mas não só por isso), cada vez mais pessoas usam os algoritmos do DL.

(Etapa 1) Converter os dados em vetores de números

Slide da palestra do Pierre Guillou (26/04/2018)

A primeira etapa é de converter os dados em vetores de números como explicado no início deste post.

(Etapa 2) Treinar a aprender em vez de programar

Slide da palestra do Pierre Guillou (26/04/2018)

À diferença da informática clássica em que a gente tenta escrever um código com todas as possibilidades ou a lista de características do tema em causa, a gente vai treinar uma Rede Neural Profunda (RNP) com dados qualificados (“dado qualificado” significando que conhecemos o resultado : uma imagem de gato ou não, seja 1 ou 0 na fala de um algoritmo de IA).

Desse treinamento, a RNP vai detectar e extrair os parâmetros desses dados, o que permitirá no futuro de classificar corretamente novos dados.

Nota : no caso de uma classificação de imagens de gatos e cachorros, o código da informática clássica seria a lista de todas as suas características… mas uma questão : isso é possível ? De fato, não.

(Etapa 3) Poder e velocidade de computação (GPU)

Agora que temos dados e metodologia de aprendizado (o treinamento), precisamos de poder de computação para os cálculos da RNP.

Desde 2010, isso não é mais um problema com o uso dos GPU (Unidade de Processamento Gráfico) da empresa NVIDIA.

RNP : rede que aprende com seus erros

Et voilà ! Agora, podemos treinar um RNP (algoritmo de Deep Learning) com dados qualificados usando um ou várias GPU para calcular probabilidades. Essas permitirão de calcular o erro da rede a dar a boa resposta, erro que servirá a melhorar os valores dos parâmetros da rede usando o BackPropagation do gradiente do erro.

--

--

Pierre Guillou

AI, Generative AI, Deep learning, NLP models author | Europe (Paris, Bruxelles, Liège) & Brazil