A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Daniela Justiniano de Sousa

Apresentações semelhantes


Apresentação em tema: "Daniela Justiniano de Sousa"— Transcrição da apresentação:

1 Daniela Justiniano de Sousa
Multilayer Neural Networks Machine Learning Daniela Justiniano de Sousa

2 Multi-Layer Perceptron (MLP)
Técnica computacional que apresenta um modelo inspirado na estrutura neural. O Perceptron Multi - Camadas é uma extensão do Perceptron de camada única.

3 Breve histórico Várias pesquisas mal sucedidas. 1969 Minsky & Papert: Perceptron só é capaz de resolver problemas com dados de classes linearmente separáveis. Pesquisas silenciosas. 1986 –Rumelhart, Hinton e Williams Algoritmo eficaz de aprendizagem. introduziram o Backpropagation.

4 Motivação Resolve somente problemas linearmente separáveis e funções lógicas simples. Redes Neurais limitadas para aplicações práticas complexas. À medida que caminhamos em direção à camada de saída, as fronteiras de decisão implementadas pela rede se tornam cada vez mais complexas, sendo estas fronteiras de decisão as responsáveis pela definição de como é realizada a divisão do espaço de decisão. A partir da combinação das retas (ou hiperplanos) gerada(o)s pelos neurônios das camada internas, a rede se torna capaz de criar regiões de decisão que conseguem resolver problemas que envolvem padrões não linearmente separáveis. Obviamente, a forma como a rede cria estas regiões de decisão depende tanto da quantidade de camadas internas quanto da quantidade de neurônios em cada camada interna.

5 Solução definida Uma ou mais camadas de nós intermediários às unidades de entrada e saída, chamadas unidades ocultas(hidden). As camadas ocultas servem para auxiliar as camadas de entrada e saída na extração de um número maior de características dos sinais entrados. Assim problemas mais complicados podem ser resolvidos.

6 Estrutura da Rede Multi-Camadas
Entrada Intermediárias, ocultas ou escondidas Saída Camada de Entrada: onde os padrões são apresentados à rede; Camadas Intermediárias ou Escondidas: onde é feita a maior parte do processamento, através das conexões ponderadas; podem ser consideradas como extratoras de características; Camada de Saída: onde o resultado final é concluído e apresentado.

7 Arquitetura Redes Multi-Camadas
Quantidade de neurônios nas camadas camada de entrada é dada pelo problema a ser abordado. Camada oculta: empírico Camada saída: nº classes Capacidade de mapeamento (camada oculta oculta) Geralmente uma camada escondida é suficiente. Em poucos casos você vai precisar adicionar uma segunda camada escondida. Não existe uma formula matemática para se encontrar o número de neurônios. Empírico Rede menor, a aprendizagem vai ser mais rápida. Pesquisas sobre o número de camadas intermediárias necessárias para implementar uma Rede Neural indicam que: Uma camada é suficiente para aproximar qualquer função contínua; Duas camadas são suficientes para aproximar qualquer função matemática.      Para a escolha do número de unidades em cada camada, deve-se considerar: O número de exemplos de treinamento; A quantidade de ruído presente nos exemplos; A complexidade da função a ser aprendida pela rede; A distribuição estatística dos dados de treinamento.      Ao determinar o número de unidades em cada camada, os seguintes cuidados devem ser tomados: Não utilizar um número de unidades maior que o necessário: número alto de unidades pode fazer com que a rede memorize os dados do treinamento; com isto ela torna-se incapaz de generalizar e, portanto, reconhecer padrões não vistos durante o treinamento. Isto é chamado de overfitting. Não utilizar um número de unidades inferior ao número necessário: Isto pode fazer com que a rede gaste muito tempo para aprender, podendo não alcançar os pesos adequados, ou seja, a rede pode não convergir, ou generalizar demais os padrões de entrada.

8 Processo de aprendizado
AMBIENTE PROFESSOR SISTEMA DE APRENDIZAGEM Σ VETRO DE ESTADO DO AMBIENTE RESPOTA DESEJADA REAL SINAL DE ERRO Supervisionado Não-supervisionado Por reforço A propriedade mais importante das redes neurais é a habilidade de aprender de seu ambiente e com isso melhorar seu desempenho. Isso é feito através de um processo iterativo de ajustes aplicado a seus pesos, o treinamento. O aprendizado ocorre quando a rede neural atinge uma solução generalizada para uma classe de problemas. Aprendizado Supervisionado, quando é utilizado um agente externo que indica à rede a resposta desejada para o padrão de entrada; Aprendizado Não Supervisionado (auto-organização), quando não existe uma agente externo indicando a resposta desejada para os padrões de entrada; Reforço, quando um crítico externo avalia a resposta fornecida pela rede. As RNA’s têm a capacidade de aprender através de dados que são apresentados a elas, ou seja, a partir destes dados elas conseguem interpretar características e derivar conhecimento, que será utilizado na resolução de um determinado problema. Todo o conhecimento que a rede possui sobre determinada situação ou problema é armazenado nas conexões entre os neurônios constituintes

