Pages Menu
TwitterRssFacebook
Categories Menu

Por dentro da Deep Learning

por em 21/11/2017 em Ciência | 1 comentário

Por dentro da Deep Learning

Você já ouviu falar de Rede Neural Artificial (RNA)?

A Deep Learning é o campo do machine learning que mais cresce atualmente. Ele usa RNA’s de várias camadas para aprender níveis de representação e abstração que fazem sentido de dados como imagens, som e texto. Quanto maior o número de camadas mais profundo será o aprendizado, consequentemente melhor será a representação do conhecimento, o aprendizado. Ou seja, todo seu aprendizado depende de como as RNA’s são modeladas para que possam representar esse aprendizado.

Este modelo computacional é o alicerce não somente da Deep Learning, como também da maioria das ferramentas com base em aprendizado. Você quer saber mais um pouco sobre o assunto? Então me siga por uma viagem através dos neurônios.

Um dos desafios das pesquisas no desenvolvimento da Inteligência Computacional nas últimas décadas é como desenvolver sistemas capazes de imitar a robustez e eficiência com que o cérebro humano representa informações. Os seres humanos recebem uma quantidade extraordinária de informações de seus sensores (olhos e ouvidos, por exemplo) a cada segundo do dia e são capazes de capturar aspectos críticos desses dados de uma forma que permite o seu uso no futuro.

Os seres humanos estão sempre experimentando coisas novas todos os dias. Um novo cheiro, ao passar por uma loja de perfumes. Um novo sabor ao visitar um restaurante diferente. Novas texturas, em tudo o que toca. Sons diferentes. Coisas novas são vistas sempre que saímos de casa. Todas essas informações são experiências novas. Os serem humanos são capazes de aprender com essas novas experiências e podem utilizar essas informações para lidar com situações novas. Mas, como podemos desenvolver um sistema computacional que possa aprender, assim como o cérebro humano, com experiências passadas a lidar com situações novas?

Imitar este funcionamento do cérebro humano levou os cientistas a desenvolver um sistema computacional que aprende (melhora de forma progressiva) a realizar tarefas considerando um conjunto de exemplos, são as Redes Neurais Artificiais (RNA).

Uma RNA, formalmente, é um método conexionista de representação e aquisição do conhecimento. Isso quer dizer que podemos desenvolver um modelo computacional que utiliza uma rede de unidades conectadas, os neurônios artificiais. Essa rede simula elementos naturais, como o próprio neurônio e suas sinapses.

Exemplo de Neurônio Natural. Fonte: [1]

Na RNA, cada conexão entre os neurônios pode transmitir sinais para outro neurônio. O neurônio receptor processa o sinal de entrada (uma função matemática é aplicada sobre a soma dos sinais) e então o envia para o próximo neurônio conectado a este. As conexões possuem um peso associado (sinapse), que varia de acordo com o processo de aprendizado, o qual pode aumentar ou diminuir a força do sinal que é transmitido.

Modelo de neurônio artificial. Fonte: [2].

Normalmente, os neurônios são organizados em camadas. Cada camada pode tratar as informações recebidas de uma forma diferente. O sinal entra pela primeira camada (camada de entrada) e transita pelas camadas intermediárias (camada escondida ou oculta) até a última camada (camada de saída). Processo este que pode ser executado múltiplas vezes.

Arquitetura de uma rede neural com duas camadas ocultas. Fonte: [3].

Como esse neurônio aprende?

A RNA aprende a partir de treinamento. O que quer dizer que devemos fornecer uma série de exemplos de dados parecidos com o que queremos que ela aprenda. Se quisermos que ela aprenda a reconhecer gatos, então entramos com uma série de fotos de gatos que servirão de exemplos. O que fará com que ela ganhe experiência em reconhecer gatos para em uma situação futura ela possa reconhecer outros gatos.

Em um processo idêntico fornecemos uma série de exemplos de dados de entrada e suas respectivas saídas (utilizados como treinamento) para que a RNA aprenda os padrões existentes nesses dados, assim ela pode identificar os mesmos padrões em dados futuros. Esse aprendizado é realizado pela atualização dos pesos das conexões. Cada vez que um conjunto de exemplos é enviado a rede, os pesos atualizam para que estes representem corretamente os padrões existentes. Esse processo de treinamento pode ser executado diversas vezes.

O texto já está bem grande e para que não fique muito maçante iremos ficar por aqui. Nos próximos posts iremos aprender mais sobre as técnicas por trás de algumas tecnologias que estão destaque.

 

Leia mais em:

The Perceptron – A Probabilistic Model for Information Storage and Organization in The Brain

Deep Machine Learning – A New Frontier in Artificial Intelligence Research

Deep Learning

 

Fonte das Imagens:

[1] Osório, F e Vieira, R. (1999) “Sistema Híbridos Inteligentes”, XIX Congresso da S.B.C. ENIA’99 – Encontro Nacional de Inteligência Artificial.

[2] Alex Lattaro. “Watson in a more practical view”.Acessado em: 16/10/2017.

[3] Thomaz Maia de Almeida. “Uma Metodologia de Reconhecimento Inteligente de Caracteres Manuscritos Utilizando Redes Neurais Embarcadas”. Acessado em: 16/10/2017.

 

…………………………………………………………………………………………………………………………………..

Fábio Ferreira

Professor, cientista da computação e criador de formigas artificiais.
Curto joguinhos, memes e um cineminha. Meu objetivo é a conquistaaaaa.

Modo Noturno