O que é Machine Learning (ML) e Artificial Intelligence (AI)?

Têm existido ultimamente muitas notícias relativas a Inteligência Artificial (IA/AI).

Quando lemos as mesmas (ML e AI), ficamos por vezes com a sensação que é algo “místico” ou que “resolve tudo”, por isso resolvemos tentar ajudar a clarificar.

Definições:

O “Machine Learning” (ML) é um campo de investigação dedicado a compreender e construir métodos que “aprendem” – ou seja, métodos que utilizam dados para melhorar o desempenho nalgum conjunto de tarefas. É visto como parte da Inteligência Artificial (AI).

Os algoritmos de ML constroem um modelo com base em dados de amostra, conhecidos como dados de treino, para fazer previsões ou decisões sem serem explicitamente programados para isso. Algoritmos de ML (modelos heurísticos) são usados numa ampla variedade de aplicações, como na medicina, filtragem de e-mail, reconhecimento da fala, agricultura e visão computacional, onde é difícil ou inviável desenvolver algoritmos convencionais para executar as tarefas necessárias.

Um subconjunto de ML está intimamente relacionado à estatística computacional, que se concentra em fazer “previsões” usando computadores, mas nem todo ML é estatístico. O estudo da otimização matemática fornece métodos, teoria e domínios de aplicação para o campo do ML. A mineração de dados é um campo de estudo relacionado, com foco na análise exploratória dos dados por meio da aprendizagem não supervisionada.

Na sua aplicação em problemas de negócio, o ML também é conhecido como análise predictiva, muito utilizado na Bolsas de Valores.

Na prática, sempre que se adiciona uma nova entrada ou condição a uma aplicação, e onde esta possa ser depois extrapolada estatisticamente, está-se a utilizar ML.

A inteligência artificial (IA/AI) é a inteligência — percebendo, sintetizando e inferindo informações — demonstrada por máquinas, em oposição à inteligência exibida por animais não humanos e humanos. Tarefas de exemplo nas quais isso é feito incluem reconhecimento da fala, visão computacional, tradução entre idiomas (naturais), bem como outros mapeamentos de entradas.

Os aplicativos de IA incluem mecanismos avançados de pesquisa na Web (por exemplo, Pesquisa do Google), sistemas de recomendação (usados pelo YouTube, Amazon e Netflix), compreensão da fala humana (como Siri e Alexa), carros autónomos (por exemplo: Waymo), tomada de decisão automatizada, fazendo e competindo no mais alto nível em sistemas de jogos estratégicos (como xadrez e Go).

À medida que as máquinas se tornam cada vez mais capazes, as tarefas consideradas como exigindo “inteligência” são frequentemente removidas da definição de IA, um fenómeno conhecido como “efeito IA”. Por exemplo, o reconhecimento óptico de caracteres é frequentemente excluído de coisas consideradas IA, tendo-se tornado uma tecnologia de rotina.

Os vários subcampos de pesquisa da IA estão centrados em objetivos específicos e no uso de ferramentas específicas. Os objetivos tradicionais da pesquisa de IA incluem raciocínio, representação de conhecimento, planeamento, aprendizagem, processamento de linguagem natural, percepção e capacidade de mover e manipular objetos, metas de longo prazo. Para resolver esses problemas, os programadores de IA adaptaram e integraram uma ampla gama de técnicas matemáticas para resolução de problemas.

Desenvolvimento explicativo:

Recomendo para testes, utilizarem (uma opção nossa) Python (https://www.python.org/ ), adicionando as bibliotecas científicas de analise matemática, que estão disponíveis por exemplo na biblioteca Anaconda (https://www.anaconda.com/ ).

AI não é “bruxaria” ou algo “místico”, é sim e apenas racionalismo e matemática.

De forma a desmitificar, vamos abordar os 3 principais componentes (na nossa opinião) de AI e explicar, com exemplos fáceis e simples (não código), o seu conceito.

Aproximação estatística de funções derivadas de “nuvens de dados”:

Sempre que se tem um volume de dados, é sempre possível fazer uma aproximação a uma função (quanto mais dispersa, maior o seu “desvio padrão”), onde se vai adicionar por recursividade a um novo componente diferencial; para isso é vulgar utilizar Polinómios de Chebyshev.

Exemplo: Reconhecimento de imagem, querendo identificar uma forma, se for conseguido um polinómio de aproximação da “nuvem de dados” (pixéis), então pode-se comparar com uma biblioteca de outros, de forma a encontrar outro similar, se existir.

Determinar operações quânticas e simples:

Tudo é constituído por um conjunto de algoritmos matemáticos simples e bem identificados, utilizados nas operações (do dia a dia).

Exemplo: Atravessar uma rua, um caso de simples trigonometria.

Temos 2 olhos, ou seja, podemos, através do angulo de cada um focado num objecto, determinar a distância do mesmo.

Fazendo 2 medidas, podemos estimar a sua velocidade, tempo de chegar a nós e se vem na nossa direcção; também conseguimos avaliar a distância até ao outro lado da rua e a nossa velocidade necessária; assim, toma-se a decisão de atravessar ou não e em que condições.

Se errarmos nos cálculos… vamos ser atropelados.

Adicionar novas características de dados:

Uma característica que começou nos anos 90 com o LISP.

Ou seja, a não distinção entre o código original do programa e os dados recolhidos, obriga, portanto, a que o programa seja em simultâneo compilado e interpretado.

Exemplo: Ao correr um programa, adiciona-se um novo registo que pode ser “olhosdistancia”, onde se inserem como características: “olhosdistancia.distfocal” (que é a distancia entre os olhos), “olhosdistancia.angulodir” e “olhosdistancia.anguloesq” (como os ângulos que cada um dos olhos efectua no foco ao objecto) e “olhosdistancia.calculo” (com a função trigonométrica para calculo da distancia).

Agora, que já temos o objecto “olhosdistancia” disponível, assim como os seus cálculos, podemos utilizá-lo sem restrições, podendo depois o código decidir se vai atravessar uma rua ou não.

.

Conclusões:

Todo o que é repetitivo e previsível, pode ser implementado:

  • Diagnósticos médicos;
  • Diagnósticos administrativos;
  • Operações de rotina (exemplo: condução e validação);
  • Funções não criativas ou apenas pseudo-criativas.

etc

Tudo o que é realmente criativo, está fora do conceito (pelo menos até agora):

  • Investigação científica pura (matemática, física, etc);
  • Criação de inovação pura;
  • Decisões não automáticas e previsíveis;
  • Funções criativas.

etc

Quando eu era estudante universitário, dizia-se que o LISP mudava a mente das pessoas/programadores: é verdade, mas alargamos a tudo o que envolve AI, pois, o racionalismo é absoluto, não existe espaço para “intuições”, “fés” ou outros similares.

Criando limitações (pelo menos por enquanto, devido a limitações de processamento) a criações absolutamente novas (como a investigação realmente científica), o que acontece nas decisões de múltiplas variáveis dependentes do dia a dia das organizações.

Do mesmo modo, e na mesma época, fiz um programa simples:

  • era dado um acidente de viação e algum diagnóstico preliminar;
  • qual e de onde enviar a ambulância com o máximo de eficiência;
  • em muitos casos simplesmente não se enviava, pois, quando lá chegasse a vítima já tinha estatisticamente falecido, acarretando, deste modo, uma perda de recursos ou a sua indisponibilidade comprometida.

Conclusão: Não se esperem decisões “humanas” sem correlação demonstrável, daí a importância da decisão humana e esclarecida.

Assim, não é possível substituir o humano nos “ciclos de decisão” mais abstratos (por exemplo: quais os Processos e Metodologias a mitigar em Segurança de Informação), ou com mais variáveis não quantificáveis (por exemplo: qual o rumo a seguir numa decisão estratégica).

Se “alguém” espera ou deseja que a máquina tome decisões por si, ou que execute a sua função; então tem um real problema “existencial”, pois, ou a sua função é desnecessária, ou mesmo esse “alguém” não está qualificado para as suas funções.

Dá que pensar?!!

No projecto Sentinelya (https://sentinelya.com ), não se pretende substituir o humano, mas sim:

  • aglomerar toda a informação de monitorização distribuída de modo a ficar disponível centralmente;
  • utilizar o ML para classificar a mesma e ajudar na aplicação de diferentes metodologias;
  • utilizar a AI de modo a dar informação preditiva de ajuda à decisão.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *