Prévia do material em texto
1 INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO PARÁ CAMPUS CASTANHAL CURSO DE LICENCIATURA EM INFORMÁTICA CLAUDIO ALVES DA SILVA SÍNTESE REDES NEURAIS CASTANHAL 2021 2 CLAUDIO ALVES DA SILVA SÍNTESE REDES NEURAIS Trabalho apresentado à disciplina Tópicos especiais em IA , do Curso de Licenciatura em Informática, do Instituto Federal de Educação, Ciência e Tecnologia – IFPA, campus Castanhal, como requisito avaliativo para o 2º Bi. Docente: Suelene Correia CASTANHAL 2021 3 Redes neurais artificiais De acordo com os estudos sobre redes neurais artificiais é necessário entender como funciona os neurônios naturais, e de acordo com a ciência no sistema nervoso é formado por um conjunto extremamente complexo de células, que são denominados de neurônios. O funcionamento, comportamento e raciocino do corpo humano são resultados do funcionamento desses neurônios, pois eles tem papel essencial na determinação do funcionamento do corpo humano. Os neurônios são formados pelos dendritos, que são um conjunto de terminais de entrada, pelo corpo central, e pelos axônios que são longos terminais de saída como mostra a figura abaixo. O cérebro humano possui milhares de neurônios, e o conhecimento é passado de um neurônio a outro através da sinapse, No corpo humano o cérebro usa os neurônios para processar as informações, que acontece da seguinte forma: Os dendritos são responsaves pela entrada de conhecimentos; O corpo celular recebe e armazena o conhecimento recebido; O axônio transporta o conhecimento pelas suas terminalçoes para outros neuronios. Obs.: O neuronio dispara se a entrada é maior que um numero definido ou não, ou seja, um valor determinado pode ativar ou não o neuronios fazesno com que ele receba ou não um dederminado conhecimento. O primeiro modelo de redes neurais simulando máquinas foi conhecido opôs as publicação feitas por McCulloch e Pitts (1943), Hebb (1949), e Rosemblatt (1958), o modelo 4 básico de rede de auto-organização, e o modelo Perceptron de aprendizado supervisionado, respectivamente. Em 1982, foi reiniciado o estudo após publicação dos trabalhos de Hopfield,relatando a utilização de redes simétricas para otimização e de Rumelhart, Hinton e Williams que introduziram o poderoso método Backpropagation. Mas antes disso foram realizados importantes trabalhos sobre modelos de redes neurais em visão, memória, controle e auto- organização como: Amari, Anderson, Cooper, Cowan, Fukushima, Grossberg, Kohonen, von der Malsburg, Werbos e Widrow. Atualmente as redes neurais artificiais deixam os computadores mais “inteligentes”, pois elas deixam os programas computacionais mais aperfeiçoados como tempo de uso, satisfazendo cada vez mais as necessidades de seus usuários, pois elas permitem que os programas “aprendam” com o que seus usuários. Redes neurais artificiais de percepton de uma camada 5 Nesta rede x1, x2,x3 são as entradas, w1, w2, w3 são os pesos, a função Σ soma e a função ativação f. A rede neural apreende com usando os dados de entrada, que saõ multiplicado pelos pesos, e armazenando na variável soma. Exemplo com valores (Função Step Function) Obs.: Os pesos são sinapse da nossa rede neural, pesos amplificam ou reduzem (quanto maior o peso maior vai ser o valor / quanto menor o peso menor será o valor), um sinal de entrada e o conhecimento de uma rede neural depende exclusivamente do peso. Exemplo com valores (Função soma) 6 X1 ( 0*0) + X2(0*0) = 0 X1( 0*0) + X2(0*0) = 0 coluna Y: resultado esperado Usando a mesma formula de cálculos, teremos o resultado zero (0) nos demais registros, mas pela tabela o ultimo registro deve ter valor um(1), o que significa que deu um erro, pois o não deu o resultado esperado de acordo cm a tabela. ✓ Como melhorar o aprendizado para que não exista erros? ✓ Erro(mais simples) = resposta correta menos resposta calculada. ✓ Atualiza dados dos pesos até o menor valor possível ✓ Formula: ✓ Poso(n1)= peso(n)+(taxa de aprendizagem*entrada*erro) ✓ A taxa de aprendizagem deve ser valor fixo Usando a fórmula para corrigir o erro anterior: Erro=1-0=1 Taxa de aprendizagem que vou usar: 0,5 Calculo: P(n+1)=0+(0,5*1*1) P(n+1)= 0,5 0,5 é o novo peso, desta forma pode-se calcular os registros de novo, desta forma os registros ficariam de acordo com a imagem a baixo: 7 Cálculos: coluna Y: resultado esperado X1 ( 0*0,5) + X2(0*0,5)=0 X1 ( 0*0,5) + X2(0*0,5)=0 X1 ( 0*0,5) + X2(0*0,5)=0 X2 ( 0*0,5) + X2(0*0,5)= 1 Usando a mesma forma com função soma todos os resultados deram certos, ou seja 100% de acerto. NA maior parte dos modelos de redes neurais tem alguma regra de treinamento, onde os pesos de suas conexões são ajustados de acordo com os padrões apresentados. Ou seja, elas aprendem através de exemplos. A organização das arquiteturas neurais organizadas em camadas, onde unidades poderão estar conectadas às unidades da camada posterior. Essas camadas são organizadas em três grupos que são; 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. 8 A especificação de um rede neural é principalmente feita pela sua tipologia, pelas características dos nós e pelas regras de treinamento, esses processos de aprendizagem podem ser por Aprendizado Supervisionado, Aprendizado não Supervisionado o por esforço. 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 um 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. Estudo de caso: Prever qual será a nota do aluno, levando em conta horas de estudo, horas de sono e simulados Neste caso temos um neurônio artificial com três camada, que são: camada de entrada, oculta e de saída. Na camada de entrada temos três características que são: Horas de estudos, horas de sono e simulados. Como a previsão é apenas os atributos são horas de estudos, horas de sono e simulados, isso define a quantidade de camadas de entra e saída, que neste caso a de saída é só de uma camada. A Sinapse tem a função de transmitir as informações entra os neurônios, essas informações terão um poso, no nosso caso vamos representar o peso pela letra W. Uma rede neural aprende com esses pesos. 9 No neurônio central (camada oculta) temos uma função de ativação, e essa função tem uma entrada e gera uma saída. Na imagem abaixo mostra a estrutura da rede neural em questão. ID Horas de estudo Horas de sono simulado Nota da prova 1 12 6 78% 93% 2 22 6,5 24% 68$ 3 115 4 100% 95% 4 31 9 67% 75% 5 0 10 58% 51% 6 5 8 78% 60% 7 92 6 82% 89% 8 57 8 91% 97% 10 Treinamento da rede A tabela a cima mostra os dados predefinidos com horas e estudo, horas de sono, simulado e nota da prova, esses dados servirão para treinar o algoritmo com a finalidade que ele aprenda a dar o resultado da prova. Para treinar a rede neural, serão utilizado os dados da tabela, para isso temos que atribuir os pesos na sinapse (W), inicialmente esses pesossão atribuídos de forma aleatória com valores reis muito baixo, exemplo, 0,1. Aplicando o treinamento: 1 Inserindo os dados na camada de entrada: 1º Linha: Horas de estudo, horas de sono e simulado Obs: fazer o mesmo com todas as linhas. ID Horas de estudo Horas de sono simulado Nota da prova 1 12 6 78% 93% 2 22 6,5 24% 68$ 3 115 4 100% 95% 4 31 9 67% 75% 5 0 10 58% 51% 6 5 8 78% 60% 7 92 6 82% 89% 8 57 8 91% 97% Depois que os valores são inseridos na camada de entrada, eles serão multiplicado pelo peso, “⺎”, onde será aplicado a função de ativação que poderá ou não gera uma saída. Com a função ativada, o resultado da nota prova usando os dados da ID 1, a nota 71. Com esse resultado (71), esta muito longe do previsto pois na tabela o resultado esperado da nota seria 93%. Isso acontece pelo fato da rede ter começado agora, diante disso deve-se pegar a nota e 11 submetê-la a LOSS function ( função de perda), essa função vai calcular o quanto a rede errou ou acertou, para isso ela levara em conta o valor da saída comparado ao valor real. Neste caso acontece um processo chamado de Backpropagation, que é propagar o valor de volta para a rede e reajustar os pesos (W1, W2, W3), o objetivo disso, é melhorar o acerto dos resultados. Essa propagação (Bacpropagation), vai sendo feita até que seja inserido todos os dados na rede, no nosso caso, os dados da ID 1 até a ID8, esta etapa é chamada de EPOCH. (Obs.: para terminar uma rede neural artificial é necessário fazer muitos EPOCH). Um outro conceito do treino da rede é o Batch Sinze que é passagem de um numero de registros antes de atualizar os pesos, ou seja, atualizar os pesos só depois que todos o registros passarem pela rede, ou atualizar os pesos(W) por etapas. Ex.: a cada Três ou quatro registros atualizar os pesos. Isso dependerá de como foi configurado a arquitetura da rede neural. O objetivo disso é que quando os dados vão sendo passados, a rede vai se ajustando, ou seja, ela vai aprendendo com os erros e acertos. Com essa ideia, o objetivo é que quanto mais dados forem processados, mais preciso a rede neural ficará. O resultado final dessas EPOCHs é que todos os pesos terão um valor fixo para que a rede seja usada no mundo real. Neste caso em estudo, a rede neural terá um peso fixo(W) para prever a nota dos alunos levando em conta os dados inseridos ( Horas de estudos. Hora de sono e simulado). Referencia: Correia Suelene, Tópicos Especiais em IA/IC, Instituto Federal de Educação, Ciência e Tecnologia do Pará Correia Suelene, Apostilas redes Neurais, Instituto Federal de Educação, Ciência e Tecnologia do Pará https://www.youtube.com/watch?v=mWD8wWwZpi8, acessado em 09/03/2021, as 17:00h https://www.youtube.com/watch?v=mWD8wWwZpi8 mailto:?subject=Gostaria%20de%20compartilhar%20este%20link%20do%20Olhar%20Digital%20com%20você&body=https://olhardigital.com.br/2016/08/03/pro/saiba-como-as-redes-neurais-deixam-os-computadores-inteligentes/