Sistemas Imunológicos Artificiais
Professora: Gisele L. PappaEstágio Docência: Mirlaine Crepalde
Computação Natural
Sistema Imunológico: Princípios e Teorias
• Componentes Biológicos: – Linfócitos (anticorpos)
• Células-B: maturação na medula óssea– Processo de clonagem e mutação
• Células-T: maturação no Thymus– Antígenos: ativam sistema imunológico
• Reconhecimento e Ligação:– Afinidade: complementariedade, interações
Sistema Imunológico: Princípios e Teorias
• Adaptação– Clonal selection
• Mutação• Reatividade Cruzada
– Maturação• Discriminação Self/Nonself
– Maturação das células-T no Thymus através da seleção negativa
• Teoria das Redes Imunológicas
Um Framework para SIA
Algoritmos
Afinidade
Representação
Aplicação
Solução
AIS
Forma-Espaço
Binário
Inteiro
Real
Simbólico
[De Castro and Timmis, 2002]
Um Framework para SIA
Algoritmos
Afinidade
Representação
Aplicação
Solução
AIS
[De Castro and Timmis, 2002]
Euclidiana
Manhattan
Hamming
rbc
r-chunks
Um Framework para SIA
Algoritmos
Afinidade
Representação
Aplicação
Solução
AIS
[De Castro and Timmis, 2002]
Modelos de Medula
Seleção e Clonagem
Seleção Negativa
Redes Imunológicas
Forma-Espaço• Um anticorpo pode reconhecer
qualquer antígeno cujo complemento está dentro de uma região α ao seu redor (o limiar de afinidade ou reatividade cruzada)
• Isso resulta em um volume ve conhecido como região de reconhecimento do anticorpo
α
ve
V
S
A camada de representação
ve
ve
α
α
[Perelson,1989]
Camada de Afinidade• O grau de interação entre um anticorpo e um antígeno ou entre
dois anticorpos pode ser avaliado utilizando uma medida de distância ou afinidade
• A escolha da medida de afinidade é importante porque:• Ela altera a topologia da forma-espaço• Ela deve levar em consideração o problema sendo resolvido e os
dados disponíveis• Células podem sofrer mutação de acordo com a afinidade
A camada de afinidade
A camada de algoritmos• Modelos da Medula
– Usado para gerar repositórios de células e moléculas• Seleção e Clonagem
– Utilizado para controlar como os componentes do sistema imunológico interagem com antígenos
• Seleção negativa– Utilizado para gerar reportórios de células capazes de reconhecer self e
non-self• Modelos de Redes (dinâmicos)
– Contínuos– Discretos
A camada de Algoritmos
Exemplos de Representação e Matching
• Distância Hamming
Exemplos de Representação e Matching
Exemplos de Representação e Matching
Modelo da Medula
• É na medula que todas as células do sistema imunológico são criadas
• Geram “células” aleatoriamente– Como a inicialização da população de um AG
• Podem utilizar bibliotecas de genes– Essa bibliotecas podem trazer conhecimento a
priori sobre o problema
1A 1B 1C 1D 2A 2B 2C 2D
1C 2B
1C 2B
Library 1 Library 2
Algoritmos de Seleção Negativa• Define Self como um padrão de atividade normal ou comportamento
estável de um sistema / processo (S)• Objetivo:
– Gerar um conjunto de dectores R que não casam com os padrões em S.• Monitora novas observações de S procurando por mudanças.
– Testa os detectores em relação a S. – Se existe um casamento, uma mudança deve ter ocorrido no
comportamento do sistema.• Definir o limiar de reconhecimento (afinidade ε)
Fase de Censoriamento
Self Strings(S)
Generate random
Strings (R0)Detector Set (R)
Reject
Match
Yes
No
Fase de Monitoramento
Protected Strings
(S*)
Detector Set (R)
Nonself Detected
Match
Yes
Real-Valued Negative Selection Algorithm (RNS)
• Atributos pertencem ao espaço [0,1]• Movimento dos detectores para cubrir ao
máximo o espaço nonself• Matching de um detector r e o conjunto self
é baseada na vizinhança de r no conjunto S• Idade é associada aos detectores• Direção do movimento é ponderada por
– η(t)=η0e-t/τ
Cobertura dos Detectores: abordagem recente V-Detector
Ilustrando...
Match10111000
Don’t Match1101
•Regra de r bits contíguos, com r = 2
Aplicação Clássica de Seleção Negativa
• Detecção de anomalias• Domínio de segurança de computadores• Classificação onde classes há duas classes e
há desbalanceamento de representantes• Reconhecer o que é self /non-self
– Usa seleção negativa para criar um conjunto de detectores
Segurança: Mapeamento do Sistema Imunológico Real para o ArtificialSistemas Imunológico Sistema Imunológico ArtificialCélulas T, B e anticorpos Detectores representados por um string de
bitsCélula de Memória Detector de memóriaAntígeno (Nonself) string de bitsCasamento Utilizando a regra de r bits contíguos
Tolerância Algoritmo de seleção negativa
Segurança de Redes
• Broadcast em LANs• Proteger a LAN de intrusos• SIA precisa monitorar o
tráfico da rede e identificar intrusos
• Conexão é uma tripla:– <fonte, destino, porta>
Segurança de Computadores• Self são conexões normais que acontecem durante um determinado período de tempo• SIA deve aprender a distinguir o que é normal do que não é• O conjunto de conexões normais (self) é definido dinamicamente
– Os dectores de non-self são produzidos através de seleção negativa durante um período de tolerância
Avaliação• Hofmeyr & Forrest, 2000• Testado em subredes de 50 computadores• Dados coletados por 50 dias
– Mais de 2.3 milhões de conexões TCP, filtradas para 1.5
• Conexão representada por um string de 49 bits• Conjunto de non-selfs tinha apenas 7 intrusões• Número baixos de conexões normais detectadas como
ataques (2 por dia)
Diagnóstico de Câncer de Mama• Gonzàlez and Dasgupta, 2003• RNS + Rede Neural• 683 amostras de células com 10 características• Dois conjuntos: 271 para treino (benignas) e 412 para
teste (mistas)• Usa o algoritmo RNS para gerar 400 detectores (nonself
- malignos)• Usa as 400 amostras malignas + 271 amostras benignas
para treinar a rede
Parâmetros• ε: limiar de afinidade : 0.1• N: número de detectores • T: idade máxima de maturidade : 5• η0: valor inicial da taxa de atualização : 1
• τ: controla decaimento da taxa de atualização • k: o número de vizinhos que define o self-match : 1 • max_it : 400
Seleção e Clonagem –Clonalg
1. Inicialização 2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e expansãoc. Maturação da afinidaded. Meta-dinâmica
3. Ciclo
1. Inicialização
2. Apresentação dos antígenosa. Afinidadeb. Seleção,clonagem e
expansão– Maturação da afinidaded. Meta-dinâmica
3. Ciclo
Clonalg
• Cria aleatoriamente uma população (P) de anticorpos
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansão– Maturação da afinidaded. Meta-dinâmica
3. Ciclo
Clonalg
• Para cada padrão (antígeno) no conjunto de dados S faça:
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansãoc. Maturação da afinidaded. Meta-dinâmica
3. Ciclo
Clonalg
• Apresenta o antígeno para população P e calcula a afinidade com cada anticorpo
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansãoc. Maturação da afinidaded. Meta-dinâmica
3. Ciclo
Clonalg
• Seleciona os n1 anticorpos com maior afinidade em P
• Gera clones desses anticorpos com probabilidade proporcional a anfinidade com o antígeno (qto maior afinidade, mais clones)
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansão– Maturação da afinidaded. Meta-dinâmica
3. Ciclo
Clonalg
• Muta cada clone• Adiciona os indivíduos mutados a
população P• Seleciona novamente os melhores
indivíduos para serem mantidos como memória do antígeno apresentado
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansãoc. Maturação da afinidaded. Meta-dinâmica
3. Ciclo
Clonalg
• Substitui um número n2 de indivíduos com afinidade baixa por novos indivíduos gerados aleatoriamente
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansãoc. Maturação da afinidaded. Meta-dinâmica
3. Ciclo
Clonalg
• Repete passo 2 até um critério de parada ser encontrado
Otimização vs Aprendizagem
• Otimização– Assume que existe uma função a ser otimizada,
e que cada anticorpo correponde a um valor dessa função
• Aprendizagem ou Reconhecimento de padrões– Assume que existe um conjunto de padrões a
serem reconhecidos ou aprendidos (conjunto S de antígenos)
Reconhecimento de Caracteres
• Gerar um conjunto de detectores capazes de reconhecer dígitos simples
•Representação: cada indivíduo é um bit de strings (120)
• Usa distância Hamming como métrica de similaridade• 10 anticorpos (P) • max_it: 500• n1=5, n2=0
• Nc=(β.N)/i, β=10
=
=
100111101111101101100101010010010011011000010010101101101101
5
4
3
2
1
ppppp
P
Evolução dos Detectores
Redes Imunológicas
Redes Imunológicas
• Algoritmos que vimos até agora propõe um sistema imunológico em estado de espera, que apenas se torna ativo quando invadido
• Redes propõe um sistema imunológico dinâmico, i.e, ativo mesmo quando não está em perigo
Redes Imunológicas
• Primeiro modelo de redes imunológicas naturais foi proposto por Jerne (1974)
• Primeiro modelo computacional de redes contínuas foi proposto em 1986– Baseado em equações diferenciais do modelo
de Jerne– Construída para simular a rede imunológica
natural, não para ser utilizada como um algoritmo para resolver problemas
Redes Imunológicas Discretas
• Em redes imunológicas, existem 2 tipos de interações:
1. Com os antígenos (externa)2. Com os outros elementos da rede (interna)
• Existem diversos modelos de redes discretas
– Aqui discutiremos a aiNet (Artificial Imune Network)
aiNet
• Existe uma população de antígenos S que deve ser reconhecida por um conjunto P de células que formam a rede
• Ambos antígenos e anticorpos são representados por um vetor de números reais
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansãoc. Maturação da afinidaded. Meta-dinâmicae. Interação de clonagemf. Supressão de clonagem
3. Interações da rede4. Supressão da rede5. Diversidade6. Ciclo
aiNET
De Castro and Von Zuben, 2000
Idêntico ao Clonalg
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansãoc. Maturação da afinidaded. Meta-dinâmicae. Interação de clonagemf. Supressão de clonagem
3. Interações da rede4. Supressão da rede5. Diversidade6. Ciclo
aiNET
• Determina a afinidade entre todos os elementos da memória de clonagem
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansãoc. Maturação da afinidaded. Meta-dinâmicae. Interação de clonagemf. Supressão de clonagem
3. Interações da rede4. Supressão da rede5. Diversidade6. Ciclo
• Elimina todos os clones cujas afinidades são menores que um dado limiar. Incorpora o restante dos clones na rede
aiNET
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansãoc. Maturação da afinidaded. Meta-dinâmicae. Supressão de clonagem
3. Interações da rede4. Supressão da rede5. Diversidade6. Ciclo
aiNET
• Determina a similaridade entre cada par de anticorpos da rede
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansão– Maturação da afinidaded. Meta-dinâmicae. Supressão de clonagem
3. Interações da rede4. Supressão da rede5. Diversidade6. Ciclo
aiNET
• Elimina todos os anticorpos da rede cuja afinidade seja menor que um limiar pré-definido
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansãoc. Maturação da afinidaded. Meta-dinâmicae. Supressão de clonagem
3. Interações da rede4. Supressão da rede5. Diversidade6. Ciclo
aiNET
• Introduz novos anticorpos a população P
1. Inicialização2. Apresentação dos antígenos
a. Afinidadeb. Seleção,clonagem e
expansãoc. Maturação da afinidaded. Meta-dinâmicae. Supressão de clonagem
3. Interações da rede4. Supressão da rede5. Diversidade6. Ciclo
aiNET
• Repete os passos 2 a 5 para um determinado número de iterações
aiNET em Otimização Multi-modal
Initial population
Final population
Resultados
aiNET CLONALG
Agradecimento
• A maioria desses slides foi retirado das notas de aula de John Timmis.