Deep Learning: o que é, e qual a relação com o Deep Fake
O termo “deep learn”, em inglês, significa aprender profundamente. Dessa forma, podemos entender o conceito de deep learning como uma aprendizagem profunda, baseada em um conjunto de algoritmos que trabalham com várias camadas de processamento.
Isso proporciona uma execução de tarefas com resultado mais próximo ao que teríamos se elas fossem realizadas por seres humanos. No artigo de hoje, falaremos mais sobre o Deep Learning, significado, conceito, exemplos e qual a relação com o Deep Fake.
O que é Deep Learning?
Deep Learning é uma classe de algoritmos de machine learning que utiliza múltiplas camadas (layers) para extrair as características (features) dos dados, sem que a gente tenha que definir quais são essas características. Ao se trabalhar com imagens, normalmente são utilizadas uma variação das redes neurais de múltiplas camadas, chamadas de Convolutional Neural Networks (CNN).
Deep Learning — Exemplos
As possibilidades de aplicação de Deep Learning são inúmeras. Ele pode ser utilizado para a visão computacional, na segmentação e até mesmo na geração de imagens. As aplicações de visão computacional são muito utilizadas em áreas como medicina, por exemplo. Na análise de texto, podemos usar o Deep Learning para tradução de textos, análise de sentimentos e também para responder perguntas. Já no caso de áudio podemos usar os modelos treinados para realizar a transcrição e até para a geração de música. Se você quiser consultar diversas outras possibilidades, o site Papers with code tem uma página dedicada ao estudo da arte de aplicações nessa área.
Quer um exemplo clássico?
Quando queremos detectar “qual animal está nessa imagem”, temos de definir qual é a entrada. Será a imagem pura em JPG? Será a imagem em preto e branco só dos contornos pré-processados dos objetos? Será uma versão já tentando dar destaque para as “faces” dos animais?
Essa decisão é difícil. Que tal então deixar que o próprio algoritmo escolha quais dessas features deve utilizar?
Fazer essa analogia do que está acontecendo por trás do algoritmo é difícil. Eu dou outros exemplos no vídeo abaixo: quando um grupo de médicos e médicas fazem um diagnóstico complexo, cada um pode estar analisando uma parte diferente do paciente, um exame diferente e até em níveis de abstração distintos. É a "soma" de todas essas análises que gera a saída que buscamos. Mas quais análises fazer? Quais características (features) do exame/paciente usar? A própria rede vai pesá-los!
Deep learning e Machine learning: qual a diferença?
O Deep Learning é uma subárea do Machine Learning. No Machine Learning temos diversos tipos de modelos como as árvores de decisão, os vizinhos mais próximos, regressão logística, redes neurais artificiais, entre outros. Cada um desses modelos é utilizado para se ajustar a uma base de dados e, após esse ajuste, se torna capaz de prever algo com base em uma entrada.
Entretanto, se o nosso problema de Machine Learning envolver uma base de dados grande em que é necessário utilizar um modelo de redes neurais artificiais com muitas camadas, aí estaremos lidando com um problema de Deep Learning.
Repare também que na aplicação das redes neurais, além de podermos utilizar múltiplas camadas, podemos ter diversas arquiteturas. Por exemplo: as redes convolucionais, interessantes em aplicações de visão computacional, as redes neurais recorrentes, para o processamento de sequências como seguimentos de textos, entre outros exemplos.
E o que é Deep fake?
Deep Fake é a aplicação dessas técnicas para tentar modificar imagens, vídeos ou até textos e conferir mais naturalidade a eles.
No meu canal, o Guilherme Guiminam (que eu convido você a se inscrever), fiz alguns deep fakes, como do Fabio Akita, do Mario Souto (DevSoutinho) e Filipe Deschamps. Nele, eu vou mais a fundo do Deep Learning e dou exemplos incríveis, mostrando o código:
Lembrando do potencial destrutivo dessas técnicas e que você precisa de autorização das imagens com quem serão feitos seus testes!
O código-fonte em Python que eu fiz está neste repositório e o Colab aqui. Tudo baseado no paper First Order Motion Model for Image Animation.