UNIVERSIDADE FEDERAL DE SÃO CARLOS CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA PROGRAMA DE PÓS GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO

Tamanho: px
Começar a partir da página:

Download "UNIVERSIDADE FEDERAL DE SÃO CARLOS CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA PROGRAMA DE PÓS GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO"

Transcrição

1 UNIVERSIDADE FEDERAL DE SÃO CARLOS CENTRO DE CIÊNCIAS EXATAS E DE TECNOLOGIA PROGRAMA DE PÓS GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO Uma Ferramenta de Visuaização para Redes Neurais Artificiais do Tipo Neocognitron ORIENTADOR: Prof. Dr. José Hiroki Saito ALUNO: Bruno Zanetti Dissertação apresentada ao Programa de Pós-Graduação em Ciência da Computação da Universidade Federa de São Caros, como parte dos requisitos para a obtenção do títuo de Mestre em Ciência da Computação. (Campo de pesquisa: Visuaização Científica) São Caros Abri/2004

2 Ficha cataográfica eaborada peo DePT da Bibioteca Comunitária da UFSCar Z28fv Zanetti, Bruno. Uma ferramenta de visuaização para redes neurais artificiais do tipo neocognitron / Bruno Zanetti. -- São Caros : UFSCar, p. Dissertação (Mestrado) -- Universidade Federa de São Caros, Redes neurais (computação). 2. Visuaização. 3. Rede neura neocognitron. 4. Sistemas de partícuas. I. Títuo. CDD: (21 a )

3 Agradecimentos Ao Prof. Dr. José Hiroki Saito, orientador, pea oportunidade de desenvover este trabaho. À CAPES, pea bosa concedida. Aos meus amigos e famíia, por me toerar.

4 Sumário 1 Introdução Redes Neurais Redes Neurais Bioógicas[17] O neurônio As sinapses O cérebro Redes Neurais Artificiais Um modeo de neurônio artificia As sinapses do modeo artificia O cérebro e a rede neura artificia Diferenças entre estruturas bioógicas e Redes Neurais Artificiais [7] Modeos de Redes Neurais O Neocognitron [10,11] Arquitetura do Neocognitron Processamento de dados no neocognitron Processamento nas céuas-s Processamento nas céuas-c Treinamento dos pesos das céuas-s Visuaização Científica Introdução Fundamentos O sistema visua humano Estruturas Visuais e Princípios Gestat Processo de visuaização Apicações Anáise de dados meteoroógicos Imagens médicas Visuaização de documentos Computação Gráfica Definição Bibiotecas Gráficas Java 3D Direct3D Vantagens Desvantagens OpenGL Vantagens Desvantagens Sistemas de Partícuas Trabaho Reaizado Objetivos Conceitos utiizados Sobre a Programação A bibioteca Simuador O nó (CNeuraNode) O Pano (CNeuraPane)...41

5 A Camada (CNeuraLayer) O Níve (CNeuraLeve) A Rede (CNeocognitron) Visuaizador CGraphicObject CVisuaNode CVisuaPane CVisuaLayer CVisuaLeve CVisuaNeocognitron Casses de Janeas de Diáogo A Ferramenta Resutados Obtidos Criação da rede Treinamento da Rede Teste da Rede Concusão e Propostas de Trabahos Futuros Concusão Trabahos Futuros Referências...75

6 Lista de Figuras Figura 1 Neurônio [17]...3 Figura 2 - Tipos de Sinapses. (a) Sinapse Axodendrítica (b) Sinapse Axossomática (c) Sinapse Axoaxônica [17]...4 Figura 3 - Divisões citoarquitetônicas do cérebro, segundo Brodmann. Áreas divididas através de símboos e numeradas. (a) Vista Latera (b) Vista Centra [16]...6 Figura 4 - Estrutura do Nó [10]...7 Figura 5 - Estrutura hierárquica do Neocognitron. Imagem gerada peo visuaizador impementado neste trabaho...15 Figura 6 - Panos de uma Camada-S e o Pano inibidor V C dessa mesma camada. Imagem gerada peo visuaizador impementado neste trabaho Figura 7- Cácuo da Saída das Céuas-S[10]...19 Figura 8- Counas-S[11]...21 Figura 9 - Exempos de ferramentas visuais. (a) Mutipicação (b) Mapa de navegação [3]...23 Figura 10 - Cico de visuaização em apicações científicas [2]...26 Figura 11 - Visuaização de um modeo numérico de nuvem [20]...28 Figura 12 - Imageamento médico [4]...28 Figura 13 - Visuaização de documentos pessoais. O tamanho das áreas dos assuntos indica sua importância ao pesquisador, enquanto que a proximidade entre as áreas indica proximidade dos assuntos quando pesquisados por esse pesquisador [18]..29 Figura 14 - Estrutura do sistema de fontes e pesos do nó...38 Figura 15 - Estrutura SLink...38 Figura 16 - Diagrama de casse da Casse CNeuraNode e estruturas auxiiares...39 Figura 17 - Estrutura hierárquica dos nós do neocognitron...40 Figura 18 - Estrutura SPaneLink...41 Figura 19 - Diagrama de casse da Casse CNeuraPane, estruturas auxiiares e reacionamento com a casse CNeuraNode...42 Figura 20 - Hierarquia de casses referentes aos panos S e V C...44 Figura 21 - Hierarquia de casses referentes aos panos C e S V...45 Figura 22 - Hierarquia de casses referentes aos panos auxiiares Retina e Redutor...46 Figura 23 - Estrutura connections...47 Figura 24 - Estrutura de resumo de pano...48 Figura 25 - Diagrama de casses da casse CNeuraLayer e estruturas auxiiares...48 Figura 26 - Hierarquia de casses das camadas derivadas...49 Figura 27 - Diagrama de casse da casse CNeuraLeve...51 Figura 28 - Diagrama de casse da casse CNeocognitron...52 Figura 29 - Hierarquia resumida das casses visuais...54 Figura 30 - Janea de diáogo da casse CVisuaNode...54 Figura 31 - Janea de diáogo da casse CVisuaCCe...55 Figura 32 - Janea de diáogo da casse CVisuaSCe...56 Figura 33 - Janea de diáogo da casse CNeuraPane...57 Figura 34 - Janea de diáogo da casse CVisuaLayer...58 Figura 35 - Janea de diáogo da casse CVisuaLeve...60 Figura 36 - Hierarquia de casses das casses de janeas de diáogo...61 Figura 37 - Imagem da rede criada para o teste...64 Figura 38 - Padrões de treinamento e teste...64

7 Figura 39 - Rede após treinamento com o primeiro padrão...65 Figura 40 - Saída da rede após treinamento com o primeiro padrão...66 Figura 41 - Rede após treinamento competo, exibindo o segundo padrão...67 Figura 42 - Saída da rede após treinamento competo, exibindo o segundo padrão...67 Figura 43 - Rede reconhecendo o a imagem (g) do primeiro padrão...68 Figura 44 - Saída do reconhecimento da imagem (g) do primeiro padrão...69 Figura 45 - Rede reconhecendo a imagem (f) do primeiro padrão...69 Figura 46 -Saída do reconhecimento da imagem (f) do primeiro padrão...70 Figura 47 - Rede reconhecendo a imagem (f) do segundo padrão...70 Figura 48 - Saída do reconhecimento da imagem (f) do segundo padrão...71 Figura 49 - Rede reconhecendo a imagem (e) do segundo padrão...71 Figura 50 - Saída do reconhecimento da imagem (e) do segundo padrão...72

8 Lista de Tabeas Tabea 1 - Apicações das Redes Neurais mais conhecidas [23]...12 Tabea 2 - Apicações das Redes Neurais mais conhecidas (cont.) [23]...13

9 Resumo As redes neurais artificiais possuem a capacidade de aumentarem significativamente de tamanho, tornando-se mais difíci para o ser humano estudá-as a contento. As redes do tipo neocognitron são um exempo desse tipo de rede, que pode ampiar em muitas vezes seu tamanho inicia durante o treinamento. Utiizando-se de técnicas de visuaização, conseguiu-se uma ferramenta que possibiita ver o funcionamento de uma rede neocognitron, tanto em seu treinamento quanto na fase de cassificação, permitindo assim uma maior compreensão do modeo como um todo, bem como experimentação dos diversos parâmetros do modeo. Por trás dessa ferramenta está uma bibioteca de casses que pode ser utiizada separadamente para a impementação de novas formas de visuaização ou novos simuadores de modeos de redes neurais diferentes. A utiização dessa bibioteca reduz o tempo de prototipação de uma rede neura do tipo Neocognitron e, com agumas expansões, de outros tipos de redes neurais. Isso propicia um maior tempo para o pesquisador votar sua atenção à arquitetura da rede em si. No campo da educação, a ferramenta de visuaização fornece um aboratório sobre a rede neura Neoconitron, podendo ainda ser adaptado para se conformar a novas expansões da bibioteca, fazendo com que o auno aprenda mais sobre a arquitetura da rede ao vê-a em funcionamento e ao aterar seus parâmetros interativamente.

10 Abstract Some Artificia Neura Networks may increase their size significanty with its use, making it difficut for a human being study it we. The networks of the Neocognitron mode are an exampe of this kind of network, increasing its initia size many times before the end of their training. Using Scientific Visuaization techniques, we obtained a too that aows the user to see in detais a neocognitron network actuay working, be it during its training time or the recognition process. This aows a better comprehension of the whoe mode, as it heps in the construction of a network by aowing experimentation with the parameters of the mode. Powering this too is a ibrary of casses, that can be used separatey to the impementation of new ways of visuaization or in new simuators of other modes of neura networks.

11 1 1 Introdução Vivemos na era da informação, e, portanto, recebemos cada vez mais informações, que precisamos anaisar e entender, e em um ritmo cada vez mais rápido. O progresso da veocidade dos processadores não auxiiou em nossa tarefa de entender os dados, muito peo contrário. Agora possuímos a capacidade de reaizar simuações, cada vez mais compexas e próximas da reaidade, que nos geram cada vez mais dados, e os computadores ainda não são capazes de interpretá-as em nosso ugar. A visuaização surgiu como uma proposta para resover parte desse probema, aproveitando-se da capacidade cada vez maior dos computadores de processarem dados numéricos. A proposta é simpes: modificar a representação dos dados, de forma que possamos enxergá-os não como tabeas gigantescas, mas de forma gráfica, faciitando a compreensão dos dados peos seres humanos. A idéia é se aproveitar dos recursos naturais de nossos cérebros no reconhecimento de padrões e associação visua, para que possamos entender os dados de uma forma goba, observando o conjunto como um todo, a procura de características que nos escapam quando ohamos para tabeas numéricas. Este trabaho traz um modeo de visuaização para redes neurais artificiais, mais especificamente as redes do tipo neocognitron, um tipo de rede que tende a gerar um grande número de nós durante seu treinamento, o que torna difíci o estudo da rede de forma goba. O principa objetivo deste trabaho é amenizar, tavez resover, essas dificudades através de uma ferramenta interativa de visuaização em 3D. Essa ferramenta propiciará uma maior faciidade para a impementação e teste de redes neurais, tornando mais rápido o tempo de aprendizado e pesquisa através do método construtivista de ensino. Este trabaho se divide em quatro partes principais, dispostas da seguinte forma: - Capítuo 2 : Redes Neurais oferece uma introdução às redes neurais, com os princípios básicos que evaram à criação desse modeo de processamento, as principais redes já criadas e, como é um dos focos do trabaho, uma descrição mais detahada da rede neocognitron. Este capítuo tem por objetivo demonstrar as bases sobre as quais os dados

12 2 serão gerados para a criação da visuaização, o que nos eva ao próximo capítuo; - Capítuo 3: Visuaização Científica oferece uma demonstração da utiidade dessa discipina, citando seus fundamentos e apicações, aém de agumas teorias que foram utiizadas no desenvovimento do trabaho; - Capítuo 4: Computação Gráfica quando se pretende impementar uma visuaização, deve-se saber transformar dados em gráficos. Nessa parte entra a computação gráfica. Neste capítuo é apresentada uma definição de computação gráfica e a comparação entre as principais bibiotecas gráficas comerciais atuamente utiizadas, aém de uma apresentação dos motores de partícuas, uma das bases do modeo de visuaização impementado nesse trabaho. - Capítuo 5: Trabaho Reaizado neste capítuo se encontra a documentação do trabaho reaizado, que contém a documentação tanto da bibioteca de casses criada para a impementação da visuaização, quanto da ferramenta desenvovida para manipuar essa bibioteca. Neste capítuo também são apresentados exempos de uso da ferramenta, com o resutado da criação e teste de uma rede. - Capítuo 6: Concusão e Trabahos Futuros aqui se encontram as concusões tiradas deste trabaho, bem como sugestões de trabahos futuros, para o aprimoramento de todo o sistema (bibioteca de casses e ferramenta de manipuação) As contribuições desse trabaho se dão no campo de pesquisa e ensino de redes neurais, pois uma maior faciidade de construção e prototipação desse tipo de sistema diminui o tempo de aprendizado e coeta de dados para pesquisa, uma vez que tanto o pesquisador quanto o auno, ao utiizarem as bibiotecas e ferramentas criadas, não gastarão muito tempo com detahes da impementação do sistema, e sim com a arquitetura da rede neura estudada.

13 3 2 Redes Neurais As Redes Neurais Artificiais (RNAs) são uma arquitetura de processamento paraeo inspiradas no cérebro humano, buscando uma forma de processamento atamente paraeo e com a capacidade de aprendizado pea experiência. As RNAs são uma tentativa de resover probemas compexos, como os de reconhecimento de padrões, de forma rápida e eficaz a partir de eementos de processamento muito simpes. Uma vez que sua inspiração provém da neurofisioogia, apresentamos aqui aguns conceitos eementares, úteis para o mehor entendimento do funcionamento das redes neurais. 2.1 Redes Neurais Bioógicas[17] As redes neurais bioógicas são formadas por diversos componentes bioógicos, i.e. diversos tipos de céuas e sua intercomunicação. O sistema nervoso humano é constituído basicamente dessas redes neurais, portanto anaisaremos aguns dos eementos mais importantes no processamento de informações dentro desse sistema O neurônio O neurônio é a unidade sinaizadora do cérebro, também considerada o eemento de processamento do mesmo. É uma céua especiaizada, com vários proongamentos para a recepção de sinais, chamados dendritos, e um único para a emissão de sinais, chamado axônio. Entre essas duas estruturas se encontra o núceo da céua, denominado soma. Uma esquematização da estrutura do neurônio é apresentada na Figura 1. Figura 1 Neurônio [17] A natureza integradora do neurônio é conferida por sua membrana pasmática, cuja característica mais importante é a presença de diferentes tipos de canais iônicos,

14 4 capazes de fitrar seetivamente as passagens de íons para dentro e para fora do neurônio. O sina eétrico que o neurônio utiiza como unidade de informação é o impuso nervoso, um episódio muito rápido de inversão da poaridade da membrana, produzido pea abertura seetiva e consecutiva de canais Na+ e K+, causando um caudaoso fuxo iônico através da membrana, que se propaga ao ongo do axônio, conduzindo o impuso nervoso de uma extremidade à outra do neurônio. Os impusos nervosos são sempre transportados no sentido Axônio Dendritos, passando do axônio de um neurônio ao dendrito do próximo, através das sinapses As sinapses A sinapse é a unidade processadora de sinais do cérebro. Trata-se de uma estrutura microscópica de contato entre um neurônio e outra céua, através da qua se dá a transmissão de mensagens entre as duas. Ao serem transmitidas, essas mensagens podem ser modificadas no processo de passagem de uma céua à outra, e é justamente nisso que reside a grande fexibiidade do cérebro. As sinapses podem ocorrer de diversas maneiras, como exempificado na Figura 2, podendo ser (a) Axodendrítica, (b) Axossomática ou (c) Axoaxônica, assim chamadas peo fato de se situarem mais próximas dos dendritos, soma ou axônio, respectivamente. (a) (b) (c). Figura 2 - Tipos de Sinapses. (a) Sinapse Axodendrítica (b) Sinapse Axossomática (c) Sinapse Axoaxônica [17] Há dois tipos básicos de sinapses: as químicas e as eétricas. As sinapses eétricas chamadas junções comunicantes são sincronizadores ceuares. Com

15 5 estrutura mais simpes, transferem correntes iônicas e até mesmo pequenas moécuas entre céuas acopadas, fazendo uma transmissão rápida e de ata fideidade, mas tendo, por outro ado, baixa capacidade de moduação. Esse tipo de sinapse é comum em recém nascidos e nas céuas cardíacas. As sinapses químicas são verdadeiros chips bioógicos porque podem modificar as mensagens que transmitem de acordo com inúmeras circunstâncias. Sua estrutura é especiaizada no armazenamento de substâncias neurotransmissoras e neuromoduadoras que, iberadas no exíguo espaço entre a membrana pré e a membrana pós-sináptica, provocam nesta útima aterações de potencia eétrico que poderão infuenciar o disparo de impusos nervosos do neurônio pós-sináptico O cérebro O cérebro humano possui um grande número de neurônios, ou eementos de processamento. Estimativas típicas são da ordem de bihões, com um número ainda maior de sinapses entre ees[7]. Um neurônio ou uma sinapse isoados teriam pouca utiidade, porque a capacidade de processamento de informações do sistema nervoso provém da integração entre as mihares de sinapses existentes em cada neurônio. Todas eas interagem: os efeitos excitatórios e inibitórios de cada uma deas sobre o potencia da membrana do neurônio pós-sináptico somam-se agebricamente, e o resutado dessa integração é que caracterizará a mensagem que emerge através do axônio do segundo neurônio, em direção a outros neurônios. Há estimativas de que o cérebro é dividido em cerca de 1000 móduos, cada qua com cerca de 500 redes neurais. Cada rede possuiria cerca de neurônios. Como o axônio de cada neurônio se conecta a cerca de 100 (agumas vezes esse número sobe para a casa dos mihares) outros neurônios, podemos ter uma idéia da compexidade das redes formadas no cérebro, e de como, a partir de eementos que possuem cerca de 7 graus de magnitude de veocidade abaixo dos transistores atuais, o cérebro consegue resover probemas compexos que um computador teria dificudades em processar. É pensando nessa abordagem que modeamos esses probemas compexos para serem resovidos através das RNAs[7]. Devido a esse número imenso de neurônios e a essa compexidade de interconexões ainda não é possíve se ter um mapeamento competo de todas as redes do

