# SyNAPSE

O SyNAPSE foi concebido a partir de uma parceria entre a IBM Research , HRL Laboratories, Hewlett-Packard e a Agência de Pesquisas Avançadas de Defesa dos Estados Unidos (Defense Advanced Research Projects Agency - DARPA), a qual já investiu mais de US$53 milhões até o momento.
O SyNAPSE, sigla para Systems of Neuromorphic Adaptive Plastic Scalable Electronics (Sistema Neuromôrfico de Eletrônicos Plásticos Adaptativos Escalonáveis) consiste em um “chip de computador neuro-simpático” com a capacidade de processar informações de uma rede de 256 milhões de sinapses programáveis e 1 milhão de neurônios que se comunicam através de descargas elétricas tais quais os neurônios do cérebro humano. Esses chips utilizam uma arquitetura desenvolvida pela IBM chamada TrueNorth e sua execução é determinada por eventos e não por tempo. Eles trabalham de maneira menos intensa que os chips comuns, pois não estão em execução o tempo todo e com isso há uma menor demanda de energia. Dispostos lado a lado, esses chips executam suas tarefas de forma paralela criando uma malha de computador tolerante à falhas.
O SyNAPSE em sua estréia possuía apenas um único núcleo. Em sua segunda versão, possui 4.096 núcleos e consome menos energia se comparado com sua primeira versão e com os computadores desktop e notebooks atuais.
O SyNAPSE é composto por 5 fases(da fase 0 à fase 4). A IBM alega ter finalizado a fase 1 que corresponde ao desenvolvimento do primeiro protótipo em hardware.

## Objetivos do SyNAPSE

Elaboração de um chip que simula o cérebro humano e suas atividades cognitivas tais como: o sentir, perceber, interagir e reconhecer o que o cérebro pode fazer. Isso é algo que dificilmente se consegue fazer utilizando a arquitetura de processadores comuns. A Computação Cognitiva é uma das grandes áreas de conhecimento relacionadas com o SyNAPSE.

## Computação Cognitiva: Breve Descrição

