Este documento discute a aplicação de redes neurais em aplicativos Android. Ele introduz o autor e seu trabalho com desenvolvimento mobile e redes neurais, explora os benefícios de inteligência artificial em aplicativos, e fornece exemplos de como simular operações lógicas como AND e OR usando redes neurais.
2. Quem sou eu
Graduado em ciência da computação – Ufpa
Graduado em sistemas de informação – Iesam
Mestrando em ciência da computação – Ufpa
Desenvolvedor Mobile há 5 anos
Desenvolvedor Android há 3 anos
Linha de pesquisa no mestrado: Redes Neurais
aplicadas em localização em redes de sensores
sem fio.
2 leomariomachado@gmail.com
3. Por que desenvolver aplicativos
inteligentes?
SMARTphonhes
O sistema é inteligente, mas a minha aplicação
pode ficar?
Nem toda aplicação precisa de inteligência
artificial, mas se bem usada pode ser uma
ferramenta muito poderosa
Adaptação ao mundo real de forma mais flexível
que algoritmos convencionais
3 leomariomachado@gmail.com
4. O que é Inteligência Artificial
Área computacional que simula o comportamento
humano de inteligência para resolver problemas
reais.
4 leomariomachado@gmail.com
6. Redes Neurais
Simulam o comportamento do cérebro humano
Conjunto de Neurônios
Aprendizado da Rede
Estabelecimento de pesos
6 leomariomachado@gmail.com
9. Quando posso usar?
Reconhecimento de padrões
Mineração de dados
Tratamento de sinais
Series Temporais
9 leomariomachado@gmail.com
10. Estrutura básica de uma Rede
Neural Multicamadas
10 leomariomachado@gmail.com
11. Vamos a um exemplo prático
A pretensão inicial era fazer uma rede que
identificasse o quanto uma pessoa é feia, mas
infelizmente perdi minhas amostras recentemente
Hello world em redes neurais?
Simular as operações and e or em uma rede
neural.
11 leomariomachado@gmail.com
12. Passo a Passo
Separar as amostras para treino e teste da rede
Selecionar um método de treino (Rprop, batch,
incremental, quickprop, sarprop)
Selecionar as funções de ativação (sigmoid,
cosseno, seno, gaussiana, linear)
Selecionar a quantidade de camadas
Selecionar a quantidade de neurônios por camadas
Treinar a rede
Testar a rede
Voltar ao passo 1 caso desejar alterar algum
parâmetro para obter melhores resultados
12 leomariomachado@gmail.com
13. Resultado dos pesos para And
Layer 1
From Neuron To Neuron ( 0 ---> 3 ) : Weight : -
3.336094
From Neuron To Neuron ( 1 ---> 3 ) : Weight : -
3.396092
From Neuron To Neuron ( 2 ---> 3 ) : Weight :
2.707293
Layer 2
From Neuron To Neuron ( 3 ---> 5 ) : Weight : -
35.711742
From Neuron To Neuron ( 4 ---> 5 ) : Weight :
13 leomariomachado@gmail.com
5.494483
14. Resultado dos pesos para Or
Layer 1
From Neuron To Neuron ( 0 ---> 3 ) : Weight :
5.480813
From Neuron To Neuron ( 1 ---> 3 ) : Weight :
5.482209
From Neuron To Neuron ( 2 ---> 3 ) : Weight : -
2.884790
Layer 2
From Neuron To Neuron ( 3 ---> 5 ) : Weight :
10.191489
From Neuron To Neuron ( 4 ---> 5 ) : Weight : -
14 leomariomachado@gmail.com
4.650279
15. Transformando em algoritmo
Montar o grafo através de listas ou matrizes
Os pesos determinam os resultados
Note que os pesos para as operações and e or
são completamente diferentes
15 leomariomachado@gmail.com
16. Rodando as aplicações
http://leomariomachado.net78.net/And.ap
k
http://leomariomachado.net78.net/Or.apk
16 leomariomachado@gmail.com