16 6 cérebro. Por isso, quando tratamos do cérebro trabahamos em termos de funções de ato níve, como que parte do cérebro é responsáve pea visão ou audição. Essa divisão do cérebro foi caramente mostrada no início do sécuo 20 por Korbinian Brodmann, que dividiu o cérebro em áreas conforme a arquitetura das conexões dos neurônios. Ee dividiu o cérebro em cerca de 50 áreas citoarquitetônicas diferentes[16], como mostrado na Figura 3a (Vista Latera) e na Figura 3b (Vista Centra). (a) (b) Figura 3 - Divisões citoarquitetônicas do cérebro, segundo Brodmann. Áreas divididas através de símboos e numeradas. (a) Vista Latera (b) Vista Centra [16]

17 7 2.2 Redes Neurais Artificiais Os trabahos sobre RNAs foram motivados, desde sua concepção peo reconhecimento de que o cérebro humano faz computações de uma maneira competamente diferente de um computador digita convenciona[12]. Seguindo o princípio da anaogia, A seguir é descrito um modeo peo qua esse tipo de processamento bioógico pode ser imitado Um modeo de neurônio artificia Descreveremos agora uma forma básica de neurônio utiizada na modeagem de redes neura, de forma a termos uma base de entendimento para as redes neurais específicas. Essa forma básica de neurônio é esquematizada na Figura 4, com todos os seus componentes presentes. Figura 4 - Estrutura do Nó [10] Cada nó em uma rede neura é numerado. Cada nó possui, de modo singuar aos neurônios, diversas entradas, mas apenas uma saída, que, no entanto, pode ser conectada a diversos outros nós na rede.

18 8 A entrada que o i-ésimo nó recebe do j-ésimo nó é notada x j (note que essa também é a notação da saída do nó j, assim como a saída do nó i será notada x i ). Cada conexão ao nó i é associada a uma força de conexão, chamada peso. O peso da conexão do nó j ao nó i é denominado w ij [10]. As entradas de um nó são divididas em diversos tipos, o que indica que conexões de tipos diferentes podem possuir efeitos diferentes, como, por exempo, conexões excitantes e inibidoras, que contribuem com vaores positivos e negativos, respectivamente. Cada nó possui um vaor de entrada da rede, cacuado como net i = j x j w ij onde o índice j percorre todas as conexões ao nó i[10]. Uma vez que a entrada da rede é cacuada, ea pode ser convertida para um vaor de ativação, ou simpesmente ativação. Podemos escrever esse vaor de ativação como a () t = F ( a ( t 1) net ( t) ) i i i, i 1 para denotar que a ativação é uma função expícita da entrada da rede[10]. Assim que a ativação do nó é cacuada, podemos determinar o vaor de saída apicando uma função de saída: x i = f i ( a ( t) ) Dado que geramente a ( t) net ( t) como xi = f i ( net i () t )[10]. i i = i, a função de saída é normamente escrita As sinapses do modeo artificia No modeo de neurônio descrito acima, podemos considerar os pesos e as conexões com outros neurônios como sendo simpificações das sinapses que existem entre os neurônios bioógicos. 1 Quando tratamos de redes neurais, o tempo (t) é geramente considerado uma variáve medida em passos discretos, ao invés de uma variáve contínua. Assim sendo, t-1 denota um passo de tempo anterior ao t atua.

19 9 Portanto, ao modificarmos a topoogia das conexões, i.e. modificarmos qua neurônio se conecta a qua, ou os pesos dessas conexões, simuamos as funções das sinapses, com baixa compexidade O cérebro e a rede neura artificia O cérebro humano é um sistema de processamento de informações atamente compexo, não inear e paraeizado. Aém disso, ee tem a capacidade de organizar seus componentes estruturais para poder reaizar suas tarefas, permitindo que ee reaize computações do tipo de reconhecimento de padrões, percepção e controe motor muitas vezes mais rápido que o computador digita mais rápido em existência[12]. As RNAs são sistemas deiberadamente construídos para fazer uso de aguns princípios organizacionais que são supostamente semehantes aos do cérebro humano[1]. Eas são processadores extremamente paraeos e distribuídos, construídos a partir de unidades de processamento simpes (neurônios), que possuem uma propensão natura a armazenar conhecimentos providos de sua experiência. As RNAs se assemeham ao cérebro em dois aspectos: - Conhecimento é adquirido pea rede do seu ambiente, através de um processo de aprendizado; - Forças de interconexão entre os neurônios (sinapses) são utiizadas para armazenar o conhecimento adquirido. Portanto as RNAs derivam seu poder computaciona de duas fontes, sua estrutura extremamente paraea e distribuída e sua capacidade de generaização proveniente do aprendizado[6] Diferenças entre estruturas bioógicas e Redes Neurais Artificiais [7] Há diversas diferenças entre as estruturas bioógicas e a representação ou impementação das RNAs. Enquanto mostramos essas diferenças, é importante manter em mente que os nós das RNAs geramente são considerados anáogos aos neurônios nas redes neurais do cérebro. Agumas dessas difereças se encontram enumeradas abaixo:

20 10 a. As conexões entre nós podem possuir pesos positivos ou negativos. Esses pesos correspondem a conexões excitatórias ou inibitórias entre neurônios, assim simpificando a compexidade inerente das sinapses. b. Informações sobre o estado de ativação ou excitação de um nó são passadas a outros nós aos quais ee está conectado, através de um vaor que corresponde a um níve de corrente direta (dc). Em redes neurais bioógicas (RNBs), uma seqüência de pusos através da sinapse é que carrega essa informação, e vaores de ativação absoutos maiores correspondem a maiores taxas de pusos, ou seja, a freqüência da corrente aternada (ac), ou a taxa de repetição do puso é que geramente indica o níve de ativação. c. Há diversos tipos de neurônios nos sistemas bioógicos. Uma RNA geramente é impementada utiizando-se apenas um tipo de nó. Ocasionamente, são utiizados dois ou três tipos de nós, e, conforme a tecnoogia das RNAs evoui, redes mais sofisticadas podem fazer uso de diversos tipos de nós em suas impementações. Por outro ado, aguns estudos indicam que quaquer impementação pode ser feita com no máximo dois tipos de nós. d. Neurônios nas RNBs possuem um cico individua de miisegundos. A freqüência básica de cock de um processador comercia hoje em dia atinge a ordem de 1-2Ghz, que resutam em tempos de cico extremamente pequenos. Mas nesses casos, a veocidade de processamento é enganosa. Apesar de seu cico de processamento incrivemente mais ento, o cérebro ainda é capaz de reaizar tarefas em agumas ordens de magnitude mais rápido que os computadores, devido à sua arquitetura extremamente paraea. e. Há uma diferença significativa entre o número de nós utiizados em uma RNA típica e o número de neurônios envovidos em quaquer tarefa em uma RNB. RNAs típicas são impementadas com um número de nós que variam de uma dúzia a centenas de mihares de nós, enquanto que se considerarmos que cada um dos 1000 móduos do cérebro descrito acima contém cerca de 500 mihões de neurônios, e

21 11 que é quase certo de que uma tarefa simpes envova vários (tavez muitos) desses móduos, teremos uma idéia da quantidade de neurônios utiizados peo cérebro. Para muitas apicações práticas, não teríamos idéia de como utiizar efetivamente uma RNA com os 500 mihões de neurônios do primeiro móduo. 2.3 Modeos de Redes Neurais Desde o início das pesquisas em redes neurais artificiais foram criadas redes neurais com os mais diversos propósitos, desde reconhecimento de padrões até processamento de sinais. Apresentadas a seguir, as Tabeas 1, 2 e 3 fazem um resumo dos principais modeos criados até então, com uma pequena descrição de suas características. A rede Neocognitron, uma rede neura artificia proposta a partir do modeo bioógico de visão, será descrita com detahes em separado na seção 2.4, peo fato da mesma ser o objeto da ferramenta de visuaização da presente dissertação. Tabea 1 - Apicações das Redes Neurais mais conhecidas [23] Rede Ano Inventores/ Desenvovedores ADALINE/ MADALINE Adaptative Resonance Theory 1960 B. Widrow Fitragem adaptativa de sinais, equaização adaptativa G. Carpenter, S. Grossberg Apicação Principa Vantagens Desvantagens Reconhecimento de padrões. Back- Propagating Perceptrons: Basic P. J. Werbos, D. Parker, D. Rumehart Reconhecimento de padrões, fitragem de sinais, remoção de ruídos, segmentação de sinais/imagens, cassificação, mapeamento, controe robótico adaptativo, compressão de dados. Recurrent 1987 Ameida, Pineda Controe robótico, reconhecimento de voz, predição de eementos de seqüências. Rápida, fáci de impementar, pode ser impementada utiizando circuitos anaógicos ou VLSI. Capaz de aprender novos padrões, formar novas categorias de padrões e reter as categorias aprendidas. Operação rápida. Boa em formar representações internas das características dos dados de entrada ou cassificação e outras tarefas. Bem estudada. Muitas apicações com êxito. Atuamente é a mehor rede para cassificar e mapear informações variantes com o tempo. Assume reação inear entre entrada e saída. Somente cassifica em espaços de cassificação inearmente separáveis A natureza dos exempares de categoria podem mudar durante o treinamento. Longo período de aprendizado. Rede compexa, pode ser difíci de treinar e otimizar.

22 12 Tabea 2 - Apicações das Redes Neurais mais conhecidas (cont.) [23] Rede Ano Inventores/ Apicação Principa Vantagens Desvantagens Desenvovedores Recurrent 1987 Ameida, Pineda Controe robótico, reconhecimento de voz, predição de Atuamente é a mehor rede para cassificar e mapear informações Rede compexa, pode ser difíci de treinar e otimizar. eementos de seqüências. variantes com o tempo. Time-Deay 1987 D. W. Tank, J. J. Hopfied Reconhecimento de voz. Desempenho equivaente aos mehores métodos convencionais, operação mais rápida. Janea de atividade tempora representada fixa, responde desastradamente em diferenças na escaa da entrada. Functiona-Link Network 1988 Y. H. Pão Cassificação, Mapeamento. Somente duas camadas (entrada e saída) necessárias; treinamento rápido. Não existe meio caro de identificar funções ou inks funcionais. Radia Basis Mútipos Cassificação, Function Network pesquisadores Mapeamento. Back P. J. Werbos Maximizar índice de Propagation of desempenho ou Utiity Function função de utiidade Through Time sobre o tempo, neurocontroe (robótica). Bidireciona 1987 B. Kosko Memória Heteroassociativa Associative Memory (endereçáve através do conteúdo). Botzmann 1984, 1986 G. Hinton, Reconhecimento de machine, Cauchy T. Sejnowski, padrões (imagens, Machine D. Ackey; radar, sonar), H. Szu otimização. Rede com uma única Desconhecidas. camada ocuta de neurônios deste tipo tem desempenho equivaente à rede de Retropropagação (backpropagation) básica com duas camadas ocutas. Abordagem neura mais abrangente para controe e/ou predição baseada em modeos. Arquitetura e dinâmica simpes, com regras caras de aprendizado. Possui prova cara de estabiidade dinâmica. Capaz de formar representação ótima de características do padrão. Segue superfície de energia para obter otimização mínima. Só pode ser utiizada após a identificação do modeo diferenciáve, deve ser adaptada externamente se o modeo é dinâmico, e assume que o modeo é exato. Pouca capacidade de armazenamento, pouca precisão de recuperação da informação. Botzmann Machine tempo de aprendizado muito ongo. As Cauchy Machines oferecem aprendizado mais rápido.

23 13 Tabea 3 - Apicações das Redes Neurais mais conhecidas (cont.) [23] Rede Ano Inventores/ Apicação Principa Vantagens Desvantagens Desenvovedores Boundary Contour System 1985 S. Grossberg, E. Mingoa Processamento de imagens de baixo níve. Abordagem bioógica para exceente Arquitetura muticamada compexa. segmentação. Brain-State-in-a- Box 1977 J. Anderson Retorno autoassociativo. Desempenho possivemente mehor que a rede Hopfied. Não foi competamente exporada em termos de desempenho e potencia de apicação. Hopfied 1982 J. Hopfied Retorno autoassociativo, otimização. Conceito simpes, estabiidade dinâmica comprovada, de fáci impementação em VLSI. Incapaz de aprender novos estados, pouca capacidade de armazenamento de memória, muitos estados fasos retornados. Learning Vector 1981 T. Kohonen Retorno auto-associativo Capaz de autoorganizar Probemas não resovidos Quantization (competa o padrão dado), compressão de dados representações vetoriais de distribuições de probabiidades nos dados. Rápida execução em seecionar o número de vetores a serem utiizados e a quantidade de tempo requerido para o treinamento.apropriado. uma vez terminado o treinamento. Sef-Organizing Topoogy- Preserving Map 1981 T. Kohonen Mapeamento compexo (envovendo reacionamento de vizinhos), compressão de dados, otimização Capaz de autoorganizar representações vetoriais de dados com uma ordenação significativa entre as representações. Probemas não resovidos em seecionar o número de vetores a serem utiizados e o tempo requerido para o treinamento. 2.4 O Neocognitron [10,11] O neoconitron é um modeo de rede neura proposto por Fukushima com um propósito prático específico: o reconhecimento de caracteres escritos a mão. Ao propor o neocognitron, Fukushima e seus coegas estavam interessados em desenvover um modeo do cérebro e seu sistema visua. Para um mehor entendimento de seu trabaho, faremos uma breve e simpificada expicação sobre o sistema visua. O nervo ótico é formado por axônios de céuas nervosas chamadas de gângios retinais. Esses gângios são estimuados indiretamente peos receptores de uz do oho (cones e bastonetes) através de diversos neurônios intermediários. Através das experiências de Hube e Wiese, descobriu-se como determinar a qua estímuo em particuar um determinado neurônio é mais sensíve. Tomaremos como exempo as céuas do Núceo Latera Genicuado.

24 14 Essas céuas possuem campos receptivos circuares, ou seja, ees respondem mais fortemente a estímuos contidos em áreas circuares de um determinado tamanho em uma parte particuar da retina. A parte da retina responsáve por estimuar um gângio em particuar é chamada de campo receptivo do gângio. Aguns desses campos receptivos possuem uma resposta excitante para pontos de uz focados, e uma resposta inibidora para pontos de uz maiores e mais difusos, enquanto que outros possuem uma característica oposta, com uma resposta inibidora para o ponto de uz focado e excitante para o ponto de uz difuso. O córtex visua (conhecido também como área 17 do cérebro) em si é composto por seis camadas de neurônios (as céuas descritas como exempo acima se conectam, em sua maioria, à quarta camada), e a cada camada a característica das respostas dos neurônios aumenta em compexidade. Seguindo adiante com o exempo, as céuas da quarta camada projetam suas respostas em um conjunto de céuas diretamente acima deas, chamadas céuas simpes. As céuas simpes respondem a segmentos de inha possuindo uma orientação em particuar. As céuas simpes projetam suas saídas para céuas conhecidas como céuas compexas. As céuas compexas também respondem a segmentos de inha com a mesma orientação que as simpes, mas são menos afetadas pea posição dos mesmos na retina, pois integram uma perspectiva ou campo receptivo mais ampa, baseadas nas respostas vindas das céuas simpes. Agumas céuas compexas são sensíveis a segmentos de inha em uma determinada orientação se movendo em uma determinada direção. Céuas em diferentes posições no córtex visua se projetam a diferentes áreas do cérebro. As céuas das camadas 2 e 3 se projetam a céuas nas áreas 18 e 19 do cérebro. Essas áreas possuem céuas chamadas de hipercompexas. As céuas hipercompexas respondem a inhas que formam ânguos ou dobras e que se movem em várias direções ao ongo do campo receptor. Desse estudo podemos perceber que existe uma hierarquia de céuas com resposta de características progressivamente mais compexas. A partir da existência dessa hierarquia, Fukushima foi capaz de extrapoar essa idéia em uma hierarquia de rede neura em que o níve de abstração dos dados aumenta de acordo com a

25 15 profundidade da rede. O neocognitron, portanto, adota uma estrutura hierárquica em uma arquitetura de camadas Arquitetura do Neocognitron Figura 5 - Estrutura hierárquica do Neocognitron. Imagem gerada peo visuaizador impementado neste trabaho. O neocognitron é organizado em móduos chamados níveis, conforme a Figura 5. Cada níve consiste de duas camadas: uma camada de céuas simpes ou céuas-s, seguida por uma camada de céuas compexas, ou céuas-c. Cada camada, por sua vez, é dividida em um número de panos, cada qua consistindo de um conjunto retanguar de nós. Em um dado níve, a camada-c e a camada-s podem ou não ter o mesmo número de panos. Todos os panos em uma mesma camada possuem o mesmo tamanho em termos de número de nós. No entanto o número de nós nos panos da camada-s, ou panos-s, de um níve pode diferir do número de nós nos panos da camada-c, ou panos-c no mesmo níve. Aém disso, o número de nós por pano pode variar de níve para níve. Para se construir uma rede competa, combinamos uma camada de entrada, chamada de retina, com um número de níveis de modo hierárquico, e não havendo, a princípio, nada que imite o tamanho da rede em termos de número de níveis.

26 16 A estratégia de interconexão entre os panos também é diferente de outros tipos de redes competamente interconectadas. Cada camada de céuas simpes age como um sistema de extração de atributos, que utiiza a camada que a precede como entrada. Na primeira camada-s, as céuas de cada pano são sensíveis a características simpes na retina, como, por exempo, segmentos de inhas em diversos ânguos. Cada céua-s em um mesmo pano é sensíve à mesma característica, mas em uma ocaidade diferente na camada de entrada. Céuas-S em panos diferentes respondem a diferentes características. Conforme examinamos a rede mais profundamente, as céuas-s respondem a características com graus mais atos de abstração, como intersecção entre segmentos de inha em vários ânguos e orientações. As céuas-c integram as respostas de grupos de céuas-s dentro de um mesmo pano. Devido ao fato de que cada céua-s dentro de um mesmo pano está procurando a mesma característica em uma ocaidade diferente, a resposta das céuas-c é menos sensíve à ocaização exata da característica na camada de entrada. Este comportamento das céuas-c é que dá ao neocognitron a capacidade de reconhecer caracteres sem evar em conta sua posição exata no campo da retina. Com essa função, ao chegarmos à útima camada de céuas-c, a camada de saída, o campo receptivo efetivo de cada céua é a retina inteira, ou seja, a camada de entrada como um todo. Quanto à conexão entre os níveis, é importante notar que apesar de que os panos-s da primeira camada recebem estímuos apenas de um pano (a retina), nas camadas subseqüentes cada pano-s recebe estímuos de todos os panos-c do níve anterior. Os pesos das conexões para as céuas-s são determinados por um processo de treinamento descrito mais adiante. Ao contrário da maioria das outras arquiteturas, onde cada nó possui um conjunto de pesos diferentes, todas as céuas-s de um mesmo pano respondem, como já foi descrito, a uma única característica. Devido a esse fato, é necessário treinar apenas uma céua-s em cada pano e depois distribuir os pesos resutantes para outras céuas. Os pesos nas conexões para as céuas-c não são modificados por treinamento, sendo geramente atribuídos de acordo com a arquitetura específica desejada.

