Aprendizado de máquina e redes neurais

 

Em MQL5, adicionamos suporte para matrizes e vetores, que são utilizados em diversas tarefas computacionais, incluindo aprendizado de máquina. Selecionamos alguns materiais que podem ser úteis para você. A tecnologia de aprendizado de máquina é baseada em redes neurais.

As redes neurais são modelos matemáticos que tentam emular o funcionamento do cérebro humano. Elas consistem em muitos nós conectados que transmitem sinais entre si e tomam decisões baseadas nesses sinais.

O aprendizado de máquina é um processo no qual um computador utiliza dados para treinar modelos que podem prever resultados de novos dados. É utilizado em diversos campos, como medicina, negócios, ciência de materiais, entre outros.

O aprendizado profundo é um subconjunto do aprendizado de máquina que utiliza redes neurais com muitas camadas para resolver problemas de processamento de informações. Isso permite que os modelos de aprendizado profundo estudem dados com alta precisão e extraiam automaticamente características de estruturas hierárquicas complexas, o que é uma tarefa difícil para os algoritmos tradicionais de aprendizado de máquina.

As redes neurais profundas geralmente consistem em muitas camadas que recebem dados de entrada e os processam sequencialmente. Cada camada é um conjunto de neurônios que processam dados e passam os resultados para a próxima camada. O treinamento do modelo consiste em ajustar os pesos das conexões neurais entre as camadas de forma a minimizar o erro no conjunto de dados de treinamento. Uma das abordagens mais utilizadas para o treinamento de redes neurais profundas é a retropropagação. Esse algoritmo permite determinar como as alterações nos pesos entre as camadas afetam o erro do modelo e usar essas informações para atualizar os pesos de acordo com a descida do gradiente.

O aprendizado profundo permite criar modelos mais precisos do que os métodos clássicos de aprendizado de máquina, como a regressão logística ou árvores de decisão mais rápidas. Entretanto, exige uma grande quantidade de dados e poder de processamento para o treinamento, o que pode ser um problema em algumas áreas.

É aplicado em muitas áreas, como visão computacional, processamento de linguagem natural, processamento de fala, sistemas de recomendação, entre outros. Avanços significativos foram feitos nessa área nos últimos anos, inclusive em problemas de reconhecimento de imagens e processamento de linguagem natural.

Aqui apresentaremos vídeos que permitirão que você entenda rapidamente como essas tecnologias funcionam.


 

1. The Deep Learning Revolution



Neste curto vídeo, destaca-se o papel revolucionário da inteligência artificial (IA) na obtenção de habilidades sobre-humanas, na descoberta de novos materiais e na conservação de recursos escassos.

Essas tecnologias permitem que pessoas com deficiência visual reconheçam rostos, leiam textos e ajudem crianças cegas a ler. Além disso, os veículos autônomos nos proporcionam a liberdade de explorar áreas remotas sem a necessidade de mapas de ruas.

Enfatiza-se o papel da tecnologia de IA no fortalecimento da capacidade humana de tomar melhores decisões e solucionar problemas complexos.

 

2. Visualização de processos de processamento de informações em redes neurais de aprendizado profundo

É melhor assistir a esses pequenos vídeos do que tentar descrevê-los em palavras.












 

3. [Aprendizado profundo | vídeo 1] O que é uma rede neural?




Este vídeo apresenta aos espectadores as redes neurais e seu funcionamento. As redes neurais são compostas por várias camadas de neurônios, cada uma conectada aos neurônios das camadas anterior e posterior por meio de pesos e vieses. A ativação de um neurônio é determinada pela soma ponderada das ativações dos neurônios da camada anterior, que é então comprimida por meio de uma função sigmoide.

  • 00:00:00 A introdução ao vídeo apresenta uma introdução às redes neurais, explicando como elas são inspiradas pelo cérebro e como podem ser usadas para reconhecer dígitos manuscritos. Além disso, é explicada a estrutura da rede neural, que inclui a camada de entrada, a camada oculta e a camada de saída.
  • 00:15:00 Na segunda parte, é explicado por que se espera que a estrutura em camadas de uma rede neural se comporte de maneira inteligente. Cada neurônio nas camadas intermediárias da rede corresponde a um dos vários subcomponentes que compõem a imagem geral, permitindo que a rede reúna os vários componentes de uma imagem e, finalmente, reconheça o dígito que a imagem representa.
  • 00:10:00 Os pesos e vieses de uma rede neural determinam seu comportamento, e o treinamento é o processo de ajustar esses valores para atingir o comportamento desejado. As redes neurais consistem em camadas de neurônios, cada uma conectada aos neurônios das camadas anterior e seguinte por meio de pesos e vieses. A ativação de um neurônio é determinada pela soma ponderada das ativações dos neurônios da camada anterior, que é então comprimida por meio de uma função sigmoide. O vetor resultante é então passado para a próxima camada.
  • 00:15:00 Neste vídeo, o autor explica de forma clara e concisa o conceito de rede neural e seu funcionamento. Além disso, ele introduz a função sigmoide e explica como ela é usada para comprimir a soma ponderada correspondente a um intervalo entre zero e um.
 

4. [Aprendizado profundo | Vídeo 2] Descida do gradiente: como as redes neurais aprendem




Este vídeo fala sobre como a descida do gradiente ajuda as redes neurais a aprender de forma mais eficaz.

  • 00:00:00 Apresenta a ideia do gradiente descendente, que é fundamental para o aprendizado de redes neurais e muitos outros algoritmos de aprendizado de máquina. O vídeo mostra como a rede de reconhecimento de dígitos manuscritos é parametrizada com uma função de custo, pesos e vieses. O desempenho da rede é avaliado no conjunto de exemplos de treinamento e, à medida que a rede melhora no reconhecimento de números, a função de custo se torna cada vez mais precisa.
  • 00:05:00 A descida do gradiente é uma ferramenta poderosa para treinar redes neurais e é importante lembrar que a função de custo deve ter uma saída suave para minimizá-la de maneira eficaz.
  • 00:10:00 O algoritmo de descida do gradiente é explicado, assim como o funcionamento dos neurônios artificiais. A descida do gradiente é usada para encontrar um mínimo local na função de custo, movendo-se em pequenos passos descendo pela inclinação. Este processo é repetido até que a rede alcance uma boa solução. O vídeo mostra um exemplo de descida do gradiente em ação com uma rede de neurônios treinados para reconhecer números. Embora a rede não seja perfeita, é impressionante que ela possa lidar com imagens nunca antes vistas.
  • 00:15:00 A descida do gradiente é um método usado para treinar redes neurais. Na primeira parte, vimos que redes neurais profundas treinadas com dados rotulados aleatoriamente alcançam a mesma precisão que em dados rotulados corretamente. A segunda parte mostra que, se uma rede neural for treinada em um conjunto de dados com rótulos corretos, os mínimos locais de sua função de custo terão a mesma qualidade.
  • 00:20:00 Demonstra como o gradiente descendente funciona em redes neurais e como ele pode ajudar a rede a aprender de forma mais eficaz.
 

5. [Aprendizado profundo | vídeo 3] O que exatamente é retropropagação?




A retropropagação é um algoritmo usado em redes neurais para ajudá-las a aprender. O algoritmo funciona calculando o gradiente da função de custo, que depende dos pesos e vieses da rede. O gradiente é então usado para ajustar os pesos e vieses da rede.

  • 00:00:00 A retropropagação está no centro do treinamento de redes neurais. O algoritmo funciona calculando o gradiente da função de custo, que depende dos pesos e vieses da rede. O gradiente é então usado para ajustar os pesos e vieses da rede.
  • 00:05:00 A retropropagação é um algoritmo de aprendizado supervisionado que ajuda a aumentar a ativação de neurônios em uma rede de aprendizado profundo. O algoritmo ajusta os pesos e vieses dos neurônios da camada anterior para que essa mudança seja proporcional ao tamanho dos respectivos pesos. A retropropagação também ajuda a propagar as mudanças desejadas nos pesos e vieses dos neurônios na segunda camada.
  • 00:10:00 A retropropagação é usada para ajustar os pesos e vieses da rede neural. Este é um algoritmo de descida de gradiente estocástico que divide dados aleatoriamente em minilotes e atualiza pesos e vieses com base no minilote. Este algoritmo é computacionalmente mais rápido do que o verdadeiro gradiente descendente e pode convergir para um mínimo local da função de custo.
 

6. [Aprendizado profundo | vídeo 4] Fórmulas de retropropagação




Neste vídeo, é explicada a fundamentação matemática do algoritmo de retropropagação para aprendizado profundo, usando como exemplo uma rede simples com um neurônio em cada camada, definido por pesos e vieses. É introduzida a regra da cadeia para entender como as mudanças de peso afetam o custo, e a sensibilidade do custo a pequenas mudanças de peso é encontrada por meio das derivadas das funções de custo, funções de ativação e soma ponderada. A sensibilidade é considerada no cálculo iterativo da sensibilidade da ativação anterior, aplicando a extensão da regra da cadeia para encontrar a sensibilidade aos pesos e vieses anteriores. A abordagem permanece semelhante mesmo com múltiplos neurônios por camada, sendo que cada peso tem seu próprio índice para acompanhar sua posição na camada.

  • 00:00:00 Na primeira parte, abordamos o embasamento matemático necessário para a retropropagação no aprendizado profundo, utilizando como exemplo uma rede simples com um neurônio por camada, definida por três pesos e três vieses. O objetivo é entender o quão sensível a função custo é a essas variáveis e quais ajustes serão mais efetivos na redução da função custo. É introduzida a regra da cadeia para entender como as mudanças nas variáveis de peso afetam a função de custo. A sensibilidade da função de custo a pequenas mudanças no peso é calculada usando as derivadas da função de custo, a função de ativação e a soma ponderada.
  • 00:05:00 Na segunda parte, apresenta-se o conceito de sensibilidade em relação aos pesos e vieses em uma rede neural. A derivada da função de custo em relação aos pesos e vieses é encontrada por meio da extensão da regra da cadeia, levando em consideração a sensibilidade. Embora a sensibilidade possa ser considerada como o número de neurônios que disparam juntos e se comunicam entre si, a derivada requer que a expressão seja calculada como média em todos os exemplos de treinamento. A sensibilidade da ativação anterior é calculada na extensão da regra da cadeia e utilizada para calcular iterativamente a sensibilidade aos pesos e vieses anteriores. A abordagem não muda significativamente, mesmo que as camadas da rede neural tenham vários neurônios; no entanto, cada peso deve ser indexado com índices adicionais para acompanhar sua posição na camada.
 

Artificial Intelligence Full Course | Artificial Intelligence Tutorial for Beginners | Edureka

Acima, apresentamos os melhores materiais para uma introdução às redes neurais artificiais. Este vídeo da Edureka fornece um conhecimento abrangente e detalhado dos conceitos de IA com exemplos práticos.


Para sua conveniência, damos uma linha do tempo geral e depois uma detalhada para cada parte. Você pode ir direto ao ponto, observar com seu próprio conforto e não perder nada.

  1. 00:00:00 - 01:00:00 Na Parte 1, é apresentada uma introdução à inteligência artificial, discutindo sua história, diferentes áreas e conceitos, além de como o aprendizado profundo está sendo usado para resolver problemas do mundo real. Também aborda os diferentes tipos de inteligência artificial e linguagens de programação populares para o desenvolvimento de IA.

  2. 01:00:00 - 02:00:00 Na Parte 2, são discutidos diversos tipos de inteligência artificial e como eles podem ser usados para resolver diferentes tipos de problemas. Explica como a regressão linear pode ser utilizada para prever a temperatura máxima média para um determinado intervalo de temperatura, e a regressão logística pode ser usada para prever a probabilidade de um resultado ser um ou zero. O algoritmo da árvore de decisão também é discutido, bem como a forma como ele pode ser usado para construir uma árvore de decisão. Por fim, é explicado como a floresta aleatória pode ser usada para criar previsões mais precisas e estáveis.

  3. 02:00:00 - 03:00:00 Na Parte 3, o professor da Edureka, Michael Kennedy, explica como funciona o algoritmo de agrupamento K-means e como ele pode ser usado para compactar grandes conjuntos de dados em um pequeno número de valores significativos. Ele também discute o aprendizado por reforço, outro tipo de aprendizado de máquina que ajuda os agentes a aprender a atingir seus objetivos em um ambiente desconhecido.

  4. 03:00:00 - 04:00:00 Na Parte 4, aprendemos a calcular o ganho de informação para um nó pai, um nó filho e diferentes tipos de estradas. A entropia é calculada para o lado direito e resulta em zero, indicando que não há incerteza. Quando a estrada é plana, a velocidade do carro é alta, indicando que não há incerteza nessa informação. Quando a estrada é íngreme, a velocidade do veículo pode ser lenta ou rápida, indicando que a informação não é específica para nenhum tipo particular de estrada.

  5. 04:00:00 - 04:50:00 Na Parte 5, o instrutor da Edureka, Kirill Eremenko, oferece uma visão abrangente da inteligência artificial, cobrindo os fundamentos da programação, dados e aprendizado de máquina. Ele explica como as redes neurais funcionam e como podem ser usadas para prever os preços das ações. Também descreve as etapas necessárias para treinar uma rede neural, incluindo a preparação de dados, divisão e dimensionamento. Por fim, ele discute os parâmetros de arquitetura do modelo para um sistema de IA, incluindo o número de neurônios em cada camada oculta, tamanho do viés e função de custo.


Linha do tempo detalhada para partes do curso em vídeo

