Tutorial de aprendizado profundo: inteligência artificial usando aprendizado profundo



Este blog do Tutorial de Aprendizado Profundo ajudará você a entender tudo sobre o Aprendizado Profundo e sua relação com o Aprendizado de Máquina e Inteligência Artificial.

Sendo um subconjunto importante do aprendizado de máquina, a demanda por viu um aumento imenso, especialmente entre aqueles interessados ​​em desbloquear as possibilidades ilimitadas da IA.Inspirado pela crescente popularidade do Deep Learning, pensei em criar uma série de blogs que irão educá-lo sobre essa nova tendência no campo da Inteligência Artificial e ajudá-lo a entender do que se trata. Este é o primeiro de muitos blogs da série chamada de - Tutorial de aprendizado profundo .

O tutorial de aprendizado profundo

Neste blog Tutorial de Aprendizado Profundo, irei guiá-lo pelas seguintes coisas, que servirão como fundamentos para os próximos blogs:





  • O que permitiu o Deep Learning surgir
  • O que é Deep Learning e como funciona?

Você pode passar por esta gravação do Tutorial de aprendizado profundo, onde nosso instrutor explicou os tópicos de maneira detalhada com exemplos que o ajudarão a entender melhor este conceito.

Tutorial de aprendizado profundo | Redes Neurais de Aprendizado Profundo | Edureka

Aplicações de Inteligência Artificial e Aprendizado Profundo

Agora pense sobre isso, ao invés de você fazer todo o seu trabalho, você tem uma máquina para terminar para você ou ela pode fazer algo que você pensou que não fosse possível. Por exemplo:



Predizendo o futuro - Tutorial de aprendizado profundo - Edureka

Prevendo o futuro: Ele pode nos ajudar a prever terremotos, tsunamis, etc. de antemão, para que medidas preventivas possam ser tomadas para salvar muitas vidas de cair nas garras de calamidades naturais.

Bots de bate-papo: Todos vocês devem ter ouvido falar sobre Siri, que é o assistente virtual controlado por voz da Apple. Acredite em mim, com a ajuda do Deep Learning, essas assistências virtuais estão ficando mais inteligentes a cada dia. Na verdade, o Siri pode se adaptar de acordo com o usuário e oferecer um atendimento mais personalizado.
Carros autônomos: Imagine como seria incrível para pessoas com deficiência física e idosos que têm dificuldade para dirigir por conta própria. Além disso, salvará milhões de vidas inocentes que sofrem acidentes rodoviários todos os anos por causa de erro humano.

Google AI Eye Doctor: É uma iniciativa recente do Google, onde está trabalhando com uma rede indiana de cuidados com os olhos para desenvolver um software de IA que pode examinar varreduras de retina e identificar uma condição chamada retinopatia diabética, que pode causar cegueira.

Compositor de música AI: Bem, quem pensou que podemos ter um compositor de música AI usando Deep Learning. Portanto, não ficaria surpreso em saber que a próxima melhor música é dada por uma máquina.
Uma máquina de leitura de sonhos: Este é um dos meus favoritos, uma máquina que pode capturar seus sonhos em forma de vídeo ou algo assim. Com tantas aplicações não realistas de IA e Aprendizado Profundo que vimos até agora, não fiquei surpreso ao descobrir que isso foi tentado no Japão há alguns anos em três assuntos de teste e eles foram capazes de atingir cerca de 60% de precisão. Isso é algo totalmente inacreditável, mas verdadeiro.


Tenho certeza de que algumas dessas aplicações de IA e Deep Learning na vida real teriam causado arrepios. Tudo bem então, isso define a base para você e agora, estamos prontos para prosseguir neste Tutorial de Aprendizado Profundo e entender o que é Inteligência Artificial.



O que é Inteligência Artificial?

A Inteligência Artificial nada mais é do que a capacidade de uma máquina de imitar o comportamento humano inteligente. A IA é obtida imitando o cérebro humano, entendendo como ele pensa, como aprende, decide e trabalha enquanto tenta resolver um problema.

como aprender pl sql

Por exemplo: Uma máquina que joga xadrez ou um software ativado por voz que ajuda você com várias coisas no seu iPhone ou um sistema de reconhecimento de placa de número que captura a placa de um carro em alta velocidade e a processa para extrair o número de registro e identificar o proprietário do carro . Tudo isso não era muito fácil de implementar antes Aprendizado Profundo . Agora, vamos entender os vários subconjuntos de Inteligência Artificial.

Subconjuntos de Inteligência Artificial

Até agora, você deve ter ouvido falar muito sobre Inteligência Artificial, Aprendizado de Máquina e Aprendizado Profundo. No entanto, você conhece a relação entre os três? Basicamente, Deep learning é um subcampo do Aprendizado de Máquina e o Aprendizado de Máquina é um subcampo da Inteligência Artificial, conforme mostrado na imagem abaixo:

Quando olhamos para algo como AlphaGo , muitas vezes é retratado como um grande sucesso para o aprendizado profundo, mas na verdade é uma combinação de ideias de vários campos diferentes da IA ​​e do aprendizado de máquina. Na verdade, você ficaria surpreso em saber que a ideia por trás das redes neurais profundas não é nova, mas remonta à década de 1950. No entanto, tornou-se possível implementá-lo de forma prática devido à capacidade de recursos de ponta disponível atualmente.

Então, avançando neste blog de tutorial de aprendizado profundo, vamos explorar o aprendizado de máquina seguido por suas limitações.

O que é aprendizado de máquina?

O Aprendizado de Máquina é um subconjunto da Inteligência Artificial que fornece aos computadores a habilidade de aprender sem serem explicitamente programados. No aprendizado de máquina, não precisamos definir explicitamente todas as etapas ou condições como qualquer outro aplicativo de programação. Ao contrário, a máquina é treinada em um conjunto de dados de treinamento, grande o suficiente para criar um modelo, que ajuda a máquina a tomar decisões com base em seu aprendizado.

Por exemplo: Queremos determinar a espécie de uma flor com base no comprimento de sua pétala e sépala (folhas de uma flor) usando o aprendizado de máquina. Então, como vamos fazer isso?

Vamos alimentar o conjunto de dados de flores que contém várias características de flores diferentes, juntamente com suas respectivas espécies, em nossa máquina, como você pode ver na imagem acima. Usando esse conjunto de dados de entrada, a máquina criará e treinará um modelo que pode ser usado para classificar flores em diferentes categorias.
Assim que nosso modelo for treinado, passaremos um conjunto de características como entrada para o modelo.
Finalmente, nosso modelo produzirá a espécie da flor presente no novo conjunto de dados de entrada. Este processo de treinar uma máquina para criar um modelo e usá-lo para a tomada de decisão é chamado Aprendizado de Máquina . No entanto, este processo tem algumas limitações.

Limitações do aprendizado de máquina

O aprendizado de máquina não é capaz de lidar com dados de alta dimensão, onde a entrada e a saída são muito grandes. Manipular e processar esse tipo de dados torna-se muito complexo e exige muitos recursos. Isso é denominado como Maldição da Dimensionalidade . Para entender isso em termos mais simples, vamos considerar a seguinte imagem:

Considere uma linha de 100 jardas e você jogou uma moeda em algum lugar dela. Agora, é bastante conveniente para você encontrar a moeda simplesmente andando na linha. Esta mesma linha é uma entidade unidimensional.
Em seguida, considere que você tem um quadrado de lado 100 metros cada, conforme mostrado na imagem acima e, mais uma vez, você deixou cair uma moeda em algum lugar no meio. Agora, é bastante evidente que você levará mais tempo para encontrar a moeda naquele quadrado em comparação com o cenário anterior. Este quadrado é uma entidade bidimensional.
Vamos dar um passo à frente, considerando um cubo de lado 100 jardas cada e você deixou cair uma moeda em algum lugar no meio. Agora, é ainda mais difícil encontrar a moeda desta vez. Este cubo é uma entidade tridimensional.

Portanto, você pode observar que a complexidade está aumentando conforme as dimensões aumentam.E na vida real, os dados de alta dimensão de que estávamos falando têm milhares de dimensões que os tornam muito complexos de manusear e processar. Os dados de alta dimensão podem ser facilmente encontrados em casos de uso como processamento de imagens, PNL, tradução de imagens, etc.

O aprendizado de máquina não foi capaz de resolver esses casos de uso e, portanto, o aprendizado profundo veio em seu auxílio. O aprendizado profundo é capaz de lidar com os dados de alta dimensão e também é eficiente em focar nos recursos certos por conta própria. Este processo é denominado extração de recursos. Agora, vamos prosseguir neste Tutorial de aprendizado profundo e entender como funciona o aprendizado profundo.

Como funciona o aprendizado profundo?

Em uma tentativa de reengenharia de um cérebro humano, o Deep Learning estuda a unidade básica de um cérebro chamada célula cerebral ou neurônio. Inspirado por um neurônio, um neurônio artificial ou um perceptron foi desenvolvido. Agora, vamos entender a funcionalidade dos neurônios biológicos e como nós imitamos essa funcionalidade no perceptron ou um neurônio artificial:

  • Se nos concentrarmos na estrutura de um neurônio biológico, ele tem dendritos que são usados ​​para receber informações. Essas entradas são somadas no corpo celular e, usando o Axônio, elas são passadas para o próximo neurônio biológico, conforme mostrado na imagem acima.

  • Da mesma forma, um perceptron recebe várias entradas, aplica várias transformações e funções e fornece uma saída.

    barra de progresso em html usando javascript
  • Como sabemos que nosso cérebro consiste em vários neurônios conectados chamados rede neural, também podemos ter uma rede de neurônios artificiais chamados perceptrons para formar uma rede neural profunda. Então, vamos seguir em frente neste Tutorial de aprendizado profundo para entender como é uma rede neural profunda.