27 Processamento de dados no neocognitron Processamento nas céuas-s Cada céua-s, como descrito anteriormente, recebe entradas de uma determinada região dos panos-c do níve anterior. Aém disso, a camada-s de um níve está associado a um pano-v C, composto por um número de céuas-v C igua ao número de céuas-s em cada pano-s existente na camada, conforme demonstrado na Figura 6. As céuas-v C possuem os mesmos campos receptivos que as céuas-s nas posições correspondentes dos panos. A saída de uma céua-v C se iga a uma única céua-s, que ocupa a mesma posição no pano correspondente à céua-v C, em cada um dos panos na camada. Essa saída possui um efeito inibidor nas ceuas-s. Sendo o índice k uma referência ao k-ésimo pano no níve, podemos identificar cada céua no pano com um vetor bidimensiona, com n indicando sua posição no pano; então definimos o vetor v como a posição reativa de uma céua na camada anterior que fica no campo receptivo da unidade n. Com essas definições, podemos escrever a função de saída de uma céua-s como: u 1+ K a r 1+ b 1+ r ( k, v, k ) u ( k, n+ v) 1 1 k = v A C S ( k, n) = r φ (1) ( k ) v ( n) onde a função φ é um função de imite inear dada por φ ( x) x x 0 = 0 x < 0 O somatório interno é a soma de produtos usua do cácuo das entradas, uc ( k, n + v) e pesos, a ( k v, k ) C 1, 1,. A soma se estende por todas as unidades na camada-c anterior que se encontram dentro do campo receptivo da unidade n. Esses são designados peo vetor n + v. Essa soma mede o quanto o padrão de entrada está próximo do vetor de pesos. A indica o campo receptivo, que tem uma geometria idêntica para todos os nós de uma mesma camada. O somatório externo se estende por todos os K 1 panos da camada-c anterior.

28 18 Figura 6 - Panos de uma Camada-S e o Pano inibidor V C dessa mesma camada. Imagem gerada peo visuaizador impementado neste trabaho. O produto b ( k ) v ( n) C, no denominador, representa a contribuição inibidora da céua-v C. O parâmetro r, onde o r <, determina a seetividade da céua a um determinado padrão, sendo que um maior r exige uma maior excitação, em reação à inibição, para gerar saídas diferentes de 0. A céua-v C na posição n tem um vaor de saída de K ( ) 1 2 v C n = c ( ) ( ) + 1 1, v uc k n v (2) k = 1v A 1 onde c () v é o peso na conexão de uma céua na posição v do campo receptivo da céua-v C [11]. Esses pesos não estão sujeitos a treinamento. Ees tomam a forma de uma função normaizada monotonicamente decrescente conforme a magnitude de v aumenta.

29 19 Um exempo desse tipo de função seria: c () v 1 α C = r' ( v) (3) () onde r' () v é a distância normaizada entre a céua ocaizada na posição v e o centro do campo receptivo, e α é uma constante menor que 1 que determina a taxa de diminuição com o aumento da distância. O fator C () é uma constante de normaização: K ( ) () = 1 r ' v C α (4) k v A 1 A condição para que os pesos sejam normaizados pode ser descrita como K 1 k 1 v A () v c = 1 (5) Figura 7- Cácuo da Saída das Céuas-S[10] Com essas equações tanto as entradas excitantes como as inibidoras serão mais fortes se o padrão de entrada estiver centraizado no campo receptivo da céua. O esquema da reação entre cada céua-s e sua céua-v C pode ser visto na Figura 7, acima.

30 Processamento nas céuas-c As funções que descrevem o processamento das céuas-c são simiares em forma àqueas das céuas-s. Assim como na camada-s, cada camada-c tem associada a ea um único pano de unidades inibidoras que funcionam de modo simiar às céuas- V na camada-s. Estas unidades recebem o nome de ( n) C v S. Geramente as unidades em um dado pano-c recebe conexões de entrada de um, ou no máximo um pequeno número, de panos-s da camada anterior. As céuas-v S recebem conexões de entrada de todos os panos-s presentes na camada anterior. A saída de uma céua-c é dada por onde se o pano-s u C ( k, n) ( κ ) ( ) ( ) ( ), k d v u k, n + v v D S 1 1+ vs n K 1+ j κ = 1 = ψ (6) K é o número de panos-s no níve, j (, k ) k. ( v) κ é ou não conectado ao pano-c κ é 1 ou 0 dependendo de d é o peso na conexão da céua- S na posição v no campo receptivo da céua-c, e receptivo da céua-c. A função ψ é definida por D define a geometria do campo x x 0 ψ ( x) = β + x (7) 0 x < 0 onde β é uma constante. A saída das céuas-v S é dada por Os pesos, () v v S 1 K K ( n) = u ( k, n + v) d ( v) κ = 1v D S d são vaores fixos, com a mesma forma gera que os ( v) descritos para as céuas-s, apesar de que pode-se atingir resutados satisfatórios se d () v for um vaor uniforme. Simiarmente às céuas-s, uma céua-c só emitirá saída excitante se o vaor de excitação da céua for maior que a média. (8) c

31 Treinamento dos pesos das céuas-s Apesar de existirem diversos modos de treinamento para o neocognitron, descreveremos aqui o método projetado originamente, que é o aprendizado sem supervisão. A princípio, o treinamento segue conforme a maioria das redes neurais, ou seja, apresentamos uma amostra à rede, e os dados são propagados pea rede, permitindo que os pesos das conexões se ajustem progressivamente de acordo com um agoritmo determinado. Depois de os pesos serem atuaizados, é apresentado um segundo padrão na camada de entrada, e o processo se repete com todas as amostras de treinamento, até que a rede esteja cassificando corretamente os padrões. O neocognitron possui uma característica que diferencia o processo: todas as céuas em um mesmo pano compartiham o mesmo conjunto de pesos. Portanto, apenas uma única céua de cada pano precisa participar do treinamento, e, após isso, distribuir o seu conjunto de pesos para as demais céuas. Figura 8- Counas-S[11] Para entender mehor o funcionamento, podemos imaginar todos os panos-s de uma dada camada empihados uns sobre os outros, ainhados de ta modo a que as céuas correspondentes a uma determinada ocaidade estejam diretamente umas acima das outras, como exempificado na Figura 8. Com isso conseguimos imaginar diversas counas, correndo perpendicuarmente aos panos. Essas counas criam grupos de

32 22 céuas-s, onde todos os membros do grupo têm campos receptivos aproximadamente na mesma ocaidade na camada de entrada. Com esse modeo em mente, podemos agora apicar um padrão de entrada e examinar a resposta das céuas-s em cada couna. Para garantir que cada céua-s forneça uma resposta distinta, podemos iniciar os pesos a com vaores aeatórios pequenos e positivos e os pesos inibidores b com zero. Primeiro anotamos o pano e posição da céua-s cuja resposta é a mais forte em cada couna. Então examinamos os panos individuais de modo que, caso um pano possua duas ou mais dessas céuas-s, escohamos somente a céua-s com a resposta mais forte, sujeita à condição de que cada uma das céuas esteja em uma couna-s diferente. Essas céuas-s se tornam os protótipos, ou representantes, de todas as céuas em seus respectivos panos. De maneira semehante, a céua-v C com a resposta mais forte é escohida como representante para as outras céuas no pano-v C. Uma vez escohidos os representantes, as atuaizações dos pesos são feitas de acordo com as seguintes equações: onde a ( k, v, kˆ ) = qc ( v) uc ( k, nˆ 1 v) 1 b ( kˆ ) = q v ( nˆ ) (10) (9) q é o parâmetro da taxa de aprendizado, ( v) C 1 c 1 é a função monotonicamente decrescente descrita anteriormente (Equação 3) e a ocaização do representante do pano kˆ é nˆ. Com esse agoritmo, uma vez que as céuas de um pano passem a responder a uma determinada característica, eas passam a emitir respostas menores em reação a outras características. Os níveis mais profundos, como dito anteriormente, passarão a responder a características mais compexas.

33 23 3 Visuaização Científica 3.1 Introdução Uma constante encontrada na iteratura sobre visuaização científica é a paavra transformação. A visuaização científica trata exatamente sobre isso: a transformação de uma idéia, modeo, equação, etc. em uma representação, geramente gráfica, de mais fáci entendimento ou simpesmente em uma forma diferente, para obter um outro ponto de vista sobre o assunto em questão. Ao tentarmos essa transformação, devemos ter em mente diversos tópicos como, por exempo, qua o grau de ateração podemos impor sobre os dados representados, a quaidade estética da representação, qua o púbico avo da representação, etc. 3.2 Fundamentos O ser humano se utiiza de ferramentas visuais há muito tempo, mesmo quando não se dá conta disso, como nos casos em que utiizamos pape e caneta ou uma régua de cácuo para reaizar uma conta, ou utiizamos um mapa para nos orientarmos em uma cidade ou viagem marítima. (a) (b). Figura 9 - Exempos de ferramentas visuais. (a) Mutipicação (b) Mapa de navegação [3] No caso do pape e caneta, utiizamos o modeo que nos ensinaram na escoa para estender nossa memória através da escrita dos agarismos da conta no pape e ao mesmo tempo para agiizar a conta ao reaizarmos diversas contas rápidas ao invés de uma única maior, como demonstrado no exempo da Figura 9a.

34 24 No caso do mapa na Figura 9b, utiizamos o modeo como um banco de dados, organizado de forma que as informações estão mais próximas do ponto onde necessitamos da mesma. Os diversos modeos de mapas marítimos permitem que os cursos sejam traçados de maneira rápida e precisa nos mais diversos pontos da Terra. [3] Com toda essa diversidade de funções, podemos chegar a aguns fundamentos e tópicos que são úteis ao desenvovimento de um modeo de visuaização O sistema visua humano É estimado que metade dos neurônios do cérebro estão de aguma forma igados à atividade de processar e entender um estímuo visua[2]. Dessa maneira, se, ao desenvovermos um modeo de visuaização, utiizarmos técnicas que permitam ao cérebro utiizar seus próprios recursos para identificar as informações estaremos nos aproveitando de mais esse processamento de informações para que nossas idéias possam ser compreendidas peos nosso púbico. Segundo [3], a informação visua pode ser processada de dois modos: - Processamento controado, onde o processamento é detahado, ento, consciente, seria e de baixa capacidade. Exempo: Leitura. - Processamento automático, onde ee passa a ser superficia, paraeo, tem ata capacidade e é inconsciente. Exempo: Visão durante a condução de um veícuo. Utiizando o processamento automático, podemos fazer com que o sistema visua detecte padrões de codificação rapidamente, sem termos que nos referir a textos, aumentando a capacidade de absorção de dados peo observador. Baseados nessas características foram definidos aguns princípios e estruturas úteis ao desenvovimento de uma visuaização Estruturas Visuais e Princípios Gestat Existem certas estruturas visuais que são detectadas peo processamento automático do sistema visua descrito acima. São eas: - Números; - Orientação de inhas; - Comprimento;

35 25 - Largura; - Tamanho; - Curvatura; - Terminadores; - Intersecção; - Fechamento; - Cor; - Intensidade; - Aparecimento/Desaparecimento de objetos; - Direção de movimento; - Profundidade e - Direção da iuminação. [13] Ao mapearmos dados em uma dessas características, estamos garantindo que ees serão prontamente processados e os padrões que ees formam poderão ser mais rapidamente acessados. Aém dessas estruturas básicas, também foram definidos aguns princípios de organização que devemos ter em mente para construir uma visuaização eficiente, chamados princípios Gestat[22]: - Pragnanz: Todo padrão de estímuo é visto de ta modo que a estrutura resutante seja a mais simpes possíve; - Proximidade: A tendência de que objetos próximos se agrupem em uma mesma unidade de percepção; - Simiaridade: Se diversos estímuos são apresentados juntos, há a tendência de ver a forma de ta modo que itens simiares sejam agrupados; - Fechamento: A tendência de unir contornos que estão muito próximos uns dos outros; - Boa Continuidade: Eementos vizinhos são unidos quando ees estão potenciamente conectados por uma inha reta ou evemente curvada; - Destino Comum: Eementos se movendo na mesma direção parecem estar agrupados;

36 26 - Famiiaridade: Há mais chance de que os eementos formem grupos se os grupos parecem famiiares ou significativos Processo de visuaização Para se obter uma representação gráfica de quaquer tipo de dados, são necessários: - Dados crus: vindos de uma base de dados, simuação, experimento, etc; - Modeo de Visuaização: que tipo de efeito gráfico será gerado baseado nesses dados; e - Um mapeamento entre esses dados e o modeo de visuaização. Entao podemos definir um processo de visuaização como sendo composto das seguintes etapas[2]: - Extração/Anáise dos dados; - Mapeamento dos dados em estruturas visuais ou modeos geométricos, - Renderização, ou criação da imagem. Figura 10 - Cico de visuaização em apicações científicas [2]

37 27 Ao ongo desse processo, esquematizado na Figura 10, é desejáve que o controe das transformações possa ser feito peo usuário da visuaização[3], permitindo se extrair o máximo dos dados com poucas aterações e aumentando assim a interatividade da visuaização. Para se impementar uma visuaização de uma simuação, é usua a integração entre a fonte de dados e a visuaização. Uma aternativa é a separação entre essas duas partes, visando a mehoria de ambas por especiaistas diferentes[23]. Essa separação permite que cada especiaista se preocupe com os probemas de sua área, seja ea uma simuação que gera os dados utiizados na visuaização, ou a própria visuaização. Essa forma de trabaho gera agumas vantagens, como a possibiidade de se trocar o modeo da visuaização sem ser necessária nenhuma mudança na simuação. 3.3 Apicações Visuaizações já foram criadas sobre os mais variados conjuntos de dados, normamente quando se quer um entendimento mais profundo sobre um conjunto muito grande de dados ou descobrir padrões de ato níve existentes nesses conjuntos, tarefa quase impossíve de se reaizar ohando apenas para as tabeas. Nesta seção serão apresentados aguns exempos da variedade de apicações das visuaizações Anáise de dados meteoroógicos Dado que o meteoroogista trabaha normamente com uma grande quantidade de dados, a representação gráfica dos dados obtidos de satéites ou radares é um recurso muito importante para o estudo do comportamento do tempo. Assim, muitos dos sistemas de Visuaização de Dados Meteoroógicos tem provado serem ferramentas poderosas para os meteoroogistas[2]. Um exempo dessa utiidade é demonstrado na Figura 11, onde um modeo matemático de nuvens foi transformado em uma imagem para o mehor entendimento dos dados presentes no modeo.

38 28 Figura 11 - Visuaização de um modeo numérico de nuvem [20] Imagens médicas Computações apicadas a imagens médicas criaram oportunidades em medicina diagnóstica, panejamento cirúrgico para próteses ortopédicas e panejamento de radioterapia. Em cada um desses casos, essas oportunidades vieram a tona com visuaizações de 2 e 3 dimensões de partes do corpo previamente inacessíveis à visão[4]. A Figura 12 exempifica essa capacidade de manipuação das imagens formadas a partir de sensores médicos. Um médico pode examinar a aparência externa de uma parte do corpo (Figura 12a) ou retirar camadas externas e observar detahes interiores (Figura 12b). Em outro caso, é possíve fazer cortes diversos na imagem para observar diversas camadas ao mesmo tempo (Figura 12c). (a) (b) (c) Figura 12 - Imagens médicas [4]

39 Visuaização de documentos Documentos de texto estão intimamente igados aos nossos trabahos. Nós nos comunicamos com ees e os tratamos como extensões de nossa memória. Nesse aspecto, podemos estar interessados em como os conteúdos de um único documento se reacionam e como diversos documentos se reacionam entre si[3]. Esse tipo de estudo pode agiizar a busca por informações em espaços tão restritos quanto um programa de computador ou tão ampos quanto a internet. Na Figura 13 observamos um exempo de estudo das áreas de importância para um pesquisador baseados em seus documentos pessoais e pubicações. Com a visuaização é mais fáci perceber onde os assuntos são interigados, e qua a freqüência em que o pesquisador se envove com cada assunto. Figura 13 - Visuaização de documentos pessoais. O tamanho das áreas dos assuntos indica sua importância ao pesquisador, enquanto que a proximidade entre as áreas indica proximidade dos assuntos quando pesquisados por esse pesquisador [18]

40 30 4 Computação Gráfica A computação gráfica sempre foi um dos ramos mais visuamente espetacuares da tecnoogia da computação, produzindo imagens cuja aparência e movimento as tornam bem diferentes das outras formas de saídas computacionais. A computação gráfica também é um meio extremamente efetivo para a comunicação entre homem e computador[19]; como visto no capítuo sobre visuaização, o oho humano pode absorver o conteúdo da informação mostrada em um diagrama ou visão perspectiva muito mais rápido do que em uma tabea de números. 4.1 Definição O termo COMPUTER GRAPHICS surgiu provavemente em 1959, criado por Verne L. Hudson, quando este coordenava um projeto na BOEING para simuação de fatores humanos em aviões. Hoje COMPUTER GRAPHICS é definido pea ISO (Internationa Standards Organization) como sendo: Métodos e técnicas para conversão de dados de e para dispositivos gráficos, através do computador. Portanto, ta definição abrange toda e quaquer apicação que envova imagens tratadas por computador, desde a geração de gráficos simpes por programas de auxíio à engenharia até imagens tão reaistas a ponto de substituírem cenários de fimes[8]. 4.2 Bibiotecas Gráficas Bibiotecas ou Pacotes Gráficos são conjuntos de rotinas gráficas básicas, com as quais pode-se desenvover programas apicativos sofisticados sem necessidade de se preocupar com detahes particuares dos dispositivos gráficos, como, por exempo, a forma de se gerar uma reta em um determinado termina de vídeo. Assim como para programação matemática foram criadas bibiotecas de rotinas que executam, de maneira eficiente, funções aritméticas do tipo seno, raiz quadrada, móduo e outras funções, para os programadores que se utiizam da computação gráfica se fizeram necessárias rotinas que traçam retas, arcos, poígonos e reaizam diversas operações gráficas[8]. Características desejáveis em uma boa bibioteca gráfica são: - Simpicidade: Características muito compexas para o programador entender não devem ser utiizadas.