Sistemas programáveis são baseados em regras que dado um conjunto de instruções pré-determinadas, esses sistemas programáveis irão executar essas instruções chegando à um resultado.Tais sistemas são poderosos e complexos,porém, são determinísticos, ou seja, o resultado a ser obtido já é previamente esperado e conhecido resultando em dados estruturados.Este tipo de sistema, por possuir uma execução extremamente programada é incapaz de processar entradas qualitativas ou imprevisíveis. Esta incapacidade limita a sua utilidade no tratamento de muitos aspectos complexos do mundo onde a ambiguidade e a incerteza prevalecem na maioria das situações.
Sistemas Cognitivos ou Computação Cognitiva são probabilísticos, ou seja, eles são projetados para se adaptarem e seus resultados terem um significado diante de informações complexas, imprevisíveis e desestruturadas. Estes Sistemas Cognitivos podem "ler" textos, "ver" imagens e "escutar" a linguagem natural, eles interpretam essas informações, organizam elas e como resultado oferecem explicações sobre o significado dos dados de entrada juntamente com as bases lógicas para a sua conclusão.
Sistemas Cognitivos não fornecem como resultado respostas definitivas, ao invés disso são fornecidas informações e idéias a partir de múltiplas fontes e com isso são geradas hipóteses para considerações.A resposta de um Sistema Cognitivo depende do conjunto de informações que é fornecido a esse sistema como entrada.Para cada conjunto de entradas haverá uma resposta diferente e imprevisível, ou seja, é um sistema não-determinístico.
Esses sistemas podem falhar em suas respostas,porém, eles são capazes de aprender com seus próprios erros e isso é devido à sistemas que utilizam aprendizagem de máquina em grande escala, processo pelo qual Sistemas Cognitivos melhoram com treinamento e uso.
O primeiro sistema baseado em Computação Cognitiva foi o Watson, o qual era um sistema feito para fornecer respostas dado um conjunto de informações como entrada.Em 2011 o sistema Watson competiu com dois conhecidos vencedores de um programa de perguntas e respostas da televisão norte-americana chamado Jeopardy.O resultado é que o sistema Watson venceu os concorrentes por uma larga margem de pontos.
Abaixo será listado duas áreas em que a Computação Cognitiva está sendo utilizada.
* Na cura do câncer
O oncologista para identificar a melhor forma de tratar um certo tipo de câncer, precisa analisar diversos dados como idade do paciente, quando ocorreu o aparecimento da lesão, as condições da cirurgia, o tipo da doença, e então aliar todo esse conhecimento à própria experiência. Assim surgiu o Watson Oncology, um sistema que utiliza Computação Cognitiva para recomendar tratamentos contra o câncer.Seu banco de dados inclui milhares de pesquisas científicas além de históricos reais de pacientes que conseguiram se curar da doença e os que não obtiveram sucesso.Funciona da seguinte maneira: o médico colhe todas as informações necessárias sobre o paciente doente e as fornece ao ao Watson Oncology.Como resposta ele irá dizer os tratamentos com maior chances de cura e as porcentagens referentes às chances de cura.
* Na culinária
Utilizando o banco de dados do Bon Appétit, a IBM criou o aplicativo Chef Watson, que utiliza a Computação Cognitiva para recomendar pratos culinários, levando em consideração o gosto pessoal dos usuários.Caso um usuário possua apenas pimentão e cenoura em sua casa, ele coloca esses ingredientes no aplicativo, e como resposta ele receberá algumas receitas que utilizam esses dois ingredientes e a chance dessas receitas darem certo.
No caso de uma receita ser saborosa, o usuário poderá fornecer um feedback positivo na receita utilizada no aplicativo e com isso o banco de dados do aplicativo para as receitas vai sendo alimentado.Da próxima vez que uma pessoa do outro lado do mundo quiser usar esses mesmos ingredientes, a resposta do sistema será mais confiável e as chances da receita com esses ingredientes obter sucesso é maior, pois o sistema "aprendeu" que essa receita é boa dado experiências anteriores que forneceram feedback positivo ao sistema.

## Abordagens Multidisciplinares do Projeto SyNAPSE

No desenvolvimento do SyNAPSE, as abordagens são multidisciplinares, assim desenvolvendo as atividades tecnológicas nas seguintes áreas cada uma com suas funções:
* Hardware: a implementação irá incluir dispositivos CMOS e novos componentes sinápticos. Estes irão fornecer suporte à informações críticas observadas em sistemas biológicos.
* Arquitetura: também dará suporte à estruturais críticas e funções observadas em sistemas biológicos tais como conectividade, organização hierárquica, auto-organização competitiva e os sistemas de modulação. O sistema se assemelha ao sistema biológico, o processamento é completamente distribuído, não linear, e é tolerante à falhas.
* Simulação: simulação de circuitos e sistemas em grande escala serão utilizados para verificar e provar a funcionalidade do sistema e informar o desenvolvimento geral do sistema antes da implementação em hardware.
* Ambiente: evolução das plataformas virtuais para a formação, avaliação e medição das máquinas inteligentes em diversos aspectos da percepção, cognição e resposta.

## Participantes

A seguir, a lista mostra as instituições e companhias que estão participando em parceria no desenvolvimento do SyNAPSE:

### IBM team

* Stanford University
* Cornell University
* Columbia University Medical Center
* University of Wisconsin-Madison
* iniLabs GmbH
* University of California, Merced
* IBM Research

### HRL Team

* Boston University
* University of Michigan
* George Mason University
* Stanford University
* Set Corporation
* HRL Laboratories
* Neurosciences Institute
* University of California-Irvine
* Portland State University

## Fases do SyNAPSE
### Fase 0

* Demonstrar um componente eletrônico sináptico exibindo plasticidade.
* Especificação e validação através de simulações das funções dos conjuntos de núcleos do microcircuito utilizando medições de propriedades sinápticas.

### Fase 1

* Demonstrar todas as funções dos núcleos do microcircuito em hardware.
* Especificar o processo de fabricação do chip.
* Demonstrar atividade neural dinâmica, estabilidade de rede, plasticidade sináptica, e auto-organização em resposta à simulações sensoriais.