Tutorial de aprendizado profundo: O que é aprendizado profundo?

  • Qualquer rede neural profunda consistirá em três tipos de camadas:
    • A Camada de Entrada
    • A Camada Oculta
    • A Camada de Saída
No diagrama acima, a primeira camada é a camada de entrada que recebe todas as entradas e a última camada é a camada de saída que fornece a saída desejada.
Todas as camadas entre essas camadas são chamadas de camadas ocultas. Pode haver um número n de camadas ocultas graças aos recursos de ponta disponíveis atualmente.
O número de camadas ocultas e o número de perceptrons em cada camada dependerá inteiramente do caso de uso que você está tentando resolver.

Agora que você tem uma imagem de Redes Neurais Profundas, vamos avançar neste Tutorial de Aprendizado Profundo para obter uma visão de alto nível de como Redes Neurais Profundas resolvem um problema de Reconhecimento de Imagem.

Uso de Aprendizado Profundo - Caso

Queremos realizar o reconhecimento de imagem usando Deep Networks:

Aqui, estamos passando os dados de alta dimensão para a camada de entrada. Para corresponder à dimensionalidade dos dados de entrada, a camada de entrada conterá várias subcamadas de perceptrons para que possa consumir toda a entrada.
A saída recebida da camada de entrada conterá padrões e só será capaz de identificar as bordas das imagens com base nos níveis de contraste.
Esta saída será enviada para a camada Oculta 1, onde será capaz de identificar várias características do rosto, como olhos, nariz, orelhas, etc.
Agora, isso será alimentado para a camada oculta 2, onde poderá formar as faces inteiras. Em seguida, a saída da camada 2 é enviada para a camada de saída.
Por fim, a camada de saída realiza a classificação com base no resultado obtido na anterior e prevê o nome.

Deixe-me fazer uma pergunta: o que acontecerá se alguma dessas camadas estiver faltando ou se a rede neural não for profunda o suficiente? Simples, não seremos capazes de identificar com precisão as imagens. Essa é a razão pela qual esses casos de uso não tinham uma solução todos esses anos antes do Deep Learning. Apenas para levar isso adiante, tentaremos aplicar redes profundas em um conjunto de dados MNIST.

  • O conjunto de dados Mnist consiste em 60.000 amostras de treinamento e 10.000 amostras de teste de imagens de dígitos manuscritas. A tarefa aqui é treinar um modelo que possa identificar com precisão o dígito presente na imagem.

  • Para resolver este caso de uso, uma rede Deep será criada com várias camadas ocultas para processar todas as 60.000 imagens pixel por pixel e, finalmente, receberemos uma camada de saída.
  • A camada de saída será uma matriz de índice 0 a 9, onde cada índice corresponde ao respectivo dígito. O índice 0 contém a probabilidade de 0 ser o dígito presente na imagem de entrada.
  • Da mesma forma, o índice 2, que tem um valor de 0,1, na verdade representa a probabilidade de 2 ser o dígito presente na imagem de entrada. Portanto, se observarmos que a probabilidade mais alta neste array é 0,8, que está presente no índice 7 do array. Portanto, o número presente na imagem é 7.

Conclusão

Então, pessoal, tudo se resumia a um aprendizado profundo. Neste tutorial de aprendizado profundo, vimos várias aplicações de aprendizado profundo e entendemos sua relação com IA e aprendizado de máquina. Então, entendemos como podemos usar o perceptron ou um neurônio artificial blocos básicos de construção para criar uma rede neural profunda que pode executar tarefas complexas como. Por fim, passamos por um dos casos de uso de aprendizado profundo, onde realizamos o reconhecimento de imagens usando redes neurais profundas e entendemos todas as etapas que acontecem nos bastidores. Agora, no próximo blog desta série de tutoriais de aprendizado profundo, aprenderemos como implementar um perceptron usando TensorFlow, que é uma biblioteca baseada em Python para aprendizado profundo.

Agora que você sabe sobre o Deep Learning, confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. O curso Edureka Deep Learning with TensorFlow Certification Training ajuda os alunos a se tornarem especialistas em treinamento e otimização de redes neurais básicas e convolucionais usando projetos e atribuições em tempo real, juntamente com conceitos como função SoftMax, Redes Neurais de Codificador Automático e Máquina Boltzmann Restrita (RBM).

Tem alguma questão para nós? Mencione isso na seção de comentários e entraremos em contato com você.