41 31 - Consistência: A bibioteca deve se comportar de maneira previsíve. Nomes de funções, sequências de comandos, tratamento de erros e sistemas de coordenadas devem todos seguir padrões simpes e consistentes, sem exceções. - Competude: não devem haver omissões no conjunto de funções providos pea bibioteca. A bibioteca deve possuir um conjunto razoavemente pequeno de funções que convenientemente tratem de um grande grupo de apicações. - Robustez: Erros triviais no uso da bibioteca devem ser corrigidos sem comentários, enquanto que os erros graves devem ser reportados da maneira mais prestativa possíve. Somente erros muito graves devem parar a execução do programa. - Performance: A bibioteca deve manter uma performance consistente, ou seja, a performance deve ser a mesma quaquer que seja a impementação que a utiize[19]. Considerando essas características, foram criadas diversas bibiotecas gráficas ao ongo dos anos, mas atuamente três se destacam como bibiotecas utiizadas ampamente na área comercia, que serão descritas nas próximas sessões Java 3D A API (Appication Program Interface) Java 3D é uma hierarquia de casses Java que serve como interface para um sistema sofisticado de renderização de gráficos tridimensionais e sons. Java 3D provê construções de ato níve para criar e manipuar geometria 3D, e para criar as estruturas utiizadas para renderizar ta geometria. Utiizando essa API, desenvovedores podem criar eficientemente universos virtuais precisos, em uma grande variedade de tamanhos[14]. Porém, essa API utiiza OpenGL e Direct3D (bibiotecas gráficas descritas a seguir) como suas API s de renderização de baixo níve. Ea depende dos drivers de OpenGL e Direct3D para aceeração da renderização de baixo níve. Portanto, utiizar hardware que oferece aceeração para uma dessas duas API s é o mehor modo de aumentar o desempenho gera da renderização da API Java 3D[15].

42 Direct3D Direct 3D é uma API da Microsoft para gráficos 3D baseada em COM (Component Object Mode), originada de uma API para gráficos 3D de terceiros, votada para a arquitetura x86. A Microsoft adquiriu a tecnoogia em 1996 e a oferece como um componente de sua tecnoogia DirectX. A API contém uma interface de modo imediato e uma interface em forma de grafo estruturado hierárquico de cena. A Microsoft define a API Direct3D por suas interfaces COM, enquanto que a semântica é definida nos arquivos de ajuda e códigos de exempo fornecidos no kit de desenvovimento necessário para se utiizar a API[5] Vantagens A bibioteca provê recursos como Programmabe Pixe e Vertex Shaders, que são recursos avançados que permitem repor partes do procedimento norma de renderização por códigos próprios; aém disso, ea também possui funções que permitem enumerar exatamente quais são os hardwares gráficos disponíveis ao sistema. Outra vantagem é a sua estruturação, que é orientada a objetos, e, nas versões recentes, foi tornada mais intuitiva e de uso mais fáci aos desenvovedores. Sua interface COM permite que sejam introduzidas mudanças no código sem que se quebre a compatibiidade com códigos antigos[6] Desvantagens Sua atuaização ocorre aproximadamente anuamente, o que é muito ento quando se trata de desenvovimento na indústria da computação gráfica. A Microsoft diminui esse atraso trabahando junto às empresas de hardware e disponibiizando funções em sua API antes mesmo que eas estejam disponíveis nas pacas de vídeo. Outra desvantagem é a quantidade de código necessária para se iniciar um programa em Direct3D: na versão 8.0 da API, são necessárias cerca de 200 inhas de código para se desenhar o primeiro triânguo, aém do que sua interface COM torna difíci a programação em C. A maior desvantagem, no entanto, é a fata de portabiidade, pois essa API pode ser utiizada somente no sistema operaciona Windows, da Microsoft e não é um padrão aberto, fazendo com que decisões errôneas por parte da Microsoft sobre qua característica suportar permaneçam erradas por aproximadamente um ano[6].

43 OpenGL OpenGL é uma API para gráficos 3D baseada em procedimentos da SGI (Siicon Graphics, Inc), sucessora da bibioteca IrisGL, originada para o mercado de workstations para Unix. As definições da OpenGL são controadas peo OpenGL Architectura Review Board (ARB). O ARB controa a especificação pea qua uma impementação pode se chamar de OpenGL. Essa especificação é um documento em prosa em ingês com a matemática associada que define a semântica da API. Ee também define um conjunto de teste de conformidade que serve como vaidação para uma impementação. O ARB foi formado em 1992 e segue um conjunto de regras para revisar e supervisionar a especificação da API. A OpenGL define uma máquina de estados que controa o procedimento de renderização. Os atributos da máquina de estados são modificados através de chamadas de procedimentos e os vértices definindo as primitivas gráficas são especificados para o procedimento de renderização através de chamadas de procedimento[5]. Cada fabricante de hardware também pode criar extensões da API para introduzir recursos excusivos existentes em seu hardware Vantagens OpenGL é muito portáti. Ea pode executar eficientemente em quase todas as pataformas em existência. A razão para isso é que OpenGL é um padrão aberto. Isso significa que quaquer companhia com uma pataforma que deseje suportar OpenGL pode comprar uma icença da SGI e então impementar todo o conjunto de características definido pea OpenGL para aquea pataforma. Outra ventagem é a grande variedade de características presentes na bibioteca, tanto em seu núceo quanto em suas extensões. A capacidade de extensão permite que ea esteja imediatamente atuaizada com as novas características de um novo hardware, apesar da confusão que isso causa. Devido à formação do ARB se dever a diversas companhias diferentes, as características disponíveis na OpenGL representam um grande grupo de interesses, tornando-a, portanto, úti em muitas apicações diferentes. OpenGL também é utiizada em diversos setores. Sua estabiidade e suporte a diversas pataformas atraem setores de tecnoogias fora da indústria dos jogos. Ea é reconhecida como o padrão da indústria para gráficos em todos os setores, exceto no de

44 34 jogos, onde a Direct3D provê uma competição viáve, uma vez que está impementada visando o sistema operaciona mais utiizado por usuários domésticos[6] Desvantagens As extensões devem ser mencionadas também como desvantagens, porque, apesar de poderosas, eas podem tornar o código confuso. O desenvovedor também pode se confundir com quaquer compiador que não possua rastreamento de referências. A pior parte é o fato de que muitas extensões recentes são competamente específicas a um novo hardware de empresas específicas. Apesar de servirem para testar as capacidades desse novo hardware, esse tipo de extensão não é utiizado comerciamente. As convenções de nome também podem parecer exageradas, uma vez que muitas IDEs (Integrated Deveopment Environment) possuem ajuda sensíve ao contexto que pode mostrar os parâmetros requeridos às funções. Aém disso, ter 12 nomes diferentes para uma única função pode parecer estranho à programação em C++, onde o recurso de sobrecarga de funções evitaria isso[6]. 4.3 Sistemas de Partícuas Sistemas de partícuas são utiizados para representar objetos compexos, como fogo, água, exposões, etc. Esses sistemas possuem como primitivas não vértices e poígonos definindo suas bordas, mas por nuvens de pontos, que definem seu voume. Aém disso, um sistema de partícuas não é uma entidade estática. Suas partícuas mudam de forma e se movem com a passagem do tempo; novas partícuas nascem, enquanto as vehas morrem. Objetos representados por um sistema de partícuas não são determinísticos, uma vez que sua forma não é competamente especificada. Ao invés disso, ees são dinâmicos, com suas formas e aparências definidas através de métodos estocásticos[21]. Aém disso, pode-se associar formas às partícuas, como esferas, retânguos, e até mesmo aves e peixes, esses útimos utiizados na criação de vida virtua. De fato, um sistema de partícuas pode ser construído através de um conjunto de partícuas ou de um conjunto de sistemas de partícuas mais simpes, de forma a gerar uma hierarquia[9]. Devido a essa capacidade de representar diversos objetos parecidos como um único sistema, e a capacidade de se formar hierarquias de sistemas de partícuas é que

45 35 este trabaho utiiza esses sistemas para simuação e visuaização de redes neurais, como expicado no Capítuo 5.

46 36 5 Trabaho Reaizado 5.1 Objetivos Este trabaho possui diversos objetivos, sendo o principa o estudo da apicação da visuaização no estudo da rede neura Neocognitron, visando a mehoria do entendimento sobre o comportamento desta rede específica. Ainda sobre o aspecto do aprendizado dessa rede neura, outro objetivo foi a criação de uma ferramenta que permitisse manipuar essa visuaização ivremente, de modo a ser utiizada no estudo da rede neura. 5.2 Conceitos utiizados O meio para se fazer a visuaização do Neocognitron em três dimensões foi utiizar uma hierarquia de sistemas de partícuas, como descrito na seção 4.3. Utiizando-se do conceito de sistemas hierárquicos de partícuas, foi definido um sistema de partícuas composto da seguinte forma: As partícuas mais primitivas do sistema representam os nós de processamento da rede neura, existindo, a exempo do Neocognitron (Seção 2.4), diversos tipos de partícuas diferentes, com formas de processamento diferente. Essas partícuas são agrupadas em sistemas maiores, os panos, que por sua vez são agrupados em camadas. Ainda seguindo o modeo do Neocognitron, essas camadas são agrupadas para formar níveis, enquanto que a rede neura é composta de uma série desses níveis. Os detahes precisos são fornecidos na seção Esse sistema de partícuas foi desenvovido na forma de uma bibioteca de casses, fazendo-se o uso do que foi dito em 3.2.2, ou seja, a separação entre o simuador da rede neura e a visuaização do mesmo, utiizando-se dos recursos de orientação a objetos para permitir que a visuaização se acope de forma transparente à simuação, e que tanto a visuaização quanto a simuação possam ser estendidas. 5.3 Sobre a Programação Tanto a apicação quanto a bibioteca foram desenvovidos na inguagem C++, utiizando o compiador Microsoft Visua C++ e sua bibioteca de auxíio MFC (Microsoft Foundation Casses), no sistema operaciona Windows.

47 37 O compiador foi escohido devido à faciidade que dispõe para manipuar o grande número de casses utiizadas, e por possuir recursos (a bibioteca MFC) para trabahar com o sistema operaciona de forma fáci e rápida. A bibioteca MFC foi utiizada, não só pea faciidade em tratar com o sistema operaciona mas também por impementar um modeo de documento/visão semehante ao impementado na bibioteca desenvovida. 5.4 A bibioteca Foi criada uma bibioteca de casses, com a função de simuar o comportamento de uma rede neura, o modeo Neocognitron no caso, e de transformar os dados obtidos com essa simuação em comandos da bibioteca gráfica OpenGL, a serem executados pea ferramenta. Como dito acima, optou-se pea separação, ainda que parcia, entre simuador e visuaizador, para maior fexibiidade e moduarização. Ambos os móduos serão descritos a seguir. Na escrita do código, procurou-se seguir a notação utiizada na bibioteca MFC (Microsoft Foundation Casses), ou seja, no início de cada nome de variáveis, membros de casses ou argumentos de funções cooca-se, em etras minúscuas, o indicador do tipo de dado. Com essa notação é mais fáci e rápido reconhecer os tipos de dados envovidos nas operações Simuador O simuador é a parte da bibioteca responsáve pea geração dos dados crus da rede neura. Como dito anteriormente, ee é um sistema de partícuas hierárquico, com os nós como partícua mais primitiva e a rede como o sistema mais avançado. A seguir será expicado o pape de cada uma dessas casses na bibioteca, a partir da mais básica para as estruturas mais compexas. Agumas estruturas, como os nós e os panos, podem ser utiizadas para a impementação de outras redes neurais, enquanto que as estruturas de camada, níveis e rede foram especificamente criadas para a arquitetura do neocognitron.

48 O nó (CNeuraNode) Esta é a casse básica do sistema de partícuas do simuador. Ea age como um retentor de dados e como unidade de processamento. Cada vez que é ordenada, ea cacua a nova saída com base em suas entradas dispõe o resutado em sua variáve de saída. Seu sistema de fontes e pesos é organizado em forma de um arranjo de matrizes retanguares, que são utiizadas, no neocognitron, para representar o campo de visão das céuas em cada conexão, como demonstrado na Figura 14. Figura 14 - Estrutura do sistema de fontes e pesos do nó Essa estrutura de campos de visão é impementada utiizando uma unidade de dados simpes, chamada de SLink. Essa estrutura tem seu código exposto na Figura 15. Figura 15 - Estrutura SLink Aém dessa estrutura, o nó possui métodos com funções importantes, como cacuar o vaor de saída e manipuar as suas fontes de dados, adicionando ou removendo conexões com outros nós, aém de métodos com funções secundárias de acesso aos dados do nó, como nome, vaor de saída já cacuado e situação inibidora. A Figura 16 demonstra o diagrama da casse CNeuraNode, expondo seus atributos e métodos.

49 39 <<typedef>> SLink <<typedef>> ArrayLinks <<typedef>> MatrixLinks <<typedef>> PaneLinks #m_asources CNeuraNode m_bsetoutput : boo m_binhibitory : boo m_sname : CString m_doutput : doube CNeuraNode() <<virtua>> AddSource() <<virtua>> Disconnect() <<virtua>> GetInhibitory() <<virtua>> GetName() <<virtua>> GetOutput() <<virtua>> GetSource() <<virtua>> GetSourceSize() <<virtua>> MakeOutput() <<virtua>> RemoveSource() <<virtua>> Reset() <<virtua>> SetInhibitory() <<virtua>> SetName() <<virtua>> SetOutput() <<virtua>> SetSource() <<virtua>> TraceNode() <<virtua>> ~CNeuraNode() Figura 16 - Diagrama de casse da Casse CNeuraNode e estruturas auxiiares Casses Derivadas Para impementar o neocognitron, com seus diversos tipos de céuas, foram criadas subcasses, uma para cada tipo de céua, de modo a especiaizar aguns de seus métodos. A Figura 17 demonstra esta hierarquia de casses criada para a impementação do neocognitron. A funcionaidade de cada casse derivada será descrita a seguir. Céuas S (CSCe) As céuas-s são descritas em detahes na seção (Processamento nas céuas-s). Eas são responsáveis pea extração de características das céuas-c do níve anterior. Para sua impementação foi adicionado um atributo que representa sua igação com a céua inibidora V C e métodos para a manipuação desse novo atributo, aém da sobrecarga de outros métodos da casse CNeuraNode para configurar seu comportamento, como o método que cacua o vaor da saída do nó e o método que inicia as conexões do nó com vaores aeatórios pequenos quando pedido. O restante de seu comportamento foi herdado da casse CNeuraNode.

50 40 CNeuraNode CCCe CCCe() GetVsCe() MakeOutput() SetVsCe() <<virtua>> Disconnect() <<virtua>> ~CCCe() CSCe CSCe() GetVcCe() MakeOutput() Reset() SetVcCe() <<virtua>> Disconnect() <<virtua>> ~CSCe() +m_svsce #m_svcce CVsCe <<virtua>> GetSourceSize() MakeOutput() CVsCe() <<virtua>> ~CVsCe() CVcCe <<virtua>> GetSourceSize() MakeOutput() CVcCe() <<virtua>> ~CVcCe() <<typedef>> SLink Figura 17 - Estrutura hierárquica dos nós do neocognitron Céuas V C (CVcCe) As céuas-v C são descritas em detahes na seção (Processamento nas céuas-s). Eas são responsáveis pea inibição das céuas-s de sua camada, fazendo com que somente céuas-s com resposta acima da média sejam reamente acionadas. Para sua impementação, foram sobrecarregados os métodos da casse CNeuraNode responsáveis peo cácuo do vaor da saída do nó e pea manipuação de fontes, que devem ignorar a primeira posição do conjunto. O restante de seu comportamento foi herdado da casse CNeuraNode. Céuas C (CCCe) As céuas-c são descritas em detahes na seção (Processamento nas céuas-c). Eas são responsáveis pea integração das respostas das céuas-s da camada anterior. Para sua impementação foi adicionado, como no caso da céua-s, um atributo representando sua conexão a uma céua V S, e métodos para manipuação desse novo atributo, aém da sobrecarga do método da casse CNeuraNode que cacua o vaor da saída do nó. O restante de seu comportamento foi herdado da casse CNeuraNode.

51 41 Céuas Vs (CVsCe) As céuas-v S são descritas em detahes na seção (Processamento nas céuas-c). Eas são responsáveis pea inibição das céuas-c de sua camada, fazendo com que somente céuas-c com resposta acima da média sejam reamente acionadas. Para sua impementação, foram sobrecarregados os métodos da casse CNeuraNode responsáveis peo cácuo do vaor da saída do nó e pea manipuação de fontes, que devem ignorar a primeira posição do conjunto. O restante de seu comportamento foi herdado da casse CNeuraNode O Pano (CNeuraPane) O pano é um sistema de partícuas por si só, tendo como partícuas os nós do tipo CNeuraNode. Aém disso, ee também é a partícua do sistema criado peas camadas, que serão vistas mais adiante. Os nós são armazenados em uma matriz retanguar, e criados ou destruídos quando se atera o tamanho do pano. O pano foi projetado para o uso na construção do neocognitron, mas poderia ser ajustado para o uso com outros tipos de rede, tavez fazendo o pape das camadas da maioria das arquiteturas. Os comandos dados ao pano se refetem em todos os seus nós, ee determina o tamanho do campo de visão dos seus nós e os conecta aos nós corretos do pano que serve de fonte de dados para ee. O pano possui uma ista de conexões, que armazenam uma indicação dos panos aos quais ee está conectado e uma matriz de pesos correspondente aos pesos que serão passados aos seus nós quando é feita a conexão. A unidade de dados armazenada nessa ista é do tipo SPaneLink, cujo código se encontra na Figura 18. Figura 18 - Estrutura SPaneLink O pano possui métodos que retornam um nó do tipo do qua ee é composto, de modo a tornar mais fexíve e fáci a especiaização do pano, bastando geramente à casses derivadas somente sobrecarregar esse método, aterando com isso o tipo de nó

52 42 utiizado no pano, mas mantendo o mesmo comportamento em reação ao conjunto de nós. A Figura 19 demonstra o diagrama da casse CNeuraPane, expondo seus atributos e métodos. <<typedef>> SPaneLink <<typedef>> SPaneLinkArray #m_pspasourceconnections <<typedef>> NeuraNodeMatrix <<typedef>> NeuraNodeArray CNeuraNode #Nodes CNeuraPane m_binhibitory : boo m_height : ong m_nodeviewrange : ong m_width : ong m_sname : CString CNeuraPane() <<virtua>> ConnectPane() <<virtua>> Disconnect() <<virtua>> GetConnection() <<virtua>> GetConnectionSize() <<virtua>> GetConnectionWeight() <<virtua>> GetHeight() <<virtua>> GetInhibitory() <<virtua>> GetName() <<virtua>> GetNode() <<virtua>> GetNodeViewRange() <<virtua>> GetWidth() <<virtua>> MakeOutput() <<virtua>> NewNode() <<virtua>> Reset() <<virtua>> SetHeight() <<virtua>> SetInhibitory() <<virtua>> SetName() <<virtua>> SetNode() <<virtua>> SetNodeViewRange() <<virtua>> SetSize() <<virtua>> SetWidth() <<virtua>> TracePane() <<virtua>> UpdateCes() <<virtua>> ~CNeuraPane() Figura 19 - Diagrama de casse da Casse CNeuraPane, estruturas auxiiares e reacionamento com a casse CNeuraNode Casses Derivadas Para impementar o neocognitron, com seus diversos tipos de panos, foram criadas subcasses, uma para cada tipo de pano, de modo a especiaizar aguns de seus métodos. A hierarquia de casses de panos criada para a impementação do neocognitron será apresentada por partes antes dos panos derivados. A funcionaidade de cada casse derivada será descrita a seguir.

