Inteligência Artificial
A Inteligência Artificial (IA), do inglês Artificial Intelligence, é uma área da ciência da computação que possui como objetivo desenvolver algoritmos capazes de realizar tarefas que anteriormente seriam realizadas por humanos.
Um algoritmo é basicamente um conjunto de regras para serem seguidas para a resolução de um problema.
Uma IA pode ser utilizada para a tomada de decisões e a resolução de problemas, tudo isso de modo autônomo, ou seja, sem a intervenção de humanos no processo.
Entretanto, a Inteligência Artificial pode ser facilmente confundida com outras áreas, nesta publicação iremos entender as semelhanças e diferenças que existem entre tópicos relacionados à IA, como Aprendizado de Máquina (Machine Learning), Redes Neurais Artificiais (Artificial Neural Network) e Aprendizado Profundo (Deep Learning).
Aprendizado de máquina
O Aprendizado de Máquina (AM) é uma subárea da inteligência artificial, no qual os algoritmos são construídos e em seguida alimentados com dados. Dessa forma, os algoritmos utilizam esses dados para aprender uma determinada tarefa, sem que haja intervenção humana no processo de aprendizagem.
Basicamente, o aprendizado de máquina é um dos diversos métodos existentes dentro da inteligência artificial para a criação de algoritmos autônomos com a capacidade de aprender e se adaptar de acordo com as variáveis.
Redes Neurais Artificiais
Uma Rede Neural Artificial (RNA) é um tipo de modelo de aprendizado de máquina que simula o comportamento e o funcionamento do cérebro humano.
Uma RNA é capaz de solucionar problemas complexos por meio de unidades de processamento chamadas neurônios, que recebem entradas e produzem uma saída.
Os neurônios biológicos são células que reagem a estímulos do meio no qual se encontram, por meio da alteração na diferença de potencial elétrico existente na superfície interna e externa da membrana celular. Por meio desses estímulos, a mudança de potencial é propagada a outros neurônios, músculos e glândulas. Dessa forma, os neurônios possuem uma função essencial no funcionamento, comportamento e raciocínio dos seres vivos.
Um neurônio artificial é uma estrutura lógico-matemática que tem por objetivo simular o comportamento e funcionamento de um neurônio biológico, realizando o processamento a partir de diversas entradas e fornecendo saídas. Esses neurônios estão conectados e organizados em camadas formando uma rede, onde as entradas são fornecidas à camada de entrada, e as saídas são obtidas na camada de saída que, dessa forma, podem ser treinadas para reconhecer padrões nos dados.
A ideia base de uma RNA é realizar o processamento de informações tendo como princípio a organização de neurônios do cérebro. Contudo, uma RNA possui uma quantidade de neurônios muito menor quando comparado ao cérebro humano (Um cérebro humano possui bilhões de neurônios).
Uma sinapse é o nome dado à conexão existente entre os neurônios e nessas conexões são atribuídos valores, que são chamados de pesos sinápticos, que determinam o grau de conectividade entre os neurônios. Além disso, cada neurônio realiza um processamento de forma isolada e paralela aos outros, com isso o resultado é encaminhado aos próximos neurônios através das conexões.
O treinamento da RNA envolve ajustar os pesos sinápticos das conexões entre os neurônios com o objetivo de melhorar o desempenho do modelo, fazendo com que o modelo possa aprender a mapear as entradas para as respectivas saídas, minimizando a diferença entre as saídas previstas e as saídas reais.
A figura abaixo apresenta a arquitetura de uma rede neural artificial com uma camada de entrada, duas camadas ocultas/intermediárias e uma camada de saída. A partir desta configuração, cada neurônio está ligado com todos os outros neurônios das camadas vizinhas em uma comunicação unidirecional (Neurônios da mesma camada não se comunicam). Redes neurais comuns se baseiam na arquitetura denominada como feedforward, no qual representa um fluxo de informações unidirecional, não existindo nenhum tipo de ciclo. Os estímulos/sinais são apresentados à rede pela camada de entrada e são propagados para frente sem nenhuma alteração.
Os sinais de entrada (input signal) chegam a partir da camada de entrada (input layer) da rede e se propagam adiante, neurônio por neurônio, até a camada de saída (output layer), onde resultam os sinais de saída (output signal).
Os dados que serão processados são passados aos neurônios da camada de entrada, os valores são multiplicados pelos respectivos pesos e passados em sequência aos neurônios da próxima camada com a qual possui conexão direta. As redes neurais geralmente são organizadas em camadas, com cada camada possuindo um ou mais neurônios, e as saídas dos neurônios são combinadas, utilizando a função de ativação, e usadas como entradas dos neurônios da próxima camada.
O desempenho de uma RNA na resolução de um problema é determinado através da sua arquitetura, no qual é especificado a quantidade e forma de ligação dos neurônios, o peso das conexões e o número de camadas.
Uma Rede Neural Artificial pode ser dividida em três fases principais para resolução de um problema:
➤ Treinamento: A partir de padrões de entrada o modelo treina, tenta resolver o problema e gera padrões de saída
➤ Teste: Os padrões de entrada são apresentados ao modelo e as saídas obtidas são comparadas às saídas desejadas
➤ Aplicação: O modelo é utilizado para resolver um determinado problema
Assim como o cérebro humano, as RNAs possuem capacidade de interagir com o meio externo e adaptar-se a ele, o que permite que sejam utilizadas em diversas áreas de aplicação, como engenharia, economia, agronomia e medicina solucionando alguns problemas como classificação, categorização, estimativa, previsão e diversos outros casos.
Aprendizado Profundo
O Aprendizado Profundo (AP) é uma subárea do aprendizado de máquina que se baseia na utilização de redes neurais artificiais com mais de uma camada oculta (também chamada de camada intermediária).