Deep learning ou redes neurais

Deep learning

Deep learning

 

Deep learning. Nós continuamos muito empolgados com deep learning. Diversos experimentos recentes, como o Google DeepMind Alpha Go e o Microsoft Tay, tiveram grande repercussão em 2016. Ao mesmo tempo, estamos observando interfaces naturais de usuário (Apple Siri, Microsoft Cortana, …) se popularizem através de smartphones e empresas cada vez mais usando sistemas inteligentes para melhorar seus processos. Por tudo isso, acreditamos que deep learning ainda tem muito a agregar na vida das pessoas e das corporações.

Em 2014 e 2015, ouvimos muito os termos “big data”, “data science” e “machine learning”. Em 2016, ouvimos mais o termo “deep learning” e, provavelmente, em 2017 este termo ganhará mais popularidade e será ainda mais comum no dia a dia dos programadores que trabalham com sistemas inteligentes.

Acompanhado desse termo, vamos ouvir coisas como “um computador conseguiu resolver o problema X melhor do que seres humanos” ou “os computadores vão ficar mais inteligentes e acabar com a raça humana”. Inclusive, se você tiver curiosidade, pesquise sobre “singularidade tecnológica”, uma teoria que prevê que no futuro a inteligência artificial irá superar a inteligência humana, fato este que poderá alterar profundamente (e de forma imprevisível) a civilização. Medo!

Bom, voltando do futuro… Essa relação entre computares e inteligência vem sendo muito discutida desde o final da década de 1980, após Geoffrey Hinton publicar um artigo explicando o que viria a ser conhecido como redes neurais artificiais.

O princípio das redes neurais é bem simples: criar um único programa de computador capaz de criar outro programa para resolver um problema. Esse “programa de computador único” é a rede neural.

Para uma rede neural funcionar e aprender a criar um programa que resolve um determinado problema, primeiramente ela deve ser treinada. O treinamento consiste em apresentar exemplos de como o problema é resolvido.

Depois de treinada, a rede neural pode resolver novos problemas automaticamente.

Está muito confuso até agora? Então vamos a um exemplo!

Um banco possui um problema muito difícil: ele tem que decidir se deve liberar um empréstimo para um cliente. Para isso, ele precisa classificar se o cliente é bom ou mau pagador.

O banco possui informações sobre seus clientes e usará essas informações para tomar a decisão do empréstimo.

Por exemplo, imagine que o banco possui centenas de milhares de informações históricas de sua carteira de clientes, como a seguir:

Deep learning

O novo cliente que pediu o empréstimo é o seguinte:
Deep learning

Com base nas informações que possui, o que o banco deve fazer?

Esse parece um trabalho para a super rede neural.

Com as informações históricas de clientes bons pagadores, podemos treinar a rede neural. Depois de treinada, ela vai nos dizer se o novo cliente é um bom pagador.

Ufa. Pronto. Conseguimos explicar o que uma rede neural faz. 🙂

Quando as redes neurais surgiram, os pesquisadores, a indústria e a mídia tinham alta expectativa com elas, mas acabaram se frustrando, pois essa nova tecnologia resolvia bem apenas alguns tipos específicos de problemas.

O tempo passou e, em 2012, o Geoffrey Hinton junto com o Yoshua Bengio e o Yann LeCun começaram a publicar artigos explicando novos tipos de redes neurais que eram capazes de resolver uma gama enorme de problemas.

Essas novas redes aproveitaram a evolução computacional dos últimos anos, passaram a treinar soluções com muito mais dados e ganharam o nome Deep Learning.

Recentemente, o Google contratou o Geoffrey Hinton e alunos de doutorado do Yoshua Bengio. O Facebook não perdeu tempo e contratou o Yann LeCun para liderar sua equipe de inteligência artificial.

Exemplos de aplicações de Deep learning ou redes neurais são:

  • Siri da Apple e Google Voice (reconhecimento de voz);
  • Reconhecimento de faces do Facebook;
  • Classificação e identificação de imagens da busca do Google;
  • OCRs para digitalização de livros;
  • Transcrição de vídeos do YouTube;
  • Tradução de idiomas (por exemplo, Google Translate);
  • Análise de sentimento em mensagens (por exemplo, se o autor está feliz ou triste);
  • Self-driving cars (carros sem motorista);
  • Diagnóstico de doenças;
  • Análise de DNA e criação de medicamentos;
  • Procedimentos médicos e cirúrgicos a distância;
  • Automação de vôos e drones;
  • Segmentação de clientes e otimização de vendas;
  • Recomendação de produtos para clientes;
  • Recomendação de filmes do Netflix;
  • Recomendação de músicas do Spotify;
  • Atendimento automatizado via chat;
  • Classificação de risco e de crédito de pessoas e empresas;
  • Investimento automatizado em Bolsa de Valores.

Existem muitas outras aplicações, mas essas são as que receberam maior destaque devido aos excelentes resultados que alcançaram.

Curso que recomendamos

Selecionamos uma série de cursos on-line para você se preparar e abrir as portas para as vagas de programação.
Conheça cada um dos cursos nos links oficiais abaixo. 🙂

Profissional Curso Cloud Computing
Curso Cloud Computing
Aprenda como ingressar no novo mercado de Cloud Computing e ser valorizado pelo seu trabalho.
6.500 alunosHoras do curso 40h Horas do curso certificado
Promoção R$ 497
12x de R$ 48,42

Você sabia que corre um grande risco de perder seu emprego em menos de 2 anos.

Estágio em Programação
Estagiário Super
Se prepare para as vagas ofertadas de estágios e empregos de desenvolvimento de software.
760 alunosHoras do curso 40h Horas do curso certificado
Promoção R$ 190
6x de R$ 31,67

Você vai aprender sobre UNIX, Git, Ruby, Programação Orientada a Objetos, Expressões Regulares, Banco de Dados, Programação Concorrente, Arquitetura, Infraestrutra e Desenvolvimento de aplicações web.

 


Acesse
Cursos e Projetos
Java
Acesse
Outros Cursos
PHP MySQL Android
Acesse
Encomende um Projeto
Feito pra Você
Acesse
Tire as Dúvidas On-line
Consultor
Acesse
Aulas de Java só suas
Encomende Agora
Acesse
Dividindo Conhecimento
Posts e Tutoriais
Acesse
Sites e Parceiros
Associados
Acesse
Conheça os curso gratuitos
Grátis

Deixe uma resposta

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

Instrutor Java Quer se tornar aluno VIP? CLIQUE AQUI!
Instrutor Java

Alex Fernando Egidio
Autor, criador e fundador do Java Avançado Cursos TI. Atua no mercado como desenvolvedor e engenheiro de sistemas em Java é apaixonado por desenvolvimento web em Java e pela “mágica” que seus frameworks trazem para o dia a dia de nós desenvolvedores.
Com mais de 10 anos de experiência ajuda programadores do Brasil todo a se tornarem profissionais.