Inteligência Artificial - Redes Neurais

Ainda outra área de pesquisa em IA, redes neurais, é inspirada na rede neural natural do sistema nervoso humano.

O que são redes neurais artificiais (RNAs)?

O inventor do primeiro neurocomputador, Dr. Robert Hecht-Nielsen, define uma rede neural como -

"... um sistema de computação composto de vários elementos de processamento simples e altamente interconectados, que processam informações por sua resposta dinâmica de estado a entradas externas".

Estrutura básica das RNAs

A idéia das RNAs é baseada na crença de que o funcionamento do cérebro humano, fazendo as conexões certas, pode ser imitado usando silício e fios como neurônios e dendritos vivos.

O cérebro humano é composto por 86 bilhões de células nervosas chamadas neurônios. Eles estão conectados a outras mil células pelos axônios. Estímulos do ambiente externo ou insumos de órgãos sensoriais são aceitos pelos dendritos. Essas entradas criam impulsos elétricos, que viajam rapidamente através da rede neural. Um neurônio pode então enviar a mensagem para outro neurônio para lidar com o problema ou não o envia adiante.

Estrutura do neurônio

As RNAs são compostas por múltiplos nós , que imitam os neurônios biológicos do cérebro humano. Os neurônios são conectados por links e interagem entre si. Os nós podem receber dados de entrada e executar operações simples nos dados. O resultado dessas operações é passado para outros neurônios. A saída em cada nó é chamada de ativação ou valor do nó.

Cada link está associado ao peso. As RNAs são capazes de aprender, o que ocorre alterando os valores de peso. A ilustração a seguir mostra uma simples RNA -

Uma RNA típica

Tipos de redes neurais artificiais

Existem duas topologias de redes neurais artificiais - FeedForward e Feedback.

FeedForward ANN

Nesta RNA, o fluxo de informações é unidirecional. Uma unidade envia informações para outra unidade da qual não recebe nenhuma informação. Não há loops de feedback. Eles são usados na geração / reconhecimento / classificação de padrões. Eles têm entradas e saídas fixas.

FeedForward ANN

FeedBack ANN

Aqui, loops de feedback são permitidos. Eles são usados em memórias endereçáveis de conteúdo.

FeedBack ANN

Trabalho de RNAs

Nos diagramas de topologia mostrados, cada seta representa uma conexão entre dois neurônios e indica o caminho para o fluxo de informações. Cada conexão tem um peso, um número inteiro que controla o sinal entre os dois neurônios.

Se a rede gerar uma saída "boa ou desejada", não há necessidade de ajustar os pesos. No entanto, se a rede gerar uma saída "ruim ou indesejada" ou um erro, o sistema altera os pesos para melhorar os resultados subsequentes.

Aprendizado de Máquina em RNAs

As RNAs são capazes de aprender e precisam ser treinadas. Existem várias estratégias de aprendizado -

  • Aprendizado supervisionado - Envolve um professor que é um estudioso do que a própria RNA. Por exemplo, o professor fornece alguns exemplos de dados sobre os quais o professor já conhece as respostas.

    Por exemplo, reconhecimento de padrões. A RNA apresenta suposições enquanto reconhece. Em seguida, o professor fornece à RNA as respostas. A rede então a compara com as respostas "corretas" do professor e faz os ajustes de acordo com os erros.

  • Aprendizagem não supervisionada - é necessária quando não há um conjunto de dados de exemplo com respostas conhecidas. Por exemplo, procurando por um padrão oculto. Nesse caso, o agrupamento, ou seja, a divisão de um conjunto de elementos em grupos de acordo com algum padrão desconhecido, é realizado com base nos conjuntos de dados existentes.

  • Aprendizado por Reforço - Essa estratégia foi construída com base na observação. A RNA toma uma decisão observando seu ambiente. Se a observação for negativa, a rede ajustará seus pesos para poder tomar uma decisão necessária diferente na próxima vez.

Voltar Algoritmo de Propagação

É o algoritmo de treinamento ou aprendizado. Aprende pelo exemplo. Se você enviar ao algoritmo o exemplo do que deseja que a rede faça, ele altera os pesos da rede para que possa produzir a saída desejada para uma entrada específica ao concluir o treinamento.

As redes de propagação traseira são ideais para tarefas simples de reconhecimento de padrões e mapeamento.

Redes Bayesianas (BN)

Estas são as estruturas gráficas usadas para representar a relação probabilística entre um conjunto de variáveis aleatórias. As redes Bayesianas também são chamadas de Redes de Crenças ou Redes Bayes. Os BNs argumentam sobre domínio incerto.

Nessas redes, cada nó representa uma variável aleatória com proposições específicas. Por exemplo, em um domínio de diagnóstico médico, o nó Câncer representa a proposição de que um paciente tem câncer.

As arestas que conectam os nós representam dependências probabilísticas entre essas variáveis aleatórias. Se dentre dois nós, um está afetando o outro, eles devem ser conectados diretamente nas direções do efeito. A força do relacionamento entre variáveis é quantificada pela probabilidade associada a cada nó.

Existe uma única restrição nos arcos em um BN que você não pode retornar a um nó simplesmente seguindo os arcos direcionados. Portanto, os BNs são chamados de gráficos acíclicos direcionados (DAGs).

Os BNs são capazes de manipular variáveis de valores múltiplos simultaneamente. As variáveis BN são compostas de duas dimensões -

  • Gama de preposições
  • Probabilidade atribuída a cada uma das preposições.

Considere um conjunto finito X = {X 1 , X 2 ,…, X n } de variáveis aleatórias discretas, em que cada variável X i pode receber valores de um conjunto finito, indicado por Val (X i ). Se houver um link direcionado da variável X i para a variável X j , a variável X i será a mãe da variável X j, mostrando dependências diretas entre as variáveis.

A estrutura do BN é ideal para combinar conhecimento prévio e dados observados. O BN pode ser usado para aprender as relações causais e entender vários domínios problemáticos e prever eventos futuros, mesmo em caso de dados ausentes.

Construindo uma rede bayesiana

Um engenheiro de conhecimento pode construir uma rede bayesiana. Existem várias etapas que o engenheiro de conhecimento precisa seguir ao construí-lo.

Problema de exemplo - câncer de pulmão. Um paciente está sofrendo de falta de ar. Ele visita o médico, suspeitando que ele tenha câncer de pulmão. O médico sabe que, com exceção do câncer de pulmão, existem várias outras possíveis doenças que o paciente pode ter, como tuberculose e bronquite.

Reunir informações relevantes do problema

  • O paciente é fumante? Se sim, então grandes chances de câncer e bronquite.
  • O paciente está exposto à poluição do ar? Se sim, que tipo de poluição do ar?
  • Fazer um raio-X positivo indica uma TB ou câncer de pulmão.

Identificar variáveis interessantes

O engenheiro do conhecimento tenta responder às perguntas -

  • Quais nós representar?
  • Que valores eles podem assumir? Em que estado eles podem estar?

Por enquanto, vamos considerar nós, com apenas valores discretos. A variável deve assumir exatamente um desses valores por vez.

Tipos comuns de nós discretos são -

  • Nós booleanos - Eles representam proposições, assumindo os valores binários TRUE (T) e FALSE (F).

  • Valores ordenados - Um nó Poluição pode representar e obter valores de {baixo, médio, alto}, descrevendo o grau de exposição de um paciente à poluição.

  • Valores integrais - Um nó chamado Idade pode representar a idade do paciente com valores possíveis de 1 a 120. Mesmo neste estágio inicial, as escolhas de modelagem estão sendo feitas.

Nós e valores possíveis para o exemplo de câncer de pulmão -

Nome do Nó Tipo Valor Criação de nós
Poluição Binário {BAIXO, ALTO, MÉDIO} Criação de Nó BNN
Fumante boleano {VERDADEIRO, FÁCIL}
Câncer de pulmão boleano {VERDADEIRO, FÁCIL}
Raio X Binário {Positivo negativo}

Criar arcos entre nós

A topologia da rede deve capturar relacionamentos qualitativos entre variáveis.