Parte 1

  • 00:00:00 Zulaikha da Edureka aborda a história da inteligência artificial, diversas áreas e conceitos relacionados a ela, a origem da inteligência artificial, as limitações da aprendizado de máquina e a necessidade de aprendizado profundo. Ela também apresenta o conceito de aprendizado profundo e mostra como ele pode ser usado para resolver problemas do mundo real. Por fim, ela menciona o próximo módulo: processamento de linguagem natural.

  • 00:05:00 A inteligência artificial é a ciência e a engenharia envolvida na criação de máquinas inteligentes capazes de realizar tarefas que normalmente exigem inteligência humana, como percepção visual, reconhecimento de fala, tomada de decisões e tradução entre idiomas. Avanços recentes em poder de computação e algoritmos possibilitaram a integração mais eficiente da inteligência artificial em nosso cotidiano. Universidades, governos, startups e grandes empresas de tecnologia investem recursos em IA, pois acreditam que isso representa o futuro. A inteligência artificial está se desenvolvendo rapidamente tanto como campo de estudo quanto como economia.

  • 00:10:00 A inteligência artificial é utilizada em diversas áreas, desde finanças até saúde e mídias sociais. A IA se tornou tão importante que até mesmo empresas como a Netflix a utilizam.

  • 00:15:00 A inteligência artificial é dividida em três estágios, e atualmente estamos no estágio de IA fraca. A inteligência artificial geral, ou IA forte, ainda está distante de ser alcançada; no entanto, caso isso ocorra, será um marco significativo na história da humanidade.

  • 00:20:00 Esta seção apresenta diferentes tipos de inteligência artificial e aborda diversas linguagens de programação utilizadas para IA. Python é considerada a melhor linguagem para desenvolvimento de IA, e R também é uma opção popular. Outras linguagens incluem Lisp, Prolog, C++, MATLAB, Julia e JavaScript.

  • 00:25:00 Python é uma linguagem de programação flexível e fácil de usar, que vem ganhando popularidade no campo da inteligência artificial. O aprendizado de máquina é uma técnica que permite às máquinas aprenderem a partir dos dados para aprimorar suas previsões.

  • 00:30:00 Aprendizado de máquina é um subconjunto da inteligência artificial que utiliza algoritmos para aprender e melhorar automaticamente com a experiência. O principal componente do processo de aprendizado de máquina é um modelo treinado usando um algoritmo de aprendizado de máquina.

  • 00:35:00 A diferença entre um algoritmo e um modelo é que o algoritmo mapeia todas as decisões que o modelo precisa tomar com base em uma determinada entrada, enquanto o modelo usa um algoritmo de aprendizado de máquina para extrair informações úteis da entrada e fornecer um resultado muito preciso. Em seguida, temos a variável preditora, que é qualquer recurso dos dados que pode ser usado para prever a saída. No mesmo exemplo, a altura seria a variável de resposta. A variável de resposta também é conhecida como variável de destino ou variável de saída. Esta é a variável que você está tentando prever usando as variáveis preditoras. Portanto, a variável de resposta é a função ou variável de saída que precisa ser prevista usando as variáveis preditoras. Então, temos o que chamamos de dados de treinamento. A terminologia "treinamento" e "teste" nos dados é frequentemente encontrada no processo de aprendizado de máquina. Os dados de treinamento são os dados usados para criar o modelo de aprendizado de máquina. No processo de aprendizado de máquina, quando você carrega os dados na máquina, eles são divididos em duas partes. A divisão de dados em duas partes também é conhecida como divisão de dados. Você pegará os dados de entrada e os dividirá em duas partes.
  • 00:40:00 A coleta de dados é uma das etapas mais demoradas no aprendizado de máquina e, se você precisar coletar dados manualmente, levará muito tempo. Felizmente, existem muitos recursos online que fornecem conjuntos de dados extensos. Tudo o que você precisa fazer é usar web scraping, onde você só precisa baixar os dados. Um site sobre o qual posso mencionar é o Cargill. Portanto, se você é novo no aprendizado de máquina, não se preocupe com a coleta de dados e tudo mais. Basta acessar sites como o Cargill e baixar o conjunto de dados.

  • 00:45:00 O aprendizado supervisionado é uma técnica em que uma máquina é treinada usando dados bem rotulados. A aprendizagem supervisionada é semelhante à forma como os professores ajudam os alunos a compreender os conceitos matemáticos.

  • 00:50:00 No aprendizado supervisionado, o conjunto de dados de treinamento contém informações sobre a aparência dos objetos, como imagens de Tom e Jerry. Um algoritmo de aprendizado de máquina é treinado com base neste conjunto de dados rotulado para aprender a identificar e classificar imagens. No aprendizado não supervisionado, o algoritmo de aprendizado de máquina não recebe dados rotulados, mas sim treina com dados não rotulados. No aprendizado por reforço, um agente é inserido em um ambiente e aprende a se comportar realizando ações e observando as recompensas recebidas por essas ações.

  • 00:55:00 O aprendizado de máquina é composto por três tipos principais de aprendizado: aprendizado supervisionado, aprendizado não supervisionado e aprendizado por reforço. O aprendizado supervisionado é usado para trabalhar com dados rotulados, o aprendizado não supervisionado é usado para trabalhar com dados não rotulados e o aprendizado por reforço é usado para aprender sobre ações e recompensas. Existem três tipos de problemas que podem ser resolvidos com o aprendizado de máquina: regressão, classificação e agrupamento. Há diversos algoritmos que podem ser usados para resolver problemas de regressão, classificação e agrupamento, sendo os mais comuns a Regressão Linear, Regressão Logística, Máquina de Vetores de Suporte (Support Vector Machine) e Naive Bayes.


