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 uma série de elementos de processamento simples e altamente interconectados, que processam informações por sua resposta de estado dinâmico a entradas externas."
Estrutura Básica de ANNs
A ideia 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 seres vivos neurons e dendrites.
O cérebro humano é composto por 86 bilhões de células nervosas chamadas neurons. Eles estão conectados a outras milhares de células por Axons.Os estímulos do ambiente externo ou entradas dos órgãos sensoriais são aceitos pelos dendritos. Essas entradas criam impulsos elétricos, que viajam rapidamente pela rede neural. Um neurônio pode então enviar a mensagem a outro neurônio para lidar com o problema ou não a envia.
ANNs são compostas por múltiplos nodes, que imitam o biológico neuronsdo cérebro humano. Os neurônios estão conectados por links e interagem uns com os outros. Os nós podem obter dados de entrada e executar operações simples nos dados. O resultado dessas operações é passado para outros neurônios. A saída de cada nó é chamada deactivation ou node value.
Cada link está associado a weight.As RNAs são capazes de aprender, o que ocorre alterando os valores de peso. A ilustração a seguir mostra um ANN simples -
Tipos de redes neurais artificiais
Existem duas topologias de Rede Neural Artificial - 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á ciclos de feedback. Eles são usados na geração / reconhecimento / classificação de padrões. Eles têm entradas e saídas fixas.
FeedBack ANN
Aqui, loops de feedback são permitidos. Eles são usados em memórias endereçáveis de conteúdo.
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. Porém, 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 ANNs
As RNAs são capazes de aprender e precisam ser treinadas. Existem várias estratégias de aprendizagem -
Supervised Learning- Envolve um professor que é mais estudioso do que a própria RNA. Por exemplo, o professor alimenta alguns dados de exemplo sobre os quais o professor já sabe as respostas.
Por exemplo, reconhecimento de padrões. A ANN apresenta suposições enquanto reconhece. Em seguida, o professor fornece as respostas à ANN. A rede então compara seus palpites com as respostas “corretas” do professor e faz ajustes de acordo com os erros.
Unsupervised Learning- É necessário quando não há um conjunto de dados de exemplo com respostas conhecidas. Por exemplo, procurando um padrão oculto. Nesse caso, o agrupamento, isto é, 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 presentes.
Reinforcement Learning- Esta estratégia se baseia na observação. A RNA toma uma decisão observando seu ambiente. Se a observação for negativa, a rede ajusta seus pesos para poder tomar uma decisão diferente necessária na próxima vez.
Algoritmo de propagação posterior
É o algoritmo de treinamento ou aprendizado. Ele 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 determinada entrada ao finalizar o treinamento.
As redes de retropropagação 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. Redes bayesianas também são chamadasBelief Networks ou Bayes Nets. Os BNs raciocinam sobre o 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 de dois nós, um está afetando o outro, eles devem ser conectados diretamente nas direções do efeito. A força da relação entre as 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 arcos direcionados. Conseqüentemente, os BNs são chamados de Gráficos Acíclicos Direcionados (DAGs).
Os BNs são capazes de lidar com variáveis de vários valores simultaneamente. As variáveis BN são compostas por 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, onde cada variável X i pode obter valores de um conjunto finito, denotado por Val (X i ). Se houver uma ligação direta da variável X i para a variável, X j , então a variável X i será um pai 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. BN pode ser usado para aprender as relações causais e compreender vários domínios de problemas e para prever eventos futuros, mesmo no caso de dados ausentes.
Construindo uma Rede Bayesiana
Um engenheiro do conhecimento pode construir uma rede bayesiana. Há uma série de etapas que o engenheiro do conhecimento precisa realizar ao construí-lo.
Example problem- Câncer de pulmão. Um paciente está sofrendo de falta de ar. Ele visita o médico, suspeitando que tem câncer de pulmão. O médico sabe que, exceto o câncer de pulmão, existem várias outras doenças possíveis que o paciente pode ter, como tuberculose e bronquite.
Gather Relevant Information of Problem
- O paciente é fumante? Se sim, então há grandes chances de câncer e bronquite.
- O paciente está exposto à poluição do ar? Se sim, que tipo de poluição do ar?
- Faça um raio-X positivo. Um raio-X indicaria tuberculose ou câncer de pulmão.
Identify Interesting Variables
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.
Common types of discrete nodes are -
Boolean nodes - Representam proposições, assumindo valores binários TRUE (T) e FALSE (F).
Ordered values- Um nó de poluição pode representar e obter valores de {baixo, médio, alto}, descrevendo o grau de exposição de um paciente à poluição.
Integral values- Um nó chamado Idade pode representar a idade do paciente com valores possíveis de 1 a 120. Mesmo neste estágio inicial, as opções de modelagem estão sendo feitas.
Possíveis nós e valores 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} |
|
Fumante | boleano | {TRUE, FASLE} | |
Câncer de pulmão | boleano | {TRUE, FASLE} | |
Raio X | Binário | {Positivo negativo} |
Create Arcs between Nodes
A topologia da rede deve capturar relacionamentos qualitativos entre as 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 nó Fumante ao nó Câncer de Pulmão.
Da mesma forma, se o paciente tiver câncer de pulmão, o resultado do raio-X será positivo. Em seguida, adicione arcos do nó Lung-Cancer ao nó X-Ray.
Specify Topology
Convencionalmente, os BNs são dispostos de forma que os arcos apontem de cima para baixo. O conjunto de nós pais de um nó X é dado por Pais (X).
O nodo câncer de pulmão tem dois pais (motivos ou causas): poluição e fumante , enquanto o nodo fumante é umancestordo nó X-Ray . Da mesma forma, o Raio-X é uma criança (consequência ou efeitos) do nó Câncer de Pulmão esuccessorde nós Fumador e Poluição.
Conditional Probabilities
Agora quantifique as relações 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 umConditional Probability Table (CPT).
Primeiro, para cada nó, precisamos examinar todas as combinações possíveis de valores desses nós pais. Cada combinação é chamada deinstantiationdo 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ódulo Lung-Cancer são Poluição e Fumar. 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 -
Aplicações de Redes Neurais
Eles podem realizar tarefas que são fáceis para um humano, mas difíceis para uma máquina -
Aerospace - Aeronaves de piloto automático, detecção de falhas de aeronaves.
Automotive - Sistemas de orientação automóvel.
Military - Orientação e direção da arma, rastreamento de alvo, discriminação de objetos, reconhecimento facial, identificação de sinal / imagem.
Electronics - 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.
Financial - Avaliação imobiliária, 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 do valor da moeda, leitores de documentos, avaliadores de aplicativos de crédito.
Industrial - Controle de processo de manufatura, projeto e análise de produto, sistemas de inspeção de qualidade, análise de qualidade de soldagem, previsão de qualidade de papel, análise de projeto de produto químico, modelagem dinâmica de sistemas de processo químico, análise de manutenção de máquina, licitação de projeto, planejamento e gerenciamento.
Medical - Análise de células cancerosas, análise de EEG e ECG, desenho protético, otimizador de tempo de transplante.
Speech - Reconhecimento de fala, classificação de fala, conversão de texto em fala.
Telecommunications - Compressão de imagens e dados, serviços de informação automatizados, tradução de linguagem falada em tempo real.
Transportation - Diagnóstico do sistema de freios do caminhão, programação de veículos, sistemas de roteirização.
Software - Reconhecimento de padrões em reconhecimento facial, reconhecimento óptico de caracteres, etc.
Time Series Prediction - As RNAs são usadas para fazer previsões sobre estoques e calamidades naturais.
Signal Processing - As redes neurais podem ser treinadas para processar um sinal de áudio e filtrá-lo adequadamente nos aparelhos auditivos.
Control - As RNAs são freqüentemente usadas para tomar decisões de direção de veículos físicos.
Anomaly Detection - Como as RNAs são especialistas em reconhecer padrões, elas também podem ser treinadas para gerar uma saída quando algo incomum ocorre e não se ajusta ao padrão.