Afinal, o que é Deep learning?

Source: Deep Learning on Medium

Todos nós aprendemos constantemente, ninguém nasce sabendo de tudo, e tudo o que sabemos vem dos acontecimentos e oque nos é ensinado dia a dia. E isso vale para as máquinas também, elas aprendem constantemente, através de várias técnicas e uma dessas técnicas é chamada “Deep learning” ou “Aprendizado constante” e eu vou apresentar à vocês hoje.

Quando falamos em Inteligência Artificial logo vem na nossa cabeça super máquinas que podem destruir o mundo ou até máquinas que nem a Rosie, do desenho “Os Jetsons”.

Mas Inteligência artificial é bem mais complicada do que isso, ela é divida em vários ramos, como “visão computacional”, “Processamento de linguagem natural”, “aprendizado de máquina”, “aprendizado constante”, “robôs” e por aí vai. Em cada ramo existe sua complexidade e sua forma de processar.

Antes de falarmos sobre Deep learning, precisamos entender Machine learning ou Aprendizado de máquina.

Machine learning ou Aprendizado de máquina é um ramo da inteligência artificial que usa algoritmos para coletar dados, aprender com eles através de modelos e então fazer uma predição sobre algum problema, sem ser explicitamente programado.

Existem 3 tipos principais de aprendizado de máquina:

  • Aprendizado supervisionado: os dados usados nesse aprendizado precisam ser rotulados, ou seja, teoricamente tem um professor que ensina para a sua máquina para qual classe pertence seu dado. Ele é aplicado em 2 problemas: Classificação e Regressão.
  • Aprendizado não supervisionado: os dados usados nesse aprendizado não são rotulados, ou seja, a máquina precisa aprender por si só os padrões dos dados. Ele é aplicado
  • Aprendizado por reforço: O algoritmo realiza um feedback sobre os resultados obtidos, atribuindo pontuações positivas à resultados considerados corretos e penalizando os incorretos, e com isso ele vai ajustando o comportamento para encontrar um melhor resultado.

Mas o que seria Deep learning?

Deep learning é um sub-campo dentro do machine learning que imita o funcionamento da rede neural biológica de nós seres humanos. Onde ela recebe uma entrada de dados, processa e realiza uma série de cálculos e em seguida devolve uma saída.

Machine learning X Deep learning

  • Quantidade imensa de dados: algoritmos de deep learning conseguem processar quantidade de dados maiores que os algoritmos simples de machine learning, e seu desempenho com grande volume de dados é bem melhor.
  • Poder computacional (GPU): O deep learning devido a capacidade de processar um grande volume de dados depende de um poder computacional maior que os de algorítmos de machine learning.
  • Flexibilidade na estrutura das redes neurais: dependendo do problema que você precisa solucionar as redes neurais vão se adaptando

Arquitetura em camadas

Algoritmos de deep learning possuem arquitetura em camadas, ela pode variar conforme o problema que você precisa solucionar, mas basicamente existem 3 camadas principais no deep learning.

  • Camada de entrada: é responsável pela entrada dos dados.
  • Camada oculta: aceita informação(dado e peso), processa e retorna para outras camadas o resultado da função de ativação
  • Camada de saída: soma a saída de todos os nós e retorna o resultado da classificação.

Como aplicar deep learning no meu projeto?

Estes são só alguns exemplos de bibliotecas e frameworks que podemos implementar o deep learning nas linguagens python e java.

Linguagem: Python

Linguagem: Java

Onde pode ser aplicada?

  • Visão computacional
  • Reconhecimento de fala
  • Área da saúde
  • Sistemas de recomendação
  • Detecção de fraudes
  • Assistentes virtuais

Quando usar Deep learning?

Deep learning depois de um tempo parece as mil maravilhas, mas nem sempre ele precisa ser aplicado nos projetos, portanto eu uso ele:

  • Quando os dados forem muito grandes.
  • Quando meus recursos são muito complexos e difíceis de serem entendíveis.
  • Quando eu tiver uma infraestrutura boa.
  • Quando tenho problemas complexos (classificação de imagens e reconhecimento de fala).