Meio Bit » Arquivo » Ciência » Assustador e impressionante: uma rede neural em ação

Assustador e impressionante: uma rede neural em ação

Redes neurais são uma área bem especializada da computação, produzindo resultados que vão muito além dos algoritmos tradicionais. No vídeo deste post um experimento dos mais legais: uma rede identificando imagens em tempo real, vindas de uma webcam e tentando descrever o que está vendo.

8 anos atrás

tumblr_nakqb2jUHb1ridpo9o1_500

Arthur Clarke negou até a morte que o nome do HAL-9000 em 2001 fosse uma espetada, “um passo adiante da IBM”, a explicação no entanto é uma maior piada maior ainda, que passa despercebida. Diz ele que HAL vem de Heuristic Algorithm, uma completa contradição em termos de computação.

Um Algoritmo é uma solução de problema baseada em uma sequência específica e exata de passos. A abordagem heurística é mais uma estimativa, uma forma de tentativa e erro. As duas abordagens são válidas e tem suas utilidades. Um algoritmo de correção de erros em um link de dados tem que ser preciso, já um módulo de reconhecimento de voz pode cometer erros mas precisa ser rápido.

As redes neurais são um avanço da computação heurística, nelas você tem “neurônios” que recebem e enviam sinais e são treinados através de exemplos. Igual a você. Ninguém nasce sabendo reconhecer uma maçã, nós aprendemos através de tato, visão, cheiro, paladar. Todas essas variáveis juntas formam o que chamamos de maçã, mas se eu te der um pedaço de pêra cortada para segurar e negar os outros estímulos, você não poderá dizer qual fruta é. Se eu deixar você cheirar algo que tem aroma de pêra, sem os outros inputs, também não poderá afirmar que é uma pêra, pode ser um purê de pera.

Já o input da forma junto com o do cheiro te dão dados suficientes para saber que É uma pêra.

O funcionamento das redes neurais é basicamente isso, você mostra um monte de exemplos, até a rede começar a aprender. Isso funciona muito bem no Kinect, por exemplo, para determinar movimentação dos jogadores.

Redes Neurais são especialmente boas em reconhecimento de imagens, como mostra o exemplo criado por Kyle McDonald. Ele modificou uma rede neural chamada NeuralTalk, que usa uma matriz treinada por 100 mil pares de imagens / legendas. O sistema roda em uma nVidia 750M em um MacBook Pro, a maioria dos frameworks de redes neurais usa GPUs por causa do paralelismo excelente.

Com o sistema modificado para receber imagens de uma webcam ele consegue identificar em tempo real o que está vendo. Erra muito, claro, estamos falando de um software com pouco treinamento rodando em um laptop, mas mesmo assim é impressionante, veja:

NeuralTalk and Walk from Kyle McDonald

Melhor ainda: é tudo OpenSource, rodando em Torch, um framework OS também. Aqui na descrição do vídeo ele especifica os detalhes, inclusive como baixar a rede pré-treinada, com 600 MB de interconexões neurais.

Uma rede neural bem-treinada pode ser muito útil, em especial para evitar problemas assim:

vlcsnap-00002

Fonte: Meta Filter.

Leia mais sobre: , , , .

relacionados


Comentários