BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Google Discorre Sobre a Dívida Técnica no Aprendizado de Máquina

Google Discorre Sobre a Dívida Técnica no Aprendizado de Máquina

Pesquisadores e engenheiros do Google apresentaram sua visão sobre a dívida técnica utilizando aprendizado de máquina no workshop Engenharia de Software para Aprendizado de Máquina, que foi parte integrante da conferência anual NIPS, realizada em Montreal. Eles identificaram diferentes aspectos da dívida técnica e chegaram à conclusão que utilizar aprendizado de máquina ou análises de dados complexas em sua empresa sem o devido cuidado pode gerar novos tipos de dívidas técnicas, diferentes daquelas conhecidas na engenharia de software clássica.

No artigo, eles identificaram quatro diferentes áreas nas quais a dívida técnica ocorre: erosão de limites entre subsistemas, dependências de dados, anti-padrões em sistemas e problemas que surgem ao lidar com mudanças no mundo real.

Por exemplo, o estudo afirma que os métodos de aprendizado de máquina são definidos como sistemas que misturam insumos provenientes de diferentes partes com o objetivo de chegar a previsões de alta precisão. Entretanto, isto significa que utilizar estes métodos automaticamente nos leva a um emaranhado de módulos que antes estavam bem isolados. O resultado é que mudanças em um único módulo podem afetar significativamente o desempenho global das previsões.

Assim como a reutilização das bibliotecas leva à dependência de código, os métodos de aprendizado de máquina levam àdependência de dados. Um problema identificado pelo estudo é que as fontes de dados são frequentemente instáveis, gerando instabilidade no módulo de previsão.

Uma abordagem comum para aprendizado de máquina consiste em usar um grande conjunto de fontes de dados disponíveis e então deixar o algoritmo identificar as fontes relevantes. Consequentemente, utiliza-se mais fontes de dados que o estritamente necessário. Neste ponto, uma limpeza periódica pode ser útil.

Finalmente, o estudo diz que ferramentas para rastrear, documentar e resolver dependências de dados também são importantes, de forma similar às ferramentas para tratamento de dependência de código.

Da perspectiva de arquitetura de sistemas, utilizar métodos de aprendizado de máquina frequentemente nos leva a alguns anti-padrões de design de software conhecidos. Especialmente ao utilizar software de aprendizado de máquina de propósito geral, uma grande quantidade de código é necessária para integração de suas partes. Neste ponto, a reescrita a partir do zero pode ser útil.

Experimentar com diferentes alternativas de análise sem realizar uma limpeza periódica do código frequentemente leva a caminhos de "código morto" (i.e. código que nunca será executado).

O Google é conhecido por utilizar aprendizado de máquina e análises de dados complexas em vários de seus principais serviços. Por exemplo, eles estão usando modelos de previsão para otimizar o local de apresentação de um anúncio para o seu serviço. Serviços como a busca de imagens também são baseados em aprendizado de máquina. Recentemente, o Google investiu pesado nesta área adquirindo, por exemplo, as startups Deepmind e DNNresearch. Outras empresas estão seguindo caminhos similares. Por exemplo, o Facebook criou um laboratório de aprendizado de máquina em Nova York.

 

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT