Químio-Informática - Redes neuronais. Feed-forward ou Back-propagation Flashcards

(25 cards)

1
Q

O que são redes neuronais? São inspiradas em quê?

A

As Redes Neuronais simulam sistemas nervosos usando algoritmos e modelos matemáticos e são ferramentas de aprendizagem automática que:
◦ Têm uma função idêntica às regressões e às árvores: é treinado um conjunto de dados, onde temos moléculas representadas por descritores moleculares e uma determinada propriedade que queremos que aprenda a prever. As redes vão treinar com o conjunto de treino para fazer essas previsões.
◦ Consistem em sistemas de processamento de informações inspirados em sistemas nervosos biológicos e tentam reproduzir funções do nosso cérebro, nomeadamente, a capacidade de aprender com as observações, e então:
→ Extrair conhecimento;
→ Identificar relacionamentos;
→ Identificar estruturas
→ Generalizar para aplicar em situações novas.
Não é implementado um método necessariamente igual ao cérebro, visto que neste caso, recorremos a métodos estatísticos, que processam informações e “aprendem”.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

O que é então uma rede neuronal? O que está lá dentro?

A

Primeiro, consideramos a rede neuronal como uma “caixa negra e desconhecida”. Pensamos que tipo de interações apresenta com o exterior, sendo canais de receção de informação/sinais que temos (inputs) e produzir uma resposta (output). De acordo com o nosso SNC, podemos ter respostas de vários tipos (respiração, contração muscular, fala, etc.) e podemos ter também inputs e outputs no nosso cérebro que não saem da nossa consciência

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Dentro desta “caixa negra” de redes neuronais estão…

A

Dentro desta “caixa negra” estão essencialmente, nos sistemas nervosos biológicos, células (neurónios) do sistema nervoso que estão ligadas entre si e aos sensores que recebem informação e aos sistemas que transformam a resposta em algo que interage com o mundo exterior (ex: múculos). O objetivo é simular o que está na caixa, ou seja, os neurónios.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

No sistema biológico o neurónio tem…

A

…dendrites, um corpo celular, tem um axónio e os terminais do axónio através dos quais a informação flui. O nosso sistema nervoso tem, aproximadamente 1015 neurónios e, na célula, ocorre a transmissão de um sinal elétrico desde as dendrites até aos axónios, através do transporte de iões.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

O que são sinapses em sistemas biológicos? Descreve a zona aonde ocorrem.

A

Entre si, os neurónios ligam-se entre as sinapses. Que são as junções de neurónios: a ponta de um neurónio (axónio) liga-se à parte que recebe o sinal do neurónio seguinte (dendrite). Entre os neurónios, a transmissão do sinal é através de uma molécula – neurotransmissor. O sinal é transmitido numa única direção e há neurónios que são capazes de modificar o tipo de sinal, transmitido nas sinapses. Esta alteração de sinal, consoante a energia gerada, é a base da aprendizagem

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Transmissão de sinal na sinapse. Como funciona em redes neurais artificiais?

A

O sinal transmitido depende do sinal recebido do neurónio anterior e da força sináptica. A sinapse é o que liga os dois neurónios, e o que vai chegar, efetivamente, ao neurónio seguinte, é o sinal da sinapse (s) multiplicado pelo peso da ligação entre os dois neurónios (w).
Temos então um sinal que vem de um neurónio anterior, a passar por uma sinapse com um peso w, e o que chega ao neurónio seguinte é o ws. O que chega a um neurónio:
◦ Depende do que saiu do anterior
◦ Depende da força sináptica
Nos neurónios artificiais, a força sináptica é chamada de peso.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Acredita-se que a aprendizagem e a memória resultem de…

A

…alterações a longo prazo na força sináptica. Nas redes neurais artificiais, a aprendizagem implementa-se através da correção dos pesos das sinapses.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

O que chega ao neurónio é o…

A

◦ 4 inputs de um determinado neurónio, ou seja, 4 sinais que saiam de 4 neurónios anteriores ligados a este neurónio.
◦ Cada uma destas 4 ligações tem um peso associado, como podemos observar na imagem: 0,2 0,1 -0,3 e 0,2.
◦ O que chega ao neurónio é o somatório de todos os sinais multiplicados pelos pesos correspondentes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

A nível artificial, quantoé que o neurónio produz (dispara) pelo que recebeu? Como é que o imput é transformado?

A

Dentro do neurónio, da mesma maneira que com o neurónio biológico, este dispara quando se acumula uma determinada quantidade de sinal. A nível artificial, temos funções que dizem quando é que o neurónio produz a partir do que recebeu. Ou seja, o input total é transformado pela função de transferência e o resultado é aquilo que vai sair desse neurónio para os neurónios seguintes (ou para o exterior, caso seja terminal). Temos então que existem vários tipos de função de transferência, sendo a primeira, a função de degrau, a que descreve o disparo do sinal (o output é 0 até atingir um determinado valor, que passa a ser 1).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qual a função mais usada para função de transferência? Porque é que é tão usada?

A

A função mais usual é a sigmoidal, que é dada pela expressão apresentada e que faz a transmissão do sinal de uma maneira mais contínua. Apresenta uma forma em S, ou seja, quando o input é muito baixo (-∞) ela tende para 0 e quando é muito alto (+∞) ela tende para 1, o intervalo de valores intermediário é dado pela função matemática. Esta é muito usada porque:
◦ Não é linear e uma das características muito importantes das redes neuronais é que são modelos não lineares, ou seja, descrevem relações não lineares entre os descritores e a propriedade a prever (ex: a capacidade que uma molécula tem de atravessar uma membrana);
◦ A derivada é muito fácil de obter

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Uma característica muito importante das redes neuronais é a maneira de como elas processam informação em paralelo. Isto, no corpo humano, vem pelo “paradoxo dos 100 passos”, em que:

A

◦ Um neurónio recupera-se aproximadamente num milissegundo (10-3 s) após o disparo.
◦ O cérebro humano é capaz de executar processos inteligentes, como reconhecer o rosto de um amigo ou reagir a algum perigo, em aproximadamente 110⁄ do segundo.
O que quer dizer que se forrem um conjunto de tarefas executadas por um único neurónio, só tínhamos tempo para 100 operações feitas pelo mesmo, o que é relativamente pouco, para a complexidade das tarefas que somos capazes de executar num décimo de segundo.
◦ Logo, a única maneira de isto poder funcionar é termos vários neurónios a funcionar em simultâneo, com percursos paralelos de circulação de informação que se reúnem no fim para originar a resposta com que reagimos ao input que recebemos.
Exemplo de neurónio artificial:
Isto dá-nos uma maneira de perceber como é que estas redes funcionam e que inspiram a maneira como as redes artificiais se montam.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Nas redes neuronais, temos 3 camadas de neurónios, onde o processo de sinapse pode ocorrer em simultâneo, ou não, e dá-se do input para o output, onde temos a:

A

◦ Camada Input: primeiro conjunto de neurónios, que são os que recebem as informações do exterior, ou seja, os descritores.
◦ Camada escondida: segunda camada de neurónios escondidos, porque não vemos necessariamente o que lá está. Ou seja, apesar de processarem a informação, não vemos os valores que estes processam.
◦ Camada de output: vai dar tantos outputs quanto os valores que vão sair. Que produzem os sinais transmitidos para fora da rede.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Em redes neurais, se todo o processo estiver a acontecer em paralelo…

A

…o tempo que demora desde que o input é fornecido até que o output sai é muito inferior àquele em que se obteria se o processo ocorresse todos a seguir uns aos outros.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Diz-se que a Arquitetura de uma rede neural é constituída por:

A

◦ Número de neurónios de input e output;
◦ Número de camadas;
◦ Número de neurónios em cada camada;
◦ Número de pesos em cada neurónio;
◦ Como os neurônios estão conectados;
◦ Quais neurónios recebem correções.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

O tipo de rede mais simples apresenta o seguinte esquema de rede neuronal ‘feed-forward’ de ‘backpropagation’:

A

Uma rede neuronal feed-forward é um tipo de rede onde as informações fluem apenas em uma direção: dos neurônios de entrada → para os neurônios das camadas ocultas → para os neurônios de saída. Não há “voltas” nem ciclos; os dados entram e avançam até sair, sem retornar para trás.

Agora, backpropagation (ou retropropagação) é o algoritmo de aprendizagem usado para ajustar os pesos da rede.
Ele funciona assim:

Primeiro, a rede calcula a saída com os pesos atuais (isso é o feed-forward propriamente dito).

Depois, compara a saída calculada com a saída desejada (o alvo) e calcula o erro.

A partir desse erro, ela propaga o erro para trás, camada por camada, ajustando os pesos para que na próxima vez o erro seja menor.

O processo usa uma técnica matemática chamada gradiente descendente para atualizar os pesos: basicamente, vai “descendo” o valor dos pesos na direção que reduz o erro mais rapidamente.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

O algoritmo de aprendizagem, originalmente, trata-se de “backpropagation” porque…

A

as correções começam a ser feitas na última na ultima camada e na camada mais acima. Hoje em dia já existem algoritmos mais eficientes para efetuar cálculos deste tipo.
1. Atribuição de valores aleatórios aos neurônios.
2. Entrada de um objeto X.
3. Cálculo dos valores de saída de todos os neurônios em todas as camadas.
4. Comparação dos valores finais de saída com valores-alvo e cálculo de um erro.
5. Cálculo das correções a serem aplicadas aos pesos de a última camada.
6. Cálculo das correções a serem aplicadas aos pesos da penúltima camada.
7. Aplicação de correções.
8. Volte para a etapa 2 (aplicam-se as correções, não só à última camada, mas também às anteriores).

17
Q

Caso se treine 2 vezes a rede neuronal, o resultado no segundo treino, dará o mesmo valor de output?

A

