Deep Learning: quando usar além do hype

 


Quando usar, quando não usar, e em quais contextos a abordagem de Deep Learning pode ser mais eficiente para os negócios.

 

Deep Learning, ou aprendizado profundo, é um subconjunto da Inteligência Artificial que existe desde a década de 1950, sendo focado no desenvolvimento de sistemas que imitam de certa forma o funcionamento da rede neural do nosso cérebro. Entretanto, foi só nos anos 1980 que esse conceito começou a ser realmente estudado, estimulado pelas teorias de pesquisadores como Geoffrey Hinton, Yoshua Bengio e Yann Lecun. Apesar disso, ainda havia muita dificuldade de implementar a técnica fora dos laboratórios, e foi somente em 2012, com a evolução da capacidade de processamento das máquinas, que os estudos a respeito do Deep Learning realmente evoluíram e começaram a ser aplicados de forma mais prática no mercado.

 

Atualmente, o Deep Learning é largamente utilizado em algumas empresas, enquanto a maioria não tem nem muita ideia de quando ela poderia lhes ser útil. Neste post, vamos desmistificar o assunto e explicar para você quando usar, quando não usar, e em quais contextos essa abordagem pode ser mais eficiente.

 

 

Deep Learning vs Machine Learning: qual é a diferença?


Fonte: DataIku

Antes de tudo, é preciso entender as principais diferenças entre o modelo de Machine Learning clássico, em relação ao Deep Learning. No segundo caso, por exemplo, a questão de uma precisão muito alta é ainda mais importante do que a interpretabilidade e explicabilidade, enquanto no Machine Learning esses fatores são primordiais. A seguir, confira os principais pontos de cada uma:

 

Machine Learning

  • Interpretabilidade e explicabilidade em primeiro lugar;

  • Quantidades menores de dados relativamente simples;

  • Engenharia de recursos simples;

  • Poder computacional limitado;

  • Tempo limitado, necessidade de prototipagem e operacionalização mais rápidas;

  • Necessidade de escolhas de algoritmos variados;

  • Precisão dos resultados em um nível aceitável.

 

Deep Learning

  • Precisão muito alta é uma prioridade;

  • Grandes quantidades de dados rotulados com precisão;

  • Engenharia de recursos complexos;

  • Recursos de computação poderosos disponíveis (aceleração de GPU);

  • Necessário o aumento e outras transformações do conjunto de dados inicial.

 

Além disso tudo, é preciso entender que, apesar de sua crescente acessibilidade, o Deep Learning ainda é visto como um empreendimento complicado e caro. Isso porque, devido à sua complexidade, ao grande número de camadas e às enormes quantidades de dados necessários, esses modelos exigem treinamentos mais exaustivos, e exigem muito poder computacional, o que os torna demorados e intensivos em recursos. Algo que é um requisito atualmente para executar algoritmos de aprendizado profundo, por exemplo, são as Unidades de Processamento Gráfico, ou GPUs, que, além de indispensáveis, exigem um bom investimento financeiro.

 

Por outro lado, algoritmos clássicos de Machine Learning podem ser treinados muito bem com apenas uma CPU decente (Unidade Central de Processamento), sem exigir o melhor dos melhores hardwares. E, como eles não são tão caros, também é possível repetir testes mais rapidamente, experimentando técnicas diferentes em um período mais curto de tempo.

 

Quando o Deep Learning não é a solução ideal

 

Primeiramente, vamos entender um pouco mais sobre o Deep Learning, e quando ele não faz sentido em aplicações de negócios. Até porque, o número de trabalhos de pesquisa sobre o aprendizado profundo disparou nos últimos anos, então já existem resultados consideráveis para termos uma noção do que funciona e do que não funciona.

 

Apesar da popularidade do Deep Learning nos últimos anos, especialmente na comunidade de cientistas de dados, existem muitos exemplos do uso incorreto dessa técnica. É claro que, com uma grande quantidade de dados, e um armazenamento eficiente, com GPUs, TPUs, instalações de computação em nuvem e estudos de deep learning, cientistas de dados fizeram e ainda fazem coisas sensacionais. Acontece que nem sempre esse é o melhor cenário. Assim, antes de decidir pelo uso do Deep Learning, é preciso questionar se:

 

A empresa tem orçamento e infraestrutura suficientes?

Big data requer ferramentas e infraestrutura diferentes em comparação com o small data. Se você não tiver a infraestrutura adequada, o treinamento e os experimentos do seu modelo serão muito lentos e não atingirão toda a sua capacidade.

 

Existem dados suficientes para serem analisados desta forma?

O treinamento de deep learning requer uma enorme quantidade de dados. Se você não tiver isso em mãos, os algoritmos tradicionais de aprendizado de máquina terão o mesmo desempenho do que o Deep Learning, e com menos custo e complexidade.

 

Você tem acesso ao conhecimento do domínio (Domain Knowledge)?

O aprendizado profundo é a melhor abordagem quando você não tem acesso ao conhecimento do domínio, ou quando considera muito caro rotular os dados. Mas, se o problema não for muito complexo e puder ser resolvido com engenharia de recursos, essa pode ser a melhor opção.

 

Considere a questão da transparência

Pense duas vezes se quiser usar abordagens de Deep Learning se o produto exige um alto grau de transparência, como em casos de detecção de fraudes ou mesmo de correspondência de candidatos a vagas de empregos.

Você precisa de atualizações frequentes?

O treinamento de modelos de aprendizado profundo leva tempo. Portanto, se os seus modelos precisam ser treinados com mais regularidade, porque seus dados estão mudando rapidamente, Deep Learning pode não ser necessariamente sua melhor solução.

Então, quando utilizar o Deep Learning?

Por fim, é possível perceber que existem muitas nuances na hora de decidir pelo uso do Machine Learning ou do Deep Learning. No segundo caso, é mais eficaz quando não há uma estrutura óbvia para explorar os dados e criar recursos. Conjuntos de dados de texto, vídeo, imagens ou séries temporais, por exemplo. Nesses casos, o Deep Learning cria e explora automaticamente padrões nos dados para tomar decisões melhores. Acontece que, em alguns casos, isso exige muitos dados e muitos recursos de computação para convergir para uma boa solução. E nem sempre o mais complexo é o mais eficaz. Por isso, o Deep Learning tende a ser o mais eficaz em locais onde há muitos dados, muito poder de computação e a necessidade da melhor solução possível.

 

De acordo com Jisheng Wang, chefe de ciência de dados da Mist, em artigo publicado pela Forbes, a interpretabilidade também é um grande desafio no que diz respeito ao uso de modelos de Deep Learning, especialmente para softwares corporativos, que preferem manter os humanos informados. Assim, embora o aprendizado profundo reduza o esforço humano de engenharia de recursos, ele também aumenta a dificuldade para os humanos entenderem e interpretarem o modelo. Portanto, em casos em que a interação humana e o feedback são essenciais, essa pode não ser a escolha apropriada.

 

Para concluir

Existem diversas alternativas por aí que são menos complexas e exigem menos recursos. O Machine Learning clássico ainda funciona, e pode ser exatamente o que você precisa. Por outro lado, o Deep Learning vem ganhando espaço e muitas vezes leva a sua empresa a alcançar resultados melhores e mais surpreendentes. Então, isso não significa que você deva evitar o Deep Learning. Mas, como acontece com qualquer tecnologia avançada, ela precisa ser tratada com cuidado. Tudo é uma questão de conhecer as necessidades do seu negócio, e fazer a escolha correta para o timing correto.