53 43 Pano S (CSCePane) Os panos-s são compostos por céuas-s, impementadas pea casse CSCe, já descrita. Ees são diferentes do pano genérico por possuírem uma conexão especia: um pano inibidor do tipo V C (Seção Processamento nas céuas-s). Essa conexão possui um peso específico, a ser aterado durante o treinamento (Seção Treinamento dos pesos das céuas-s). Aém do pano inibidor, ees também possuem o parâmetro r, que age como uma medida de sensibiidade do pano(seção Processamento nas céuas-s). O posicionamento desta casse na hierarquia dos panos pode ser vista na Figura 20. Pano V C (CVcCePane) Os panos-v C são compostos por céuas-v C, impementadas pea casse CVcCe, já descrita. Ees são diferentes do pano genérico por possuírem uma conexão especia: em um pano inibidor do tipo V C a primeira conexão armazena o peso a ser utiizado para a conexão com todos os panos fonte. Essa conexão possui um peso específico, não aterado durante o treinamento, e cacuado de antemão, com o auxíio do fator α. Esse peso é cacuado baseando-se no raio de visão do nó, como descrito em Processamento nas céuas-s. O posicionamento desta casse na hierarquia dos panos pode ser vista na Figura 20.

54 44 CNeuraPane m_binhibitory : boo m_height : ong m_nodeviewrange : ong m_width : ong m_sname : CString CNeuraPane() <<virtua>> ConnectPane() <<virtua>> Disconnect() <<virtua>> GetConnection() <<virtua>> GetConnectionSize() <<virtua>> GetConnectionWeight() <<virtua>> GetHeight() <<virtua>> GetInhibitory() <<virtua>> GetName() <<virtua>> GetNode() <<virtua>> GetNodeViewRange() <<virtua>> GetWidth() <<virtua>> MakeOutput() <<virtua>> NewNode() <<virtua>> Reset() <<virtua>> SetHeight() <<virtua>> SetInhibitory() <<virtua>> SetName() <<virtua>> SetNode() <<virtua>> SetNodeViewRange() <<virtua>> SetSize() <<virtua>> SetWidth() <<virtua>> TracePane() <<virtua>> UpdateCes() <<virtua>> ~CNeuraPane() m_db : doube m_dr : doube CSCePane CSCePane() ConnectPane() GetB() GetConnectionWeight() GetIn hibitorypane() GetR() Make Ou tput() NewNode() SetB() SetInhibitoryPane() SetR() UpdateCes() <<vir tua>> Dis connect() <<virtua>> Reset() <<virtua>> SetNodeViewRange() <<virtua>> ~CSCePane() #m_pnpinhibitorypane m_dapha : doube CVcCePane CVcCePane() CacuateC() GetC() SetApha() SetNodeViewRange() UpdateCes() <<virtua>> GetApha() <<virtua>> GetConnection() <<virtua>> GetConnectionSize() <<virtua>> GetConnectionWeight() <<virtua>> NewNode() <<virtua>> ~CVcCePane() Figura 20 - Hierarquia de casses referentes aos panos S e Pano C (CCCePane) Os panos-c são compostos por céuas-c, impementadas pea casse CCCe, já descrita. Ees são diferentes do pano genérico por possuírem uma conexão especia: um pano inibidor do tipo V S (Seção Processamento nas céuas-c). Essa conexão possui um peso fixo de 1, sendo portanto desnecessário o armazenamento de ta fator. Outra diferença são os pesos de suas conexões, que se comportam de forma semehante aos panos-v C, ou seja, são cacuadas baseando-se no raio de visão do nó. Para o cácuo das saídas dos nós, são armazenados os vaores da função d e dos fatores V C α,

55 45 necessário ao cácuo dessa função, e β, necessário ao cácuo da saída das céuas-c do pano. 21. O posicionamento desta casse na hierarquia dos panos pode ser vista na Figura CCCePane m_dapha : doube m_dbeta : doube CCCePane() GetAph a() GetBeta() GetInhibitoryPane() MakeOutput() Se tapha () Se tbeta () SetInhibitoryPane() SetNodeViewRange() UpdateCes() <<virtua>> Disconnect() <<virtua >> GetCon nection Weig ht() <<virtua>> NewNode() <<virtua>> ~CCCePane() CVsCePane m_dapha : doube #m_pnpinhibitorypane <<virtua>> Disconnect() <<virtua >> GetCon nection Weig ht() <<virtua>> GetConnection() <<virtua>> GetConnectionSize() <<virtua>> NewNode() CVsCePane() Se tapha () GetAph a() UpdateCes() SetNodeViewRange() CVsCePane() <<virtua>> ~CVsCePane() CNeuraPane m_binhibitory : boo m_height : ong m_nodeviewrange : ong m_width : ong m_sname : CString CNeuraPane() <<virtua>> ConnectPane() <<virtua>> Disconnect() <<virtua>> GetConnection() <<virtua>> GetConnectionSize() <<virtua>> GetConnectionWeight() <<virtua>> GetHeight() <<virtua>> GetInhibitory() <<virtua>> GetName() <<virtua>> GetNode() <<virtua>> GetNodeViewRange() <<virtua>> GetWidth() <<virtua>> MakeOutput() <<virtua>> NewNode() <<virtua>> Reset() <<virtua>> SetHeight() <<virtua>> SetInhibitory() <<virtua>> SetName() <<virtua>> SetNode() <<virtua>> SetNodeViewRange() <<virtua>> SetSize() <<virtua>> SetWidth() <<virtua>> TracePane() <<virtua>> UpdateCes() <<virtua>> ~CNeuraPane() Figura 21 - Hierarquia de casses referentes aos panos C e Pano V S (CVsCePane) Os panos-v S são compostos por céuas-v S, impementadas pea casse CVsCe, já descrita. Ees são diferentes do pano genérico por possuírem uma conexão especia: em um pano inibidor do tipo V S a primeira conexão armazena o peso a ser utiizado para a conexão com todos os panos fonte. Essa conexão possui um peso específico, não aterado durante o treinamento, e cacuado de antemão, com o auxíio V S

56 46 do fator α. Esse peso é cacuado baseando-se no raio de visão do nó, como descrito em Processamento nas céuas-c. O posicionamento desta casse na hierarquia dos panos pode ser vista na Figura 21. Retina (CRetina) Para a impementação do neocognitron, é necessário um pano especia de entrada, chamado retina, que abre as imagens a serem utiizadas pea rede. Esse pano possui faciidades para a abertura de imagens, permitindo o carregamento da imagem em tons de cinza (refetindo a intensidade das cores) ou com apenas uma das três bandas de cores (vermeho, verde ou azu), sendo pouco diferente do pano padrão (CneuraPane) em outros aspectos. Sua posição na hierarquia dos panos pode ser vista na Figura 22. CNeuraPane m_binhibitory : boo m_ He ight : ong m_nodeviewrange : ong m_ Width : o ng m_sname : CString CNeuraPane() <<virtua>> ConnectPane() <<virtua>> Disconnect() <<virtua>> GetConnection() <<virtua>> GetConnectionSize() <<virtua>> GetConnectionWeight() <<virtua>> GetHeight() <<virtua >> GetInh ibitory() <<virtua>> GetName() <<virtua>> GetNode() <<virtua>> GetNodeViewRange() <<virtua>> GetWidth() <<virtua>> MakeOutput() <<virtua>> NewNode() <<virtua>> Reset() <<virtua>> SetHeight() <<virtua>> SetInhibitory() <<virtua>> SetName() <<virtua>> SetNode() <<virtua>> SetNodeViewRange() <<virtua>> SetSize() <<virtua>> SetWidth() <<virtua>> TracePane() <<virtua>> UpdateCes() <<virtua>> ~CNeuraPane() CRetina m_cpimagename : char* CRetina() GetImageName() SetImageName() <<virtua>> MakeOutput() <<virtua>> ~CRetina() CAverageReducingPane CAverageReducingPane() ConnectPane() <<virtua>> ~CAverageReducingPane() Figura 22 - Hierarquia de casses referentes aos panos auxiiares Retina e Redutor

57 47 Redutor (CAverageReducingPane) Pano auxiiar criado para reaizar a redução de tamanho dos panos-c, de modo a servir de entrada para os panos-s do níve posterior ao seu. Estes panos auxiiares possuem uma ateração no agoritmo de conexão, fazendo com que se conectem aos panos-c com o campo de visão necessário para a redução e matriz de pesos que faz a média entre os vaores do campo de visão de cada nó. Essa conexão ocorre no centro do pano fonte, ou seja, a diferença entre os dois panos é dividida iguamente ao redor do pano redutor. Sua posição na hierarquia de panos pode ser vista na Figura A Camada (CNeuraLayer) A camada é o próximo passo na hierarquia de sistemas de partícuas, tendo como partícuas os panos definidos anteriormente. A utiidade desta estrutura segue o mesmo padrão do pano, ou seja, fornece um controe de níve mais ato sobre suas partícuas, mas permitindo que cada partícua seja acessada separadamente para um controe mais fino. A camada é construída com base em um conjunto de panos e um pano inibidor, e possui, diferentemente dos panos, funções para o treinamento da rede, ainda que restritas à camada atua, uma vez que o treinamento envove a competição entre os panos. Outro tipo de método envove a conexão entre duas camadas, que pode conectar duas camadas já existentes ou criar uma camada já conectada a outra camada existente. Para conectar duas camadas, pode-se indicar com qua camada se deseja conectar e deixar o comportamento padrão da camada determinar o modo de conexão ou passar uma estrutura Connections (como definida na Figura 23) como argumento para o método que faz a conexão da camada, que indica como deve ser feita a conexão com a outra camada. Figura 23 - Estrutura connections A criação de uma camada já competamente configurada com seus panos e conexões, pode ser feita através da passagem de uma ista com os dados resumidos dos

58 48 panos presentes na mesma, incuindo uma ista das conexões desse pano com a camada fonte. Essa estrutura de resumo é descrita na Figura 24. Figura 24 - Estrutura de resumo de pano Mais adiante, essa camada genérica será especiaizada nas duas camadas do neocognitron, a camada-s e a camada-c. O diagrama de casses da camada pode ser visto na Figura 25. <<typedef>> NeuraPaneArray CNeuraPane #m_pnpapanes #m_pnpinhibitorypane CNeuraLayer m_sname : CString CNeuraLayer() <<virtua>> ConnectLay er() <<virtua>> Disconnec t() <<virtua>> GetName() <<virtua>> GetOutputP ane() <<virtua>> GetOutputS ize() <<virtua>> GetP ane() <<virtua>> GetS ize() <<virtua>> MakeOut put() <<virtua>> NewInhibitory Pane() <<virtua>> NewPane() <<virtua>> RemovePane() <<virtua>> Reset() <<virtua>> SetName() <<virtua>> SetPane() <<virtua>> Train() <<virtua>> Update() Figura 25 - Diagrama de casses da casse CNeuraLayer e estruturas auxiiares Casses Derivadas No neocognitron existem apenas dois tipos de camadas, as camadas-s e as camadas-c, conectando-se em seqüência. Para representar este fato, foram derivadas duas casses da camada descrita anteriormente, de acordo coma Figura 26. Sua funcionaidade será descrita a seguir. Camada S (CSLayer)

59 49 Para a impementação da camada-s do neocognitron foram necessárias pequenas mudanças na casse mãe, como a incusão do parâmetro q ( Treinamento dos pesos das céuas-s) na casse e a impementação do método de treinamento. Como não há a menção de criação dinâmica de panos durante o treinamento na definição da rede, isto não é impementado. A camada-s foi impementada com a casse CSLayer, cuja reação com as outras camadas pode ser vista na Figura 26. m_dq : doube CSLayer CSLayer() ConnectLayer() GetQ() NewPane() SetQ() Train() <<virtua>> NewInhibitoryPane() <<virtua>> ~CSLayer() CCLayer m_aoutputoffset[2] : ong CCLayer() GetOutputPane() NewInhibitoryPane() NewPane() <<virtua>> ConnectLayer() <<virtua>> GetInputSize() <<virtua>> GetOutputOffset() <<virtua>> GetOutputSize() <<virtua>> MakeOutput() <<virtua>> RemovePane() <<virtua>> SetInputSize() <<virtua>> SetOutputOffset() <<virtua>> SetOutputSize() <<virtua>> SetPane() <<virtua>> Update() <<virtua>> ~CCLayer() CNeuraLayer m_sname : CString CNeuraLayer() <<virtua>> ConnectLayer() <<virtua>> Disconnect() <<virtua>> GetName() <<virtua>> GetOutputPane() <<virtua>> GetOutputSize() <<virtua>> GetPane() <<virtua>> GetSize() <<virtua>> MakeOutput() <<virtua>> NewInhibitoryPane() <<virtua>> NewPane() <<virtua>> RemovePane() <<virtua>> Reset() <<virtua>> SetName() <<virtua>> SetPane() <<virtua>> Train() <<virtua>> Update() #m_pnpareducingpanes <<typedef>> NeuraPaneArray CAverageReducingPane Figura 26 - Hierarquia de casses das camadas derivadas Camada C (CCLayer) Para a impementação da camada-c foram necessárias aterações para a impementação da capacidade de redução de tamanho para a saída. Isso foi feito acrescentando-se uma segunda ista de panos, estes agora com panos do tipo CAverageReducingPane e de métodos para o controe do tamanho de entrada e saída da

60 50 camada, através de tamanhos absoutos ou da definição da reação entre os dois tamanhos (diferença entre o tamanho de entrada e o de saída). A camada-c foi impementada com a casse CCLayer, cuja reação com as outras camadas pode ser vista na Figura O Níve (CNeuraLeve) O níve representa uma nova camada de abstração e um níve mais ato de comando da rede. Para impementá-o, foi criada uma casse, a CNeuraLeve, que possui comandos de níve mais ato sobre as camadas e panos da rede. O níve, sendo particuar ao neocognitron, possui duas camadas, uma camada-s e uma camada-c, interconectadas entre si enquanto a camada-s conecta o níve ao níve anterior e a camada-c é conectada pea camada S do níve posterior. O níve possui um mecanismo semehante ao da camada-c quando se trata do tamanho de entrada e saída do pano, controando a reação entre os dois tamanhos através do armazenamento e ateração da diferença entre os tamanhos dos panos. Aém disso, possui também métodos para criação e inserção rápida de camadas e panos padrão (a serem configurados após a criação) no níve, o que simpifica as operações de ato níve. A reação desta casse com as outras já apresentadas pode ser anaisada na Figura 27.

61 51 CNeuraLeve m_ainputsize[2] : ong m_aoutput Offset[ 2] : ong m_sname : CString AddSLay er() CNeuraLeve() ConnectLeve() GetLayer() GetName() MakeOut put() SetName() <<virtua>> AddCLay er() <<virtua>> AddCPane() <<virtua>> AddSPane() <<virtua>> Disconnect() <<virtua>> Get InputS iz e() <<virtua>> Get Output Offset() <<virtua>> Get Output Size() <<virtua>> RemoveLayer() <<virtua>> Reset() <<virtua>> Set InputSize() <<virtua>> SetOutputOffset() <<virtua>> Set Output Size() <<virtua>> Train() <<virtua>> Update() <<virtua>> ~CNeuraLeve() #m_pncompexlayer #m_pnsimpelayer CCLayer CSLayer #m_pnvpreviousleve Figura 27 - Diagrama de casse da casse CNeuraLeve A Rede (CNeocognitron) Para tornar a utiização da bibioteca mais fáci, foi construída a casse CNeocognitron, que impementa a rede como um todo, desde a retina até uma camada de saída em separado, com métodos que simpificam o comando da rede e ao mesmo tempo permitem um aprofundamento e controe fino até mesmo de cada nó, ao se navegar peas estruturas que a compõem. A rede é composta basicamente por um pano do tipo CRetina, que faz as vezes de retina, uma ista de níveis (objetos da casse CNeuraLeve) e uma camada simpes de saída, um objeto do tipo CNeuraLayer com panos de apenas um nó. Sua estrutura pode ser vista na Figura 28.

62 52 CNeocognitron AddLeve() AddRetina() CNeocognitron() GetLeve() GetRetina() GetSize() <<virtua>> GetOutput() <<virtua>> MakeOutput() <<virtua>> RemoveLeve() <<virtua>> RemoveOutputLayer() <<virtua>> UpdateA() <<virtua>> ~CNeocognitron() #m_prretina #m_pnsaida #m_pnvaniveis CRet ina CNeuraLayer CNeuraLeve Figura 28 - Diagrama de casse da casse CNeocognitron Visuaizador O visuaizador é a segunda parte da bibioteca de casses, possuindo a capacidade de mostrar os dados gerados peo simuador com desenhos e de aterar suas configurações com janeas de diáogo, fazendo assim o pape de interface. Como dito anteriormente, o simuador foi impementado com base em um sistema de partícuas, e o visuaizador não é diferente. A estrutura do visuaizador se assemeha à do simuador, existindo uma casse no visuaizador para cada casse no simuador. Isso ocorre porque as casses do visuaizador foram criadas para se acoparem às casses do simuador, havendo em tempo de execução um objeto do visuaizador para cada objeto do simuador. Essa estrutura permite que a parte da visuaização possa ser trocada em tempo de execução, bastando para isso trocar os objetos do visuaizador por objetos que impementem uma visuaização diferente. Esse acopamento ocorre devido a um atributo que todas as casses do visuaizador possuem, que indica qua é a casse de dados dea. Ao utiizar o método SetData() das casses, a casse visua passa a receber informações desse objeto de dados (proveniente do simuador) e a se comportar e construir de acordo com os dados recebidos. Todas as casses do visuaizador (com exceção das casses que impementam as janeas de diáogo) vêm de uma única casse mãe, que determina a interface comum a que todas têm acesso. Utiizando essa interface, uma apicação que utiize este