Por exemplo, o que faz com que um paciente tenha câncer de pulmão? - Poluição e tabagismo. Em seguida, adicione arcos do nó Poluição e do fumante ao nó Câncer de pulmão.

Da mesma forma, se o paciente tiver câncer de pulmão, o resultado dos raios X será positivo. Em seguida, adicione arcos do nó Lung-Cancer ao nó X-Ray.

Criação de Arco BNN

Especificar topologia

Convencionalmente, os BNs são dispostos de modo que os arcos apontem de cima para baixo. O conjunto de nós pais de um nó X é fornecido por Pais (X).

O nó Câncer de Pulmão possui dois pais (razões ou causas): Poluição e Fumante , enquanto o nó Fumante é um ancestral do nó Raio-X . Da mesma forma, o raio X é um filho (consequência ou efeitos) do nó Câncer de Pulmão e sucessor dos nós Fumante e Poluição.

Probabilidades condicionais

Agora quantifique os relacionamentos entre os nós conectados: isso é feito especificando uma distribuição de probabilidade condicional para cada nó. Como apenas variáveis discretas são consideradas aqui, isso assume a forma de uma Tabela de Probabilidade Condicional (CPT).

Primeiro, para cada nó, precisamos examinar todas as combinações possíveis de valores desses nós pais. Cada combinação é chamada de instanciação do conjunto pai. Para cada instanciação distinta dos valores do nó pai, precisamos especificar a probabilidade que o filho terá.

Por exemplo, os pais do nó Câncer de Pulmão são Poluição e Fumo. Eles assumem os valores possíveis = {(H, T), (H, F), (L, T), (L, F)}. O CPT especifica a probabilidade de câncer para cada um desses casos como <0,05, 0,02, 0,03, 0,001> respectivamente.

Cada nó terá probabilidade condicional associada da seguinte forma:

Probabilidades

Aplicações de redes neurais

Eles podem executar tarefas fáceis para um ser humano, mas difíceis para uma máquina -

  • Aeroespacial - aeronaves de piloto automático, detecção de falhas de aeronaves.

  • Automotivo - sistemas de orientação de automóveis.

  • Militar - Orientação e direção de armas, rastreamento de alvos, discriminação de objetos, reconhecimento facial, identificação de sinal / imagem.

  • Eletrônica - previsão de sequência de código, layout de chip IC, análise de falha de chip, visão de máquina, síntese de voz.

  • Financeiro - Avaliação de imóveis, consultor de empréstimos, triagem de hipotecas, classificação de títulos corporativos, programa de negociação de portfólio, análise financeira corporativa, previsão de valor da moeda, leitores de documentos, avaliadores de aplicativos de crédito.

  • Industrial - Controle de processo de fabricação, design e análise de produtos, sistemas de inspeção de qualidade, análise de qualidade de soldagem, previsão de qualidade de papel, análise de design de produtos químicos, modelagem dinâmica de sistemas de processos químicos, análise de manutenção de máquinas, licitação, planejamento e gerenciamento de projetos.

  • Médico - análise de células cancerígenas, análise de EEG e ECG, desenho protético, otimizador de tempo de transplante.

  • Fala - Reconhecimento de fala, classificação de fala, conversão de texto em fala.

  • Telecomunicações - Compactação de imagens e dados, serviços de informações automatizadas, tradução em tempo real de idiomas.

  • Transporte - Diagnóstico do sistema de freio a caminhão, programação de veículos, sistemas de roteamento.

  • Software - Reconhecimento de padrões no reconhecimento facial, reconhecimento óptico de caracteres, etc.

  • Previsão de séries temporais - as RNAs são usadas para fazer previsões sobre ações e calamidades naturais.

  • Processamento de sinal - As redes neurais podem ser treinadas para processar um sinal de áudio e filtrá-lo adequadamente nos aparelhos auditivos.

  • Controle - as RNAs são frequentemente usadas para tomar decisões de direção de veículos físicos.

  • Detecção de anomalias - como as RNAs são especialistas em reconhecer padrões, elas também podem ser treinadas para gerar uma saída quando ocorrer algo incomum que não se adequa ao padrão.