O que é IA?
AI (inteligência artificial) é um ramo da ciência da computação em que as máquinas são programadas e recebem a capacidade cognitiva de pensar e imitar ações como humanos e animais. A referência para IA é a inteligência humana em relação ao raciocínio, fala, aprendizagem, visão e solução de problemas, que está longe no futuro.
AI tem três níveis diferentes:
- IA estreita : Diz-se que uma inteligência artificial é estreita quando a máquina pode executar uma tarefa específica melhor do que um ser humano. A pesquisa atual de IA está aqui agora
- IA geral : uma inteligência artificial atinge o estado geral quando pode realizar qualquer tarefa intelectual com o mesmo nível de precisão que um ser humano faria
- IA ativa : uma IA é ativa quando pode vencer humanos em muitas tarefas
Os primeiros sistemas de IA usavam correspondência de padrões e sistemas especialistas.
Neste tutorial, você aprenderá-
- O que é IA?
- O que é ML?
- O que é Deep Learning?
- Processo de aprendizado de máquina
- Processo de Aprendizagem Profunda
- Automatize a extração de recursos usando DL
- Diferença entre aprendizado de máquina e aprendizado profundo
- Quando usar ML ou DL?
O que é ML?
ML (Machine Learning) é um tipo de IA em que um computador é treinado para automatizar tarefas exaustivas ou impossíveis para o ser humano. É a melhor ferramenta para analisar, compreender e identificar padrões em dados com base no estudo de algoritmos de computador. O aprendizado de máquina pode tomar decisões com o mínimo de intervenção humana.
Comparando Inteligência Artificial com Aprendizado de Máquina, o Aprendizado de Máquina usa dados para alimentar um algoritmo que pode entender a relação entre a entrada e a saída. Quando a aprendizagem da máquina termina, ela pode prever o valor ou a classe de um novo ponto de dados.
O que é Deep Learning?
O aprendizado profundo é um software de computador que imita a rede de neurônios em um cérebro. É um subconjunto do aprendizado de máquina e é chamado de aprendizado profundo porque faz uso de redes neurais profundas. A máquina usa camadas diferentes para aprender com os dados. A profundidade do modelo é representada pelo número de camadas no modelo. O aprendizado profundo é o novo estado da arte em termos de IA. No aprendizado profundo, a fase de aprendizado é feita por meio de uma rede neural. Uma rede neural é uma arquitetura onde as camadas são empilhadas umas sobre as outras
Processo de aprendizado de máquina
Imagine que você deva construir um programa que reconhece objetos. Para treinar o modelo, você usará um classificador . Um classificador usa os recursos de um objeto para tentar identificar a classe a que pertence.
No exemplo, o classificador será treinado para detectar se a imagem é:
- Bicicleta
- Barco
- Carro
- Plano
Os quatro objetos acima são a classe que o classificador deve reconhecer. Para construir um classificador, você precisa ter alguns dados como entrada e atribuir um rótulo a eles. O algoritmo pegará esses dados, encontrará um padrão e então o classificará na classe correspondente.
Essa tarefa é chamada de aprendizagem supervisionada. No aprendizado supervisionado, os dados de treinamento que você fornece ao algoritmo incluem um rótulo.
O treinamento de um algoritmo requer a execução de algumas etapas padrão:
- Colete os dados
- Treine o classificador
- Fazer previsões
O primeiro passo é necessário, escolher os dados corretos fará com que o algoritmo seja um sucesso ou uma falha. Os dados que você escolhe para treinar o modelo são chamados de recurso. No exemplo do objeto, os recursos são os pixels das imagens.
Cada imagem é uma linha nos dados, enquanto cada pixel é uma coluna. Se sua imagem tiver um tamanho de 28 x 28, o conjunto de dados conterá 784 colunas (28 x 28). Na imagem abaixo, cada imagem foi transformada em um vetor de recursos. A etiqueta informa ao computador qual objeto está na imagem.
O objetivo é usar esses dados de treinamento para classificar o tipo de objeto. A primeira etapa consiste em criar as colunas de feições. Em seguida, a segunda etapa envolve a escolha de um algoritmo para treinar o modelo. Quando o treinamento estiver concluído, o modelo irá prever qual imagem corresponde a qual objeto.
Depois disso, é fácil usar o modelo para prever novas imagens. Para cada nova imagem alimentada no modelo, a máquina irá prever a classe a que pertence. Por exemplo, uma imagem totalmente nova sem um rótulo está passando pelo modelo. Para um ser humano, é trivial visualizar a imagem como um carro. A máquina usa seu conhecimento prévio para prever também a imagem de um carro.
Processo de Aprendizagem Profunda
No aprendizado profundo, a fase de aprendizado é feita por meio de uma rede neural. Uma rede neural é uma arquitetura em que as camadas são empilhadas umas sobre as outras.
Considere o mesmo exemplo de imagem acima. O conjunto de treinamento seria alimentado por uma rede neural
Cada entrada vai para um neurônio e é multiplicada por um peso. O resultado da multiplicação flui para a próxima camada e se torna a entrada. Este processo é repetido para cada camada da rede. A camada final é chamada de camada de saída; fornece um valor real para a tarefa de regressão e uma probabilidade de cada classe para a tarefa de classificação. A rede neural usa um algoritmo matemático para atualizar os pesos de todos os neurônios. A rede neural está totalmente treinada quando o valor dos pesos dá uma saída próxima da realidade. Por exemplo, uma rede neural bem treinada pode reconhecer o objeto em uma imagem com maior precisão do que a rede neural tradicional.
Automatize a extração de recursos usando DL
Um conjunto de dados pode conter de dezenas a centenas de recursos. O sistema aprenderá com a relevância desses recursos. No entanto, nem todos os recursos são significativos para o algoritmo. Uma parte crucial do aprendizado de máquina é encontrar um conjunto relevante de recursos para fazer o sistema aprender algo.
Uma maneira de realizar essa parte no aprendizado de máquina é usar a extração de recursos. A extração de recursos combina recursos existentes para criar um conjunto de recursos mais relevante. Isso pode ser feito com PCA, T-SNE ou qualquer outro algoritmo de redução de dimensionalidade.
Por exemplo, em um processamento de imagem, o praticante precisa extrair o recurso manualmente na imagem como os olhos, nariz, lábios e assim por diante. Esses recursos extraídos são alimentados para o modelo de classificação.
O aprendizado profundo resolve esse problema, especialmente para uma rede neural convolucional. A primeira camada de uma rede neural aprenderá pequenos detalhes da imagem; as próximas camadas combinarão o conhecimento anterior para criar informações mais complexas. Na rede neural convolucional, a extração de recursos é feita com o uso do filtro. A rede aplica um filtro à imagem para ver se há uma correspondência, ou seja, o formato do recurso é idêntico a uma parte da imagem. Se houver uma correspondência, a rede usará este filtro. O processo de extração de recursos é, portanto, feito automaticamente.
Diferença entre aprendizado de máquina e aprendizado profundo
Abaixo está uma diferença importante entre Deep Learning vs Machine Learning
Aprendizado de Máquina |
Aprendizado Profundo |
|
Dependências de dados |
Excelente desempenho em um conjunto de dados pequeno / médio |
Excelente desempenho em um grande conjunto de dados |
Dependências de hardware |
Trabalhe em uma máquina de baixo custo. |
Requer uma máquina poderosa, de preferência com GPU: DL realiza uma quantidade significativa de multiplicação de matriz |
Engenharia de recursos |
Precisa entender os recursos que representam os dados |
Não há necessidade de entender a melhor característica que representa os dados |
Tempo de execução |
De alguns minutos a horas |
Até semanas. A rede neural precisa calcular um número significativo de pesos |
Interpretabilidade |
Alguns algoritmos são fáceis de interpretar (logística, árvore de decisão), outros são quase impossíveis (SVM, XGBoost) |
Difícil ao impossível |
Quando usar ML ou DL?
Na tabela abaixo, resumimos a diferença entre aprendizado de máquina e aprendizado profundo com exemplos.
Aprendizado de máquina | Aprendizagem profunda | |
Conjunto de dados de treinamento | Pequena | Grande |
Escolha os recursos | sim | Não |
Número de algoritmos | Vários | Alguns |
Tempo de treino | Baixo | Longo |
Com o aprendizado de máquina, você precisa de menos dados para treinar o algoritmo do que o aprendizado profundo. O aprendizado profundo requer um conjunto extenso e diversificado de dados para identificar a estrutura subjacente. Além disso, o aprendizado de máquina fornece um modelo de treinamento mais rápido. A arquitetura de aprendizado profundo mais avançada pode levar de dias a uma semana para treinar. A vantagem do aprendizado profundo sobre o aprendizado de máquina é que ele é altamente preciso. Você não precisa entender quais recursos são a melhor representação dos dados; a rede neural aprendeu como selecionar recursos essenciais. No aprendizado de máquina, você precisa escolher quais recursos incluir no modelo.
Resumo
A inteligência artificial está transmitindo uma habilidade cognitiva a uma máquina. Comparando a IA com o aprendizado de máquina, os primeiros sistemas de IA usavam correspondência de padrões e sistemas especialistas.
A ideia por trás do aprendizado de máquina é que a máquina pode aprender sem intervenção humana. A máquina precisa encontrar uma maneira de aprender como resolver uma tarefa com base nos dados.
O aprendizado profundo é o avanço no campo da inteligência artificial. Quando há dados suficientes para treinar, o aprendizado profundo alcança resultados impressionantes, especialmente para reconhecimento de imagem e tradução de texto. O principal motivo é que a extração de recursos é feita automaticamente nas diferentes camadas da rede.