63 53 visuaizador pode obrigar quaquer parte dee a se desenhar ou exibir a janea de diáogo, sem se importar com qua o tipo de objeto está trabahando. Todas as casses possuem três métodos principais: SetData(), que associa o objeto da casse visua a um objeto do simuador; Draw(), que executa a função primária do objeto, que é se desenhar na tea; e ShowDetais(), que exibe a janea de diáogo da casse, repassando os dados do objeto do simuador para a tea e aterando-os conforme o usuário interage com a janea. A seguir serão documentadas as casses presentes no visuaizador CGraphicObject Esta é a casse mãe para todas as casses do visuaizador, servindo como uma interface comum a todas. Aém dessa interface, ea é que armazena dados como a posição do objeto e do seu tamanho, entre outras informações. Muitos de seus métodos não são impementados, servindo apenas de interface. A Figura 29, resume a hierarquia abaixo desta casse CVisuaNode Partícua básica de todo o sistema de partícuas, ea se acopa a nós da hierarquia da casse CNeuraNode através do método SetData(), já citado. Ee se desenha na tea como uma esfera, de cor vermeha para saídas positivas dos nós, azu para saídas negativas e cinza para saídas iguais a zero. A intensidade da cor varia de acordo com o vaor, quanto maior o vaor maior a intensidade. Esta casse possui um registro estático (ou seja, existe apenas uma cópia desse atributo para todos os objetos da casse) de todos os nós pertencentes a ea e com quais nós do simuador ees se acopam, eiminando assim a necessidade de uma cópia da estrutura do CNeuraNode com suas conexões. Os objetos dessa casse também armazenam a ocaização de um objeto de uma das casses de janeas de diáogo, o tipo dependendo do construtor da casse de nó. Isso permite uma fexibiidade de interface para a casse. Na Figura 29 pode ser observada a hierarquia de casses dos nós visuais. A Figura 30 exibe a janea de diáogo da casse.

64 54 CVisuaCCe CVisuaVcCe CVisuaSCe CVisuaVsCe CVisuaNode CVisuaLeve CGraphicObject CVisuaVcCePane CVisuaSCePane CVisuaNeocognitron CVisuaPane CVisuaVsCePane CVisuaCCePane CVisuaLayer CVisuaCLayer CVisuaSLayer Figura 29 - Hierarquia resumida das casses visuais Figura 30 - Janea de diáogo da casse CVisuaNode

65 55 Casses Derivadas CVisuaCCe Nós desta casse se conectam às céuas-c do neocognitron, e possuem um funcionamento muito semehante à casse mãe, com a diferença de que ees evam em conta a existência do nó inibidor nestas casses, e desenham a conexão corretamente. Outro detahe diferente é que a casse de janea de diáogo com o qua o nó é construído é diferente da casse mãe, fazendo assim a personaização dos detahes do nó (Figura 31). Figura 31 - Janea de diáogo da casse CVisuaCCe CVisuaSCe Como na casse CVisuaCCe, as diferenças são a representação gráfica da conexão inibidora, não presente na casse mãe, e uma janea de diáogo particuar a essa casse, mostrada na Figura 32. CVisuaVcCe e CVisuaVsCe Com ainda menos modificações que as casses derivadas anteriores, estas casses diferem da casse mãe somente pea janea de diáogo, que possui o mesmo modeo para as duas, igua ao da casse mãe, sendo modificado apenas o texto do títuo da mesma e a forma de preenchimento dos detahes.

66 56 Figura 32 - Janea de diáogo da casse CVisuaSCe CVisuaPane Armazena um conjunto de nós visuais (da casse CVisuaNode), representando um pano da hierarquia da casse CNeuraPane. Por possuir uma visão de todos os nós do pano, possui métodos para normaizar os vaores dos nós antes de desenha-os, de modo a representar mehor a diferença de vaores. O pano é representado por um quadriátero envovendo o conjunto de nós, dando uma maior sensação de agrupamento. A maior parte de seus métodos se resume a manipuar diversos nós de uma única vez, disseminando as mudanças feitas no pano para os nós. Para fexibiizar a casse, quando necessária a criação de um nó é utiizado o método NewNode(), que, ao ser sobrecarregado nas casses derivadas, permite a criação de quaquer tipo de nó da hierarquia da casse CVisuaNode. Os panos visuais também possuem objetos de janea de diáogo próprios, para a manipuação dos dados do pano a que são acopados. A hierarquia de casses dos panos visuais pode ser vista na Figura 29, enquanto que o modeo de janea de diáogo pode ser vista na Figura 33.

67 57 Figura 33 - Janea de diáogo da casse CNeuraPane Casses Derivadas Em todas as casses derivadas do pano visua (CVisuaCCePane, CVisuaSCePane, CVisuaVcCePane e CVisuaVsCePane), foi somente necessário sobrecarregar o método NewNode(), para que seu comportamento fosse aterado através de seus novos nós, e o construtor, para que o objeto fosse construído com a janea de diáogo adequada ao pano que representaria. Apesar de possíve, não foi necessária mais nenhuma ateração CVisuaLayer Armazena um conjunto de panos visuais (da casse CVisuaPane), representando um pano da hierarquia da casse CNeuraLayer. A camada é representada por um quadriátero envovendo o conjunto de panos, com um segmento de reta separando os panos reguares do pano inibidor.aém disso, o pano inibidor se encontra um pouco à frente da camada, representando o fato de que ee é processado antes do resto dos panos. Os panos reguares se encontram um pouco atrás da camada, para podermos perceber com careza a conexão de seus nós ao pano inibidor.

68 58 A maior parte de seus métodos se resume a manipuar diversos panos de uma única vez, disseminando as mudanças feitas na camada para os panos. Para fexibiizar a casse, quando necessária a criação de um pano é utiizado o método NewPane() ou NewInhibitoryPane(), que, ao serem sobrecarregados nas casses derivadas, permitem a criação de quaquer tipo de pano da hierarquia da casse CVisuaPane. As camadas visuais também possuem objetos de janea de diáogo próprios, para a manipuação dos dados da camada a que são acopadas. A hierarquia de casses dos panos visuais pode ser vista na Figura 29, enquanto que o modeo de janea de diáogo pode ser vista na Figura 34. Figura 34 - Janea de diáogo da casse CVisuaLayer Casses Derivadas As casses derivadas das camadas visuais precisam, a exempo dos panos visuais, sobrecarregar somente os métodos construtores, de modo a construir o tipo correto de janea de diáogos e os métodos que criam os panos, NewPane e NewInhibitoryPane(), de modo a preencher a camada corretamente. O resto do trabaho é feito peo método SetData() da casse mãe. Desse modo foi impementada a casse CVisuaSLayer, utiizada para representar a camada-s (CSLayer) do neocognitron. Para a impementação da camada-c, devido a seus panos redutores, foi necessária a criação do atributo que armazenaria esta ista de panos, deixando a casse

69 59 um pouco mais compexa, e portanto, exigindo uma documentação em separado, a seguir. CVisuaCLayer A camada-c, ao necessitar de um segundo conjunto de panos, exigiu uma representação um pouco diferente da camada padrão. Ea continua sendo representada por um quadriátero dividido em setores de panos reguares e pano inibidor, com o pano inibidor à frente e os panos mais atrás. Atrás de cada pano reguar está posicionado seu pano redutor, unido a ee por panos semitransparentes que se originam de suas bordas. Isso dá aos panos um efeito de afuniamento, o que reforça a idéia de redução de tamanho dos panos-c da camada. Após a criação da ista de panos redutores, foi necessária a sobrecarga dos métodos SetData(), Draw() e NewPane(), de modo a controarem também a ista de panos redutores CVisuaLeve Os níveis visuais, a exempo dos níveis do simuador, armazenam duas camadas em seu interior, uma camada-s e uma camada-c. Os níveis são representados por paraeepípedos envovendo todo o seu conteúdo, sem divisões. As camadas-s (CVisuaSLayer) apresentam-se à frente, tendo após eas as camadas-c. Também como no caso dos panos do simuador, esta casse age mais como um faciitador de controe do que uma parte específica da representação. Seus métodos disseminam mudanças por todos os seus componentes, como mudanças de posição, mudança de fonte de dados (objetos da casse CNeuraLeve), etc. Como as outras estruturas visuais, o níve visua também possui um tipo de janea de diáogo específico, que permite o acesso a seus dados peo usuário. Enquanto a posição da casse na hierarquia de objetos visuais pode ser vista na Figura 29, a janea de diáogo associada a ea pode ser vista na Figura 35.

70 60 Figura 35 - Janea de diáogo da casse CVisuaLeve CVisuaNeocognitron Esta casse visua é o níve mais ato de controe da visuaização. A rede competa é envovida em um paraeepípedo para a representação gráfica de um todo conciso e competo. Esta casse tem estrutura simiar ao neocognitron do simuador, contendo a retina, a ista de níveis e a camada de saída. Todas essas estruturas são criadas quando se associa um objeto desta casse com um objeto da casse CNeogonitron do visuaizador através do método SetData(). Como no caso do níve, todas as aterações feitas neste níve são propagadas pea rede inteira, aterando seus eementos de acordo com a mudança. A rede visua não possui janea de diáogo, uma vez que age como um agomerado de outros objetos visuais, possuindo pouca funcionaidade aém do controe desses objetos. Sua posição na hierarquia de casses pode ser vista na Figura Casses de Janeas de Diáogo Para criar uma interface mais intuitiva para a ateração de parâmetros das casses do simuador, foram criadas janeas de diáogo. Os modeos foram criados no próprio ambiente de desenvovimento do Visua C++ e associados a casses de controe.

71 61 Como a impementação da casse CDiaog (casse básica da bibioteca MFC para controe de caixas de diáogo) permite somente a impementação de janeas de exibição moda (i.e. só se pode votar a manipuar a apicação após o fechamento da mesma), foi criada uma casse, derivada da CDiaog, que permitisse a apresentação modeess (i.e. pode-se trocar o foco entre a apicação e a janea sem probemas). Essa Casse, a CbaseModeessDiaog, aém de impementar esse modo de exibição, permite que suas casses fihas aterem seu modeo de caixa de diáogo e fornece uma interface comum entre eas, onde define um atributo que aponta para o avo da janea, ou seja, pode-se modificar a fonte de dados que preenche os campo da janea em tempo de execução. A partir dea, foram geradas diversas casses que impementam o controe das caixas de diáogos apresentadas nas sessões acima, junto às casses visuais. O diagrama de casses dessas casses é apresentado abaixo, na Figura 36. CDiaogSCeDetai CDiaog (f ro m Di a og Box es) CDiaogCCePaneDetai CDiaogCCeDetai CDiaogNeuraNodeDetai CDiaogVCesDetai CBaseModeessDiaog IDD : UINT m_pnntarget : void* <<abstract>> OnRefresh() <<virtua>> SetTarget() CBaseModeessDiaog() <<virtua>> DoModeess() <<virtua>> DoDataExchange() CDiaogVsCePaneDetai CDiaogVcCePaneDetai CDiaogSCePaneDetai CDiaogNeuraPaneDetai CDiaogNeuraLayerDetai CDiaogNeuraLeveDetai CDiaogSLayerDetai CDiaogCLayerDetai Figura 36 - Hierarquia de casses das casses de janeas de diáogo 5.5 A Ferramenta Uma vez definida a bibioteca, a ferramenta de visuaização passa a ser somente uma interface para o uso da primeira, necessitando apenas de que se crie iberdade para a manipuação das duas partes da bibioteca.

72 62 Para a impementação dessa interface, foi utiizada a arquitetura Document/View da bibioteca MFC, onde os dados são armazenados em uma casse de documento e a casse de visão gera a interface com a tea. Essa arquitetura, já muito parecida com a arquitetura da bibioteca, deixa caro onde cada parte da bibioteca deve ficar. Outro recurso utiizado da bibioteca MFC foi a arquitetura de apicações MDI (Mutipe Documents Interface), que permite a manipuação de diversos documentos de uma única vez, o que permite, no caso, criar diversas redes do tipo neocognitron e observa-as ao mesmo tempo, na mesma apicação. Para a impementação, foi decarada uma casse de documento, que contém como dado uma rede neura da casse CNeocognitron, que fica à disposição da interface para ser manipuada. Na casse de visão, foram impementadas rotinas de tratamento de mensagens do sistema operaciona, para a manipuação do mouse, tecado, menus e janeas de diáogo. Nessa casse de visão foi configurado o ambiente da bibioteca gráfica OpenGL, deixando-o pronto para que os objetos visuais sejam desenhados sem maiores configurações. Foi utiizada uma projeção perspectiva para o desenho, de modo a criar a sensação de profundidade. Através do sistema de nomes do OpenGL, é possíve, com o auxíio do mouse, seecionar uma área na tea e identificar qua estrutura visua foi seecionada. Utiizando-se disso, foi criado um sistema de menus pop-up que responde diferentemente a cada objeto seecionado com o botão direito do mouse. Quando a seeção é feita com o botão esquerdo, o objeto visua seecionado exibe sua janea de diáogo, tornando assim possíve aterar os aspectos do simuador. A manipuação do ânguo de visão se dá também através do mouse ou do tecado. Quando não seeciona nenhum objeto, o botão esquerdo do mouse cuida da transação da imagem nos eixos X e Y (X e Z caso a teca T seja mantida pressionada). Enquanto estiver pressionado, o movimento do mouse é traduzido em comandos de transação para a ferramenta. No caso do botão direito não seecionar nada ee controa as rotações da câmera, nos eixos X e Y (X e Z caso a teca T seja pressionada) de modo semehante à transação.

73 Resutados Obtidos A ferramenta impementada permite uma boa manipuação do espaço 3D aonde se encontra a visuaização, permitindo um controe intuitivo das transações e rotações do espaço, como descrito acima. A seguir, são apresentados aguns exempos da funcionaidade da ferramenta, demonstrando a criação e treinamento de uma rede neocognitron para o reconhecimento de dois caracteres Criação da rede A rede criada segue o exempo dos primeiros testes com o neocognitron, feitos por Fukushima [11]. É criada uma rede com três níveis, cada camada possuindo 5 panos (no teste origina, a rede reconhecia 5 padrões, e portanto possuía mais panos 24 por camada). A entrada da rede tem o tamanho de 16x16 pixes, e o tamanho dos panos vai reduzindo de acordo com a sua posição na rede (Panos na camada Us1 têm 16x16 de tamanho, os da camada Uc1 têm 10x10, os da camada Us2 têm 8x8, da camada Uc2 têm 6x6, os da camada Us3 têm 4x4 e os da camada Uc3 têm 1x1). A Figura 37 mostra uma visuaização da rede criada. Para construir a rede, foi criado um procedimento que a construía competamente, para não ser necessária a construção através de menus popup. Esse procedimento consiste de utiizar os métodos da casse CNeocognitron e adicionar uma retina (com uma imagem de tamanho 16x16 em branco), configurar cada níve com camadas criadas automaticamente e adiciona-os à rede. Mesmo uma rede pequena como essa gera muitos nós, o processo evando em média 6 segundos para se competar. Aumentando o número de panos para 10 em cada camada, esse tempo sobe para 25 segundos.

74 64 Figura 37 - Imagem da rede criada para o teste Treinamento da Rede O próximo passo após a criação da rede é seu treinamento. Para tanto, foram utiizados os padrões demonstrados na Figura 38. Os padrões de (a) a (c) apenas modificam a posição do padrão na retina, e foram utiizados para o treinamento. Os padrões (d) a (g) representam deformações nos padrões originais, e foram utiizados para reconhecimento, como mostrado adiante. (a) (b) (c) (d) (e) (f) (g) Figura 38 - Padrões de treinamento e teste Para o treinamento, as imagens de (a) a (c) foram exibidas à rede repetidas vezes, totaizando um número de 40 exibições de imagens de cada padrão. Um exempo do

75 65 resutado obtido com o treinamento da rede após 20 exibições do primeiro padrão pode ser vista na Figura 39. A Figura 40, mostra as caixas de diáogo com a saída da rede. Cada um dos panos de saída é representado. Figura 39 - Rede após treinamento com o primeiro padrão

76 66 Figura 40 - Saída da rede após treinamento com o primeiro padrão Com a apresentação do resto das imagens à rede, ea foi treinada para diferenciar os dois padrões mostrados. O resutado desse treinamento pode ser visto na Figura 41, com sua saída demonstrada na Figura 42.

77 67 Figura 41 - Rede após treinamento competo, exibindo o segundo padrão Figura 42 - Saída da rede após treinamento competo, exibindo o segundo padrão

78 Teste da Rede Após esse treinamento, como teste, foram apresentadas à rede as imagens (f) e (g) do primeiro padrão e as imagens (e) e (f) do segundo padrão, para reaizar o reconhecimento. O resutado foi satisfatório, como demonstrado na seqüência de imagens Figura 43 a Figura 50 a seguir, demonstrando a rede e as saídas da rede para cada imagem apresentada à ea. Esse resutado mostra que o simuador foi impementado corretamente, e que a visuaização gerada é significativa, apesar de serem necessários aguns ajustes, como a normaização das cores dos nós por camada, e não por pano, como visto na camada de saída, onde todos os nós possuem a mesma cor, independente do vaor de saída. Figura 43 - Rede reconhecendo a imagem (g) do primeiro padrão

79 69 Figura 44 - Saída do reconhecimento da imagem (g) do primeiro padrão Figura 45 - Rede reconhecendo a imagem (f) do primeiro padrão

80 70 Figura 46 -Saída do reconhecimento da imagem (f) do primeiro padrão Figura 47 - Rede reconhecendo a imagem (f) do segundo padrão

FORMAÇÃO CONTINUADA EM MATEMÁTICA FUNDAÇÃO CECIERJ/CONSÓRCIO CEDERJ

FORMAÇÃO CONTINUADA EM MATEMÁTICA FUNDAÇÃO CECIERJ/CONSÓRCIO CEDERJ FORMAÇÃO CONTINUADA EM MATEMÁTICA FUNDAÇÃO CECIERJ/CONSÓRCIO CEDERJ Matemática 9º ano 1º bimestre / 2013 PLANO DE TRABALHO Semehança Fonte: http://pt.wikipedia.org/wiki/semehan%c3%a7a Tarefa 2 Cursista:

Leia mais

Detecção de Infração em faixa de pedestres sem semáforos utilizando visão computacional e redes neurais

Detecção de Infração em faixa de pedestres sem semáforos utilizando visão computacional e redes neurais Detecção de Infração em faixa de pedestres sem semáforos utiizando visão computaciona e redes neurais Aves, B. G. C.; ima, A. C. de C. Departamento de Engenharia Eétrica - Escoa Poitécnica - UFBA, R. Aristides

Leia mais

Projeção ortográfica de sólidos geométricos

Projeção ortográfica de sólidos geométricos Projeção ortográfica de sóidos geométricos Na aua anterior você ficou sabendo que a projeção ortográfica de um modeo em um único pano agumas vezes não representa o modeo ou partes dee em verdadeira grandeza.

Leia mais

