Criou página com '= Conceito = Descrição minuciosa das características do programa proposto, pormenorização com detalhes técnicos e precisos que esclareçam a destinação. Identificar s...'
 
Etiqueta: visualeditor
Linha 1: Linha 1:
= Conceito =
= Conceito =
Descrição minuciosa das características do programa proposto, pormenorização com detalhes técnicos e precisos que esclareçam a destinação. Identificar se gera um produto, um serviço ou um processo. Incluir definições, concepções ou caracterizações
As redes neurais consistem em um método de solucionar problemas de IA, criando um sistema que tem: circuitos que simulam o cérebro humano, e seu comportamento, ou seja, aprendendo, errando e fazendo descobertas. São modelos computacionais que mostram um modelo inspirado na estrutura neural de organismos inteligentes e que aprendem através da experiência. Uma grande rede neural artificial tem centenas ou até milhares de unidades de processamento, enquanto os mamíferos possuem bilhões de neurônios.
<br>
 
Assim como o sistema nervoso é composto por bilhões de células nervosas, a rede neural artificial também seria formada por unidades que nada mais são que pequenos módulos que simulam o funcionamento de um neurônio. Estes módulos devem funcionar de acordo com os elementos em que foram inspirados, recebendo e retransmitindo informações.
 
 
 
Aplicações de Redes Neurais Artificiais:
 
• análise e processamento de sinais;
 
• controle de processos;
 
• robótica;
 
• classificação de dados;
 
• reconhecimento de padrões em linhas de montagem ;
 
• filtros contra ruídos eletrônicos;
 
• análise de imagens;
 
• análise de voz;
 
• avaliação de crédito;
 
 
• análise de aroma e odor- um projeto que está em desenvolvimento, buscando a análise de odor via nariz eletrônico;


= Softwares =
= Softwares =
Descrever os softwares usados para esta finalidade. Detalhar, se existir, linguagens, banco de dados e frameworks.  
Pode-se programar para Redes Neurais em qualquer linguagem: C, C++, C#, Python, Java, dentre outras.
 
<br>
<br>


= Código =
= Código =
Dar um exemplo de um código-fonte que mostre alguma parte da aplicação final. O código deverá ser curto mas que o leitor consiga enxergar para que serve. Pode-se usar comentários no programa.
<syntaxhighlight lang="python">
#!/usr/bin/env python
# -*- coding: utf-8 -*-
 
# aplicativo para verificar se o ser vivo eh quadrupede ou bipede
# quadrupede = 1, bipede = -1
# cao = [-1,-1,1,1] | resposta = 1
# gato = [1,1,1,1] | resposta = 1
# cavalo = [1,1,-1,1] | resposta = 1
# homem = [-1,-1,-1,1] | resposta = -1
 
# pesos (sinapses)
w = [0,0,0,0]
# entradas
x = [[-1,-1,1,1],
    [1,1,1,1],
    [1,1,-1,1],
    [-1,-1,-1,1]]
# respostas esperadas
t = [1,1,1,-1]
# bias (ajuste fino)
b = 0
#saida
y = 0
# numero maximo de interacoes
max_int = 10
# taxa de aprendizado
taxa_aprendizado = 1
#soma
soma = 0
#theshold
threshold = 1
# nome do animal
animal = ""
# resposta = acerto ou falha
resposta = ""
 
# dicionario de dados
d = {'-1,-1,1,1' : 'cao',
    '1,1,1,1' : 'gato',
    '1,1,-1,1' : 'cavalo',
    '-1,-1,-1,1' : 'homem' }
 
print("Treinando")
 
# funcao para converter listas em strings
def listToString(list):
    s = str(list).strip('[]')
    s = s.replace(' ', '')
    return s
 
# inicio do algoritmo
for k in range(1,max_int):
    acertos = 0   
    print("INTERACAO "+str(k)+"-------------------------")
    for i in range(0,len(x)):
        soma = 0
 
        # pega o nome do animal no dicionário
        if d.has_key(listToString(x[i])):
            animal = d[listToString(x[i])] 
        else:
            animal = ""
 
        # para calcular a saida do perceptron, cada entrada de x eh multiplicada
        # pelo seu peso w correspondente
        for j in range(0,len(x[i])):
            soma += x[i][j] * w[j]
 
        # a saida eh igual a adicao do bias com a soma anterior
        y_in = b + soma
        #print("y_in = ",str(y_in))
 
        # funcao de saida eh determinada pelo threshold
        if y_in > threshold:
            y = 1
        elif y_in >= -threshold and y_in <= threshold:
            y = 0
        else:
            y = -1       
 
        # atualiza os pesos caso a saida nao corresponda ao valor esperado
        if y == t[i]:
            acertos+=1
            resposta = "acerto"
        else:
            for j in range (0,len(w)):               
                w[j] = w[j] + (taxa_aprendizado * t[i] * x[i][j])
            b = b + taxa_aprendizado * t[i]
            resposta = "Falha - Peso atualizado"
 
        #imprime a resposta
        if y == 1:
            print(animal+" = quadrupede = "+resposta)
        elif y == 0:
            print(animal+" = padrao nao identificado = "+resposta)
        elif y == -1:
            print(animal+" = bipede = "+resposta)
 
    if acertos == len(x):
        print("Funcionalidade aprendida com "+str(k)+" interacoes")
        break;
    print("")
print("Finalizado")
</syntaxhighlight>
 
<br>
<br>


= Diagrama de Casos de Uso =
= Diagrama de Casos de Uso =
Desenhar ou plotar  os requisitos funcionais de uma aplicação.
<br>
<br>


Linha 20: Linha 151:


= Informações adicionais =
= Informações adicionais =
Descrever detalhes a mais sobre esse tema.
Um dos objetivos da pesquisa sobre redes neurais na computação é desenvolver morfologias neurais matemáticas, não necessariamente baseada na biologia, que podem realizar funções diversas.
<br>


= Referências bibliográficas =
= Referências bibliográficas =
Relacionar aqui as referências bibliográficas no padrão ABNT.  
<nowiki>https://linguagensdeprogramacao.wordpress.com/</nowiki>
Bases de procura: Artigos, publicações acadêmicas, revistas e sites de fornecedores
 
http://www.din.uem.br/ia/neurais/
 
<nowiki>https://www.scriptbrasil.com.br/forum/</nowiki>
 
<br>
<br>

Edição das 22h31min de 19 de outubro de 2017

Conceito

As redes neurais consistem em um método de solucionar problemas de IA, criando um sistema que tem: circuitos que simulam o cérebro humano, e seu comportamento, ou seja, aprendendo, errando e fazendo descobertas. São modelos computacionais que mostram um modelo inspirado na estrutura neural de organismos inteligentes e que aprendem através da experiência. Uma grande rede neural artificial tem centenas ou até milhares de unidades de processamento, enquanto os mamíferos possuem bilhões de neurônios.

Assim como o sistema nervoso é composto por bilhões de células nervosas, a rede neural artificial também seria formada por unidades que nada mais são que pequenos módulos que simulam o funcionamento de um neurônio. Estes módulos devem funcionar de acordo com os elementos em que foram inspirados, recebendo e retransmitindo informações.


Aplicações de Redes Neurais Artificiais:

• análise e processamento de sinais;

• controle de processos;

• robótica;

• classificação de dados;

• reconhecimento de padrões em linhas de montagem ;

• filtros contra ruídos eletrônicos;

• análise de imagens;

• análise de voz;

• avaliação de crédito;


• análise de aroma e odor- um projeto que está em desenvolvimento, buscando a análise de odor via nariz eletrônico;

Softwares

Pode-se programar para Redes Neurais em qualquer linguagem: C, C++, C#, Python, Java, dentre outras.


Código

<syntaxhighlight lang="python">

  1. !/usr/bin/env python
  2. -*- coding: utf-8 -*-
  1. aplicativo para verificar se o ser vivo eh quadrupede ou bipede
  2. quadrupede = 1, bipede = -1
  3. cao = [-1,-1,1,1] | resposta = 1
  4. gato = [1,1,1,1] | resposta = 1
  5. cavalo = [1,1,-1,1] | resposta = 1
  6. homem = [-1,-1,-1,1] | resposta = -1
  1. pesos (sinapses)

w = [0,0,0,0]

  1. entradas

x = [[-1,-1,1,1],

    [1,1,1,1],
    [1,1,-1,1],
    [-1,-1,-1,1]]
  1. respostas esperadas

t = [1,1,1,-1]

  1. bias (ajuste fino)

b = 0

  1. saida

y = 0

  1. numero maximo de interacoes

max_int = 10

  1. taxa de aprendizado

taxa_aprendizado = 1

  1. soma

soma = 0

  1. theshold

threshold = 1

  1. nome do animal

animal = ""

  1. resposta = acerto ou falha

resposta = ""

  1. dicionario de dados

d = {'-1,-1,1,1' : 'cao',

    '1,1,1,1' : 'gato',
    '1,1,-1,1' : 'cavalo',
    '-1,-1,-1,1' : 'homem' }

print("Treinando")

  1. funcao para converter listas em strings

def listToString(list):

   s = str(list).strip('[]')
   s = s.replace(' ', )
   return s
  1. inicio do algoritmo

for k in range(1,max_int):

   acertos = 0    
   print("INTERACAO "+str(k)+"-------------------------")
   for i in range(0,len(x)):
       soma = 0
       # pega o nome do animal no dicionário
       if d.has_key(listToString(x[i])):
           animal = d[listToString(x[i])]  
       else:
           animal = ""
       # para calcular a saida do perceptron, cada entrada de x eh multiplicada
       # pelo seu peso w correspondente
       for j in range(0,len(x[i])):
           soma += x[i][j] * w[j]
       # a saida eh igual a adicao do bias com a soma anterior
       y_in = b + soma
       #print("y_in = ",str(y_in))
       # funcao de saida eh determinada pelo threshold
       if y_in > threshold:
           y = 1
       elif y_in >= -threshold and y_in <= threshold:
           y = 0
       else:
           y = -1        
       # atualiza os pesos caso a saida nao corresponda ao valor esperado
       if y == t[i]:
           acertos+=1
           resposta = "acerto"
       else:
           for j in range (0,len(w)):                
               w[j] = w[j] + (taxa_aprendizado * t[i] * x[i][j])
           b = b + taxa_aprendizado * t[i]
           resposta = "Falha - Peso atualizado"
       #imprime a resposta
       if y == 1:
           print(animal+" = quadrupede = "+resposta)
       elif y == 0:
           print(animal+" = padrao nao identificado = "+resposta)
       elif y == -1:
           print(animal+" = bipede = "+resposta)
   if acertos == len(x):
       print("Funcionalidade aprendida com "+str(k)+" interacoes")
       break;
   print("")

print("Finalizado") </syntaxhighlight>


Diagrama de Casos de Uso


Interações com as tecnologias

Incluir links (internos ou externos) temas que tem relação com este, explicando detalhes sobre. Limite de 3 internos e 2 externos.


Informações adicionais

Um dos objetivos da pesquisa sobre redes neurais na computação é desenvolver morfologias neurais matemáticas, não necessariamente baseada na biologia, que podem realizar funções diversas.

Referências bibliográficas

https://linguagensdeprogramacao.wordpress.com/

http://www.din.uem.br/ia/neurais/

https://www.scriptbrasil.com.br/forum/