Ciência e Dados
Menu
  • Home
  • Sobre
  • Contato
Menu
Deep Learning com Linguagem R – Parte 1

Deep Learning com Linguagem R – Parte 1

Posted on 18 de janeiro de 201727 de dezembro de 2017 by David Matos

Seja você profissional ou entusiasta de Machine Learning e Big Data, com certeza deve estar acompanhando o frenesi em torno da Inteligência Artificial. Nunca estivemos tão próximos de fazer com que as máquinas sejam capazes de ter um comportamento similar ao comportamento humano, resolvendo os mais variados tipos de problemas. Todos os grandes players como Google, Facebook, IBM, Microsoft, Apple, Amazon e Nvidia já estão colhendo os frutos pelo trabalho pioneiro que estão realizando em pesquisa e desenvolvimento de Inteligência Artificial. E ainda estamos apenas no começo.

E no epicentro da rápida evolução em Inteligência Artificial estão as Deep Neural Networks, ou o termo que você deve ouvir com mais frequência, Deep Learning.

Deep Learning é uma das áreas mais quentes de Machine Learning na atualidade, que permite ensinar os computadores a fazer coisas que até então somente os seres humanos eram capazes de fazer. Deep Learning é o estado da arte em atividades de aprendizagem de máquina como visão computacional, reconhecimento de voz e processamento de linguagem natural. Deep Learning vem sendo usado nas mais diversas áreas, desde descoberta de doenças e novos medicamentos, passando por tradutores online de idiomas (cada vez mais precisos), até busca em documentos e assistentes virtuais. Mas lembre-se, tudo tem seu preço. O poder que Deep Learning oferece traz junto temas complexos, processamento computacional intensivo e muita, muita matemática. Mas aprender sobre Deep Learning pode ser a chance de construir algo totalmente novo, que transformará radicalmente a forma como os seres humanos trabalham, se divertem e se relacionam. Estamos prestes a dar um salto na evolução humana. Na Europa já está em discussão se robôs deverão ter direitos e deveres. Isso já está acontecendo e se você acha que ainda é ficção científica, é melhor prestar mais atenção, pois a Inteligência Artificial vai gerar transformações bastante significativas.

Pensando nisso, o blog Ciência e Dados começa a temporada 2017 com novo layout e uma sequência de 5 artigos 100% dedicados a Deep Learning utilizando a linguagem R para criar nossos modelos e realizar experimentos. Neste primeiro artigo, vamos definir o que é Deep Learning e discutir sobre os principais pacotes R para aprendizagem profunda.

Deep Learning

Deep Learning é o termo usado para descrever o processo de utilizar modelos de redes neurais de múltiplas camadas e que podem ser usados para uma incrível variedade de diferentes combinações de técnicas matemáticas. Esses modelos são incrivelmente poderosos, mas nossa habilidade de utilizar redes neurais de forma verdadeiramente eficiente tem sido um fenômeno relativamente novo, já que agora temos massivas quantidades de dados disponíveis (Big Data) e capacidade computacional que nos permite transformar os modelos de Deep Learning em uma técnica extremamente poderosa.

O diferencial do Deep Learning está no fato que o modelo criado tem mais flexibilidade em decidir como os dados serão usados para gerar o melhor resultado possível. O Cientista de Dados não precisa perder tanto tempo tentando descobrir que inputs devem ser incluídos, pois modelos de Deep Learning podem considerar todos os parâmetros e automaticamente determinar a melhor combinação dos valores de entrada. Isso torna o processo de tomada de decisão muito mais sofisticado, convertendo computadores e dispositivos em sistemas mais inteligentes do que nunca. Com Deep Learning podemos criar carros que dirigem por si próprios ou telefones que compreendem nossa voz, sistemas de tradução de idiomas, reconhecimento facial, análise preditiva, composição de músicas por algoritmos e uma infinidade de outras aplicações de Inteligência Artificial que estão se tornando viáveis graças ao Deep Learning.

Embora os conceitos matemáticos por trás do Deep Learning estejam entre nós há muitas décadas, bibliotecas de programação de computadores dedicadas a criar e treinar os modelos de Deep Learning surgiram apenas nos últimos anos (o que mostra como esta área ainda vai crescer e muito). Mas infelizmente muitas dessas bibliotecas possuem verdadeiros dilemas entre flexibilidade e possibilidade de uso em produção. Bibliotecas flexíveis são excelentes para pesquisa e desenvolvimento de novas arquiteturas, mas não estão prontas para uso em produção com aplicações críticas de sistemas web por exemplo. Por outro lado, existem bibliotecas velozes e eficientes para execução em ambiente paralelo e distribuído (e portanto excelentes alternativas para ambiente de produção), mas que são especializadas em apenas alguns tipos de redes neurais e possuem pouca flexibilidade. Isso nos deixa com um grande dilema entre qual biblioteca escolher para um projeto de Inteligência Artificial por exemplo.

Pacotes R para Deep Learning

Embora existam diversos pacotes para Machine Learning em R, existem poucos dedicados a Redes Neurais e Deep Learning. O pacote nnet é um pacote recomendado para construir redes neurais feed-forward com uma camada oculta. O pacote neuralnet também pode ser usado para criar modelos de redes neurais artificiais com uma camada oculta, mas pode treiná-los usando backpropagation e funções de ativação do neurônio. Finalmente, chegamos ao pacote RSNNS, que é um wrapper R do Simulador de Rede Neural de Stuttgart (SNNS). O SNNS foi originalmente escrito em C, mas foi portado para C++. O pacote RSNNS disponibiliza muitos componentes de modelos SNNS, tornando possível treinar uma grande variedade de modelos SNNS em R. Outros 3 importantes pacotes para Deep Learning em R:

Deepnet

O pacote deepnet fornece uma série de ferramentas para aprendizagem profunda em R. Especificamente, ele pode treinar RBMs (Restricted Boltzmann Machines) e usá-los como parte de DBNs (Deep Belief Networks) para gerar valores iniciais e treinar redes neurais profundas. O pacote deepnet também permite diferentes funções de ativação e o uso de dropout para regularização.

Darch

O pacote darch é baseado em código Matlab criado por George Hinton (considerado o pai do Deep Learning, Professor da Universidade de Toronto no Canadá e Consultor de Deep Learning do Google) para arquiteturas profundas. Ele pode treinar RBMs e DBNs juntamente com uma variedade de opções relacionadas a cada um. Uma limitação do pacote darch é que, por ser uma implementação R pura, o treinamento do modelo tende a ser lento.

H2O

O pacote h2o fornece uma interface para o software H2O. H2O é escrito em Java e é rápido e escalável. Oferece não só uma funcionalidade de aprendizagem profunda, mas também uma variedade de outros algoritmos e modelos de aprendizado de máquina e os resultados do modelo podem ser armazenados como código Java puro para permitir uma pontuação rápida, facilitando a implantação de modelos para resolver problemas do mundo real.

 

Caso alguns dos termos técnicos não sejam comuns a você, não se preocupe. Trataremos disso ao longo dos próximos artigos desta série.

 

Referências:

Geoffrey E. Hinton

nnet: Feed-Forward Neural Networks and Multinomial Log-Linear Models

neuralnet: Training of Neural Networks

RSNNS: Neural Networks in R using the Stuttgart Neural Network Simulator (SNNS)

deepnet: deep learning toolkit in R

darch: Package for Deep Architectures and Restricted Boltzmann Machines

H2O

Curso Online – Machine Learning

 

David Matos

 

Relacionado

11 thoughts on “Deep Learning com Linguagem R – Parte 1”

  1. Filipe Vargas disse:
    10 de fevereiro de 2017 às 2:39 PM

    Fico feliz em ter encontrado este site e ler bons artigos em português sobre ciência de dados, especialmente sobre Deep Learning.

    Responder
    1. David Matos disse:
      12 de fevereiro de 2017 às 5:25 AM

      Olá Filipe. Obrigado pelo feedback. Abs. David

      Responder
  2. Cleber Roberto disse:
    3 de maio de 2017 às 12:19 AM

    Parabéns pela iniciativa

    Responder
    1. David Matos disse:
      3 de maio de 2017 às 12:37 PM

      Valeu Cleber, obrigado. Mais artigos estão vindo por aí! Abs

      Responder
  3. Vitor disse:
    12 de junho de 2017 às 10:57 PM

    Parabéns David seus artigos são muito bons, direto ao ponto com uma linguagem agradável de ler!

    Responder
    1. David Matos disse:
      13 de junho de 2017 às 3:08 AM

      Muito obrigado Vitor. Abs

      Responder
  4. Pingback: Aplicando o Deep Learning no mundo dos negócios | Empreendedorismo e Inovação: Mentoria para Startups e Empresas
  5. Weverson disse:
    1 de novembro de 2018 às 7:55 AM

    Artigos de Ciência de Dados em português e com qualidade! Estou impressionado com sua didática e objetividade. Parabéns!

    Responder
    1. David Matos disse:
      1 de novembro de 2018 às 10:03 AM

      Valeu Weverson. Muito obrigado.

      Responder
  6. Carlos Roberto de Castro disse:
    22 de setembro de 2020 às 7:59 AM

    Parabéns estou no aprendizado!

    Responder
  7. Debora Sobreira disse:
    23 de março de 2021 às 12:05 PM

    bons artigos , fácil entendimento , parabéns pela iniciativa !

    Responder

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Assinar blog por e-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Buscar

Tags Mais Comuns nos Posts

Agentes de IA Analytics Análise de Negócios Apache Spark AWS Big Data Blockchain Business Intelligence Cache-Augmented Generation (CAG) ChatGPT Cientista de Dados Cientistas de Dados Ciência de Dados Cloud Computing Data Lake Data Mesh Data Science Data Scientist Data Warehouse Deep Learning Deploy Engenharia de Dados Estatística GPU GraphRAG Hadoop IA Generativa Inteligência Artificial Internet of Things Linguagem Python Linguagem R LLM LLMs Machine Learning Metadados Normalização NVIDIA Oracle Pipeline de Dados Predictive Analytics Probabilidade PySpark Python RAG Storytelling

Histórico de Posts

  • maio 2025 (1)
  • abril 2025 (2)
  • março 2025 (4)
  • fevereiro 2025 (8)
  • janeiro 2025 (5)
  • dezembro 2024 (4)
  • novembro 2024 (1)
  • outubro 2024 (1)
  • setembro 2024 (1)
  • agosto 2024 (1)
  • julho 2024 (3)
  • junho 2024 (1)
  • maio 2024 (1)
  • abril 2024 (2)
  • março 2024 (1)
  • fevereiro 2024 (1)
  • janeiro 2024 (1)
  • dezembro 2023 (1)
  • outubro 2023 (2)
  • setembro 2023 (1)
  • agosto 2023 (4)
  • julho 2023 (2)
  • junho 2023 (4)
  • maio 2023 (2)
  • abril 2023 (2)
  • março 2023 (3)
  • fevereiro 2023 (3)
  • janeiro 2023 (3)
  • dezembro 2022 (7)
  • novembro 2022 (6)
  • outubro 2022 (2)
  • setembro 2022 (3)
  • agosto 2022 (2)
  • julho 2022 (2)
  • junho 2022 (3)
  • maio 2022 (1)
  • abril 2022 (3)
  • março 2022 (1)
  • fevereiro 2022 (3)
  • janeiro 2022 (2)
  • dezembro 2021 (1)
  • novembro 2021 (5)
  • outubro 2021 (2)
  • setembro 2021 (3)
  • agosto 2021 (1)
  • junho 2021 (1)
  • fevereiro 2021 (2)
  • janeiro 2021 (1)
  • dezembro 2020 (1)
  • novembro 2020 (1)
  • outubro 2020 (2)
  • agosto 2020 (1)
  • abril 2020 (1)
  • março 2020 (1)
  • fevereiro 2020 (2)
  • agosto 2019 (1)
  • abril 2019 (1)
  • setembro 2018 (2)
  • julho 2018 (1)
  • junho 2018 (3)
  • abril 2018 (1)
  • março 2018 (1)
  • fevereiro 2018 (2)
  • janeiro 2018 (1)
  • dezembro 2017 (1)
  • novembro 2017 (1)
  • outubro 2017 (1)
  • setembro 2017 (1)
  • julho 2017 (1)
  • junho 2017 (1)
  • maio 2017 (2)
  • abril 2017 (1)
  • janeiro 2017 (1)
  • novembro 2016 (1)
  • outubro 2016 (1)
  • setembro 2016 (1)
  • julho 2016 (1)
  • junho 2016 (1)
  • maio 2016 (1)
  • abril 2016 (1)
  • fevereiro 2016 (1)
  • janeiro 2016 (3)
  • dezembro 2015 (4)
  • novembro 2015 (6)
  • outubro 2015 (9)
  • setembro 2015 (9)
  • agosto 2015 (9)
©2025 Ciência e Dados
Menu
  • Home
  • Sobre
  • Contato