### Fase 2

* Integrar todo o sistema cognitivo em um único chip.
* Simular em computadores tradicionais o funcionamento de um processador cognitive com dez milhões de neurônios.

### Fase 3

* Fabricação e teste do processador cognitivo de 1 milhão de neurônios e o projeto e simulação de um protótipo com cem milhões de neurônios.

### Fase 4

* Construir um processador cognitivo com cem milhões de neurônios, pronto para ser instalado em um robô com inteligência artificial capaz de aprender.

## Resultados e Progressos

A seguir, serão mostrados alguns resultados obtidos pelo Projeto SyNAPSE e o progresso de alguns projetos em andamento que estão utilizando o SyNAPSE.
* Núcleo Neuro-sináptico Digital(Digital Neurosynaptic Core)
Em Agosto de 2011, a IBM revelou que eles produziram um núcleo neuro-sináptico digital. O microprocessador implementa 256 neurônios em um hardware CMOS e esses neurônios são armazenados em um array bidimensional de dimensões 16x16. Cada neurônio se conecta com os demais através de 1.024 sinapses totalizando em 262.144 sinapses por núcleo.
O núcleo é montado em um circuito impresso personalizado e conectado à um computador pessoal através da porta USB.Desta forma, o núcleo pode ser conectado em vários ambientes virtuais e reais. O núcleo "aprendeu" a reconhecer escrita de dígitos à mão e também pode jogar uma partida de PONG.
Ao contrário da arquitetura tradicional de computadores Von Neumann, o cálculo e as unidades de memória deste chip são completamente integrados. Isto acelera a computação em paralelo e reduz o gasto de energia requerido pelo sistema. Teoricamente é possível produzir uma rede on-chip desses núcleos criando um tecido neural de baixo consumo de energia para um grande número de aplicações em tempo real. O objetivo final é construir um sistema em escala humana com 100 trilhões de sinapses.
Em Junho de 2012 a equipe que trabalha no Projeto SyNAPSE apresentou um sistema que utiliza o núcleo neuro-sináptico digital para capturar propriedades funcionais essenciais da camada glomerular do bulbo olfativo dos mamíferos.
* O Muro/Cérebro da IBM(The IBM Brain Wall)
Este muro/cérebro possibilita os pesquisadores de possuírem uma visão geral dos estados de ativação dos neurônios em uma rede neural de grande porte. A matriz 4x4 de monitores pode exibir 262.144 neurônios simultaneamente. Cada neurônios é representado por uma pixel cinzento. A ferramente pode ser usada para visualizar simulações de supercomputadores e também atividades dentro de um núcleo neuro-sináptico.
* TrueNorth e Compass
TrueNorth é uma arquitetura escalável, diferente da arquitetura tradicional de Von Neumann, de baixo consumo de energia, possui computação cognitiva que está sendo desenvolvida pela IBM como parte do Projeto SyNAPSE. Ele consiste de uma rede de núcleos neuro-sinápticos escalável a qual cada núcleo possui neurônios, dendritos, sinapses e axônios.
Compass, também desenvolvido pela IBM, é um software que simula a arquitetura TrueNorth. Este software permite testar a arquitetura em um supercomputador antes de ser construído diretamente em um hardware especializado.Além de ser multi-threaded e simulador funcional massivamente paralelo, o Compass é também um compilador em paralelo que tem a capacidade de mapear uma rede de longa distância.
O Compass tem sido utilizado para demonstrar inúmeras aplicações da arquitetura TrueNorth, tais como o fluxo óptico, mecanismos de atenção, imagem e classificação de áudio, classificação multi-modal de audio e imagem, reconhecimento de caracteres, navegação robótica e extração de características espaço-temporal.
A visão final do Projeto SyNAPSE é construir uma arquitetura de computação cognitiva com 10$^{10}$ neurônios e 10$^{14}$ sinapses.Isto aproxima do número de neurônios e sinapses que é estimado estar presente no cérebro humano.