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 = | ||
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 = | = Softwares = | ||
Pode-se programar para Redes Neurais em qualquer linguagem: C, C++, C#, Python, Java, dentre outras. | |||
<br> | <br> | ||
= Código = | = Código = | ||
<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 = | ||
<br> | <br> | ||
| Linha 20: | Linha 151: | ||
= Informações adicionais = | = 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 = | = Referências bibliográficas = | ||
<nowiki>https://linguagensdeprogramacao.wordpress.com/</nowiki> | |||
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">
- !/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>
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/