9 Treinamento Algoritmo Backpropagation
Compara o resultado gerado pela rede com o valor de saída esperado, ajustando os pesos associados à unidade de saída, caso os valores não sejam iguais, porém este treinamento ocorre em duas fases: É realizado em duas fases: Fase FORWARD (para frente) Fase BACKWARD (para trás) Durante o treinamento com o algoritmo backpropagation, a rede opera em uma sequência de dois passos: Primeiro, um padrão é apresentado à camada de entrada da rede. A atividade resultante flui através da rede, camada por camada, até que a resposta seja produzida pela camada de saída. Segundo passo, a saída obtida é comparada à saída desejada para esse padrão particular. Se esta não estiver correta, o erro é calculado. O erro é propagado a partir da camada de saída até a camada de entrada, e os pesos das conexões das unidades das camadas internas vão sendo modificados conforme o erro é retropropagado. Baseia-se em aprendizado por correção de erro, isto é, ele procura achar iterativamente a mínima diferença entre as saídas desejadas e as saídas obtidas pela rede neural. Usar o algoritmo do gradiente descendente para encontrar uma hipótese no espaço do vetor de pesos de possíveis soluções de modo que o erro seja mínimo.

10 Fase Forward: Cálculo da saída da rede
j Camadas intermediárias Camada de saída Camada de entrada P a d r ã o O primeiro aspecto citado é a inicialização da rede, esse processo diz respeito ao valor inicial arbitrado aos pesos da rede. Intuitivamente sabe-se que uma boa escolha dos valores iniciais dos pesos pode diminuir o tempo de treinamento da rede. Apesar do conhecimento desse fato, os pesos das redes são normalmente inicializados com valores aleatórios, normalmente valores pseudo-aleatórios no intervalo [0,1]. Fase backward: Correção dos pesos sinápticos

11 Backpropagation: Funcionamento
Bias Função de ativação X1 w1 w2 w3 Entradas Σ Saída Y X2 X3 A operação de um neurônio artificial se resume em: Sinais são apresentados à entrada (x1 à xm); Cada sinal é multiplicado por um peso que indica sua influência na saída da unidade (wk); É feita a soma ponderada dos sinais que produz um nível de atividade (uk); A função de ativação f(uk) tem a função de limitar a saída e introduzir não-linearidade ao modelo. O bias bk tem o papel de aumentar ou diminuir a influência do valor das entradas. É possível considerar o bias como uma entrada de valor constante 1, multiplicado por um peso igual a bk.

12 Backpropagation: descrição matemática
Regra de propagação Função de ativação FUNÇÃO DE ATIVAÇÃO: Não deve ser linear Deve informar os erros para as camadas inferiores da rede Função sigmóide Função tangente hiperbólica Geralmente se escolhe como funções de saída expressões matemáticas que mantém o valor de saída entre certos limites baixos, tipicamente no intervalo [-1,1] e por isto elas são também chamadas de ‘funções de esmagamento’ (‘squashing’). Devido às características do algoritmo de retropropagação, que busca a minimização do erro das saídas dos nós da camada O, estas funções devem ser deriváveis para todos os valores a que são aplicadas. Assim elas devem ser contínuas, logo a "função degrau", ou de limiar (ou 'threshold') usada no perceptron, não é mais aqui. Esta exigência prende-se ao fato de que se busca redes com erro mínimo de saída (dife aplicável rença entre o que sai de fato e o que se deseja). Neste ponto recomenda-se uma revisão dos conceitos de minimização de funções estudados em funções derivadas.