Parte 2

  • 01:00:00 A inteligência artificial pode ser utilizada para resolver problemas de classificação, regressão e agrupamento. Algoritmos de aprendizado supervisionado, como a regressão linear, são empregados para prever variáveis-alvo, como o índice de preços imobiliários, com base nos dados de entrada.

  • 01:05:00 A regressão linear é um algoritmo de aprendizado supervisionado usado para prever uma variável dependente contínua, y, com base nos valores da variável independente, x. A regressão linear inicia construindo uma relação entre y e x usando o melhor ajuste linear e, em seguida, calcula a inclinação e o intercepto y da linha de regressão linear.

  • 01:10:00 O instrutor da Edureka, Michael Kennedy, demonstra uma regressão linear em um conjunto de dados de condições climáticas registradas em diferentes dias ao redor do mundo. Ele mostra como importar as bibliotecas necessárias e ler os dados, como plotar pontos de dados e encontrar uma relação linear entre as variáveis. Ele também aborda uma mensagem de alerta e explica que o objetivo principal desta demonstração é a previsão do tempo.

  • 01:15:00 Esta lição explica como a regressão linear pode ser usada para prever a temperatura máxima média para uma determinada faixa de temperatura. Ao dividir o conjunto de dados em conjuntos de treinamento e teste e importar a classe de regressão linear adequada, o modelo é treinado. Após o tutorial, o instrutor mostra como calcular a inclinação e o intercepto y para a linha correspondente aos dados.

  • 01:20:00 Explica-se como utilizar o algoritmo de regressão para prever a pontuação percentual de um conjunto de dados de teste. O vídeo também mostra como plotar os resultados e compará-los aos valores reais.

  • 01:25:00 A regressão logística é uma técnica utilizada para prever a variável dependente, y, dada a variável independente, x, de tal forma que a variável dependente seja uma variável categórica, ou seja, a saída é uma variável categórica. O resultado da regressão logística é sempre categórico, e a técnica básica empregada na regressão logística é bastante semelhante à regressão linear.

  • 01:30:00 A regressão logística é empregada para prever a probabilidade de um resultado ser um ou zero usando a equação Pr(X = 1) = beta0 + beta1 *X. A função logística, ou curva S, garante que o intervalo entre zero e um seja respeitado.

  • 01:35:00 O algoritmo de árvore de decisão é um algoritmo de aprendizado supervisionado fácil de compreender. Ele consiste em um nó raiz (onde ocorre a primeira divisão), nós internos (onde as decisões são tomadas) e nós folhas (onde os resultados são armazenados). Os ramos entre os nós são representados por setas e o algoritmo funciona percorrendo os dados pela árvore até que um nó terminal seja alcançado.

  • 01:40:00 O algoritmo "ID3" é utilizado para criar uma árvore de decisão. Os passos necessários para usar este algoritmo são os seguintes: (1) selecionar o melhor atributo, (2) designar esse atributo como a variável de decisão para o nó raiz, (3) criar um filho para cada valor da variável de decisão e (4) atribuir rótulos de classificação aos nós folha. Se os dados forem classificados corretamente, o algoritmo para; caso contrário, o algoritmo continua iterando na árvore, alterando a posição das variáveis preditoras ou do nó raiz. O melhor atributo é aquele que separa os dados de forma mais eficaz em diferentes classes. Entropia e ganho de informação são usados para determinar qual variável separa melhor os dados. A maior medida de ganho de informação será usada para dividir os dados no nó raiz.

  • 01:45:00 Neste tutorial em vídeo de IA para iniciantes, aprendemos como calcular o ganho de informações para um nó pai, um nó filho e um nó referente a diferentes tipos de estrada. A entropia para o lado direito é calculada e resulta em zero, o que indica ausência de incerteza. Quando a estrada é reta, a velocidade do veículo é alta, mostrando que não há incerteza nesta informação. Quando a estrada é íngreme, a velocidade do veículo pode ser lenta ou rápida, indicando que a informação não é específica para nenhum tipo de estrada em particular.

  • 01:50:00 O vídeo discute como a entropia é usada para calcular o ganho de informações em uma árvore de decisão. A entropia para o nó pai é calculada, a média ponderada é calculada para os nós filhos e o ganho de informação é calculado para cada variável preditora. A entropia para a variável tipo de estrada é zero, o que significa que não há incerteza no conjunto de dados. O ganho de informação para a variável tipo de estrada é 0,325, o que significa que o conjunto de dados contém pouca informação sobre a variável tipo de estrada. O ganho de informação para a variável obstáculo é zero, o que significa que a variável obstáculo não afeta a árvore de decisão. O ganho de informação para a variável limite de velocidade é um, o que significa que a variável limite de velocidade tem o maior impacto na árvore de decisão.

  • 01:55:00 A floresta aleatória (random forest) cria várias árvores de decisão, que são então combinadas para gerar uma previsão mais precisa e estável. O bootstrapping é usado para criar um pequeno conjunto de dados que serve para treinar árvores de decisão. A floresta aleatória é mais precisa do que as árvores de decisão na previsão de novos dados porque o overfitting (memorização dos dados de treinamento) é reduzido.


Parte 3

  • 02:00:00 Este vídeo explica como criar uma árvore de decisão usando floresta aleatória. Primeiramente, duas ou três variáveis são selecionadas aleatoriamente para serem utilizadas em cada nó da árvore de decisão e, em seguida, são calculados o ganho de informação e a entropia de cada uma delas. Esse processo é repetido para cada próximo nó de ramificação, criando uma árvore de decisão que prevê a classe de saída com base nas variáveis preditoras selecionadas. Depois, retornamos ao primeiro passo e criamos uma nova árvore de decisão com base em um subconjunto das variáveis brutas. Esse processo é repetido até que várias árvores de decisão sejam criadas, cada uma prevendo a classe de saída com base em diferentes variáveis preditoras. Finalmente, a precisão do modelo é avaliada usando o conjunto de dados out-of-bag.

  • 02:05:00 O instrutor da Edureka, Michael Kennedy, explica como a floresta aleatória funciona neste vídeo. Primeiro, um conjunto de dados bootstrap é criado para garantir previsões precisas. Uma árvore de decisão é então gerada usando um conjunto aleatório de preditores. Este processo é repetido centenas de vezes até que o modelo seja construído. A precisão do modelo pode ser calculada usando amostragem out-of-bag.

  • 02:10:00 O algoritmo K-vizinhos mais próximos (KNN) é um algoritmo de aprendizado supervisionado que classifica um novo ponto de dados em uma classe de destino ou classe de saída, baseando-se nas características de seus pontos de dados vizinhos.

  • 02:15:00 O algoritmo KNN é um algoritmo de aprendizado supervisionado que usa dados para prever a saída de novos pontos de dados de entrada. Ele se baseia na semelhança de atributos com pontos de dados vizinhos e não é paramétrico. O algoritmo KNN é considerado preguiçoso, pois memoriza o conjunto de treinamento em vez de aprender a função discriminante.

  • 02:20:00 O instrutor da Edureka, Alan Sy, explica os fundamentos dos algoritmos de classificação KNN e SVM. Cada algoritmo tem seus próprios pontos fortes e o SVM é uma escolha popular para classificação devido à sua capacidade de lidar com dados não lineares.
  • 02:25:00 O vídeo explora o uso de vários algoritmos de classificação com Python. Primeiramente, os dados são lidos e agrupados em tipos de frutas de acordo com seus rótulos. Em seguida, vários algoritmos são implementados e testados nos dados. Por fim, os resultados são apresentados e discutidos.

  • 02:30:00 O vídeo aborda a importância da visualização no aprendizado de máquina e explica o uso de boxplots, histogramas e escaladores. A relevância de dividir os dados em conjuntos de treinamento e teste também é discutida.

  • 02:35:00 Este vídeo aborda o uso da regressão logística, árvores de decisão e máquinas de vetores de suporte em problemas de classificação. O classificador de regressão logística obteve um bom resultado no conjunto de dados de treinamento, porém foi menos preciso no conjunto de dados de teste. O classificador de árvore de decisão foi mais preciso no conjunto de dados de treinamento, mas teve um desempenho inferior no conjunto de dados de teste. A máquina de vetores de suporte apresentou bons resultados tanto nos conjuntos de dados de treinamento quanto nos de teste.

  • 02:40:00 O algoritmo de agrupamento K-means é um algoritmo de aprendizado não supervisionado utilizado para agrupar itens ou pontos de dados semelhantes em clusters. Ele é usado para marketing direcionado, como promover um produto específico para um público específico.

  • 02:45:00 O método Elbow é uma técnica simples utilizada para encontrar o valor ideal de k para um determinado problema. O método Elbow inicia calculando a soma dos erros quadráticos para diferentes valores de k e, em seguida, os visualiza. À medida que k aumenta, o erro diminui, indicando que mais clusters resultam em menos distorção. O valor ideal de k está no ponto do gráfico onde a diminuição do erro desacelera, formando uma espécie de "cotovelo".

  • 02:50:00 O método Elbow é uma maneira simples de escolher o valor K ideal para o algoritmo K-means. Este método começa calculando a soma dos erros quadráticos para diferentes valores de K e traçando-os em um gráfico. À medida que K aumenta, o erro diminui, indicando que mais clusters resultam em menos distorção. O valor de K ideal para K-means está no ponto em que a distorção diminui drasticamente. Este método pode ser facilmente implementado usando funções de bibliotecas padrão. Neste vídeo, utilizamos uma imagem de exemplo do conjunto de dados scikit-learn para demonstrar o método Elbow.

  • 02:55:00 Este vídeo explica como o algoritmo de agrupamento K-means funciona e como ele pode ser usado para compactar grandes conjuntos de dados em um pequeno número de valores significativos. Além disso, é abordado que o aprendizado por reforço é um tipo diferente de aprendizado de máquina que ajuda os agentes a aprenderem a alcançar seus objetivos em um ambiente desconhecido.


