Deep learning: aprofunde-se ainda mais em machine learning

2105
3

Nesse artigo falarei sobre deep learning, uma subárea de machine learning (leia nosso artigo sobre o assunto) extremamente popular atualmente.

Irei abordar a história da área, mostrarei alguns casos de uso e técnicas de deep learning.

Confira!

O que é deep learning

Deep learning (ou aprendizagem profunda, em português) é uma subárea de machine learning que trata de modelos vagamente inspirados no cérebro humano, chamados de redes neurais.

Em tais modelos, existe o conceito de camadas. Cada camada é composta por diversas hidden-units (pense nelas como unidades que representam os neurônios), que realizam uma operação matemática que define se elas serão “ativadas” ou não, inspiradas na maneira como a informação se propaga através de neurônios.

A palavra deep está associada à quantidade de camadas que compõem a rede neural. Tecnicamente, toda rede neural com mais de uma camada escondida é chamada de rede neural profunda e tudo que ela aprende é por meio de deep learning. A ideia de modelos deep serem melhores que os shallow (rasos) baseia-se na capacidade (pense como complexidade máxima) desses modelos, pois quanto mais camadas ocultas, mais complexa essa solução pode ser.

Essa classe de modelos recentemente tem se mostrado extremamente eficaz para diversos problemas de aprendizado de máquina, chegando muitas vezes a alcançar performance próxima ou superior à humana.

Deep learning: um pouco de história

Apesar de o termo ‘deep learning’ ter se popularizado recentemente, as redes neurais artificiais são modelos antigos. Por volta dos anos 1980, um algoritmo eficiente que tornou possível treinar tais modelos foi aplicado em redes neurais de maneira independente por diversos autores, mas a técnica é atribuída a Geoffrey Hinton graças ao seu artigo em que o algoritmo de back propagation (algoritmo para calcular derivadas) é descrito.

Após o sucesso proveniente desse algoritmo, as redes neurais se popularizaram até o início dos anos 1990, quando outras técnicas de machine learning tomaram o seu espaço. Passado um período de poucas novidades na área, a partir de 2006 essas técnicas alcançaram resultados impressionantes e, desde então, têm se tornando cada vez mais populares.

No livro Deep Learning, de Ian Goodfellow, Yoshua Bengio e Aaron Courville, os autores alegam que os principais fatores que levaram ao sucesso desses modelos, que já tinham sido propostos há algum tempo, foram conjuntos de dados maiores, redes neurais maiores (possíveis devido ao poder computacional atual) e alguns avanços algorítmicos.


Leia também: Inteligência Artificial: do século XIV à era Big Data


Cases de deep learning

Aqui na Hekima, trabalhamos com problemas de machine learning e Inteligência Artificial diariamente. Em vários deles, testamos modelos que podem ser categorizados como deep learning.

Dois casos reais em que utilizamos tais técnicas foram para prever a demanda de produtos (de quanto acreditamos que será a demanda nos próximos dias, dadas informações históricas até o dia atual) e para classificar textos (dado o texto livre de um documento, definir qual é a sua classe – por exemplo, se o documento fala sobre culinária ou esporte).

Além da Hekima, gigantes da tecnologia estão investindo fortemente em pesquisas de deep learning, como Google e Facebook. Essas empresas têm levado a publicação de suas pesquisas a conferências e agregado valor aos seus produtos.

Alguns casos de aplicações impressionantes de técnicas de deep learning:


Leia também: 11 cases de sucesso com Big Data


Técnicas populares de deep learning

Atualmente, deep learning é uma área de pesquisa muito “quente”, sendo que diariamente técnicas novas são propostas e artigos são publicados. Contudo, algumas famílias de modelos clássicos ainda se mantêm em alta e são explicadas em todo curso de deep learning.

Deep Feedforward Networks

São os modelos mais simples de redes neurais, nos quais a informação de entrada é propagada apenas em um sentido. Apesar disso, os conceitos fundamentais existentes nessa classe de modelos também são utilizados em técnicas mais complexas, como hidden-units, back-propagation, algoritmos de otimização e funções de custo.

Convolutional Neural Networks (CNNs)

São um tipo especial de modelos neurais que se mostraram extremamente populares para diversas aplicações práticas, como reconhecimento/detecção de objetos e faces em imagens dentro de visão computacional. A chamada convolução (convolution) é uma operação matemática realizada nesse tipo de rede neural (por isso o nome).

Recurrent Neural Networks (RNNs)

Essa classe de modelos é própria para processar dados sequenciais, como textos, fala e séries temporais, os quais possuem uma sequência de valores na entrada. O nome vem do fato de essa família de redes realizar conexões recorrentes em sua arquitetura. Um modelo que pode ser considerado dentro dessa categoria é chamado de Long-Short Term Memory (LSTM), que se mostrou extremamente bem sucedido em diversas aplicações como reconhecimento de fala e tradução automática.

Generative Adversarial Networks (GANs)

Essa classe de modelos, proposta em 2014, é uma das principais ideias na área nos últimos anos. O nome se dá pelo fato de existirem duas redes sendo treinadas ao mesmo tempo – uma primeira, que gera instâncias falsas, e uma segunda, que tenta diferenciar entre tais instâncias falsas (aquelas geradas pela primeira rede) e as entradas de fato. Aplicações de modelos generativos como GANs incluem remoção de ruídos, preenchimento e super-resolução de imagens.

E você, se aprofundou no conceito de deep learning após a leitura do artigo? Ficou alguma dúvida? Deixe sua opinião nos comentários!

Sobre o autor:

Gustavo Penha é cientista de dados na Hekima e aluno de mestrado na UFMG. Ama uma boa história (livros, quadrinhos, séries e filmes), correr e passar tempo com as pessoas que gosta.

 

 

Top