Entenda de uma vez o que é machine learning
Indice
Introdução
Para a maioria das pessoas, os termos aprendizado profundo e aprendizado de máquina parecem palavras-chave intercambiáveis do mundo da IA. No entanto, isso não é verdade. Portanto, todos os que buscam compreender melhor o campo da inteligência artificial devem começar por entender os termos e suas diferenças. A boa notícia: não é tão difícil quanto sugerem alguns artigos sobre o assunto.
Para dividir em uma única frase: o aprendizado profundo é um subconjunto especializado do aprendizado de máquina que, por sua vez, é um subconjunto da inteligência artificial. Em outras palavras, aprendizado profundo é aprendizado de máquina.
Mas vamos cavar um pouco mais fundo.
O que é machine learning?
Machine learning é o termo geral para quando os computadores aprendem com os dados. Ele descreve a interseção da ciência da computação e estatística, onde algoritmos são usados para realizar uma tarefa específica sem serem explicitamente programados; em vez disso, eles reconhecem padrões nos dados e fazem previsões assim que novos dados chegam.
Em geral, o processo de aprendizagem desses algoritmos pode ser supervisionado ou não, dependendo dos dados que estão sendo usados para alimentar os algoritmos. Se você quiser se aprofundar um pouco mais nas diferenças entre aprendizagem supervisionada e não supervisionada, leia este artigo.
Um algoritmo de aprendizado de máquina tradicional pode ser algo tão simples quanto uma regressão linear. Por exemplo, imagine que você deseja prever sua renda com os anos de educação superior. Em uma primeira etapa, você deve definir uma função, por exemplo, renda = y + x * anos de educação. Em seguida, dê ao seu algoritmo um conjunto de dados de treinamento. Esta poderia ser uma tabela simples com dados sobre os anos de educação superior de algumas pessoas e sua renda associada. Em seguida, deixe seu algoritmo desenhar a linha, por exemplo, por meio de uma regressão de mínimos quadrados ordinários (OLS). Agora, você pode fornecer ao algoritmo alguns dados de teste, por exemplo, seus anos pessoais de ensino superior, e deixá-lo prever sua renda.
Embora este exemplo pareça simples, ele conta como aprendizado de máquina – e sim, a Potência motriz por trás do Machine Learning são as estatísticas comuns. O algoritmo aprendeu a fazer uma previsão sem ser programado explicitamente, apenas com base em padrões e inferências.
Machine Learning em geral – para resumir:
- O aprendizado de máquina está na interseção da ciência da computação e estatística, por meio da qual os computadores recebem a capacidade de aprender sem serem explicitamente programados.
- Existem duas categorias amplas de problemas de aprendizado de máquina: aprendizado supervisionado e não supervisionado.
- Um algoritmo de Machine Learning pode ser algo tão simples quanto uma regressão OLS.
Vamos agora examinar como o termo aprendizado profundo (Deep learning) se relaciona com tudo isso.
O que é aprendizado profundo?
Algoritmos de aprendizado profundo podem ser considerados uma evolução sofisticada e matematicamente complexa de algoritmos de aprendizado de máquina. O campo tem recebido muita atenção ultimamente e por um bom motivo: desenvolvimentos recentes levaram a resultados que antes não eram considerados possíveis.
O aprendizado profundo descreve algoritmos que analisam dados com uma estrutura lógica semelhante a como um ser humano tiraria conclusões. Observe que isso pode acontecer por meio do aprendizado supervisionado e não supervisionado. Para conseguir isso, os aplicativos de aprendizado profundo usam uma estrutura em camadas de algoritmos chamada rede neural artificial (RNA). O projeto de tal RNA é inspirado pela rede neural biológica do cérebro humano, levando a um processo de aprendizagem que é muito mais capaz do que os modelos de aprendizado de máquina padrão.
Considere o exemplo de ANN na imagem acima. A camada mais à esquerda é chamada de camada de entrada (Input Layer), a camada mais à direita da camada de saída (Output Layer). As camadas intermediárias são chamadas de camadas ocultas porque seus valores não são observáveis no conjunto de treinamento. Em termos simples, as camadas ocultas são valores calculados usados pela rede para fazer sua “mágica”. Quanto mais camadas ocultas uma rede tiver entre as camadas de entrada e saída, mais profunda ela será. Em geral, qualquer RNA com duas ou mais camadas ocultas é chamada de rede neural profunda.
Hoje, o aprendizado profundo é usado em muitos campos. Na direção automatizada, por exemplo, o aprendizado profundo é usado para detectar objetos, como sinais de PARE ou pedestres. Os militares usam o aprendizado profundo para identificar objetos de satélites, por exemplo, para descobrir zonas seguras ou inseguras para suas tropas. Obviamente, a indústria de eletrônicos de consumo também está repleta de aprendizado profundo. Dispositivos de assistência domiciliar, como Amazon Alexa, por exemplo, contam com algoritmos de aprendizado profundo para responder à sua voz e conhecer suas preferências.
Que tal um exemplo mais concreto? Imagine a empresa Tesla usando um algoritmo de aprendizado profundo para seus carros para reconhecer sinais de PARADA. Na primeira etapa, a RNA identificaria as propriedades relevantes do sinal PARE, também chamadas de features . Os recursos podem ser estruturas específicas na imagem inserida, como pontos, bordas ou objetos. Enquanto um engenheiro de software teria que selecionar as características relevantes em um algoritmo de aprendizado de máquina mais tradicional, a RNA é capaz de engenharia automática de recursos. A primeira camada oculta pode aprender como detectar bordas, a próxima como diferenciar cores e a última como detectar formas mais complexas fornecidas especificamente para a forma do objeto que estamos tentando reconhecer. Quando alimentados com dados de treinamento, os algoritmos de aprendizado profundo acabariam aprendendo com seus próprios erros, se a previsão era boa ou se precisava ser ajustada.
Como funciona a rede neural?
No geral, por meio da engenharia automática de recursos e de seus recursos de autoaprendizagem, os algoritmos de aprendizado profundo precisam de pouca intervenção humana. Embora isso mostre o enorme potencial do aprendizado profundo, há duas razões principais pelas quais ele só recentemente atingiu tanta usabilidade: disponibilidade de dados e poder de computacional.
Em primeiro lugar, o aprendizado profundo requer quantidades incrivelmente grandes de dados (veremos exceções a essa regra). O software de direção autônomo da Tesla, por exemplo, precisa de milhões de imagens e horas de vídeo para funcionar corretamente.
Em segundo lugar, o aprendizado profundo precisa de um poder de computação substancial. No entanto, com o surgimento da infraestrutura de computação em nuvem e GPUs (unidades de processamento gráfico, usadas para cálculos mais rápidos) de alto desempenho, o tempo de treinamento de uma rede de aprendizagem profunda pode ser reduzido de semanas (!) Para horas.
Mas provavelmente um dos avanços mais importantes no campo da aprendizagem profunda é o surgimento da aprendizagem por transferência , ou seja, o uso de modelos pré-treinados. O motivo: o aprendizado por transferência pode ser considerado uma cura para as necessidades de grandes conjuntos de dados de treinamento que eram necessários para que as RNAs produzissem resultados significativos.
Essas enormes necessidades de dados costumavam ser a razão pela qual os algoritmos de RNA não eram considerados a solução ideal para todos os problemas no passado.
Resumindo:
- O aprendizado profundo é um subconjunto especializado do aprendizado de máquina.
- O aprendizado profundo depende de uma estrutura em camadas de algoritmos chamada de rede neural artificial.
- O aprendizado profundo tem grandes necessidades de dados, mas requer pouca intervenção humana para funcionar corretamente.
- A aprendizagem por transferência é a cura para as necessidades de grandes conjuntos de dados de treinamento.
As principais diferenças entre aprendizado de máquina e aprendizado profundo
Algoritmos de aprendizado profundo são algoritmos de aprendizado de máquina. Portanto, pode ser melhor pensar sobre o que torna o aprendizado profundo especial no campo do aprendizado de máquina. A resposta: a estrutura do algoritmo ANN, a menor necessidade de intervenção humana e os maiores requisitos de dados.
Em primeiro lugar, enquanto os algoritmos de aprendizado de máquina tradicionais têm uma estrutura bastante simples, como regressão linear ou uma árvore de decisão, o aprendizado profundo é baseado em uma rede neural artificial. Esta RNA de várias camadas é, como um cérebro humano, complexa e interligada.
Em segundo lugar, os algoritmos de aprendizado profundo requerem muito menos intervenção humana. Lembra do exemplo da Tesla? Se o reconhecimento de imagem do sinal PARE fosse um algoritmo de aprendizado de máquina mais tradicional, um engenheiro de software escolheria manualmente os recursos e um classificador para classificar as imagens, verificaria se a saída era conforme o necessário e ajustaria o algoritmo se esse não fosse o caso. Como um algoritmo de aprendizado profundo, no entanto, os recursos são extraídos automaticamente e o algoritmo aprende com seus próprios erros (veja a imagem abaixo).
Em terceiro lugar, o aprendizado profundo requer muito mais dados do que um algoritmo de aprendizado de máquina tradicional para funcionar corretamente. O aprendizado de máquina funciona com mil pontos de dados, o aprendizado profundo, muitas vezes, apenas com milhões. Devido à estrutura complexa de várias camadas, um sistema de aprendizado profundo precisa de um grande conjunto de dados para eliminar flutuações e fazer interpretações de alta qualidade.
Gostou? Leia nosso artigo de Python básico para iniciar sua carreira em Machine Learning