13 Backpropagation: descrição matemática
Processo de minimização do erro quadrático pelo método do Gradiente Descendente. O mínimo da função de erro pode ser calculada pelo Gradiente. O objetivo principal do treinamento supervisionado passa ser então minimizar essa função de custo. Quando a função de custo chega a um valor muito pequeno, significa que os pesos da rede estão se tornando estáveis e o processo de treinamento da rede pode ser terminado. O método do gradiente descendente, usado no algoritmo Backpropagation, faz com que os pesos caminhem na superfície de erro sempre na direção contrária do gradiente da função de custo, a fim de minimizar o valor desta função. Isto significa que a variação dos pesos em uma determinada iteração é definida de acordo com o gradiente descendente do erro em relação ao peso, que nada mais é do que o valor negativo da derivada da função de custo em relação ao peso. Gradiente descendente O mais simples método para determinar um local mínimo é conhecido como gradiente descendente ou declive descendente. Não é um bom algoritmo, computacionalmente, mas é aceitável. Gradiente descendente envolve movimentos de pequenos passos abaixo do gradiente local do campo escalar. É semelhante aos movimentos de um esquiador sempre em direção para baixo da montanha, até atingir a base da mesma. Uma desvantagem deste método é a possibilidade do gradiente descendente achar um local de mínima antes que o mínimo global seja atingido, que é o objetivo em última análise. O algoritmo é então emperrado neste mínimo até que algum ruído é adicionado nos pesos, desta forma movimentando o algoritmo para fora deste falso mínimo. O objetivo de ajustar o peso da rede visa, desta forma, “caminhar” na superfície de erro na direção oposta do vetor gradiente. Por este motivo o processo de minimização dos erros também é denominado de método do gradiente descendente.

14 Backpropagation: descrição matemática
A partir de deduções matemáticas envolvendo esta derivada da função de custo em relação ao peso, pode-se reescrever a regra delta como acima.

15 Backpropagation 1 1 A B C D E A B C D E 1 0,45 0,63 0,64 0,42 0,55
1 0,45 0,63 0,64 A B C D E 0,42 0,55 -0,18 0,32 0,62 0,79 1 0,45 0,63 0,64 A B C D E 0,45 (1- 0,45)( -0,147 x 0, 79)= 0,42 0,55 0,62 -0,17 0,81 0,35 1 ( 0 – 0, 648) 0, 64 (1- 0, 64) = - 0,147 0, 63 (1-0, 63)( - 0,147 x 0,32)=

16

17 Aspectos Práticos Alguns aspectos práticos devem ser considerados na utilização de redes neurais MLP. Taxa de aprendizagem Superfície do erro Momentum Misturando Exemplos Overfitting e Underfitting

18 Taxa de Aprendizagem Taxas muito pequenas tornam o processo bastante lento. Taxas muito grandes tornam o processo rápido. Podem não trazer os resultados ideais. Erro mínimo Superfície do erro Taxa pequena Taxa grande A taxa de aprendizagem é responsável pela velocidade com que se dá a busca no espaço de peso, em direção aos valores que resultam um erro global mínimo O objetivo deste parâmetro é manter a estabilidade do processo de minimização dos erros, sendo que ele pode assumir valores no intervalo (0,1]. Um valor pequeno para η faz com que o caminhamento para a solução ótima na superfície de erro seja suave, ou seja, as variações no peso a cada iteração são menores, fazendo com que o processo necessite de um maior número de iterações para atingir o ponto ótimo. Valores grandes para η trazem instabilidade ao processo, já que as variações nos pesos são maiores a cada iteração. Contudo, a utilização de valores mais altos para η faz com que o processo necessite de muito menos iterações. Uma prática comum na implementação de redes neurais é fazer com que o valor da taxa de aprendizado seja alto no início do treinamento, a fim de se obter um rápido deslocamento para a solução ótima, e baixo na medida em que a solução ótima vai se aproximando, a fim de manter a estabilidade e evitar problemas de divergência da solução (no caso de superfícies de erro irregulares).

19 Taxa de Aprendizagem O ideal é começar com uma taxa grande e reduzir durante as iterações. Permite a exploração global no início (exploration) a local (exploitation) quando o algoritmo estiver próximo do ótimo global. Geralmente valores entre 0.05 e 0.75 fornecem bons resultados. Para problemas típicos abordados com redes sigmoidal e os parâmetros discutidos em Duda&Hart, verifica-se que a taxa de aprendizagem do ~0.1 é adequado, muitas vezes como uma primeira escolha, e reduzida se a função de critério diverge, ou levantadas se a aprendizagem parece excessivamente lento.

20 Superfície do erro A superfície de erro pode ser bastante complexa dependendo da configuração da rede. Em relação às características das redes MLP, deve-se comentar ainda sobre a superfície de erro gerada por estas redes. Esta superfície de erro pode ser bastante complexa dependendo da configuração da rede. Superfície de erro irregular pode conter pontos de depressão, que indicam os mínimos locais da superfície, e platôs, que representam regiões planas onde a função tem o seu valor estável. De acordo com a configuração inicial dos parâmetros da rede, os pesos podem convergir para um valor mínimo de uma determinada região, ou, até mesmo, cair numa região onde a função se torna praticamente estável, fazendo com que o algoritmo leve muito tempo para convergir para um valor de mínimo global.

21 Momentum É uma estratégia usada para evitar mínimos locais. Considere a seguinte superfície Existem três mínimos locais antes do mínimo global.

