Cap. 19: Aprendendo em Redes Neuronais e Redes de Crenças

• Do ponto de vista computacional: métodos para representar funções usando redes de elementos aritméticos simples, e aprender tais representações através de exemplos.

• Do ponto de vista biológico: Modelo matemático para a operação do cerébro.

• Neurônios: Elementos aritméticos simples.

• Redes Neuronais: conj de neurônios interligados.

[figure]

Cap. 19: Aprendendo em Redes Neuronais e Redes de Crenças

• Args a favor de redes neuronais:

– Esperança de que um dispositivo possa ser construído de forma a combinar o paralelismo inerente do cérebro com trocas rápidas de contexto.

– Redes neuronais podem prover um modelo de paralelismo massivo em contraste com paralelização de algoritmos tradicionais.

– Degradação gradual: se alguma coisa dá errada, o desempenho decresce gradualmente.

– Projetadas para serem treinadas utilizando algoritmos de aprendizado indutivo.

Redes Neuronais

• Para construir uma rede: número de unidades, tipos de unidades, formato das conexões.

• Próximo passo: inicializar os pesos da rede, e treinar os pesos usando um algoritmo de aprendizado aplicado a um conj de treinamento para a determinada tarefa implementada pela rede.

• A operação de unidades individuais pode ser comparada com portas lógicas (McCulloch and Pitts).

[figure]

Estruturas de Redes Neuronais

• feed-forward: não há ciclos, grafo direcionado (DAG), links unidirecionais.

• recorrente: links podem formar topologias arbitrárias.

• Normalmente, redes feed-forward organizadas em camadas. Não há links entre nós da mesma camada, e links de uma camada para outra são unidirecionais.

• Computação pode prosseguir uniformemente da entrada para a saída.

• Em redes feed-forward, também não temos memória (estados internos), visto que a informação não volta para o nó.

Exemplos de Redes Neuronais Recorrentes • Hopfield: conexões bidirecionais entre os nós com pesos

simétricos.

• todos os nós podem ser entradas ou saídas.

• função de ativação g produz -1 ou +1.

• Não encontra ótimos globais.

Exemplos de Redes Neuronais Recorrentes

• Máquinas de Boltzmann: também usa pesos simétricos, mas inclui unidades (escondidas) que não são entrada nem saída.

• Utilizam função de ativação estocástica, onde a prob da saída ser 1 é função dos pesos da entrada.

• Análogas ao algoritmo de “simulated annealing”, pois procura pela configuração que melhor se aproxima do conj de treinamento (tenta encontrar ótimos globais).

• Pode-se encontrar uma estrutura de rede que seja ótima através de algoritmos genéticos ou através de algoritmos do tipo “hill-climbing”.

[figure]

Perceptrons

• Exemplos mais simples de redes feed-forward com apenas 1 camada.

• O que perceptrons conseguem representar?

• Função de maioria, por exemplo, onde a saída é 1 se mais da metade das n entradas forem iguais a 1.

• O = Step_{0}(∑_{j} W_{j}I_{j}) = Step_{0}(W I)

• W_{j} = 1 e threshold t = n/2.

• Mesma função de maioria representada com árvores de decisão, O(2^{n}) nós. Com perceptrons, 1 unidade de saída e n pesos são suficientes para representar compactamente esta função.