RoadMap – Projetos de carro autônomo

Terminei a parte 1 do nanodegree de carros autônomos da Udacity!

nanodegree.jpeg
“Certificado” de conclusão

Foram projetos como o de ensinar um carro a dirigir num ambiente simulado:

E o de treinar uma rede neural para reconhecer placas de trânsito:

Traffic.jpeg

E o de identificar outros veículos e as faixas de trânsito.

 

O Termo 2 do curso envolve sensores Lidar e robótica com C++!

Veja o relatório completo na plataforma Medium:
Relatório completo

Um neurônio de McCulloch-Pitts

O que um único neurônio pode fazer?

 

A primeira noção de neurônio artificial é de um paper de 1943, por dois sujeitos: Warren McCulloch e Walter Pitts.

Imagine Walter Pitts como um pequeno gênio, nascido numa família severa, onde o seu pai odiava a escola e queria que ele trabalhasse. Imagine Pitts escondido na biblioteca pública à noite, lendo o Principia Mathematica de Bertrand Russell (um dos maiores matemáticos de todos os tempos) e sonhando em desvendar o mundo.

Walter Pitts (note a testa do sujeito)

Não conseguindo resistir à tentação, coloco aqui uma imagem do Líder, da revista Incrível Hulk.

O Líder

Anos depois, Pitts encontra Warren McCulloch, um neurofisiologista muito mais velho e já respeitado. McCulloch explica que quer modelar o cérebro de uma maneira lógica, como os neurônios do cérebro funcionam, as analogias com o modelo de computador de Alan Turing, a Principia Mathematica, e assim vai. Algumas horas depois, fica evidente que Pitts é o cara certo para fazer a formulação matemática do problema.

Warren McCulloch
Impressionado pela genialidade de Pitts, McCulloch o “adota”. Pitts passa a morar na casa de McCulloch, e eles trabalham juntos todas as noites, após a família de McCulloch ir para a cama. O brilhante, respeitado, velho cientista e o fugitivo de casa, desempregado, sem ensino médio, jovem gênio.
Juntos, eles criam a primeira ideia de neurônio artificial, no paper “A logical calculus of the ideas immanent in nervous activity”, 1943.

O neurônio artificial é algo que recebe sinais como entrada, multiplica por um peso e compara o resultado contra um discriminante. Se é maior, a saída é um. Senão, é zero.

O neurônio de McCulloch-Pitts é binário, com poucos neurônios e sem técnica de retropropagação para fitar os pesos. Pitts mostrou que uma combinação desses neurônios pode emular as portas lógicas (ou, e, não) e, fazendo isto, fazer o mesmo cálculo que um computador digital. Na mesma época, os computadores digitais estavam sendo projetados pelo grande John von Neumann (outro gênio), o que significava que eles faziam todas as contas no braço.

Imagem do paper de 1943

Após este trabalho seminal, uma área completamente nova começou a florescer. Hoje, há retropropagação, múltiplas camadas, centenas de milhares de neurônios, várias funções de ativação, dropout, convolução, transferência de conhecimento, regularização… e muito, muito mais a vir.

Paper de 1943:

http://link.springer.com/article/10.1007%2FBF02478259

Este paper tem apenas três citações. Uma delas é o Principia Mathematica de Russell e Whitehead.

Apenas para finalizar esta nota histórica, a vida real não é um conto de fadas, de mendigo a príncipe. A vida de Pitts foi de mendigo a príncipe para mendigo de novo. Walter Pitts entrou em depressão após algumas decepções. Ele começou a beber pesadamente, se isolou cada vez mais de todos os outros, e morreu sozinho, na pobreza. Ele tinha 46 anos.


Conclusão

Walter Pitts trabalhou numa biblioteca à noite, com lápis e papel. Fico me imaginando o que ele poderia fazer, se tivesse um computador digital e técnicas modernas como TensorFlow, Keras, GPU…

Um mundo inteiro foi construído a partir do neurônio de McCulloch-Pitts, e um mundo muito, muito maior está sendo construído. O mundo é grande!

Escrevi este post em inglês no link a seguir, com um complemento técnico em Keras.

View story at Medium.com


Mais Sonhos Profundos

 

 

Mais Deep Dreams, em homenagem a duas cidades fantásticas: SP e RJ.

Para criar seus próprios sonhos, uma dica é usar o site https://www.deepdreamit.com.

 

Av. Paulista

Paulista

 

Deep Av. Paulista

DeepPaulista

 

MASP

Masp

 

Deep MASP

DeepMasp

 

Pão de Açúcar

PaoAcucar

 

Deep Pão de Açúcar

DeepPaoAcucar

 

 

 

Deep Dream

O Deep Dream é um algoritmo de redes neurais do Google, que manipula imagens.

Há um site que permite upload e uso fácil do deep dream: https://www.deepdreamit.com. É muito fácil usar.

Fiz uns testes com uma foto antiga. E me senti como o Sandman (https://wordpress.com/post/60116187/1230/)

deepdream_3964fedce243b1a8b5b2cd888b402527

deepdream_d63aec3bf524d47998d135459a87c8c0

deepdream_a4bdc55b77480170e3b65d08cc23456c

deepdream_4a1200ca4d917327212c72a4790f8f26