4 DEFINIÇÃO DA GEOMETRIA, MALHA E PARÂMETROS DA SIMULAÇÃO

4 DEFINIÇÃO DA GEOMETRIA, MALHA E PARÂMETROS DA SIMULAÇÃO 4 DEFINIÇÃO DA GEOETRIA, ALHA E PARÂETROS DA SIULAÇÃO 4.1 Fornaha experimenta A fornaha experimenta utiizada como caso teste por Garreton (1994), era de 400kW aimentada com gás natura. Deste trabaho, estão

Leia mais

Plantas e mapas. Na Aula 17, aprendemos o conceito de semelhança

Plantas e mapas. Na Aula 17, aprendemos o conceito de semelhança A UA UL LA Pantas e mapas Introdução Na Aua 7, aprendemos o conceito de semehança de triânguos e vimos, na Aua 0, interessantes apicações desse conceito no cácuo de distâncias difíceis de serem medidas

Leia mais

Análise matricial de estruturas não-lineares usando o Método de Newton.

Análise matricial de estruturas não-lineares usando o Método de Newton. Anáise matricia de estruturas não-ineares usando o Método de Newton. Exercício Computaciona - MAP3121 1 Primeiro probema 1.1 Descrição da estrutura não-inear Considere um sistema formado por três barras

Leia mais

SEM0 M Aul u a l a 14 Sistema de Múltiplos Corpos Sistema Pro r f. D r. r Ma M r a c r elo l Becker SEM - EESC - USP

SEM0 M Aul u a l a 14 Sistema de Múltiplos Corpos Sistema Pro r f. D r. r Ma M r a c r elo l Becker SEM - EESC - USP SEM4 - Aua 4 Sistema de Mútipos Corpos Prof. Dr. Marceo ecker SEM - EESC - USP Sumário da Aua ntrodução Sist. Muti-corpos no Pano Sist. Muti-corpos no Espaço Princípio de Jourdain Apicações /67 ntrodução

Leia mais

Leiaute ou arranjo físico

Leiaute ou arranjo físico Acesse: http://fuvestibuar.com.br/ Leiaute ou arranjo físico A UU L AL A Quaquer posto de trabaho, incusive o nosso, está igado aos demais postos de trabaho, num oca quaquer de uma empresa. Esse oca pode

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial INF 1771 Inteligência Artificial Aula 22 Redes Neurais Edirlei Soares de Lima Formas de Aprendizado Aprendizado Supervisionado Árvores de decisão. K-Nearest Neighbor (KNN). Support

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 5

Informática para Ciências e Engenharias (B) 2015/16. Teórica 5 Informática para Ciências e Engenharias (B) 2015/16 Teórica 5 Na aua de hoje Controo de execução cicos condicionais whie end Exempos raiz quadrada whie Histograma whie e matrizes fórmua química whie e

Leia mais

INTRODUÇÃO À ROBÓTICA MÓVEL

INTRODUÇÃO À ROBÓTICA MÓVEL INTRODUÇÃO À ROBÓTICA MÓVEL Aua 25 Edson Prestes Departamento de Informática Teórica http://www.inf.ufrgs.br/~prestes prestes@inf.ufrgs.br Locaização Fitragem de Kaman Fitragem de kaman fornece uma abordagem

Leia mais

Podemos utilizar o cálculo do determinante para nos auxiliar a encontrar a inversa de uma matriz, como veremos à seguir.

Podemos utilizar o cálculo do determinante para nos auxiliar a encontrar a inversa de uma matriz, como veremos à seguir. O cácuo da inversa de uma matriz quadrada ou trianguar é importante para ajudar a soucionar uma série probemas, por exempo, a computação gráfica, na resoução de probemas de posicionamento de juntas articuadas

Leia mais

5 Estimação de Parâmetros utilizando o Algoritmo SAGE

5 Estimação de Parâmetros utilizando o Algoritmo SAGE 5 Estimação de Parâmetros utiizando o Agoritmo SAGE Recentemente, vários agoritmos de ata resoução tem sido usados para estimar os parâmetros do cana com objetivo de vaidar as modeagens espaço temporais.

Leia mais

ANÁLISE COMPLEXA E EQUAÇÕES DIFERENCIAIS TESTE 2A - 15 DE JUNHO DE DAS 11H. Apresente e justifique todos os cálculos. dy dt = y t t ; y(1) = 1.

ANÁLISE COMPLEXA E EQUAÇÕES DIFERENCIAIS TESTE 2A - 15 DE JUNHO DE DAS 11H. Apresente e justifique todos os cálculos. dy dt = y t t ; y(1) = 1. Instituto Superior Técnico Departamento de Matemática Secção de Ágebra e Anáise ANÁLISE COMPLEXA E EQUAÇÕES DIFERENCIAIS TESTE A - 5 DE JUNHO DE 9 - DAS H ÀS :3H Apresente e justifique todos os cácuos.

Leia mais

Improvement of a Robotic Soccer Team Using a Multilayered Control Architecture

Improvement of a Robotic Soccer Team Using a Multilayered Control Architecture Improvement of a Robotic Soccer Team Using a Mutiayered Contro Architecture Dougas F. Tavares, Leonardo S. Pauucio, Rodofo V. Vaentim Universidade Federa do Espírito Santo Abstract Very Sma Size Soccer

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 11

Informática para Ciências e Engenharias (B) 2015/16. Teórica 11 Informática para Ciências e Engenharias (B) 2015/16 Teórica 11 Na aua de hoje Sistemas de bases de dados: Interrogações mais compexas em SQL Envovendo várias tabeas Simuação de modeos contínuos: Integração

Leia mais

Um dos conceitos mais utilizados em Matemática

Um dos conceitos mais utilizados em Matemática A UA UL LA A noção de função Introdução Um dos conceitos mais utiizados em Matemática é o de função. Ee se apica não somente a esta área, mas também à Física, à Química e à Bioogia, entre outras. Aém disso,

Leia mais

Improvement of a Robotic Soccer Team Using a Multilayered Control Architecture

Improvement of a Robotic Soccer Team Using a Multilayered Control Architecture Improvement of a Robotic Soccer Team Using a Mutiayered Contro Architecture Dougas F. Tavares, Leonardo S. Pauucio and Rodofo V. Vaentim 3 Abstract Very Sma Size Soccer is an important category of Latin

Leia mais

Professores: Elson Rodrigues Marcelo Almeida Gabriel Carvalho Paulo Luiz Ramos

Professores: Elson Rodrigues Marcelo Almeida Gabriel Carvalho Paulo Luiz Ramos Definição; Número de diagonais de um poígono convexo; Soma das medidas dos ânguos internos e externos; Poígonos Reguares; Reações Métricas em um poígono reguar; Professores: Eson Rodrigues Marceo Ameida

Leia mais

26/07/2009. Eduardo do Valle Simões Grupo de Sist. Embarcados, Evolutivos e Robóticos Fernando Santos Osório LRM Laboratório de Robótica Móvel

26/07/2009. Eduardo do Valle Simões Grupo de Sist. Embarcados, Evolutivos e Robóticos Fernando Santos Osório LRM Laboratório de Robótica Móvel Robótica Móve Inteigente: Da Simuação às Apicações no Mundo Rea Denis Fernando Wof Universidade de São Pauo USP - ICMC Eduardo do Vae Simões Grupo de Sist. Embarcados, Evoutivos e Robóticos Fernando Santos

Leia mais

CONTROLE MULTIVARIÁVEL DE UNIDADES GERADORAS HIDRELÉTRICAS UTILIZANDO CONTROLE PREDITIVO BASEADO EM MODELO

CONTROLE MULTIVARIÁVEL DE UNIDADES GERADORAS HIDRELÉTRICAS UTILIZANDO CONTROLE PREDITIVO BASEADO EM MODELO CONTROLE MULTIVARIÁVEL DE UNIDADES GERADORAS HIDRELÉTRICAS UTILIZANDO CONTROLE PREDITIVO BASEADO EM MODELO Henrique Augusto Menarin, Rodrigo Pereira Gosmann, João Marcos Castro Soares, Juio Eias Normey-Rico

Leia mais

Perfis Importantes no Scrum

Perfis Importantes no Scrum Scrum Modeo ági de gestão de projetos; Conceito mais importante chama-se sprint (ou cico); Origem na indústria automobiística; Livro de Schwaber e Beede (2001) expica de forma competa e sistemática; Perfis

Leia mais

Segmentação multiresolução: uma abordagem paralela para segmentação de imagens de alta resolução em arquiteturas de múltiplos núcleos

Segmentação multiresolução: uma abordagem paralela para segmentação de imagens de alta resolução em arquiteturas de múltiplos núcleos Segmentação mutiresoução: uma abordagem paraea para segmentação de imagens de ata resoução em arquiteturas de mútipos núceos Patrick Nigri Happ 1 Rodrigo da Siva Ferreira 1 Cristiana Bentes 1 Gison Aexandre

Leia mais

ESTUDO DA EQUAÇÃO DE DEFASAGEM

ESTUDO DA EQUAÇÃO DE DEFASAGEM Anais do 1 O Encontro de Iniciação Científica e Pós-Graduação do ITA XII ENCITA / 006 Instituto Tecnoógico de Aeronáutica São José dos Campos SP Brasi Outubro 16 a 19 006 Ricardo Affonso do Rego Ita Departamento

Leia mais

2. Redes Neurais Artificiais

2. Redes Neurais Artificiais Computação Bioinspirada - 5955010-1 2. Redes Neurais Artificiais Prof. Renato Tinós Depto. de Computação e Matemática (FFCLRP/USP) 1 2.1. Introdução às Redes Neurais Artificiais (RNAs) 2.1.1. Motivação

Leia mais

CIRCUITOS MAGNÉTICOS LINEARES E NÃO LINEARES

CIRCUITOS MAGNÉTICOS LINEARES E NÃO LINEARES 7 9 CIRCUITOS MAGÉTICOS LIEARES E ÃO LIEARES Circuitos magnéticos são usados para concentrar o efeito magnético de uma corrente em uma região particuar do espaço. Em paavras mais simpes, o circuito direciona

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Redes Neurais Artificiais Neurônio Natural Dendritos: recebe os estímulos transmitidos por outros neurônios Soma Sinapse Axônio Soma: coleta e combina informações vindas de outros neurônios Sinapse Dendrito

Leia mais

Física III para a Poli

Física III para a Poli 43303 Física III para a Poi Aguns exempos comentados Lei de Faraday Exempo : Variação de fuxo magnético O que a Lei da indução de Faraday essenciamente nos diz é que, quando fazemos o fuxo magnético variar

Leia mais

Informática para Ciências e Engenharias (B) 2016/17. Teórica 3

Informática para Ciências e Engenharias (B) 2016/17. Teórica 3 Informática para Ciências e Engenharias (B) 2016/17 Teórica 3 Na aua de hoje Vetores. Cicos FOR. Percursos em vetores. Exempos 22 Março 2017 Vetores; cicos FOR 2 Probema dos Contaminantes Para avaiar a

Leia mais

Edital 06/2016 Programa de Pós-Graduação em Engenharia Ambiental Processo Seletivo de Mestrado 2017 Instruções

Edital 06/2016 Programa de Pós-Graduação em Engenharia Ambiental Processo Seletivo de Mestrado 2017 Instruções Edita 06/2016 Programa de Pós-Graduação em Engenharia Ambienta Processo Seetivo de Mestrado 2017 Instruções 22 de agosto de 2016 1 Candidatos admissíveis; vagas; e bosas de mestrado Podem se candidatar

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS: Introdução

PROGRAMAÇÃO ORIENTADA A OBJETOS: Introdução PROGRAMAÇÃO ORIENTADA A OBJETOS: Introdução Um pouco de História Primeiras Máquinas de Cacuar Ábaco há aproximadamente 4.000 a.c. Um pouco de História Primeiras Máquinas de Cacuar PASCALINA ano de 1642(Baise

Leia mais

Operando com potências

Operando com potências A UA UL LA Acesse: http://fuvestibuar.com.br/ Operando com potências Introdução Operações com potências são muito utiizadas em diversas áreas da Matemática, e em especia no cácuo agébrico. O conhecimento

Leia mais

PME Mecânica dos Sólidos I 5 a Lista de Exercícios

PME Mecânica dos Sólidos I 5 a Lista de Exercícios ESCOL POLITÉCNIC D UNIVERSIDDE DE SÃO PULO DEPRTMENTO DE ENGENHRI MECÂNIC PME-00 - Mecânica dos Sóidos I 5 a Lista de Eercícios 1) estrutura treiçada indicada abaio é formada por barras de mesmo materia

Leia mais

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Redes Neurais Artificial. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto Redes Neurais Artificial Inteligência Artificial Professor: Rosalvo Ferreira de Oliveira Neto Estrutura 1. Definições 2. Histórico 3. Conceitos Básicos 4. Aprendizado em RNA 5. Exemplo de Aprendizado com

Leia mais

10. CARGAS ACIDENTAIS E MÓVEIS; LINHAS DE INFLUÊNCIA

10. CARGAS ACIDENTAIS E MÓVEIS; LINHAS DE INFLUÊNCIA 10. CARGA ACIDENTAI E MÓVEI; LINHA DE INFLUÊNCIA 10.1. Introdução Diversas estruturas são soicitadas por cargas móveis. Exempos são pontes rodoviárias e ferroviárias ou pórticos industriais que suportam

Leia mais

Operando com potências

Operando com potências A UA UL LA 71 Operando com potências Introdução Operações com potências são muito utiizadas em diversas áreas da Matemática, e em especia no cácuo agébrico O conhecimento das propriedades operatórias da

Leia mais

A linguagem matemática

A linguagem matemática A UUL AL A A inguagem matemática Observe o texto abaixo. Ee foi extraído de um ivro de geometria chinês. Veja se, mesmo sem saber chinês, você consegue entender o tema do texto, ou seja, sobre o que o

Leia mais

8.5 Cálculo de indutância e densidade de energia magnética

8.5 Cálculo de indutância e densidade de energia magnética 8.5 Cácuo de indutância e densidade de energia magnética Para agumas geometrias de mahas pode-se cacuar a indutância aproximadamente. Cacuamos aqui a indutância de uma maha que contém um soenoide ciíndrico

Leia mais

Breve resolução do e-fólio B

Breve resolução do e-fólio B ÁLGEBRA LINEAR I 22 Breve resoução do e-fóio B I. Questões de escoha mútipa. d), pois o vetor nuo pertence a quaquer subespaço, e a intersecção de 2 subespaços ainda é um subespaço. 2. c), os 3 vetores

Leia mais

5.1. Simulações para o Campo Magnético Gerado por um Ímã Permanente.

5.1. Simulações para o Campo Magnético Gerado por um Ímã Permanente. Simuações. No presente capítuo são apresentadas simuações referentes ao comportamento de parâmetros importantes para o desenvovimento do transdutor de pressão. As simuações foram eaboradas com o objetivo

Leia mais

Segmentação Semi-Automática de Dados Geo-espaciais Multivariados com Mapas Auto-Organizáveis

Segmentação Semi-Automática de Dados Geo-espaciais Multivariados com Mapas Auto-Organizáveis Segmentação Semi-Automática de Dados Geo-espaciais Mutivariados com Mapas Auto-Organizáveis Marcos A.S. da Siva 1,2, Antônio M.V. Monteiro 1, José S. de Medeiros 1 1 Instituto Naciona de Pesquisas Espaciais

Leia mais

Wireless LANs - Extens

Wireless LANs - Extens Wireess LANs - Extens QoS - Sumário Enquadramento Limitaçõ ções do 802.11 Anáise de souçõ ções A norma 802.11e Souçõ ções em 802.11b ção o MóveM 5.3.1 Wireess LANs - Extens QoS - Enquadramento Como suportar

Leia mais

Classificação Linear. André Tavares da Silva.

Classificação Linear. André Tavares da Silva. Classificação Linear André Tavares da Silva andre.silva@udesc.br Roteiro Introduzir os o conceito de classificação linear. LDA (Linear Discriminant Analysis) Funções Discriminantes Lineares Perceptron

Leia mais

A linguagem matemática

A linguagem matemática Acesse: http://fuvestibuar.com.br/ A UUL AL A A inguagem matemática Observe o texto abaixo. Ee foi extraído de um ivro de geometria chinês. Veja se, mesmo sem saber chinês, você consegue entender o tema

Leia mais

Triângulos. O triângulo é uma figura geométrica muito. Para pensar. Nossa aula

Triângulos. O triângulo é uma figura geométrica muito. Para pensar. Nossa aula U UL L 41 Triânguos Para pensar O triânguo é uma figura geométrica muito utiizada em construções. Você já deve ter notado que existem vários tipos de triânguo. Observe na armação do tehado os tipos diferentes

Leia mais

Triângulos especiais

Triângulos especiais A UA UL LA Acesse: http://fuvestibuar.com.br/ Triânguos especiais Introdução Nesta aua, estudaremos o caso de dois triânguos muito especiais - o equiátero e o retânguo - seus ados, seus ânguos e suas razões

Leia mais

REDES NEURAIS ARTIFICIAIS

REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS REDES NEURAIS ARTIFICIAIS O QUE É UMA REDE NEURAL NEURÔNIOS BIOLÓGICOS CÉREBRO HUMANO E CAPACIDADE DE GENERALIZAÇÃO. Modelo McCulloch e Pitts FUNÇÕES DE ATIVAÇÃO APRENDIZADO APRENDIZADO

Leia mais

SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA

SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA GGH 7 4 a 7 Outubro de 2007 Rio de Janeiro - RJ GRUPO I GRUPO DE ESTUDO DE GERAÇÃO HIDRÁULICA DETERMINAÇÃO DAS CAUSAS DA INSTABILIDADE

Leia mais

O círculo e o número p

O círculo e o número p A UA UL LA 45 O círcuo e o número p Para pensar O círcuo é uma figura geométrica bastante comum em nosso dia-a-dia. Observe à sua vota quantos objetos circuares estão presentes: nas moedas, nos discos,

Leia mais

e rápido para estimar a potência. do rotor (i.e. seleccionar a sua área) para um

e rápido para estimar a potência. do rotor (i.e. seleccionar a sua área) para um A teoria do momento inear é um método simpes e rápido para estimar a potência. Este método é suficiente para projectar o tamanho do rotor (i.e. seeccionar a sua área) para um determinado motor e para um

Leia mais

Física III. Alguns exemplos comentados

Física III. Alguns exemplos comentados 430 Física III Aguns exempos comentados Lei de Faraday Exempo : Variação de fuxo magnético O que a Lei da indução verificada por Faraday nos diz, quando expressa em termos de uma integra, é que, ao variarmos

Leia mais

RAZÕES TRIGONOMÉTRICAS NO TRIÂNGULO RETÂNGULO