Parte 4

  • 03:00:00 Um agente de aprendizado por reforço em um videogame como Counter Strike busca maximizar sua recompensa ao tomar a melhor ação com base em seu estado atual e ambiente. Por exemplo, se um agente se aproxima de um tigre, ele pode diminuir sua recompensa esperada considerando a possibilidade de ser morto. Conceitos como ação, estado, recompensa e gama serão discutidos em mais detalhes nos próximos slides.

  • 03:05:00 Neste vídeo, o instrutor da Edureka, Adriano Ferreira, aborda os conceitos de exploração e explotação, uma abordagem matemática para resolver a tomada de decisão de Markov e o problema do menor caminho. Em seguida, ele mostra um exemplo de como escolher uma estratégia para resolver um problema usando a estratégia gulosa e um exemplo de como escolher uma estratégia usando a estratégia de exploração.

  • 03:10:00 O instrutor da Edureka explica os fundamentos do aprendizado por reforço, incluindo os três métodos principais: baseado em política, baseado em valor e baseado em ação. Ele então demonstra o algoritmo aprendizado Q, que é um importante algoritmo de aprendizado por reforço. O objetivo do aprendizado Q é encontrar o estado com a maior recompensa, e a terminologia usada no aprendizado Q inclui estado e ação.

  • 03:15:00O vídeo explica os fundamentos da inteligência artificial, incluindo como ela funciona e como criar um agente que possa aprender com a experiência. É mostrado como a matriz de recompensas e a matriz Q uniforme são usadas para determinar o estado atual e as recompensas futuras do agente. O parâmetro gama é usado para controlar a exploração e a explotação do agente.

  • 03:20:00 O vídeo descreve os conceitos básicos de inteligência artificial, incluindo como a matriz Q de um agente armazena sua memória e como atualizá-la. Em seguida, mostra como fazer o mesmo em Python usando as bibliotecas NumPy e R.

  • 03:25:00 É demonstrado como criar um sistema de inteligência artificial (IA) ensinando iniciantes a usar código para criar uma matriz de recompensa e uma matriz Q, além de definir o parâmetro gama. O vídeo mostra como treinar o sistema de IA executando-o por 10.000 iterações e como testar o sistema escolhendo um estado aleatório e tentando atingir o estado de destino, que é a sala número cinco.

  • 03:30:00 Aprendizado de máquina é um campo de estudo que auxilia computadores a aprenderem a partir dos dados. No entanto, enfrenta dificuldades ao lidar com dados de alta dimensão. Outra limitação do aprendizado de máquina são os crescentes requisitos de energia computacional à medida que o número de medições aumenta.

  • 03:35:00 A inteligência artificial é limitada em sua capacidade de ser aplicada ao reconhecimento de imagem, pois as imagens contêm muitos pixels e uma grande quantidade de dados complexos. A extração de recursos é uma parte importante do fluxo de trabalho de aprendizado de máquina, pois a eficácia de um algoritmo depende de quão aprofundadamente o programador analisou os dados. O aprendizado profundo imita como nossos cérebros funcionam e podem aprender a se concentrar nos recursos certos, exigindo muito pouca orientação do programador.

  • 03:40:00 Aprendizado profundo é um conjunto de técnicas de aprendizado de máquina que possibilita aprender eficientemente hierarquias de recursos nos dados. O aprendizado profundo consiste em uma rede neural de neurônios artificiais que funcionam de maneira semelhante aos nossos cérebros. O número de camadas e o número de perceptrons em cada camada dependem inteiramente da tarefa ou aplicação.

  • 03:45:00 O vídeo explica como o peso é utilizado no cálculo da função de ativação. Essa função de ativação determina quanto de uma entrada específica (X um) é usado para gerar uma saída (um).

  • 03:50:00 Um perceptron multicamada possui a mesma estrutura de um perceptron de camada única, porém com uma ou mais camadas ocultas. Os pesos são inicialmente atribuídos aleatoriamente, e é necessário ajustá-los corretamente para minimizar o erro. A retropropagação é uma maneira de atualizar os pesos com o objetivo de reduzir o erro.

  • 03:55:00 O instrutor da Edureka, Emmanuel, ensina aos espectadores como calcular a saída do modelo usando retropropagação. Primeiro, eles calculam um erro que indica o quão impreciso o modelo é. Em seguida, utilizam a retropropagação do erro para atualizar os pesos de forma a minimizar o erro. Se o erro permanecer alto, eles param de atualizar os pesos e identificam o mínimo de perda global, então encerram o processo.