22 Backpropagation: descrição matemática
Normalmente utilizado para acelerar o processo de treinamento da rede e evitar mínimos locais. A fórmula completa do ajuste de pesos utilizando Momentum fica: Momentum - vagamente baseado sobre a noção de física que objetos em movimento tendem a se manter em movimento a menos que atuou por forças externas - permite que a rede aprende mais rapidamente quando planaltos na superfície de erro existe. A abordagem é alterar a regra de aprendizagem em estocástica backpropagation para incluir alguns fração α da atualização de peso anterior. Aumenta velocidade de aprendizado evitando perigo de instabilidade Pode acelerar treinamento em regiões muito planas da superfície de erro Suprime oscilação de pesos em vales e ravinas

23 Misturando Exemplos (Shuffle)
Redes neuronais aprendem melhor quando diferentes exemplos de diferentes classes são apresentados a rede. Se apresentarmos à rede todos os exemplos de uma classe, e assim por diante, os pesos finais tenderão para a última classe A rede vai “esquecer” o que ela aprendeu antes.

24 Inicialização dos Pesos
A atualização de um peso entre duas unidades depende da derivada da função de ativação da unidade posterior e função de ativação da unidade anterior. Por esta razão, é importante evitar escolhas de pesos iniciais que tornem as funções de ativação ou suas derivadas iguais a zero. Pesos muito altos ou muito baixo a sigmoid deve saturar - Gradientes pequenos - Aprendizagem muito lenta. A atualização de um peso entre duas unidades depende da derivada da função de ativação da unidade posterior e função de ativação da unidade anterior. Por esta razão, é importante evitar escolhas de pesos iniciais que tornem as funções de ativação ou suas derivadas iguais a zero. Um procedimento comum é inicializar os pesos e bias a valores randômicos entre -0.5 e 0.5, ou entre -1 e 1. Os valores podem ser positivos ou negativos porque os pesos finais após o treinamento também podem ser positivos ou negativos

25 Overfitting Solução: Muitos neurônios na camada oculta.
A rede memoriza os padrões de treinamento, ao invés de extrair as características gerais, gravando suas peculiaridades e ruídos. Depois de um certo ponto do treinamento, a rede piora ao invés de melhorar. Solução: Encerrar treinamento cedo Eliminação de pesos e nodos irrelevantes

26 Underfitting Número reduzido de neurônios na camada oculta.
Não realiza o mapeamento desejado. A rede a gastar tempo em excesso tentando encontrar a representação ótima.

27 Etapas para o desenvolvimento RNA
Coleta de dados e separação em conjuntos Configuração da rede Treinamento Teste Integração

28 Aplicações Redes MultiCamadas
Reconhecimento de padrões e Classificação; Agrupamento ou categorização (clustering); Aproximação de funções e modelagem; Previsão; Otimização; Controle. Classificação de imagens Avaliação de crédito e risco Reconhecimento de caractere Previsão e modelagem Auxílio à decisão Robótica Bioinformática

29 CLASSIFICAÇÃO Classificador não-linear.
O objetivo básico: o ajuste dos parâmetros livres (pesos e bias) de forma a criar uma superfície de decisão que separe os padrões de entrada em classes distintas. A classificação é realizada somente fase de Forward. Unidades de entrada: componentes de um vetor (a ser classificada) Unidades de saída: funções discriminantes utilizados para a classificação ou dados classificados.

30 Exemplo Classificação
Classificação de flores íris Três espécies: setosa, versicolor e virgínica Parâmetros de medição: comprimento e largura da pétala / comprimento e largura da sépala.

31 Exemplo Classificação
Classificação de flor íris - Silva, 2003.

32 Exemplo Classificação
Reconhecimento de caracteres Milho, 2000.

33 Exemplo Classificação
20 nós na camada de entrada, 5 nós na camada intermediária e 1 nó de saída. Sistema Especialista de Cardiologia Lima Jr, 2011.

34 Conclusão Evolução no poder computacional em relação às redes de camada única; Aplicações complexas Viabilidade da utilização Topologia e Arquitetura Algoritmos de treinamento (Ex.: Rprop, Quickprop, Levenberg-Marquardt).

35 REFERÊNCIAS DUDA, R. O.; HART, P. E.; STORK; D. G. Pattern Classification. 2.ed. Nova Iorque: Wiley-Interscience. 654 p., 2001 MITCHELL, Tom M. Machine Learning. Boston: WCB/McGraw-Hill, 414P.,1997. RUSSEL S. J., NORVIG P. Artificial Intelligence, A Modern Approach, 2.ed. New Jersey: Prentice Hall, 2003.

36 Demonstração

37 Perguntas


Carregar ppt "Daniela Justiniano de Sousa"

Apresentações semelhantes


Anúncios Google