_________________________________________ | | | - REDES NEURONAIS - | | Prof. Luiz Caloba | | SEGUNDO PERIODO DE 1994 | | Trabalho Final | |_________________________________________| RELATORIO DO TRABALHO DE REDES NEURONAIS ---------------------------------------- Autor : - Ricardo Marques Dutra 1 INTRODUCAO : O programa BP.PAS e' uma atualizacao do Programa original Neural.PAS feito por Alexandre Yamaoka e Ismar Neves Jr.O programa BP.PAS tambem apresenta as modificacoes feitas por Enyltho P. Coelho Filho e Iuri Briglia H. A. Alves, onde inclui a possibilidade de eliminacao e dani ficacao total ou parcial de neuronios e/ou sinapses de uma rede ja treinada. A principal modificacao feita nos programas ja prontos foi o treinamento e uso das redes com neuronios do tipo PERCEPTOR . 2 - IDENTIFICACAO DOS PROGRAMAS : BP.EXE : Este e o programa principal que gerencia todos as roti- nas associadas. Nele esta a rotina de treinamento da re de e a rotina que permite danioficar os neuronios e/ou sinapses. UTIL.TPU : Unit onde estao todas as rotinas de auxilio para se ler arquivos, criar janelas e as rotinas que calculam a sai da da rede dada uma entrada. OPERACAO.TPU : Unit responsavel pela visualizacao e estatistica do desempenho da rede variando os valores de ruido nos sinais de entrada. PADRAO.TPU : Unit que possibilita a criacao de novos padroes de di gitos para treinamento . JAN.OBJ : Rotinas em Assembly utilizada nas rotinas da unit JAN.ASM UTIL.TPU para criar as Janelas usadas no programa. *.RED : Arquivo contendo as informacoes das sinapses da rede previamente treinada. Este arquivo e criado apos a rede ser treinada e utilizada durante a operacao. *.PAD : Arquivo contendo os dados de um padrao . *.EST : Arquivo contendo uma tabela estatistica da performace da rede. 3 - FUNCIONAMENTO DO PROGRAMA : Para iniciar o programa deve-se ter todos os arquivos acima no dire- corrente e logo em seguida chamar BP. No inicio o programa mostra uma tela de apresentacao, tecle para continuar. logo em seguida abre-se uma janela onde mostra as opcoes de uso do programa. Para mudar a opcao deve-se usar as setas e uma vez escolhida a opcao tecle . Para sair do programa tecle que retornara ao prompt do DOS. As opcoes do programa sao as seguintes : (i) - ENTRAR COM O PADRAO Esta opcao permite que criemos um novo padrao e um arquivo referen te a ele para ser usado no treinamento da rede. Apresenta-se uma tela onde onde define-se os 10 padroes para treinamento. Uma vez todo os padroes prontos automaticamente abrira uma janela onde pedira o nome do novo padrao. Para abortar esta rotina tecle que retornara ao menu de opcoes. (ii) - TREINAR A REDE Esta opcao permite o treinamento da rede propriamente dito.De ini- cio abre-se uma janela onde deve-se escolher o padrao pelo qual a rede deve ser treinada. Apos escolhido o padrao abre-se varias janelas pedindo dados a respeito da rede e do nivel de ruido duran te o treinamento. Todos os valores apresentados entre "[" "]" sao considerados Defauts . Apos dado todos os parametros necessarios, come cara o treinamento . Durante o treinamento teremos uma tela que informara os princi- pais parametros dinamicos e estaticos da rede ao longo do treina- mento. Deve-se atentar que o treinamento da rede e compreendido de duas fases devendo a rede ser treinada em ambas. O criterio para ativar a segunda fase e que media |Zi| deve ser alta e o menor valor tambem deve ser alto. A tecla ativa a Entropia na rede o que leva os neuronios a saturarem mais rapido .Uma vez ativa apresentara na tela a seguinte descricao : ENTROPIA : [SIM]/ NAO para desativar a Entropia decle a letra novamente e a tela mostrara a seguinte descricao : ENTROPIA : SIM /[NAO] Durante a elaboracao do programa houve a necessidade de se visua- lizar o que estava acontecendo na saida dos neuronios da camada intermediaria. Assim colocamos uma opcao que durante o treinamento pudessemos ver o que estaria ocorrendo na saida da camada interme- diaria.Ao ateclar ativa-se a observacao da saida dos neuronios da camada intermediaria. Assim como a atualizacao do indice de acertos e do valor medio e o minimo do |zi| ocorre a cada 100 inte racoes, a visualizacao dos neuronios tambem ocorre a cada 100 inte racoes.E importante citar que o valor mostrado na visualizacao dos neuronios e dado aplicando o padrao SEM RUIDO na entrada da rede. Uma vez ativa apresentara na tela a seguinte descricao : VERIF. NEURONIO : [SIM]/ NAO para desativar a Verificacao decle a letra novamente e a tela mostrara a seguinte descricao : VERIF. NEURONIO : SIM /[NAO] Uma vez a rede atingindo os valores esperados de acerto deve-se teclar para iniciara a segunda fase onde substituiremos a funcao tangente hiperbolica por niveis +1 caso saida>0 e -1 para saida<0 somente para os neuronios da camada intermediaria. Deve-se treinar um pouco mais a rede ja na segunda fase e apos sair do treinamento gravando as novas mudancas em arquivo. Em qualquer momento podera ser interrompido o treinamento teclando o que tambem oferece a possibilidade de gravacao dos dados da rede ate em tao treinada . (iii) - OPERACAO Esta opcao permite a operacao da rede previamente treinada.De ini- cio abre-se uma janela onde deve-se escolher o arquivo no qual os dados da rede previamente treinada foi salva em arquivo. Apos esco lhido o arquivo apresentara na tela as opcoes de : uido : Taxa de ruido no sinal de entrada da rede. Este valor fica fixo na tela para as demais operacoes. peracao : Operacao manual. Visualiza a saida ao apli- car um dos padroes com o nivel de ruido ja definido acima. Para se escolher o padrao a ser visualizado deve-se teclar os numeros de 0 a 9 referentes aos padroes. statistica: Uma vez definido o nivel de ruido, aplica a entrada com este nivel de ruido e verifica o quanto a rede acerta. O processo estatis- tistico pode ser interrompido a qualquer mo mento teclando . Apos a interrupcao e gerado uma tabela contendo a quantidade per centual de acertos para cada padrao referen tes a quantidade de passos interagidos. E importante citar que todos os processos que envolve o calculo da da saida da rede como OPERACAO e ESTATISTICA sao calculados de for ma que os neuronios da camada intermediaria funcionem como PERCEPTOR podendo causar pequenas variacoes nos resultados finais caso a tabela da rede fosse criada sem passar pela segunda fase do treinamento. (iv) - DANIFICAR A REDE Essa opcao permite atraves de processo interativo escolher se queremos: I. Danos nas Sinapses [S/N] - [T] totais: 1-primeira camada 2-segunda camada 3-ambas Percentual de sinapses a serem eliminadas desejado. - [P] parciais Erro maximo que sera' somado `as sinapses. A seguir e' perguntado se queremos tambem causar : II. Danos nos Neuronios [S/N] [A]- total em um neuronio da camada escondida Qual o neuronio desejado ? [B]- total em dois neuronios da camada escondida Os 2 neuronios sao sorteados. [C]- parcial (uniforme) em todos os neuronios da rede Percentual desejado de danos nos neuronios. Escolhidas as opcoes desejadas, e' apresentada uma mensagem informando a implementacao dos danos e e' dada a opcao de reescrever o arquivo *.RED para podermos operar a rede danificada (deve-se entao escolher a opcao [S]im. Com auxilio da tecla [Esc] podemos voltar ao menu anterior e escolher OPERACAO , ja' agora com os os danos implementados.