Baixe o app para aproveitar ainda mais
Prévia do material em texto
IF71B-C71 - Inteligeˆncia Artificial Aula 20 - Redes Neurais Profa. Dra. Priscila T iemi çaeda Saito k psaito@utfpr.edu.br 2o Semestre 2016 20/10/16 Roteiro 1 Redes Neurais UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 2 / 27 Redes Neurais Redes neurais → originalmente projetadas por psico´logos e neurologistas I procuravam desenvolver um conceito de neuroˆnio artificial ana´logo ao neuroˆnio natural Intuitivamente, uma rede neuronal e´ um conjunto de unidades do tipo Cada unidade representa um neuroˆnio UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 3 / 27 Redes Neurais Tais unidades sa˜o conectadas umas a`s outras Cada conexa˜o tem um peso associado Pesos associados a cada conexa˜o entre os diversos neuroˆnios e´ um nu´mero entre -1 e 1 Mede de certa forma qual a intensidade da conexa˜o entre os dois neuroˆnios UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 4 / 27 Redes Neurais Processo de aprendizado de um certo conceito pela rede neuronal corresponde a` associac¸a˜o de pesos adequados a`s diferentes conexo˜es entre os neuroˆnios Aprendizado utilizando redes neuronais → Aprendizado Conexionista UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 5 / 27 Redes Neurais Composta de diversas camadas (verticais) I camada de input: consiste de no´s da primeira coluna F no´s correspondem aos atributos (distintos do atributo classe) do banco de dados de treinamento I camada de output: consiste dos no´s da u´ltima coluna F no´s sa˜o em nu´mero igual ao nu´mero de classes F correspondem, de fato, aos poss´ıveis valores do atributo-classe I camadas escondidos e intermedia´rios: consiste dos no´s das colunas intermedia´rias (indo da segunda ate´ a penu´ltima) F existe pelo menos uma camada intermedia´ria I propriedade importante: cada no´ de uma camada i deve estar conectado a todo no´ da camada seguinte i+1 UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 6 / 27 Redes Neurais Rede neuronal de n camadas → possui n − 1 camadas intermedia´rias I conta-se apenas as camadas intermedia´rias e a de output ex.: se a rede tem uma camada intermedia´ria → rede de duas camadas (camada intermedia´ria + camada output) I camada de input na˜o e´ contada, embora sempre exista UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 7 / 27 Como definir a topologia da rede? Topologia: nu´mero de camadas intermedia´rias, nu´mero de neuroˆnios nas camadas intermedia´rias e inicializac¸a˜o dos pesos e tendeˆncias Topologia ideal: processo de tentativa e erro Nu´mero de camadas intermedia´rias pode ser maior do que 1 Mais comum: uma u´nica camada intermedia´ria Se a rede treinada e´ julgada na˜o confia´vel, repete-se o processo de treinamento com outra topologia e outros pesos e tendeˆncias iniciais Diversas te´cnicas automa´ticas foram propostas para se encontrar a topologia ideal da rede (produzindo os resultados com maior acura´cia) UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 8 / 27 Camadas de Input e de Output Input I se atributos na˜o sa˜o categorizados F um neuroˆnio para cada atributo F valores dos atributos sa˜o normalizados entre 0 e 1 I se atributos sa˜o categorizados F NAi = nu´mero de valores do atributo Ai F total de neuroˆnios da camada inicial F NA1 + NA2 + NA3 + ... + NAm F onde {A1, A2, ..., Am} = conjunto dos atributos UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 9 / 27 Camadas de Input e de Output Output I nu´mero de neuroˆnios = nu´mero de classes I se nu´mero de classes = 2 F nu´mero de neuroˆnios = 1 F basta um u´nico neuroˆnio na camada de output para o treinamento da redes F supo˜e-se que este neuroˆnio corresponde a` classe 1 F se a amostra esta´ na classe 0, enta˜o o output correto deveria ser 0 F se a amostra esta´ na classe 1, o output correto deveria ser 1 UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 10 / 27 Rede Neural e Classificac¸a˜o UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 11 / 27 Func¸a˜o de Ativac¸a˜o Serve para normalizar os outputs que sa˜o calculados em cada neuroˆnio Normalmente, utiliza-se a func¸a˜o: f(x) = 1 / (1+e−x) cuja derivada satisfaz f’(x) = f(x)(1-f(x)) UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 12 / 27 Backpropagation - Fase de IDA UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 13 / 27 Backpropagation - Fase de VOLTA UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 14 / 27 Condic¸o˜es de Parada E´poca = tempo necessa´rio para que todas as amostras sejam analisadas Processo se repete ate´ que: I os reajustes dos pesos sa˜o “muito pequenos” I so´ uma “pequena” porcentagem de amostras foi mal classificada pela rede I um nu´mero “ma´ximo” de e´pocas foi atingido UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 15 / 27 Backpropagation Objetivo: obter uma rede neural treinada Centenas de milhares de e´pocas sa˜o necessa´rias para a convergeˆncia dos pesos Teoricamente, convergeˆncia na˜o e´ garantida Na pra´tica, os pesos convergem depois de um grande nu´mero de e´pocas UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 16 / 27 IDA: Como sa˜o calculados os outputs Oi = F (w1i ∗ I1 + w2i ∗ I2 + w3i ∗ I3 + θi ) F (x) = 1/(1 + e−x) UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 17 / 27 Volta: Ca´lculo dos Erros Erro em unidade da u´ltima camada Ej = Oj(1− Oj)(Tj − Oj) Compara com Tj = classe verdadeira 0, 1, 2, ...? Erro em unidade da camada intermedia´ria Ej = Oj(1− Oj)(E1 ∗ wi1 + E2 ∗ wi2 + E3 ∗ wi3) Ej = Oj(1− Oj)( ∑ k Ek ∗ wjk) UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 18 / 27 Reajustes dos pesos e tendeˆncias Novo peso wij novo-wij = velho-wij + λEjOi Nova tendeˆncia θj novo-θj = velho-θj + λEj λ = taxa de aprendizado λ(t) = 1/t t = iterac¸a˜o atual Evita que o processo fique parado em um “m´ınimo local” UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 19 / 27 Exemplo Amostra classificada na classe C = 1 x1 x2 x3 w14 w15 w24 w25 w34 w35 w46 w56 θ4 θ5 θ6 1 0 1 0.2 -0.3 0.4 0.1 -0.5 0.2 -0.3 -0.2 -0.4 0.2 0.1 UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 20 / 27 Exemplo Ida unidade input output 4 0.2 + 0 - 0.5 - 0.4 = - 0.7 1/1+e0.7 = 0.332 5 -0.3 + 0 + 0.2 + 0.2 = 0.1 1/1+e−0.1 = 0.525 6 (-0.3)(0.332) - (0.2)(0.525) + 0.1 = -0.105 1/1+e0.105 = 0.474 Volta unidade erro 6 (0.474) (1 - 0.474) (1 - 0.474) = 0.1311 5 (0.525) (1 - 0.525) (0.1311) (-0.2) = -0.0065 4 (0.332) (1 - 0.332) (0.1311) (-0.3) = -0.0087 Oi = F (w1i ∗ I1 + w2i ∗ I2 + w3i ∗ I3 + θi ) F (x) = 1/(1 + e−x) Ej = Oj(1− Oj)(Tj − Oj) Ej = Oj(1− Oj)( ∑ k Ek ∗ wjk) x1 x2 x3 w14 w15 w24 w25 w34 w35 w46 w56 θ4 θ5 θ6 1 0 1 0.2 -0.3 0.4 0.1 -0.5 0.2 -0.3 -0.2 -0.4 0.2 0.1 UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 21 / 27 Exemplo Erros E6 = (0.474)(1− 0.474)(1− 0.474) = 0.1311 E5 = (0.525)(1− 0.525)(0.1311)(−0.2) = −0.0065 E4 = (0.332)(1− 0.332)(0.1311)(−0.3) = −0.0087 UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 22 / 27 Exemplo Ajustes dos pesos e tendeˆncias λ = 0.90 antigo valor reajustado w46 = −0.3 −0.3 + (0.90)(0.1311)(0.332) = −0.261 w56 = −0.2 −0.2 + (0.90)(0.1311)(0.525) = −1.138 w14 = 0.2 0.2 + (0.90)(−0.0087)(1) = 0.192 w15 = −0.3 −0.3 + (0.90)(−0.0065)(1) = −0.306 w24 = 0.4 0.4 + (0.90)(−0.0087)(0) = 0.4 w25 = 0.1 0.1 + (0.90)(−0.0065)(0) = 0.1 w34 = −0.5 −0.5 + (0.90)(−0.0087)(1) = −0.508 w35 = 0.2 0.2 + (0.90)(−0.0065)(1) = 0.194 θ6 = 0.1 0.1 + (0.90)(1.1311) = 0.218 θ5 = 0.2 0.2 +(0.90)(−0.0065) = 0.194 θ4 = −0.4 −0.4 + (0.90)(−0.0087) = −0.408 novo-wij = velho-wij + λEjOi novo-θj = velho-θj + λEj UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 23 / 27 Ajustes dos pesos e tendeˆncias: Modo Padra˜o Modo Padra˜o (ou case updating) I a cada nova amostra analisada e´ realizado o ajuste dos pesos e tendeˆncias na fase de volta I os pesos e tendeˆncias atualizados sa˜o utilizados na fase da ida para a amostra seguinte I em cada e´poca os pesos e tendeˆncias sa˜o ajustados N vezes, onde N = total de amostras UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 24 / 27 Ajustes dos pesos e tendeˆncias: Modo Batch Modo Batch (ou epoch updating) I para cada amostra armazena-se os erros Ej obtidos na fase da volta, para cada neuroˆnio Nj (das camadas de output e intermedia´rias) I no final da e´poca (quando todas as amostras foram analisadas), calcula-se para cada neuroˆnio intermedia´rio ou da camada de output a me´dia dos erros calculados em cada iterac¸a˜o I utiliza-se estes erros me´dios dos neuroˆnios para ajustar os pesos e tendeˆncias no final da e´poca I assim em cada e´poca os pesos e tendeˆncias sa˜o ajustados uma u´nica vez Ana´lise: o modo padra˜o e´ o mais utilizado na pra´tica, produz resultados mais acurados do que o modo batch UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 25 / 27 Classificac¸a˜o por Backpropagation Input: um banco de dados de treinamento (amostras) Output: uma rede neural treinada Problema: como extrair “regras de classificac¸a˜o” de uma rede neural treinada? UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 26 / 27 Vantagens e Desvantagens Desvantagens I fase de treinamento demorada I muitos paraˆmetros, determinados empiricamente Vantagens I alta toleraˆncia a ru´ıdos I resultados confia´veis UTFPR (CP) IF71B-C71 (Inteligeˆncia Artificial) Aula 20 - RNAs 27 / 27 Redes Neurais
Compartilhar