Não, porque temos, de início, valores de peso aleatórios.

18
Q

O erro, em redes neuronais, é uma função dos pesos. Porquê?

A

O modelo de treino serve para minimizar o erro. Podemos considerar que existe uma função erro, que se trata da diferença do que a rede produz e aquilo que deveria produzir (valores experimentais) para todo o conjunto de dados. Por outro lado, o erro que a rede vai dar, irá ser dependente dos pesos. Portanto, o erro é uma função dos pesos.

19
Q

Como sabemos se devemos aumentar ou diminuir o peso pela função do erro?

A

◦ Neste caso, calculamos o mínimo da função, através do cálculo da primeira derivada da função do erro em ordem ao peso. Assim, sabemos se devemos diminuir ou aumentar o peso, para que o erro diminua. É por esta razão que a função de transferência é tão vantajosa, por ter uma derivada fácil de calcular e otimizamos os valores rapidamente.

20
Q

Quando configuramos o treino de uma rede neuronal, consideramos 2 parâmetros empíricos essenciais:

A

Introdução de um parâmetro de momento μ e Velocidade de aprendizagem

21
Q

O que entendes por parâmetro de momento μ?

A

para evitar que a rede fique presa num mínimo relativo do erro e não absoluto, durante o treino,
ao contributo da derivada soma-se o último contributo da correção:
→ Se o valor de μ for elevado, temos uma grande possibilidade de saltar estes mínimos relativos
→ Se o valor de μ não for suficientemente alto, será mais fácil que a rede fique presa num mínimo relativo e não conseguirem encontrar uma configuração de rede que aprenda o melhor possível de acordo com o conjunto de treino
→ Se o valor de μ for extremamente elevado o treino torna-se bastante caótico e os pesos variam de uma forma descontrolada, fazendo com que o erro oscile bastante, podendo dificultar a aprendizagem.

22
Q

O que entendes por velocidade de aprendizagem?

A

traduz na proporção entre a derivada e a correção do peso.
→ Se esta for muito elevada, conduz-se mais rapidamente para o mínimo absoluto, onde, quando temos uma determinada derivada, aplicamos uma correção muito drástica
→ Se for muito baixo, precisa de mais passos para se aproximar do mínimo, aplicando-se uma correção mais suave
→ Se for extremamente elevada, ocorre à semelhança do momento.

23
Q

Etapas de treino de um NPG BPG:

A

◦ Os dados podem precisar de ser pré-processados (exceção no Weka)
→ Normalização (com a função de transferência sigmóide, o output varia dentro ]0, 1[
→ Dividindo-se em conjuntos de treino, teste e previsão
◦ Conjunto de Treino, sendo importante porque é o que está a ser utilizado para corrigir os pesos.
◦ Repetição do treino com diferentes parâmetros, para, por exemplo, decidir quando o treino será interrompido, quais as camadas ótimas, quais os melhores valores para o momento e para a velocidade, etc., até que seja encontrada a melhor rede para o conjunto de teste.
◦ Aplicação da melhor rede encontrada no conjunto de previsões.
◦ Avaliação de acordo com o Conjunto de teste, sendo aquele que só no fim é que vemos como como é que o modelo prevê as propriedades. Serve para validar a série.

24
Q

Como decidir quando paramos o treino de uma rede neuronal?

A

Se formos acompanhando o treino, de iteração a iteração, no fim de cada um destes ciclos, verificamos qual é o erro associado para cada elemento do conjunto de treino, e para o outro conjunto que não esta a ser utilizado para fazer as correções dos pesos, tipicamente, o que se observa é o que está representado na figura. Ou seja, a laranja, o erro para o conjunto de treino e a verde o erro para o conjunto de teste, observando que existem algumas oscilações, mas que a tendência é que o erro vá diminuindo para o conjunto de treino, ao longo do tempo e indefinidamente, como de esperado, porque os pesos estão a ser corrigidos de acordo com este conjunto de treino. Por outro lado, se repararmos no conjunto de teste, que não está a ser
corrigido, o que acontece é que tendência para diminuir o erro é a mesma, até chegar a um ponto, a partir do qual o erro para este conjunto já não diminui (por vezes até aumente), e a partir desse ponto, já não faz sentido continuar a treinar a rede. Este conjunto de teste serve então para tomar esta decisão.

25
Como decidir quando paramos o treino de uma rede neuronal no Weka?
não somos nós que fazemos, mas sim o próprio software. Neste caso, temos uma janela onde procuramos as redes neuronais, que aparecem no mesmo sítio das regressões lineares. Depois, aparece-nos um painel onde é possível configurar a rede, como - Quantos neurónios escondidos - Velocidade e momento (valores de 0-1) - Percentagem do conjunto de treino utilizado para monitorizar, isto é, que é usado para tomar a decisão - Quantidade de iterações é que o erro não pode baixar para se decidir para parar. (ex: 20 – o treino para quando o erro já não baixar em 20 iterações seguidas para o % de erro que ficou de fora e o Weka decide parar)