Parte 5

  • 04:00:00 A retropropagação é uma técnica matemática utilizada para ajustar os pesos da rede a fim de reduzir o erro na camada de saída. A descida do gradiente é empregada para otimizar o desempenho da propagação da rede. As redes neurais recorrentes são um tipo de redes neurais artificiais que podem ser usadas para reconhecer padrões em sequências de dados.

  • 04:05:00 O vídeo explica como as redes neurais profundas funcionam e como podem ser utilizadas na previsão de preços de ações. Aborda os conceitos básicos de redes neurais diretas, perceptrons multicamadas e redes neurais recorrentes.

  • 04:10:00 São descritas as etapas necessárias para treinar uma rede neural, incluindo preparação de dados, divisão e dimensionamento. O uso de espaços reservados e inicializadores também é abordado.

  • 04:15:00 São apresentados parâmetros de arquitetura de modelo para um sistema de inteligência artificial, incluindo o número de neurônios em cada camada oculta, dimensão de viés e função de custo. Em seguida, explica-se como a função de ativação transforma as camadas ocultas e como a saída é transposta e ponderada.

  • 04:20:00 O instrutor da Edureka, Kirill Eremenko, apresenta os fundamentos do aprendizado profundo, incluindo o papel das redes neurais, otimizadores e inicializadores. Ele também explica como funciona o treinamento em minilotes e como as épocas são utilizadas para treinar uma rede neural.

  • 04:25:00 É demonstrado o aprendizado profundo comparando os valores do modelo previsto com os alvos reais observados armazenados em y. O TensorFlow é então utilizado para atualizar os fatores de peso e viés. O modelo é treinado nos dados de teste e sua previsão é comparada com os valores reais. Após 10 épocas, a precisão do modelo se mostra muito próxima do valor real.

  • 04:30:00 Mineração de texto ou análise de texto é o processo de extrair informações significativas de textos em linguagem natural. A mineração de texto é um amplo campo que utiliza PNL para realizar mineração de texto e mineração de dados de texto. A PNL é uma parte da mineração de texto que auxilia máquinas a entenderem os dados como zeros e uns. O processamento de linguagem natural é o que computadores e smartphones usam para compreender nossa linguagem, falada e escrita. Exemplos de aplicações de mineração de texto e processamento de linguagem natural incluem detecção de spam, digitação preditiva e análise de sentimento.

  • 04:35:00 O vídeo aborda a importância da tokenização, derivação e lematização no processamento de linguagem natural. Explica-se que a tokenização divide uma frase em palavras, a derivação reduz as palavras à sua forma básica e a lematização vincula as palavras de volta ao seu lema. Palavras de parada são palavras comuns que são removidas para se concentrar nas palavras importantes.

  • 04:40:00 Este tutorial da Edureka explica como realizar o processamento de linguagem natural usando o NaiveBayesClassifier, uma biblioteca que contém todas as funções necessárias para executar essa tarefa. Em seguida, demonstra o processo realizando uma análise de sentimento no conjunto de dados de avaliações de filmes. O classificador foi capaz de identificar quais avaliações foram positivas e quais foram negativas.

  • 04:45:00 O programa de engenharia de aprendizado de máquina da Edureka inclui nove módulos com mais de 200 horas de aprendizado interativo, abrangendo programação em Python, aprendizado de máquina, processamento de linguagem natural (PLN), modelagem gráfica, aprendizado profundo e Spark. O currículo inclui algoritmos supervisionados e não supervisionados, estatísticas e séries temporais, aprendizado profundo e Spark. O salário médio anual de um engenheiro de aprendizado de máquina é superior a US$ 134.000.

  • 04:50:00 Este vídeo fornece uma introdução abrangente à inteligência artificial, incluindo os fundamentos da programação, ciência de dados e aprendizado de máquina. Após concluir este módulo introdutório, o aluno poderá prosseguir com cursos adicionais destinados a aprofundar sua compreensão desses tópicos.
Artificial Intelligence Full Course | Artificial Intelligence Tutorial for Beginners | Edureka
Artificial Intelligence Full Course | Artificial Intelligence Tutorial for Beginners | Edureka
  • 2019.06.02
  • www.youtube.com
🔥 Machine Learning Engineer Masters Program (Use Code "𝐘𝐎𝐔𝐓𝐔𝐁𝐄𝟐𝟎"): https://www.edureka.co/masters-program/machine-learning-engineer-training This ...
 

O curso MIT Introduction to Deep Learning é projetado para aprendizado rápido e intensivo dos princípios fundamentais do aprendizado profundo

O curso MIT Introduction to Deep Learning é projetado para fornecer uma educação rápida e intensiva nos princípios fundamentais do aprendizado profundo, com aplicações em visão computacional, processamento de linguagem natural, biologia e outros campos. No curso, os alunos obterão conhecimento básico de algoritmos de aprendizado profundo e experiência prática na construção de redes neurais no TensorFlow. O programa culmina em uma competição de propostas de projetos, que é avaliada por funcionários e patrocinadores da indústria. Presume-se que os alunos estejam familiarizados com cálculo (ou seja, capazes de derivar) e álgebra linear (ou seja, capazes de multiplicar matrizes), mas todo o resto será explicado à medida que o curso avança. A experiência de trabalho com Python é útil, mas não obrigatória.



Aula 1. Introdução ao Deep Learning do MIT | 6.S191

