Conteúdo[Esconder][Mostrar]
- 1. O que exatamente é Deep Learning?
- 2. O que distingue Deep Learning de Machine Learning?
- 3. Quais são seus conhecimentos atuais sobre redes neurais?
- 4. O que exatamente é um perceptron?
- 5. O que exatamente é uma rede neural profunda?
- 6. O que exatamente é um Multilayer Perceptron (MLP)?
- 7. Qual é o propósito das funções de ativação em uma rede neural?
- 8. O que exatamente é a descida do gradiente?
- 9. O que exatamente é a função de custo?
- 10. Como as redes profundas podem superar as superficiais?
- 11. Descreva a propagação direta.
- 12. O que é retropropagação?
- 13. No contexto de aprendizado profundo, como você compreende o recorte de gradiente?
- 14. Quais são as funções Softmax e ReLU?
- 15. Um modelo de rede neural pode ser treinado com todos os pesos definidos como 0?
- 16. O que distingue uma época de um lote e uma iteração?
- 17. O que são Normalização e Dropout em Lote?
- 18. O que separa a descida do gradiente estocástico da descida do gradiente em lote?
- 19. Por que é crucial incluir não linearidades nas redes neurais?
- 20. O que é um tensor em deep learning?
- 21. Como você escolheria a função de ativação para um modelo de aprendizado profundo?
- 22. O que você quer dizer com CNN?
- 23. Quais são as muitas camadas CNN?
- 24. Quais são os efeitos do over e underfitting e como você pode evitá-los?
- 25. Em deep learning, o que é uma RNN?
- 26. Descreva o Adam Optimizer
- 27. Autoencoders profundos: o que são?
- 28. O que significa Tensor no Tensorflow?
- 29. Uma explicação de um gráfico computacional
- 30. Redes generativas de adversários (GANs): o que são?
- 31. Como você escolherá o número de neurônios e camadas ocultas para incluir na rede neural ao projetar a arquitetura?
- 32. Que tipos de redes neurais são empregadas pelo aprendizado por reforço profundo?
- Conclusão
O aprendizado profundo não é uma ideia totalmente nova. As redes neurais artificiais servem como a única base do subconjunto de aprendizado de máquina conhecido como aprendizado profundo.
O aprendizado profundo é uma imitação do cérebro humano, assim como as redes neurais, pois foram criadas para imitar o cérebro humano.
Já existe isso há algum tempo. Hoje em dia, todo mundo está falando sobre isso, já que não temos tanto poder de processamento ou dados quanto temos agora.
Nos últimos 20 anos, o aprendizado profundo e o aprendizado de máquina surgiram como resultado do aumento dramático na capacidade de processamento.
Para ajudá-lo a se preparar para quaisquer perguntas que você possa enfrentar ao procurar o emprego dos seus sonhos, este post o guiará por várias perguntas de entrevista de aprendizado profundo, que variam de simples a complicadas.
1. O que exatamente é Deep Learning?
Se você está participando de um deep learning entrevista, você sem dúvida entende o que é aprendizado profundo. O entrevistador, no entanto, espera que você forneça uma resposta detalhada junto com uma ilustração em resposta a essa pergunta.
Para treinar redes neurais para aprendizado profundo, quantidades significativas de dados organizados ou não estruturados devem ser usadas. Para encontrar padrões e características ocultas, ele faz procedimentos complicados (por exemplo, distinguir a imagem de um gato da de um cachorro).
2. O que distingue Deep Learning de Machine Learning?
Como um ramo da inteligência artificial conhecido como aprendizado de máquina, treinamos computadores usando dados e técnicas estatísticas e algorítmicas para que melhorem com o tempo.
Como aspecto de aprendizado de máquina, o aprendizado profundo imita a arquitetura de rede neural vista no cérebro humano.
3. Quais são seus conhecimentos atuais sobre redes neurais?
Os sistemas artificiais conhecidos como redes neurais se assemelham muito às redes neurais orgânicas encontradas no corpo humano.
Usando uma técnica que se assemelha a como o cérebro humano funções, uma rede neural é uma coleção de algoritmos que visa identificar correlações subjacentes em um dado.
Esses sistemas adquirem conhecimento específico da tarefa expondo-se a uma variedade de conjuntos de dados e exemplos, em vez de seguir quaisquer regras específicas da tarefa.
A ideia é que, em vez de ter uma compreensão pré-programada desses conjuntos de dados, o sistema aprenda características distintivas dos dados que são alimentados.
As três camadas de rede que são mais comumente usadas em Redes Neurais são as seguintes:
- Camada de entrada
- Camada oculta
- Camada de saída
4. O que exatamente é um perceptron?
O neurônio biológico encontrado no cérebro humano é comparável a um perceptron. Múltiplas entradas são recebidas pelo perceptron, que então realiza inúmeras transformações e funções e produz uma saída.
Um modelo linear chamado perceptron é empregado na classificação binária. Ele simula um neurônio com uma variedade de entradas, cada uma com um peso diferente.
O neurônio calcula uma função usando essas entradas ponderadas e gera os resultados.
5. O que exatamente é uma rede neural profunda?
Uma rede neural profunda é uma rede neural artificial (ANN) com várias camadas entre as camadas de entrada e saída (DNN).
Redes neurais profundas são redes neurais de arquitetura profunda. A palavra “deep” refere-se a funções com muitos níveis e unidades em uma única camada. Modelos mais precisos podem ser criados adicionando mais e maiores camadas para capturar níveis maiores de padrões.
6. O que exatamente é um Multilayer Perceptron (MLP)?
Camadas de entrada, ocultas e de saída estão presentes em MLPs, assim como em redes neurais. Ele é construído de forma semelhante a um perceptron de camada única com uma ou mais camadas ocultas.
A saída binária de um perceptron de camada única só pode categorizar classes separáveis lineares (0,1), enquanto o MLP pode classificar classes não lineares.
7. Qual é o propósito das funções de ativação em uma rede neural?
Uma função de ativação determina se um neurônio deve ou não ativar no nível mais fundamental. Qualquer função de ativação pode aceitar a soma ponderada das entradas mais a polarização como entrada. As funções de ativação incluem a função step, o Sigmoid, o ReLU, o Tanh e o Softmax.
8. O que exatamente é a descida do gradiente?
A melhor abordagem para minimizar uma função de custo ou um erro é o gradiente descendente. Encontrar os mínimos locais-globais de uma função é o objetivo. Isso especifica o caminho que o modelo deve seguir para minimizar o erro.
9. O que exatamente é a função de custo?
A função de custo é uma métrica para avaliar o desempenho do seu modelo; às vezes é conhecido como “perda” ou “erro”. Durante a retropropagação, é utilizado para calcular o erro da camada de saída.
Exploramos essa imprecisão para promover os processos de treinamento da rede neural, empurrando-a de volta pela rede neural.
10. Como as redes profundas podem superar as superficiais?
Camadas ocultas são adicionadas às redes neurais, além das camadas de entrada e saída. Entre as camadas de entrada e saída, as redes neurais superficiais empregam uma única camada oculta, enquanto as redes neurais profundas usam vários níveis.
Uma rede rasa requer vários parâmetros para poder se encaixar em qualquer função. As redes profundas podem se adequar melhor às funções mesmo com um pequeno número de parâmetros, pois incluem várias camadas.
As redes profundas agora são preferidas devido à sua versatilidade em trabalhar com qualquer tipo de modelagem de dados, seja para reconhecimento de fala ou imagem.
11. Descreva a propagação direta.
As entradas são transmitidas juntamente com os pesos para a camada enterrada em um processo conhecido como propagação de encaminhamento.
A saída da função de ativação é computada em cada camada enterrada antes que o processamento possa ir para a camada seguinte.
O processo começa na camada de entrada e progride para a camada de saída final, daí o nome de propagação direta.
12. O que é retropropagação?
Quando pesos e vieses são ajustados na rede neural, a retropropagação é usada para reduzir a função de custo observando primeiro como o valor muda.
Compreender o gradiente em cada camada oculta simplifica o cálculo dessa alteração.
O processo, conhecido como retropropagação, começa na camada de saída e retrocede para as camadas de entrada.
13. No contexto de aprendizado profundo, como você compreende o recorte de gradiente?
Gradient Clipping é um método para resolver o problema da explosão de gradientes que surgem durante a retropropagação (uma condição na qual gradientes incorretos significativos se acumulam ao longo do tempo, levando a ajustes significativos nos pesos do modelo de rede neural durante o treinamento).
A explosão de gradientes é um problema que surge quando os gradientes ficam muito grandes durante o treinamento, tornando o modelo instável. Se o gradiente cruzou o intervalo esperado, os valores do gradiente são empurrados elemento por elemento para um valor mínimo ou máximo predefinido.
O recorte de gradiente aumenta a estabilidade numérica de uma rede neural durante o treinamento, mas tem um impacto mínimo no desempenho do modelo.
14. Quais são as funções Softmax e ReLU?
Uma função de ativação chamada Softmax produz uma saída na faixa entre 0 e 1. Cada saída é dividida de forma que a soma de todas as saídas seja uma. Para camadas de saída, o Softmax é frequentemente empregado.
A Unidade Linear Retificada, também conhecida como ReLU, é a função de ativação mais utilizada. Se X é positivo, ele gera X, caso contrário, gera zeros. ReLU é aplicado regularmente em camadas enterradas.
15. Um modelo de rede neural pode ser treinado com todos os pesos definidos como 0?
A rede neural nunca aprenderá a concluir um determinado trabalho, portanto, não é possível treinar um modelo inicializando todos os pesos em 0.
As derivadas permanecerão as mesmas para cada peso em W [1] se todos os pesos forem inicializados com zero, o que resultará em neurônios aprendendo as mesmas características iterativamente.
Não simplesmente inicializar os pesos para 0, mas para qualquer forma de constante provavelmente resultará em um resultado abaixo da média.
16. O que distingue uma época de um lote e uma iteração?
Diferentes formas de processamento de conjuntos de dados e técnicas de descida de gradiente incluem lote, iteração e época. O Epoch envolve uma única vez através de uma rede neural com um conjunto de dados completo, tanto para frente quanto para trás.
Para fornecer resultados confiáveis, o conjunto de dados é frequentemente passado várias vezes, pois é muito grande para passar em uma única tentativa.
Essa prática de executar repetidamente uma pequena quantidade de dados por meio de uma rede neural é chamada de iteração. Para garantir que o conjunto de dados atravesse com sucesso as redes neurais, ele pode ser dividido em vários lotes ou subconjuntos, conhecidos como lotes.
Dependendo do tamanho da coleta de dados, todos os três métodos – época, iteração e tamanho do lote – são essencialmente formas de usar o algoritmo de descida gradiente.
17. O que são Normalização e Dropout em Lote?
O dropout evita o overfitting de dados removendo aleatoriamente unidades de rede visíveis e ocultas (normalmente descartando 20% dos nós). Ele dobra o número de iterações necessárias para fazer a rede convergir.
Ao normalizar as entradas em cada camada para ter uma ativação de saída média de zero e um desvio padrão de um, a normalização em lote é uma estratégia para melhorar o desempenho e a estabilidade das redes neurais.
18. O que separa a descida do gradiente estocástico da descida do gradiente em lote?
Descida do gradiente de lote:
- O conjunto de dados completo é usado para construir o gradiente para o gradiente em lote.
- A enorme quantidade de dados e os pesos de atualização lenta dificultam a convergência.
Descida do Gradiente Estocástico:
- O gradiente estocástico usa uma única amostra para calcular o gradiente.
- Devido às mudanças de peso mais frequentes, ele converge significativamente mais rapidamente do que o gradiente de lote.
19. Por que é crucial incluir não linearidades nas redes neurais?
Não importa quantas camadas existam, uma rede neural se comportará como um perceptron na ausência de não linearidades, tornando a saída linearmente dependente da entrada.
Dito de outra forma, uma rede neural com n camadas e m unidades ocultas e funções de ativação linear é equivalente a uma rede neural linear sem camadas ocultas e com a capacidade de detectar apenas fronteiras de separação linear.
Sem não linearidades, uma rede neural é incapaz de resolver problemas complicados e categorizar com precisão a entrada.
20. O que é um tensor em deep learning?
Um array multidimensional conhecido como tensor serve como uma generalização de matrizes e vetores. É uma estrutura de dados crucial para o aprendizado profundo. Arrays N-dimensionais de tipos de dados fundamentais são usados para representar tensores.
Cada componente do tensor tem o mesmo tipo de dados e esse tipo de dados é sempre conhecido. É possível que apenas um pedaço da forma – ou seja, quantas dimensões existem e quão grande é cada uma – seja conhecido.
Em situações em que as entradas também são completamente conhecidas, a maioria das operações produz tensores totalmente conhecidos; em outros casos, a forma de um tensor só pode ser estabelecida durante a execução do grafo.
21. Como você escolheria a função de ativação para um modelo de aprendizado profundo?
- Faz sentido empregar uma função de ativação linear se o resultado que deve ser antecipado for real.
- Uma função sigmóide deve ser utilizada se a saída que deve ser prevista for uma probabilidade de classe binária.
- Uma função Tanh pode ser utilizada se a saída projetada contiver duas classificações.
- Devido à sua facilidade de cálculo, a função ReLU é aplicável em uma ampla gama de situações.
22. O que você quer dizer com CNN?
As redes neurais profundas que se especializam na avaliação de imagens visuais incluem redes neurais convolucionais (CNN ou ConvNet). Aqui, em vez de nas redes neurais onde um vetor representa a entrada, a entrada é uma imagem multicanal.
Perceptrons multicamadas são usados de maneira especial por CNNs que requerem muito pouco pré-processamento.
23. Quais são as muitas camadas CNN?
Camada Convolucional: A camada principal é a camada convolucional, que possui uma variedade de filtros que podem ser aprendidos e um campo receptivo. Essa camada inicial pega os dados de entrada e extrai suas características.
Camada ReLU: Ao tornar as redes não lineares, essa camada transforma pixels negativos em zero.
Camada de pooling: Ao minimizar o processamento e as configurações de rede, a camada de pooling minimiza gradualmente o tamanho espacial da representação. O pooling máximo é o método de pooling mais usado.
24. Quais são os efeitos do over e underfitting e como você pode evitá-los?
Isso é conhecido como overfitting quando um modelo aprende as complexidades e o ruído nos dados de treinamento a ponto de afetar negativamente o uso de novos dados pelo modelo.
É mais provável que isso aconteça com modelos não lineares que são mais adaptáveis ao aprender uma função objetivo. Um modelo pode ser treinado para detectar automóveis e caminhões, mas pode ser capaz de identificar apenas veículos com um formato de caixa específico.
Dado que ele foi treinado apenas em um tipo de caminhão, pode não ser capaz de detectar um caminhão de plataforma. Nos dados de treinamento, o modelo funciona bem, mas não no mundo real.
Um modelo subajustado refere-se a um modelo que não é suficientemente treinado em dados ou não é capaz de generalizar para novas informações. Isso geralmente ocorre quando um modelo está sendo treinado com dados insuficientes ou imprecisos.
Precisão e desempenho são ambos comprometidos pelo underfitting.
A reamostragem dos dados para estimar a precisão do modelo (validação cruzada K-fold) e o uso de um conjunto de dados de validação para avaliar o modelo são duas maneiras de evitar overfitting e underfitting.
25. Em deep learning, o que é uma RNN?
Redes neurais recorrentes (RNNs), uma variedade comum de redes neurais artificiais, são conhecidas pela abreviação RNN. Eles são empregados para processar genomas, caligrafia, texto e sequências de dados, entre outras coisas. Para o treinamento necessário, as RNNs empregam retropropagação.
26. Descreva o Adam Optimizer
O otimizador Adam, também conhecido como momento adaptativo, é uma técnica de otimização desenvolvida para lidar com situações ruidosas com gradientes esparsos.
Além de fornecer atualizações por parâmetro para uma convergência mais rápida, o otimizador Adam aprimora a convergência por meio do momento, garantindo que um modelo não fique preso no ponto de sela.
27. Autoencoders profundos: o que são?
Deep autoencoder é o nome coletivo para duas redes de crenças profundas simétricas que geralmente incluem quatro ou cinco camadas superficiais para a metade de codificação da rede e outro conjunto de quatro ou cinco camadas para a metade de decodificação.
Essas camadas formam a base das redes de crenças profundas e são limitadas pelas máquinas de Boltzmann. Após cada RBM, um autoencoder profundo aplica alterações binárias ao conjunto de dados MNIST.
Eles também podem ser usados em outros conjuntos de dados onde as transformações retificadas de Gauss seriam preferidas em relação ao RBM.
28. O que significa Tensor no Tensorflow?
Esta é outra pergunta de entrevista de aprendizado profundo que é feita regularmente. Um tensor é um conceito matemático que é visualizado como matrizes de dimensão superior.
Tensores são essas matrizes de dados que são fornecidas como entrada para a rede neural e têm várias dimensões e classificações.
29. Uma explicação de um gráfico computacional
A base de um TensorFlow é a construção de um gráfico computacional. Cada nó funciona em uma rede de nós, onde os nós representam operações matemáticas e arestas para tensores.
Às vezes, é chamado de "Gráfico de fluxo de dados", pois os dados fluem na forma de um gráfico.
30. Redes generativas de adversários (GANs): o que são?
No Deep Learning, a modelagem generativa é realizada usando redes adversárias generativas. É um trabalho não supervisionado onde o resultado é produzido pela identificação de padrões nos dados de entrada.
O discriminador é usado para categorizar as instâncias produzidas pelo gerador, enquanto o gerador é usado para produzir novos exemplos.
31. Como você escolherá o número de neurônios e camadas ocultas para incluir na rede neural ao projetar a arquitetura?
Dado um desafio de negócios, o número preciso de neurônios e camadas ocultas necessários para construir uma arquitetura de rede neural não pode ser determinado por nenhuma regra rígida e rápida.
Em uma rede neural, o tamanho da camada oculta deve estar em algum lugar no meio do tamanho das camadas de entrada e saída.
No entanto, uma vantagem inicial na criação de um projeto de rede neural pode ser alcançada com alguns métodos simples:
Começar com alguns testes sistemáticos básicos para ver o que teria melhor desempenho para qualquer conjunto de dados específico com base na experiência anterior com redes neurais em configurações semelhantes do mundo real é a melhor maneira de enfrentar todos os desafios exclusivos de modelagem preditiva do mundo real.
A configuração da rede pode ser escolhida com base no conhecimento do domínio do problema e na experiência anterior da rede neural. Ao avaliar a configuração de uma rede neural, o número de camadas e neurônios usados em problemas relacionados é um bom ponto de partida.
A complexidade da rede neural deve ser aumentada gradualmente com base na saída e precisão projetadas, começando com um projeto simples de rede neural.
32. Que tipos de redes neurais são empregadas pelo aprendizado por reforço profundo?
- Em um paradigma de aprendizado de máquina chamado aprendizado por reforço, o modelo atua para maximizar a ideia de recompensa cumulativa, assim como as coisas vivas.
- Jogos e veículos autônomos são descritos como problemas envolvendo aprendizagem de reforço.
- A tela é usada como entrada se o problema a ser representado for um jogo. Para produzir uma saída para as próximas fases, o algoritmo pega os pixels como entrada e os processa através de muitas camadas de redes neurais convolucionais.
- Os resultados das ações do modelo, favoráveis ou ruins, funcionam como reforço.
Conclusão
O Deep Learning ganhou popularidade ao longo dos anos, com aplicações em praticamente todas as áreas da indústria.
As empresas estão procurando cada vez mais especialistas competentes que possam projetar modelos que reproduzam o comportamento humano usando abordagens de aprendizado profundo e aprendizado de máquina.
Os candidatos que aumentam seu conjunto de habilidades e mantêm seu conhecimento dessas tecnologias de ponta podem encontrar uma ampla gama de oportunidades de trabalho com remuneração atraente.
Você pode começar com as entrevistas agora que tem uma forte compreensão de como responder a algumas das perguntas mais frequentes da entrevista de aprendizado profundo. Dê o próximo passo com base em seus objetivos.
Visite o Hashdork's Série de Entrevistas para se preparar para as entrevistas.
Deixe um comentário