RAZÕES TRIGONOMÉTRICAS NO TRIÂNGULO RETÂNGULO FORMAÇÃO CONTINUADA EM MATEMÁTICA FUNDAÇÃO CECIERJ/ Consórcio CEDERJ Matemática 1º ano º Bimestre/ 01 Pano de Trabaho RAZÕES TRIGONOMÉTRICAS NO TRIÂNGULO RETÂNGULO Acesso em /05/01 educador.brasiescoa.com

Leia mais

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão

Exercícios de Programação e Computação para Arquitectura. António Menezes Leitão Exercícios de Programação e Computação para Arquitectura António Menezes Leitão 29 de Outubro de 2013 1 Introdução Considere uma cidade organizada em termos de quarteirões. Para simpificar, vamos assumir

Leia mais

O triângulo é uma figura geométrica muito. Você já sabe que o triângulo é uma figura geométrica de:

O triângulo é uma figura geométrica muito. Você já sabe que o triângulo é uma figura geométrica de: U UL L cesse: http://fuvestibuar.com.br/ Triânguos Para pensar O triânguo é uma figura geométrica muito utiizada em construções. Você já deve ter notado que existem vários tipos de triânguo. Observe na

Leia mais

Atuais objetivos da normalização

Atuais objetivos da normalização Acesse: http://fuvestibuar.com.br/ Atuais objetivos da normaização Você agora vai estudar a útima parte deste assunto: os atuais objetivos da normaização. Pode-se dizer que a primeira fase da normaização,

Leia mais

GRUPO X GRUPO DE ESTUDO DE SOBRETENSÕES E COORDENAÇÃO DE ISOLAMENTO - GSC

GRUPO X GRUPO DE ESTUDO DE SOBRETENSÕES E COORDENAÇÃO DE ISOLAMENTO - GSC SNPTEE SEMINÁRIO NACIONAL DE PRODUÇÃO E TRANSMISSÃO DE ENERGIA ELÉTRICA GSC - 1 16 a 1 Outubro de 005 Curitiba - Paraná GRUPO X GRUPO DE ESTUDO DE SORETENSÕES E COORDENAÇÃO DE ISOLAMENTO - GSC DESENVOLVIMENTO

Leia mais

Banco de Dados I Introdução. Prof. Dr. Joel da Silva

Banco de Dados I Introdução. Prof. Dr. Joel da Silva Banco de Dados I Introdução Prof. Dr. Joe da Siva Apresentação: Quem sou? Joe da Siva (joe.dasiva@iffarroupiha.edu.br) Formação: Graduação Informática (URI/FW) - 2001 Mestre em Ciência da Computação (CIn/UFPE)

Leia mais

Redes Neurais Artificial

Redes Neurais Artificial Redes Neurais Artificial Tópicos: Introdução ao estudo de RNA sua origem e inspiração biológica Características gerais das RN e descrição do neurônio artificial Aprendizado de RN e tipos de Aprendizado

Leia mais

ENTECA 2003 IV ENCONTRO TECNOLÓGICO DA ENGENHARIA CIVIL E ARQUITETURA

ENTECA 2003 IV ENCONTRO TECNOLÓGICO DA ENGENHARIA CIVIL E ARQUITETURA 4 ENTECA RESOLUÇÃO DE PÓRTICOS PLANOS ATRAVÉS DA ANÁLISE MATRICIAL DE ESTRUTURAS Marcio Leandro Micheim Acadêmico Engenharia Civi Universidade Estadua de Maringá e-mai: micheim_eng@hotmaicom Ismae Wison

Leia mais

Redes Neurais INTELIGÊNCIA ARTIFICIAL

Redes Neurais INTELIGÊNCIA ARTIFICIAL Redes Neurais INTELIGÊNCIA ARTIFICIAL 1 2 Introdução As redes neurais são um tema da computação altamente inspirada na natureza que nos cerca. Durante anos e anos os homens trabalharam para fazer computadores

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Universidade Federal do Espírito Santo CCA UFES Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Redes Neurais Artificiais Redes Neurais Artificiais

Leia mais

CAPÍTULO III CIRCUITOS MAGNÉTICOS

CAPÍTULO III CIRCUITOS MAGNÉTICOS ELE40 Circuitos Magnéticos CPÍTULO III CIRCUITOS MGNÉTICOS. INTRODUÇÃO Os circuitos magnéticos utiizam materiais ferromagnéticos no sentido de direcionar e eevar a indução magnética (e conseqüentemente

Leia mais

Redes Neurais Artificiais

Redes Neurais Artificiais Universidade Federal do Espírito Santo CCENS UFES Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCENS UFES Departamento de Computação Redes Neurais Artificiais Redes Neurais Artificiais

Leia mais

INTRODUÇÃO À ROBÓTICA MÓVEL

INTRODUÇÃO À ROBÓTICA MÓVEL INTRODUÇÃO À ROBÓTICA MÓVEL Aua 25 Edson Prestes Departamento de Informática Teórica http://www.inf.ufrgs.br/~prestes prestes@inf.ufrgs.br Odometria and Métodos de Dead-Reckoning Odometria permite boa

Leia mais

AMOSTRAGEM. Para estudar estas variabilidades utilizam-se técnicas geoestatísticas.

AMOSTRAGEM. Para estudar estas variabilidades utilizam-se técnicas geoestatísticas. CURSO BÁSICO DE GEOESTATÍSTICA COM O USO DO GS + E CONFECÇÃO DE MAPAS DE KRIGAGEM UTILIZANDO O SURFER Engenheiro Agrônomo Rafae Montanari AMOSTRAGEM EXEMPLO: A AMOSTRAGEM DE SOLO PARA DETECTAR UMA VARIABILIDADE

Leia mais

Informática para Ciências e Engenharias (B) 2015/16. Teórica 3

Informática para Ciências e Engenharias (B) 2015/16. Teórica 3 Informática para Ciências e Engenharias (B) 2015/16 Teórica 3 Na aua de hoje Cico for for end Vectores numéricos e strings sequências de números indexação de vectores Percursos em vectores Cico For Instrução

Leia mais

O que acontece quando uma substância se transforma?

O que acontece quando uma substância se transforma? O que acontece quando uma substância se transforma? A UU L AL A O que acontece numa reação química O que são reagentes e produtos O que significa reagir pásticos fibras sintéticas (cordas, tecidos etc.)

Leia mais

Do que são formados os átomos?

Do que são formados os átomos? A U L A A U L A Acesse: http://fuvestibuar.com.br/ Do que são formados os átomos? O que você vai aprender Do que o átomo é formado. Partícuas que existem no átomo: prótons, eétrons e nêutrons Como se formam

Leia mais

Informática para Ciências e Engenharias (B) 2016/17. Teórica 2

Informática para Ciências e Engenharias (B) 2016/17. Teórica 2 Informática para Ciências e Engenharias (B) 2016/17 Teórica 2 Na aua de hoje Decomposição de probemas Abstração, generaização e agoritmos Ficheiros e código fonte scripts, funções e como escrever código

Leia mais

Laboratório de Física IV. Medida da Relação Carga-Massa do elétron

Laboratório de Física IV. Medida da Relação Carga-Massa do elétron Laboratório de Física IV Medida da Reação Carga-Massa do eétron Carga eétrica em átomos Eaborou experiências para o estudo dos raios catódicos. Mostrou que a corrente eétrica era constituída de partícuas

Leia mais

Algoritmos de conformação de feixe em banda dupla para aplicação em bloqueio de RF

Algoritmos de conformação de feixe em banda dupla para aplicação em bloqueio de RF XXV SIMPÓSIO BRASILEIRO DE TELECOMUNICAÇÕES - SBrT 07, 03-06 DE SETEMBRO DE 007, RECIFE, PE Agoritmos de conformação de feixe em banda dupa para apicação em boqueio de RF Danie Siva Vieira Araujo, José

Leia mais

DEPARTAMENTO DE ENGENHARIA MECÂNICA. PME Mecânica dos Sólidos I 7 a Lista de Exercícios

DEPARTAMENTO DE ENGENHARIA MECÂNICA. PME Mecânica dos Sólidos I 7 a Lista de Exercícios ESCOL OLITÉCNIC D UNIVERSIDDE DE SÃO ULO DERTMENTO DE ENGENHRI MECÂNIC ME-300 - Mecânica dos Sóidos I 7 a Lista de Exercícios 1) Determine as duas primeiras cargas críticas de fambagem (auto-vaores) e

Leia mais

II. MODELAGEM MATEMÁTICA

II. MODELAGEM MATEMÁTICA INSTITUTO TECNOLÓGICO DE AERONÁUTICA DIVISÃO DE ENGENHARIA MECÂNICA MP-7: CONTROLE E NAVEGAÇÃO DE MULTICÓPTEROS II. MODELAGEM MATEMÁTICA Prof. Davi Antônio dos Santos (davists@ita.br) Departamento de Mecatrônica

Leia mais

3 Estática das estruturas planas

3 Estática das estruturas planas STÁTI 3674 27 3 stática das estruturas panas 3.1 ácuo das reações vincuares - apoios 3.1.1 ondições de equiíbrio estático O equiíbrio estático de uma estrutura bidimensiona (a estrutura considerada, as

Leia mais

Modelagem Matemática e Simulação Computacional da Dinâmica de um Robô SCARA

Modelagem Matemática e Simulação Computacional da Dinâmica de um Robô SCARA Proceeding Series of the Braziian Society of Appied and omputationa Mathematics, Vo 4, N, 6 Trabaho apresentado no DINON, Nata - RN, 5 Proceeding Series of the Braziian Society of omputationa and Appied

Leia mais

Redes Neurais 1. Redes Neurais. cont.) Definição (cont( Definição. Histórico. Características básicas

Redes Neurais 1. Redes Neurais. cont.) Definição (cont( Definição. Histórico. Características básicas Redes Neurais Dalma M. Falcão falcao@nacad.ufr.br http://www.nacad.ufr.br/~falcao/ Redes Neurais Definição Histórico Áreas de aplicação RNs biológicas Modelos de neurônios artificiais Arquiteturas de RNs

Leia mais

INSTITUTO SUPERIOR TÉCNICO UNIVERSIDADE TÉCNICA DE LISBOA. Guia do ensaio de laboratório para as disciplinas:

INSTITUTO SUPERIOR TÉCNICO UNIVERSIDADE TÉCNICA DE LISBOA. Guia do ensaio de laboratório para as disciplinas: INSTITUTO SUPERIOR TÉCNICO UNIVERSIDADE TÉCNICA DE LISBOA Guia do ensaio de aboratório para as discipinas: Transmissão de Caor e Transmissão de Caor e Massa I Anáise da transferência de caor em superfícies

Leia mais

II. MODELAGEM MATEMÁTICA

II. MODELAGEM MATEMÁTICA INSTITUTO TECNOLÓGICO DE AERONÁUTICA DIVISÃO DE ENGENHARIA MECÂNICA MP-7: CONTROLE E NAVEGAÇÃO DE MULTICÓPTEROS II. MODELAGEM MATEMÁTICA Prof. Davi Antônio dos Santos (davists@ita.br) Departamento de Mecatrônica

Leia mais

DEPARTAMENTO DE ENGENHARIA MECÂNICA. PME Mecânica dos Sólidos II 13 a Lista de Exercícios

DEPARTAMENTO DE ENGENHARIA MECÂNICA. PME Mecânica dos Sólidos II 13 a Lista de Exercícios ESCOL OLITÉCNIC D UNIVERSIDDE DE SÃO ULO DERTMENTO DE ENGENHRI MECÂNIC ME-311 - Mecânica dos Sóidos II 13 a Lista de Exercícios 1) Determine as duas primeiras cargas críticas de fambagem (auto-vaores)

Leia mais

Self Organizing Maps - Redes de Kohonen

Self Organizing Maps - Redes de Kohonen Self Organizing Maps - Redes de Kohonen 1. Redes auto organizáveis Existe uma classe de redes neurais artificias que possuem a capacidade de auto organização, sendo por isto chamadas de redes auto organizáveis.

Leia mais

Edital 04/2016 Programa de Pós-Graduação em Engenharia Ambiental Processo Seletivo de Doutorado 2016 Instruções

Edital 04/2016 Programa de Pós-Graduação em Engenharia Ambiental Processo Seletivo de Doutorado 2016 Instruções Edita 04/2016 Programa de Pós-Graduação em Engenharia Ambienta Processo Seetivo de Doutorado 2016 Instruções 10 de juho de 2016 1 Candidatos admissíveis; vagas; e bosas de doutorado Podem se candidatar

Leia mais

Um Método para o Cálculo da Inversa de Matrizes Simétricas e Positivas Definidas em Bloco

Um Método para o Cálculo da Inversa de Matrizes Simétricas e Positivas Definidas em Bloco Proceeding Series of the Braziian Society of Appied and Computationa Mathematics, Vo 5, N 1, 2017 Trabaho apresentado no CNMAC, Gramado - RS, 2016 Proceeding Series of the Braziian Society of Computationa

Leia mais

Informática para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2018 / 19

Informática para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2018 / 19 Informática para as Ciências e Engenharias Versão : C (Engenharia Civi) Aua 10 Pedro Barahona 2018 / 19 Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas emsql. Simuação de

Leia mais

PRINCÍPIOS DE NEUROCOMPUTAÇÃO

PRINCÍPIOS DE NEUROCOMPUTAÇÃO PRINCÍPIOS DE NEUROCOMPUTAÇÃO Neurocomputação Funcionamento do cérebro humano e os neurônios Formação das conexões e como se concebe teoricamente a aquisição do conhecimento, formalizando-os em procedimentos

Leia mais

Método dos Deslocamentos

Método dos Deslocamentos Método dos Desocamentos formuação matemática do método das forças e dos desocamentos é bastante semehante, devendo a escoha do método de anáise incidir num ou noutro conforme seja mais vantajoso O método

Leia mais

Prática X PÊNDULO SIMPLES

Prática X PÊNDULO SIMPLES Prática X PÊNDULO SIMPLES OBJETIVO Determinação do vaor da gravidade g em nosso aboratório. A figura abaixo representa um pênduo simpes. Ee consiste de um corpo de massa m, preso à extremidade de um fio

Leia mais

As combinações. combinatória que envolviam o princípio multiplicativo e as permutações.

As combinações. combinatória que envolviam o princípio multiplicativo e as permutações. Acesse: http://fuvestibuar.com.br/ AUUL AL A As combinações Até agora você estudou probemas de anáise combinatória que envoviam o princípio mutipicativo e as permutações. Introdução Se observar os probemas

Leia mais

A Análise de Causa Raiz pode ser uma das ferramentas mais importantes que sua organização pode ter nas mãos.

A Análise de Causa Raiz pode ser uma das ferramentas mais importantes que sua organização pode ter nas mãos. Av. São Francisco, 65 cj. 51 Centro Santos SP te. 13 3219-2167 Aumente seu orçamento utiizando a ACR Por Chris Eckert, P.E., CMRP, Presidente da Soogic Uma versão deste artigo foi pubicada na edição de

Leia mais

EDDIE BATISTA DE LIMA FILHO

EDDIE BATISTA DE LIMA FILHO COMPREÃO DE IMAGEN UTILIZANDO RECORRÊNCIA DE PADRÕE MULTIECALA COM CRITÉRIO DE CONTINUIDADE INTER-BLOCO EDDIE BATITA DE LIMA FILHO TEE UBMETIDA AO CORPO DOCENTE DA COORDENAÇÃO DO PROGRAMA DE PÓ-GRADUAÇÃO

Leia mais

Emerson Marcos Furtado

Emerson Marcos Furtado Emerson Marcos Furtado Mestre em Métodos Numéricos pea Universidade Federa do Paraná (UFPR). Graduado em Matemática pea UFPR. Professor do Ensino Médio nos estados do Paraná e Santa Catarina desde 199.

Leia mais

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia Mecânica

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia Mecânica ESCOLA POLITÉCNICA DA UNIVERSIDADE DE SÃO PAULO Departamento de Engenharia Mecânica PME-350 MECÂNICA DOS SÓLIDOS II Prof. R. Ramos Jr. 1 a Prova 13/09/01 Duração: 100 minutos 1 a Questão (5,0 pontos):

Leia mais

SOFTWARE PARA SIMULAÇÃO TRIDIMENSIONAL DE TRANSFERÊNCIA DE CALOR E UMIDADE EM SOLOS POROSOS

SOFTWARE PARA SIMULAÇÃO TRIDIMENSIONAL DE TRANSFERÊNCIA DE CALOR E UMIDADE EM SOLOS POROSOS Curitiba PR Brasi 5 a 7 de novembro de 2003 SOFTWARE PARA SIMULAÇÃO TRIDIMENSIONAL DE TRANSFERÊNCIA DE CALOR E UMIDADE EM SOLOS POROSOS Roberto Zanetti Freire; Gerson Henrique dos Santos; Nathan Mendes

Leia mais

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2016 / 17

Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civil) Aula 10. Pedro Barahona 2016 / 17 Informá(ca para as Ciências e Engenharias Versão : C (Engenharia Civi) Aua 10 Pedro Barahona 2016 / 17 Sumário Introdução aos sistemas de bases de dados: Interrogações mais compexas em SQL. Simuação de

Leia mais

A evolução natural deu ao cérebro humano muitas características desejáveis que não estão presentes na máquina de von Neumann:

A evolução natural deu ao cérebro humano muitas características desejáveis que não estão presentes na máquina de von Neumann: Faculdade de Engenharia de Computação Centro de Ciências Exatas, Ambientais e de Tecnologias PUC-Campinas João Luís Garcia Rosa 2004 2 A evolução natural deu ao cérebro humano muitas características desejáveis

Leia mais

ANÁLISE MATEMÁTICA IV FICHA SUPLEMENTAR 5 EQUAÇÕES DIFERENCIAIS PARCIAIS E TRANSFORMADA DE LAPLACE

ANÁLISE MATEMÁTICA IV FICHA SUPLEMENTAR 5 EQUAÇÕES DIFERENCIAIS PARCIAIS E TRANSFORMADA DE LAPLACE Instituto Superior Técnico Departamento de Matemática Secção de Ágebra e Anáise ANÁLISE MATEMÁTICA IV FICHA SUPLEMENTAR 5 EQUAÇÕES DIFERENCIAIS PARCIAIS E TRANSFORMADA DE LAPLACE Séries de Fourier (1 Desenvova

Leia mais

Redes Neurais Artificiais - Introdução. Visão Computacional

Redes Neurais Artificiais - Introdução. Visão Computacional Redes Neurais Artificiais - Introdução Visão Computacional Inspiração 2 Inspiração 3 Inspiração Atividade seletivanas conexões Soma os impulsos e passa a diante 4 Inspiração As conexões entre os dendritos

Leia mais