Neste vídeo, o MIT Alexander Amini apresenta os fundamentos do aprendizado profundo com uma discussão sobre o perceptron. Ele mostra como construir uma rede neural do zero, simplificando o processo usando uma biblioteca chamada TensorFlow. Ele termina o vídeo discutindo como criar uma rede neural de camada única e uma de duas camadas com uma camada de saída.

  • 00:00:00 Nesta introdução de uma semana ao curso de aprendizado profundo, os alunos aprendem os fundamentos do campo e obtêm experiência prática usando laboratórios de software de aprendizado profundo. O curso é falso, mas o vídeo e o áudio são realmente gerados usando técnicas de aprendizado profundo. Isso permite que o instrutor mostre exemplos realistas e de alta qualidade de aprendizado profundo em ação.

  • 00:05:00 Este vídeo apresenta os fundamentos do aprendizado profundo, incluindo a terminologia e os conceitos envolvidos. A aula é dividida entre palestras técnicas e laboratórios de software, com o projeto final focado em uma ideia criativa e inovadora. O vídeo termina com uma breve visão geral dos instrutores do curso e como contatá-los em caso de dúvidas.

  • 00:10:00 O principal objetivo do aprendizado profundo é aprender recursos de dados, o que é feito treinando redes neurais profundas usando camadas hierárquicas de neurônios. Isso permite paralelização massiva, bem como a capacidade de detectar recursos hierárquicos.

  • 00:15:00 Nesta palestra, você aprenderá sobre os conceitos técnicos por trás do aprendizado profundo, incluindo a função de ativação sigmoide e a função relu. Você também verá como as funções de ativação são usadas em redes neurais modernas para introduzir a não linearidade. Por fim, será mostrado como usar a equação do perceptron para calcular a combinação ponderada de pontos de dados de entrada.

  • 00:20:00 Alexander Amini apresenta os fundamentos do aprendizado profundo com uma discussão sobre o perceptron. Ele mostra como construir uma rede neural do zero, simplificando o processo usando uma biblioteca chamada TensorFlow. Ele termina o vídeo discutindo como criar uma rede neural de camada única e uma de duas camadas com uma camada de saída.

  • 00:25:00 Nesta seção, ele descreve como o aprendizado profundo funciona e como construir uma rede neural para prever se um aluno será aprovado ou reprovado em uma aula. A rede não foi treinada corretamente e, como resultado, a probabilidade prevista de passagem está incorreta.

  • 00:30:00 Neste vídeo, Alexander Amini discute os fundamentos do aprendizado profundo e como otimizar uma rede neural usando gradiente descendente. Ele explica que o aprendizado profundo envolve o treinamento de uma rede para melhorar suas previsões com base em dados. O objetivo é encontrar pesos (w's) que minimizem o erro da rede em média, em todos os conjuntos de dados.

  • 00:35:00 No aprendizado profundo, a propagação reversa é um processo de propagação de gradientes até a entrada de uma rede neural para determinar como cada peso precisa mudar para diminuir sua perda. Na prática, usar taxas de aprendizado que não sejam nem muito pequenas nem muito grandes evita mínimos locais e ainda converge para um ótimo global.

  • 00:40:00 Alexander Amini discute como treinar redes neurais profundas usando gradiente descendente, taxas de aprendizado adaptativo e lotes. Ele também discute os perigos do overfitting e como mitigá-lo.

  • 00:45:00 Nesta palestra, os principais pontos abordados foram os blocos de construção fundamentais das redes neurais, como completar o quebra-cabeça e treiná-los e como usar uma função de perda. Na próxima palestra, Ava falará sobre modelagem de seqüência profunda usando rnn's e um novo e empolgante tipo de modelo chamado transformador.
MIT Introduction to Deep Learning (2022) | 6.S191
MIT Introduction to Deep Learning (2022) | 6.S191
  • 2022.03.11
  • www.youtube.com
MIT Introduction to Deep Learning 6.S191: Lecture 1Foundations of Deep LearningLecturer: Alexander AminiFor all lectures, slides, and lab materials: http://i...
 

MIT 6.S191 (2022): Redes Neurais Recorrentes e Transformadores



Aula 2. MIT 6.S191 (2022): Redes Neurais Recorrentes e Transformadores

Esta seção da palestra do MIT fornece uma introdução à modelagem de sequência, explicando a importância de lidar com dados sequenciais com exemplos como prever a trajetória de uma bola. As redes neurais recorrentes (RNNs) são apresentadas como um meio de lidar com a modelagem de sequência, com a palestra explicando como as RNNs usam uma memória interna (ou estado) para capturar o histórico anterior que informa as previsões presentes e futuras. A palestra também discute como as RNNs podem ser desenroladas ao longo do tempo para tornar as matrizes de peso mais explícitas e apresenta problemas de projeto e critérios para modelagem de sequência. O vídeo também aborda problemas comuns com RNNs, como o problema do gradiente de fuga, e apresenta o conceito de atenção como uma possível solução que permite ao modelo atender às partes mais importantes da entrada sem recorrência. A palestra termina com uma discussão sobre como os mecanismos de autoatenção podem ser aplicados a domínios além do processamento da linguagem, como em biologia e visão computacional.

  • 00:00:00 Nesta seção do vídeo, a palestra apresenta o conceito de modelagem de sequência e sua importância na manipulação de tarefas que envolvem dados sequenciais. O palestrante começa com um exemplo simples de previsão da trajetória de uma bola, onde adicionar os dados da posição anterior da bola melhora muito a previsão. Dados sequenciais estão ao nosso redor em várias formas, como áudio, texto, sinais de eletrocardiograma e preços de ações. O palestrante explica a diferença entre modelos feed-forward e modelos de sequência e fornece exemplos de aplicações do mundo real em que a modelagem de sequência é necessária. Para construir uma compreensão fundamental da modelagem de sequência, o palestrante revisita o conceito do perceptron e demonstra passo a passo como modificá-lo para lidar com dados sequenciais.

  • 00:05:00 Nesta seção, o vídeo discute o conceito de redes neurais recorrentes (RNNs) e como elas lidam com dados sequenciais. A saída de um RNN em um intervalo de tempo específico depende não apenas da entrada naquele intervalo de tempo, mas também da memória do intervalo de tempo anterior. Essa memória captura o histórico anterior do que ocorreu anteriormente na sequência e é transmitido a cada passo de tempo anterior. O vídeo explica como os RNNs usam uma memória interna (ou estado) para capturar essa noção de memória e como a saída em uma determinada etapa de tempo é uma função da entrada atual e da memória passada. O vídeo também descreve como esses tipos de neurônios podem ser definidos e retratados como uma relação de recorrência.

  • 00:10:00 Nesta seção da palestra, o instrutor explica o conceito de relação de recorrência em redes neurais e como ela forma a ideia-chave por trás das redes neurais recorrentes (RNNs). A RNN mantém um estado interno, h de t, que é atualizado a cada intervalo de tempo pela aplicação de uma relação de recorrência que funciona como uma combinação da entrada atual e do estado anterior. Os parâmetros desta função são representados por um conjunto de pesos que são aprendidos durante o treinamento. O RNN prevê a saída após ter processado todas as palavras e pontos de tempo na sequência. O vetor de saída, y de t, é gerado passando o estado interno por uma matriz de peso e aplicando uma não linearidade. A palestra fornece uma representação visual de como o loop RNN retroalimenta a si mesmo e pode ser desenrolado ao longo do tempo.

  • 00:15:00 Nesta seção, o palestrante explica como um RNN pode ser desenrolado ao longo do tempo para tornar mais explícitas as matrizes de peso que computam aplicadas à entrada. As matrizes de peso são reutilizadas em todas as etapas de tempo individuais. O palestrante também inclui um exemplo de como implementar uma RNN a partir do zero e define a função de chamada, que define a passagem direta pelo modelo RNN. O palestrante destaca a utilidade das RNNs em uma variedade de aplicações e motiva um conjunto de critérios de projeto concretos a serem lembrados.

  • 00:20:00 Nesta seção, o palestrante discute problemas de design e critérios para modelagem de sequência, que incluem manipulação de sequências de comprimento variável, rastreamento de dependências de longo prazo, preservação e raciocínio sobre ordem e compartilhamento de parâmetros entre sequências. O palestrante explica a importância dos embeddings para representar a linguagem como vetores numéricos que podem ser alimentados em uma rede neural, sendo um exemplo um one-hot embedding onde vetores binários indicam a identidade de uma palavra. O palestrante também sugere o uso de modelos de aprendizado de máquina, como redes neurais, para aprender embeddings. No geral, esses conceitos servem como base para redes neurais recorrentes e para a arquitetura transformadora emergente, que será discutida posteriormente na palestra.

  • 00:25:00 Nesta seção, é introduzido o conceito de incorporações aprendidas, que é o mapeamento do significado das palavras para uma codificação mais informativa que permite que palavras semelhantes com significados semelhantes tenham incorporações semelhantes. As redes neurais recorrentes (RNNs) são capazes de lidar com comprimentos variáveis de sequência, capturar e modelar dependências de longo prazo e reter um senso de ordem, tornando-as úteis para tarefas de modelagem de sequência, como prever a próxima palavra em uma frase. O algoritmo de retropropagação através do tempo é introduzido como o meio para treinar RNNs, que envolve a retropropagação de erros em cada etapa de tempo e a realização de multiplicações de matrizes, resultando potencialmente em problemas computacionais.

  • 00:30:00 Nesta seção, o problema de gradientes explosivos e de desaparecimento de gradientes em modelos neurais recorrentes é discutido, e três soluções para mitigar o problema de desaparecimento de gradientes são apresentadas. O problema do gradiente de desaparecimento pode fazer com que um modelo neural priorize as dependências de curto prazo sobre as de longo prazo, levando a previsões imprecisas. As três soluções discutidas são escolher uma função de ativação apropriada, inicializar pesos de forma inteligente e usar uma unidade recorrente mais complexa, como uma rede de memória de longo prazo (LSTM) que pode controlar seletivamente o fluxo de informações através de seus vários portões. A rede LSTM usa vários portões que interagem para manter informações relevantes e eliminar informações irrelevantes.

  • 00:35:00 Nesta seção do vídeo, o palestrante discute os fundamentos das redes neurais recorrentes (RNNs) e sua arquitetura, incluindo a importância de estruturas com portas e mitigação contra o problema de gradiente de fuga. Em seguida, eles fornecem exemplos concretos de como os RNNs podem ser usados, incluindo a previsão da próxima nota musical em uma sequência para gerar uma nova música e classificar o sentimento do tweet. O palestrante também destaca as limitações das RNNs, como gargalo de codificação, ineficiência e perda potencial de informações na codificação.

  • 00:40:00 Nesta seção, são discutidas as limitações das redes neurais recorrentes (RNNs) em lidar com sequências longas, particularmente o gargalo causado pela relação de recorrência. O conceito de atenção é apresentado como uma possível solução para este problema, permitindo que o modelo identifique e atenda as partes mais importantes da entrada. A atenção é explicada como um mecanismo emergente e poderoso para redes neurais modernas, particularmente no contexto da arquitetura do transformador. A intuição por trás da auto-atenção é desenvolvida considerando a capacidade dos humanos de identificar partes importantes de uma imagem e extrair recursos dessas regiões com alta atenção.

  • 00:45:00 Nesta seção, é explicado o conceito de busca e como ele se relaciona com a autoatenção em redes neurais como transformadores. A ideia é atender as características mais importantes da sequência de entrada sem recorrência, fazendo uso de embeddings que tenham alguma noção de posição. O processo envolve extrair a consulta, a chave e os recursos de valor, que são três transformações distintas da mesma incorporação posicional. O mecanismo de atenção calcula as sobreposições entre a consulta e a chave, e o valor extraído é baseado nessa computação, o que permite à rede identificar e atender as partes mais relevantes da entrada.

  • 00:50:00 Nesta seção do vídeo, o instrutor explica como funciona o mecanismo de atenção nas redes neurais. O mecanismo de atenção calcula o peso da atenção a ser prestada a diferentes áreas da entrada. Isso pode ser obtido calculando a similaridade entre a consulta e os vetores-chave usando um produto escalar e dimensionando-o. A função softmax é então usada para reduzir cada valor para que ele varie entre 0 e 1. A matriz resultante é a ponderação de atenção, que reflete a relação entre os componentes de entrada. Essa matriz de ponderação é usada para extrair recursos com alta atenção, e várias cabeças de atenção individuais podem ser usadas para atender a diferentes aspectos da entrada. Esse mecanismo de atenção é uma ferramenta poderosa, como exemplificado por seu uso em arquiteturas de transformadores que possuem uma variedade de aplicações, principalmente no processamento de linguagem.

  • 00:55:00 Nesta seção, o palestrante discute como os mecanismos de auto-atenção podem ser aplicados a domínios além do processamento de linguagem, como em biologia com a arquitetura de rede neural Alpha Fold 2 para previsão de estrutura de proteínas e em visão computacional com Vision Transformers . O palestrante também resume a discussão anterior sobre tarefas de modelagem de sequência e como as RNNs são poderosas para processar dados sequenciais e como os mecanismos de autoatenção podem efetivamente modelar sequências sem a necessidade de recorrência. A hora restante da palestra é dedicada às sessões de laboratório de software onde os alunos podem baixar os laboratórios do site do curso e executar os blocos de código para concluir os laboratórios, com horários de atendimento virtuais e presenciais disponíveis para atendimento.
MIT 6.S191 (2022): Recurrent Neural Networks and Transformers
MIT 6.S191 (2022): Recurrent Neural Networks and Transformers
  • 2022.03.18
  • www.youtube.com
MIT Introduction to Deep Learning 6.S191: Lecture 2Recurrent Neural NetworksLecturer: Ava SoleimanyJanuary 2022For all lectures, slides, and lab materials: h...
 

MIT 6.S191: Redes Neurais Convolucionais



Aula 3. MIT 6.S191 (2022): Redes Neurais Convolucionais

Este vídeo apresenta redes neurais convolucionais, um tipo de algoritmo de aprendizado de máquina usado para detectar recursos em imagens. O vídeo explica que, ao usar um número menor de recursos, a rede pode classificar as imagens com mais precisão. O vídeo também discute como um cnn pode ser usado para detectar e localizar vários objetos em uma imagem.

  • 00:00:00 Neste vídeo, Alexander Amini discute como o aprendizado profundo revolucionou a visão computacional e os aplicativos, e como um exemplo é o reconhecimento facial de dados.

  • 00:05:00 Nesta seção, ele discute como a visão computacional é usada para reconhecer e classificar imagens. Ele também discute como detectar recursos em imagens e como classificar imagens usando recursos.

  • 00:10:00 Esta parte discute como as redes neurais convolucionais podem ser usadas para detectar recursos em imagens. O vídeo explica que, ao achatar uma imagem, a estrutura espacial é perdida, tornando mais difícil para a rede aprender os recursos. O vídeo também explica que, ao usar patches de pesos, a rede pode preservar a estrutura espacial e facilitar o aprendizado dos recursos.

  • 00:15:00 Redes neurais convolucionais são um tipo de algoritmo de aprendizado de máquina usado para detectar recursos em imagens. O algoritmo funciona deslizando um pequeno patch em uma imagem e detectando recursos que estão presentes no patch. Os pesos para o patch são então determinados treinando a rede em um conjunto de exemplos.

  • 00:20:00 Redes neurais convolucionais são um tipo de algoritmo de aprendizado de máquina que pode ser usado para extrair recursos de imagens. O objetivo da convolução é tomar como entrada duas imagens e produzir uma terceira imagem que preserva a relação espacial entre os pixels.

  • 00:25:00 Neste vídeo, o apresentador descreve como as redes neurais convolucionais são implementadas em redes neurais e como elas são estruturadas. Ele também explica como as três principais operações em uma rede neural convolucional - convolução, não linearidade e pooling - funcionam.

  • 00:30:00 Este vídeo apresenta redes neurais convolucionais, um nó no pipeline de aprendizado de máquina que é conectado a outros nós na saída i. As camadas convolucionais são definidas por parâmetros que definem o arranjo espacial da saída de uma camada. O objetivo de uma camada convolucional é aprender características hierárquicas de uma camada convolucional para a seguinte. Isso é feito empilhando três etapas - extração de recursos, redução de escala espacial e agrupamento máximo - em conjunto. Por fim, o vídeo mostra o código para uma primeira rede neural convolucional de ponta a ponta.

  • 00:35:00 Alexander Amini discute como as redes neurais convolucionais podem ser usadas para tarefas de classificação de imagens. Ele explica que, ao usar um número maior de recursos, a imagem reduzida de um carro pode ser classificada com mais precisão como um táxi. Ele também discute como um cnn pode ser usado para detectar e localizar vários objetos em uma imagem, mesmo quando eles estão localizados em locais diferentes na imagem.

  • 00:40:00 O curso MIT 6.S191: Convolutional Neural Networks discute uma heurística para detecção de objetos que é muito mais lenta e frágil do que outros métodos. O método rcnn mais rápido, que tenta aprender regiões em vez de confiar em uma heurística simples, é proposto como uma solução para esses problemas.

  • 00:45:00 Neste vídeo, Alexander Amini discute redes neurais convolucionais, suas origens e suas aplicações. Ele também aborda o impacto das cnns em uma ampla gama de tarefas e campos.
MIT 6.S191 (2022): Convolutional Neural Networks
MIT 6.S191 (2022): Convolutional Neural Networks
  • 2022.03.25
  • www.youtube.com
MIT Introduction to Deep Learning 6.S191: Lecture 3Convolutional Neural Networks for Computer VisionLecturer: Alexander AminiJanuary 2022For all lectures, sl...