Aprendizado de máquina e redes neurais - página 18

 

Aula 4. Pesquisa: Profundidade Primeiro, Escalada de Encosta, Viga



4. Pesquisa: primeiro em profundidade, escalada em encosta, viga

Neste vídeo do YouTube, Patrick Winston discute diferentes algoritmos de pesquisa, incluindo buscas em profundidade, subida de colina, viga e melhor primeiro. Usando um mapa como exemplo, ele demonstra as vantagens e limitações de cada algoritmo e como a compreensão de diferentes métodos de pesquisa pode melhorar as habilidades de resolução de problemas. Winston também discute a aplicação de algoritmos de busca em sistemas inteligentes, usando o sistema Genesis para responder perguntas sobre a história de Macbeth. Ele também apresenta o conceito de vitória de Pirro e como os programas de busca podem descobrir tais situações examinando gráficos e relatando suas descobertas em inglês. No geral, o vídeo fornece uma visão abrangente dos algoritmos de pesquisa e seu uso prático em cenários do mundo real.

  • 00:00:00 Nesta seção, Patrick Winston discute diferentes métodos de busca e como eles se relacionam com nossas próprias habilidades de resolução de problemas. Ele demonstra a importância de um bom algoritmo de busca com o exemplo de encontrar o caminho ideal de um ponto a outro em um mapa. Ele também introduz o conceito de busca no Museu Britânico, em que todos os caminhos possíveis são explorados, mas observa que esse método não é eficiente. Ele passa a discutir a busca em profundidade, subida de colina e feixe e como eles podem ser usados em diferentes cenários. Ele enfatiza que a compreensão de diferentes algoritmos de busca pode ajudar a desenvolver a intuição sobre a solução de problemas e também pode fornecer informações sobre como nossos cérebros lidam com problemas.

  • 00:05:00 Nesta seção, o conceito de Profundidade, Escalada e Pesquisas de Viga são introduzidos usando o exemplo de um mapa. O algoritmo do Museu Britânico é utilizado para ilustrar como todos os caminhos possíveis podem ser encontrados sem morder o próprio rabo em um mapa. Embora a Pesquisa seja representada por meio de mapas, fica claro que ela não se limita a eles e, na verdade, trata de escolhas que são feitas ao tentar tomar decisões. A busca em profundidade é uma das buscas apresentadas e consiste em avançar de forma obstinada, escolher um caminho e voltar atrás quando se depara com um beco sem saída. O processo de backtracking também é introduzido como forma de tornar o algoritmo mais eficiente.

  • 00:10:00 Nesta seção, o vídeo discute dois algoritmos de pesquisa principais: pesquisa em profundidade e pesquisa em largura. A busca em profundidade é melhor usada em conjunto com a técnica opcional de retrocesso, pois pode evitar a perda de um caminho que leva ao objetivo. A busca em largura constrói uma árvore nível por nível e completa um caminho que leva ao objetivo. O vídeo então testa os dois algoritmos de busca em um problema de amostra, movendo a posição inicial e ajustando a busca de acordo. Um fluxograma é apresentado para demonstrar o algoritmo de busca, utilizando uma fila para representar os caminhos em consideração.

  • 00:15:00 Nesta seção, o palestrante explica como funciona o algoritmo de busca em profundidade. O algoritmo começa inicializando a fila e estendendo o primeiro caminho na fila. Depois de estender s, o falante obtém dois caminhos, s vai para a e s vai para b. Para a pesquisa em profundidade, os novos caminhos estendidos são colocados na frente da fila para que o algoritmo possa continuar descendo na árvore de pesquisa. O palestrante também explica que a Busca em Largura usa o mesmo algoritmo da Busca em Profundidade com uma linha alterada, que é colocar os novos caminhos no final da fila em vez de na frente.

  • 00:20:00 Nesta seção, aprendemos sobre as limitações da pesquisa em largura e como melhorá-la. O algoritmo é considerado ineficiente e não sabe dizer se está se aproximando ou se afastando do objetivo. Além disso, muitas vezes estende caminhos que vão para o mesmo nó mais de uma vez, e precisamos evitar isso. Ao alterar o algoritmo para não estender um caminho, a menos que um nó final não tenha sido estendido antes, podemos evitar a perda de tempo em caminhos duplicados. Usando esse método, vemos uma melhoria significativa na eficiência da pesquisa e na qualidade do caminho.

  • 00:25:00 Nesta seção, o vídeo explora a busca Hill Climbing como uma abordagem mais informada para encontrar o nó objetivo considerando a distância até o nó. Semelhante à pesquisa em profundidade, o Hill Climbing lista as opções lexicamente e desfaz os empates com base na proximidade do nó objetivo. Isso resulta em um caminho mais reto sem retrocesso, embora nem sempre seja o caminho ideal. O vídeo demonstra que o Hill Climbing produz menos enfileiramentos e um caminho mais direto em comparação com a pesquisa em profundidade. O vídeo incentiva o uso de heurística em algoritmos de busca, se disponível.

  • 00:30:00 Nesta seção, o instrutor discute a técnica de Beam Search, um complemento ou adição à pesquisa em largura que permite uma pesquisa informada usando heurística. O Beam Search define um limite no número de caminhos a serem considerados em cada nível e mantém apenas os dois primeiros caminhos que podem chegar mais perto do objetivo, aproveitando informações extras ou medição heurística da distância até o objetivo. O instrutor menciona que o Hill Climbing também é uma busca informada que adiciona novos caminhos à frente da fila considerando a distância até o objetivo, que são classificados para manter tudo reto.

  • 00:35:00 Nesta seção, o palestrante discute o Beam Search e o Best-first Search, dois algoritmos de pesquisa adicionais que podem ser usados em espaços contínuos, como montanhas. Beam Search envolve selecionar e manter os w melhores caminhos como solução, enquanto Best-first Search envolve sempre trabalhar no nó folha que está mais próximo do objetivo e pode pular na árvore de pesquisa. O Hill Climbing pode encontrar problemas em espaços contínuos, como ficar preso em um máximo local ou não conseguir se mover em uma área plana. Finalmente, o palestrante ilustra um problema adicional com o Hill Climbing em espaços dimensionais elevados, onde uma ponte pontiaguda pode estar presente.

  • 00:40:00 Nesta seção, o vídeo discute a inteligência de modelagem e a necessidade de algoritmos de busca na construção de sistemas inteligentes. O palestrante usa o exemplo de um mapa topográfico para ilustrar como podemos nos enganar pensando que estamos no topo, quando na verdade não estamos. Isso leva ao conceito de busca, que é necessário para fazer planos e avaliar escolhas. O palestrante então demonstra o uso do sistema Gênesis para responder perguntas sobre a história de Macbeth usando um algoritmo de busca. O sistema absorve informações, constrói um gráfico de elaboração e busca padrões na história relacionados à vingança e outros conceitos de nível superior.

  • 00:45:00 Nesta seção, Patrick Winston discute o conceito de vitória de Pirro, que é uma situação em que tudo parece estar indo bem no início, mas eventualmente leva a consequências negativas. Ele demonstra como os programas de pesquisa podem descobrir essas informações examinando gráficos e podem responder a perguntas com base nessas informações. Os programas usam uma combinação de declarações explícitas e regras se/então para construir esses gráficos e relatar as informações em inglês. Winston também menciona que esses programas podem gerar respostas de bom senso e pensamentos de alto nível, relatando as pesquisas que produziram as informações. Por fim, ele demonstra a capacidade do sistema de responder a perguntas sobre o caráter e as motivações de Macbeth usando a saída de linguagem gerada por um sistema analisador.
 

Aula 5. Pesquisa: Optimal, Branch and Bound, A*



5. Pesquisa: Optimal, Branch and Bound, A*

O vídeo discute vários algoritmos de busca para encontrar o caminho mais curto entre dois lugares, com foco no exemplo da Rota 66 entre Chicago e Los Angeles. O vídeo apresenta o conceito de distância heurística e fornece exemplos de diferentes algoritmos de pesquisa, como subida de colina, pesquisa de feixe e ramificação e limite. O palestrante enfatiza a importância do uso de heurísticas admissíveis e consistentes no algoritmo A* para otimizar a busca. Além disso, o vídeo observa a eficácia do uso de uma lista estendida e distâncias aéreas para determinar limites inferiores no caminho mais curto. Por fim, o vídeo termina com a promessa de discutir mais refinamentos do algoritmo A* na próxima palestra.

  • 00:00:00 Nesta seção, o professor discute como encontrar o caminho mais curto entre dois lugares, com foco no exemplo da Rota 66 entre Chicago e Los Angeles. Ele menciona a criação do sistema de rodovias interestaduais pelo presidente Eisenhower, que queria replicar a capacidade do exército alemão de mover tropas rapidamente pelo país. O professor então apresenta o conceito de distância heurística e como ela pode ajudar a encontrar o melhor caminho, embora nem sempre seja verdade. Ele também dá exemplos de diferentes algoritmos de busca, como subida de colina e busca de feixe, que visam encontrar o melhor caminho estando próximo ao destino.

  • 00:05:00 Nesta seção, o professor discute o conceito de distância heurística e o princípio da solução de problemas perguntando a alguém que sabe a resposta. Usando o exemplo de encontrar o caminho mais curto em um mapa, o professor sugere seguir o caminho sugerido por Juana, mas verifica verificando se todos os outros caminhos possíveis acabam sendo mais longos do que o sugerido. O professor detalha o processo de cálculo do comprimento do caminho e escolha do caminho mais curto a ser estendido, até que o comprimento do caminho corresponda ao sugerido por Juana.

  • 00:10:00 Nesta seção, o palestrante discute como encontrar o caminho mais curto sem um oráculo. A abordagem envolve estender o caminho mais curto até chegar ao objetivo. O palestrante fornece um exemplo para ilustrar o processo de encontrar o caminho mais curto considerando caminhos com comprimentos não negativos. A abordagem verifica se algum trabalho feito até agora é desperdiçado e, se não, o comprimento do caminho é o mais curto. O palestrante explica que essa abordagem pode encontrar o caminho mais curto, mas pode haver outros caminhos se existirem comprimentos de comprimento zero.

  • 00:15:00 Nesta seção do vídeo, o palestrante demonstra o uso de ramificação e limite para encontrar o caminho mais curto em um mapa mais complicado. Eles mencionam a decoração do fluxograma e explicam o processo de inicialização da fila, testando o primeiro caminho na fila e estendendo os caminhos que não são vencedores. O palestrante observa que a abordagem de ramificação e limite coloca muitos caminhos na fila e estende muitos caminhos que não são ideais, mas isso pode ser melhorado apenas estendendo caminhos que não foram estendidos antes. O palestrante enfatiza a importância de usar apenas a abordagem de caminhos estendidos para encontrar caminhos ótimos.

  • 00:20:00 Nesta seção, o conceito de uma lista estendida é introduzido como uma melhoria de ajuste para o algoritmo branch-and-bound. A lista estendida impede que o algoritmo estenda caminhos que já foram estendidos e que possuem comprimentos de caminho maiores do que aqueles que já atingiram o mesmo ponto. Ao manter uma lista extensa, vastas áreas da árvore podem ser podadas, reduzindo o número de extensões necessárias para chegar a uma solução. Em comparação com o exemplo anterior, o novo algoritmo requer apenas 38 extensões em vez de 835, resultando em uma economia substancial no tempo computacional.

  • 00:25:00 Nesta seção, é introduzido o conceito de usar distâncias aéreas para determinar o limite inferior para o caminho mais curto possível. A distância acumulada e a distância aérea são adicionadas para fornecer um limite inferior no caminho. A simulação é então demonstrada com a seleção do caminho com a menor distância potencial de S a G. Em caso de empate, o caminho com o menor valor lexicalmente é escolhido.

  • 00:30:00 Nesta seção, o palestrante discute o uso de heurística para acelerar os algoritmos de busca de grafos. Usar uma heurística admissível é quando uma estimativa é garantidamente menor que a distância real. A lista estendida é mais útil do que usar uma dessas heurísticas de limite inferior. No entanto, a eficácia das heurísticas depende do problema e, ao alterar o posicionamento da posição inicial, os resultados da pesquisa podem ser alterados. Por fim, é importante observar que o uso de heurísticas pode não repetir movimentos pelo mesmo nó, mas não necessariamente fará algo essencial para uma busca eficiente.

  • 00:35:00 Nesta seção, o vídeo discute A*, um algoritmo de busca que combina a heurística admissível e o algoritmo branch and bound. Ao utilizar ambas as técnicas, A* pode melhorar muito seu desempenho individual. A heurística admissível usa um objetivo estrito, enquanto o algoritmo branch and bound entende a exploração espacial envolvida. O vídeo mostra como A* pode resolver problemas de forma mais eficiente quando ambas as técnicas são utilizadas juntas. No entanto, o vídeo também observa que certas circunstâncias podem tornar a admissibilidade impossível se a busca for além dos mapas tradicionais. Como resultado, a hierarquia admissível e o algoritmo A* podem se tornar menos eficazes na busca de soluções ótimas.

  • 00:40:00 Nesta seção, o professor explica o conceito de heurísticas admissíveis no algoritmo A*. Ele mostra um exemplo de mapa com distâncias ímpares e explica como o uso de uma heurística admissível nem sempre leva a encontrar o caminho mais curto. O professor enfatiza que a heurística admissível só funciona para mapas e que para fazer o algoritmo funcionar em situações que não são mapas, é preciso algo mais forte que a admissibilidade nas heurísticas. O vídeo termina com a promessa de discutir esse refinamento na próxima palestra.

  • 00:45:00 Nesta seção, o palestrante discute os requisitos para uma função heurística funcionar dentro do algoritmo A*. Ele introduz os conceitos de admissibilidade e consistência, explicando que uma função heurística deve ser admissível e consistente para funcionar em situações em que não é um mapa. Ele mostra que usar uma heurística admissível, mas inconsistente, pode fazer com que o algoritmo falhe, mesmo em cenários onde uma heurística consistente teria funcionado. Finalmente, o palestrante enfatiza a importância de usar todas as vantagens disponíveis para otimizar o algoritmo A*, inclusive usando uma lista estendida e uma função heurística apropriada.
 

Aula 6. Pesquisa: Jogos, Minimax e Alpha-Beta



6. Pesquisa: Jogos, Minimax e Alpha-Beta

O vídeo discute a história do jogo em AI, começando com a famosa citação de Dreyfus de que os computadores não podem jogar xadrez. Os palestrantes explicam como as regras if-then não são eficazes em programas de jogo, e uma análise e estratégia mais profundas são necessárias. Eles introduzem o algoritmo minimax e o conceito de poda alfa-beta para otimizar a eficiência da pesquisa do jogo. O vídeo também explora técnicas como a minimização do custo das apólices de seguro e o aprofundamento progressivo. O palestrante conclui que, embora a inteligência do bulldozer seja importante, não é necessariamente o mesmo tipo de inteligência que os humanos têm em suas próprias cabeças.

  • 00:00:00 Nesta seção, os palestrantes discutem o início da história dos jogos em IA, destacando uma famosa citação de Hubert Dreyfus de que os computadores não podem jogar xadrez. No entanto, os palestrantes argumentam que os jogos podem modelar alguns elementos da inteligência e, assim, passam a explicar como um computador pode jogar xadrez. Eles consideram o uso de regras if-then para abordar um jogo, um método que não é muito eficaz, mas foi implementado com sucesso em alguns programas de jogos de damas. Os palestrantes finalmente concluem que análises e estratégias mais profundas, juntamente com táticas e velocidade, são necessárias em programas de jogo, que eles explorarão mais adiante na seção.

  • 00:05:00 Nesta seção, o palestrante discute a terceira maneira de criar um programa de jogo de xadrez forte, que envolve olhar para frente e avaliar todas as possíveis consequências dos movimentos para determinar a melhor situação possível no tabuleiro. Isso requer uma função que combine os recursos do tabuleiro de xadrez para produzir um valor estático usado para determinar a melhor situação do tabuleiro. O palestrante explica que a forma mais popular de formar um valor estático é usando um polinômio de pontuação linear. No entanto, o método usado não precisa classificar as situações do tabuleiro ou dar-lhes números; apenas tem que determinar o melhor. O palestrante também fala sobre o fator de ramificação das árvores de movimento e como calcular o número de nós terminais ou folhas.

  • 00:10:00 Nesta seção, o palestrante explica as limitações do algoritmo do Museu Britânico no xadrez devido ao grande número de nós de folha na árvore de decisão do jogo. Segundo Claude Shannon, existem cerca de 10 elevado a 120 nós de folha no xadrez, o que torna inviável usar o tratamento do Museu Britânico para avaliar a melhor jogada. Para colocar esse número em perspectiva, o palestrante calcula que, mesmo que todos os átomos do universo estivessem fazendo avaliações estáticas em velocidades de nanossegundos desde o início do Big Bang, ainda teríamos 14 ordens de magnitude a menos. Assim, o palestrante conclui que precisamos olhar o mais longe possível se quisermos avaliar a melhor jogada no xadrez.

  • 00:15:00 Nesta seção, o palestrante explica o algoritmo minimax, que envolve atribuir valores aos nós de folha de uma árvore de jogo e “apoiá-los” nível por nível para determinar o melhor movimento possível para cada jogador. O jogador maximizador quer conduzir a jogada para o maior valor, enquanto o jogador minimizador quer empurrá-la para o menor valor. Calculando esses valores e decidindo o melhor curso de ação, o algoritmo pode ser usado para jogar jogos adversários, como xadrez. O palestrante ilustra o algoritmo com uma árvore de jogo simples e também mostra um exemplo do algoritmo em ação com uma árvore de jogo maior.

  • 00:20:00 Nesta seção do vídeo, o foco é encontrar maneiras de ir o mais fundo possível na árvore de pesquisa para esclarecer as medidas brutas da qualidade do conselho que podem dar uma boa ideia do próximo movimento a ser feito . A solução para cortar grandes porções da árvore de busca está no algoritmo alpha-beta, que é uma camada em cima do minimax. Alfa-beta usa dois parâmetros, alfa e beta, para cortar seções da árvore de busca, permitindo uma busca mais eficiente. Este algoritmo não é uma alternativa ao minimax, mas sim uma forma de torná-lo mais eficiente. Um exemplo é dado para demonstrar como o algoritmo alfa-beta funciona na prática.

  • 00:25:00 Nesta seção, o palestrante discute o processo de busca de jogos e como ele pode ser otimizado por meio do uso de algoritmos como minimax e alpha-beta. O exemplo utilizado é uma árvore de profundidade quatro ou maior, onde o locutor circula os números que precisam ser computados, revelando que determinados ramos não precisam ser avaliados devido a situações de corte. Isso economiza tempo de computação e permite uma pesquisa de jogo mais eficiente. O palestrante também introduz o conceito de corte profundo, onde os números são comparados em níveis separados na árvore e certos ramos são considerados irrelevantes. Embora possa parecer difícil de acreditar, o processo é eficaz e pode aumentar muito a eficiência da pesquisa de jogos.

  • 00:30:00 Nesta seção, o vídeo discute o conceito de poda alfa-beta e como ela pode economizar tempo computacional em algoritmos de jogo. Ao avaliar os estados do tabuleiro, o minimizador e o maximizador podem decidir o melhor movimento possível a ser feito. O minimizador obtém um 8 em uma determinada direção e o maximizador pode obter um 9 em outra direção, criando uma situação de corte. A poda alfa-beta permite que o algoritmo prossiga por meio de árvores, com alfa e beta encolhendo em torno da situação, o que economiza computação. Embora esse método funcione apenas na situação ideal em que o fator de ramificação é constante, ele ainda economiza tempo e computação significativos, tornando-o uma ferramenta necessária para programas de jogos.

  • 00:35:00 Nesta seção, aprendemos como minimizar o custo das apólices de seguro para cálculos de árvore de jogo. Ao calcular os valores estáticos um nível acima do fundo e não totalmente abaixo, ele fornece uma apólice de seguro para garantir uma boa movimentação sem ter que calcular b para os nós folha d. O custo da apólice de seguro é calculado somando o número de folhas em cada nível da árvore. No entanto, para minimizar o custo, há um limite de quantos níveis a apólice deve cobrir a partir do primeiro nível. Usando a álgebra, descobriu-se que o cálculo necessário para a política de nível mais alto é igual a b elevado a d menos 1 sobre b menos 1, que é um cálculo administrável.

  • 00:40:00 Nesta seção, o conceito de aprofundamento progressivo é introduzido como forma de otimizar o resultado das apólices de seguro na árvore do jogo. Por ter sempre um movimento disponível em todos os níveis como uma apólice de seguro contra não passar para o próximo nível, o aprofundamento progressivo exemplifica como os algoritmos sempre têm uma resposta pronta para ir assim que for exigida. Além disso, Christopher sugere o uso de valores temporários para melhorar o desempenho de alfa-beta, uma ideia que mais tarde se mostra uma reinvenção de um conceito significativo. O programa Deep Blue não é muito diferente de outros programas de jogo, exceto pelo uso de computação paralela e técnicas especiais para o jogo final.

  • 00:45:00 Nesta seção, o palestrante discute o desenvolvimento de uma árvore irregular durante um jogo e como não é necessário que a árvore desça para um nível fixo. Ele fala sobre o Deep Blue derrotando Kasparov em 1997 devido aos floreios extras que o Deep Blue teve. No entanto, ele menciona que esse tipo de computação em que se faz cálculos da mesma forma que um trator processa cascalho é diferente da inteligência humana. Os mestres de xadrez humanos jogam de maneira diferente, reconhecendo padrões em vez de realizar longos cálculos. O palestrante conclui que é importante entender a inteligência do bulldozer, mas não é necessariamente o mesmo tipo de inteligência que os humanos têm em suas próprias cabeças.
 

Aula 7. Restrições: Interpretando Desenhos de Linha



7. Restrições: Interpretação de Desenhos de Linha

O vídeo discute o desenvolvimento de um problema de satisfação de restrições para interpretar desenhos de linha, que começou com a tentativa de criar um computador que pudesse ver objetos simples. O trabalho do experimentalista Guzman foi analisado, levando à abordagem de David Huffman de trabalhar em um mundo matemático simples com restrições que lhe permitiram desenvolver uma teoria melhor do que o programa de Guzman. O vídeo explora o vocabulário usado para catalogar e categorizar linhas e junções em desenhos, a possibilidade de ter cinco octantes preenchidos com coisas e o uso de restrições para testar objetos quanto à construtibilidade. O vídeo também discute o desafio de usar rótulos para interpretar desenhos de linhas, o algoritmo de Waltz e o processo de lidar com vértices de bifurcação na análise de desenhos. As restrições desenvolvidas neste projeto têm aplicações na resolução de problemas com muitas restrições, como coloração de mapas e escalonamento.

  • 00:00:00 Ele interpretaria desenhos de linha e determinaria o número de objetos dentro deles. Essa ideia foi refinada ainda mais por Dave Huffman, Dave Waltz e Jane Froydter. O trabalho neste projeto foi inicialmente motivado por uma tentativa de criar um computador que pudesse ver, começando com objetos simples como blocos infantis. Nesta seção da transcrição, Patrick Winston compartilha a história por trás da luta para desenvolver um dos métodos mais poderosos no assunto, que inclui problemas de satisfação de restrições, e como tudo começou com a tentativa de tornar um computador capaz de ver.

  • 00:05:00 Nesta seção, o palestrante discute o trabalho de Guzman que pesquisou desenhos de linha e como interpretá-los. Guzman descobriu que esses desenhos tendem a ter muitas junções do tipo seta e bifurcações, e ele as usou como evidência para deduzir quais faces pertencem ao mesmo objeto. Guzman surgiu com uma teoria de usar "links" como quanta de evidência para resolver este problema. Ele rejeitou a teoria de um elo e descobriu que a teoria de dois elos era muito conservadora, levando-o a uma terceira teoria de dois comprimentos repetidos. No entanto, houve muitas situações em que esse método não funcionou, e a questão de por que funcionou e quando não funcionou foi levantada. Verificou-se que funcionou porque o mundo está cheio de junções de três faces, ou vértices.

  • 00:10:00 Nesta seção, o vídeo discute a abordagem de David Huffman para desenvolver uma teoria sobre a interpretação de desenhos lineares após analisar o programa do experimentalista Guzman. Huffman decidiu trabalhar em um mundo matemático simples com várias características, como um mundo em posição geral que continha apenas vértices triédricos formados a partir da interseção de três planos, e distinguir entre quatro tipos de linhas: côncava, convexa e limite marcada com mais, menos e setas, respectivamente. Essas restrições permitiram que ele gerenciasse o problema manualmente enquanto desenvolvia uma teoria diferente e melhor do que o programa de Guzman.

  • 00:15:00 Nesta seção, o professor Patrick Winston discute o vocabulário usado para catalogar e categorizar linhas e junções em desenhos, incluindo vértices, arestas, junções e linhas. Ele continua explicando que existem apenas 18 maneiras de organizar rótulos em torno de uma junção e que todo o resto é excluído. Ele também fornece exemplos dos seis Ls, cinco garfos, quatro Ts e três setas que são legítimos para rotular junções. As diferentes formas de rotular as junções dependem dos octantes, com o número de octantes preenchidos determinando o tipo de junção.

  • 00:20:00 Nesta seção, o palestrante discute as possibilidades de ter cinco octantes preenchidos com coisas e explica como ver um objeto de três perspectivas diferentes para analisar o que é observado. Ao olhar o objeto pela perspectiva de um giz roxo, há uma junção de seta com dois côncavos e um convexo; do giz azul, há uma linha côncava e um limite, enquanto o outro lado é um
    oposto simétrico da perspectiva azul. O palestrante examina ainda mais os vértices que podem criar junções estilo garfo e estilo L, bem como obscurecer objetos que podem criar formas em T com a linha restante como limite. Por fim, o palestrante menciona que vértices com seis faces também podem ser criados quando objetos se juntam em um ponto.

  • 00:25:00 Nesta seção, o palestrante discute as restrições e como elas podem ser usadas para determinar se um determinado objeto pode ser construído ou não. Ao estudar o arranjo de linhas e setas ao redor de uma junção, um catálogo de todos os arranjos possíveis é criado. Usando este catálogo, o orador demonstra como rotular as linhas e setas em torno de um objeto que se assemelha ao home plate. Porém, diante de uma junção que não cabe no catálogo, o objeto é considerado impossível de construir. Esse método fornece uma maneira de testar objetos quanto à construtibilidade, embora passar no teste não seja suficiente para garantir a construtibilidade.

  • 00:30:00 Nesta seção, o vídeo explora o problema de interpretar desenhos de linhas em visão computacional. A abordagem inicial envolvia rotular junções com quatro faces, mas alguns desenhos não podiam ser rotulados devido à falta de faces. O aluno de pós-graduação David Waltz decidiu resolver esse problema e acrescentou mais considerações, como rachaduras, sombras e vértices não triédricos. Isso resultou no aumento do número de etiquetas de quatro para mais de 50, dificultando o trabalho manual. O trabalho de Waltz mostrou a importância de se ter um problema, um método que funcione e um princípio generalizável.

  • 00:35:00 Nesta seção, o palestrante discute o desafio de usar rótulos para interpretar desenhos de linha. Ele compartilha um exemplo de desenho de linha e explica como o algoritmo de Waltz, que envolve o uso de pesquisa em profundidade para explorar todos os rótulos possíveis e suas combinações, pode ser usado para interpretá-lo. O algoritmo, no entanto, provou ser computacionalmente caro e, após um ano e meio, Waltz teve que criar um novo método que pudesse lidar com o espaço de busca exponencial. O palestrante observa que a eficácia do algoritmo se deve à combinação do conjunto de rótulos de Waltz e seu novo método.

  • 00:40:00 Nesta seção, o palestrante discute o algoritmo de Waltz e como ele verifica as junções vizinhas para ver se as linhas que acabaram de ser colocadas na junção dois são compatíveis com as das junções vizinhas. Das seis possibilidades iniciais, metade delas é eliminada devido a linhas de limite não permitidas entre os cruzamentos um e dois. As possibilidades restantes são verificadas na junção três e, a partir daí, quaisquer outras restrições nas junções são verificadas, resultando em apenas uma interpretação para todas as junções e linhas entre elas.

  • 00:45:00 Nesta seção, o palestrante discute o processo de lidar com os vértices da bifurcação na análise do desenho. Após colocá-las, o locutor conclui que tem uma interpretação única para todas as junções e identifica quais linhas são convexas ou côncavas. O palestrante então demonstra o processo para desenhos com mais ambiguidade e observa que a atividade de propagação de restrição é semelhante à forma como os humanos interpretam desenhos de linha, revelando que podemos ter um aparato de propagação de restrição que usamos na visão. Por fim, o palestrante discute como esse tipo de mecanismo pode ser utilizado na resolução de problemas que envolvem muitas restrições, especificamente na coloração de mapas que tem aplicações em escalonamento.
 

Aula 8. Restrições: Busca, Redução de Domínio



8. Restrições: Pesquisa, Redução de Domínio

Este vídeo discute o conceito de restrições na resolução de problemas, especificamente no contexto de busca e redução de domínio. O palestrante usa o exemplo de atribuir cores aos estados em um mapa para ilustrar como as restrições podem ser usadas para restringir as possibilidades antes mesmo de iniciar a pesquisa. O palestrante também explora diferentes abordagens para lidar com restrições, como apenas verificar atribuições ou considerar tudo, e apresenta o conceito de planejamento de recursos como outra aplicação de solução de problemas baseada em restrições. No geral, o vídeo fornece uma visão abrangente de como as restrições podem ser usadas para resolver problemas complexos com eficiência.

  • 00:00:00 Nesta seção do vídeo, o palestrante discute a dificuldade do problema de coloração de mapas, usando um exemplo de mapa com 26 estados. Ele observa que uma pesquisa em profundidade com opções de cores rotativas levaria um tempo extremamente longo para encontrar uma coloração adequada e demonstra o problema com um diagrama. No entanto, ele introduz o conceito de propagação de restrição, que pode restringir as possibilidades de cor de cada estado antes mesmo de iniciar a busca. O palestrante então trabalha com o problema do Texas, mostrando como a propagação de restrições pode ajudar a evitar ficar preso em uma busca impossível.

  • 00:05:00 Nesta seção, o palestrante demonstra como usar restrições para resolver um problema de atribuição de cores a estados em um mapa. Ao usar o princípio das artes marciais e observar as restrições locais, o orador garante que nenhum estado adjacente tenha a mesma cor. O orador também introduz algum vocabulário importante, incluindo variáveis, valores e domínios. A noção de domínio é um saco de valores que uma variável pode assumir, e o palestrante usa esse vocabulário para mostrar como alguém pode fazer escolhas que não causarão problemas a jusante.

  • 00:10:00 Nesta seção, o palestrante explica como as restrições funcionam no contexto de busca e redução de domínio. Restrições são limitações em pares de valores de variáveis, que são freqüentemente usadas em problemas de coloração de mapas. Cada estado é uma variável, as cores são valores e as possibilidades de cores restantes são os domínios. A restrição neste caso é que nenhum estado que compartilhe um limite pode ter a mesma cor. O orador então formaliza sua abordagem para busca e redução em profundidade, escrevendo-a em pseudocódigo. O pseudocódigo envolve a consideração de uma variável para cada atribuição, considerando todas as opções restantes e garantindo que qualquer coisa deixada no domínio esteja adequada para alguma seleção nos outros estados.

  • 00:15:00 Nesta seção, o palestrante discute como lidar com restrições em um algoritmo de busca. Eles explicam que para cada valor na busca, o algoritmo deve verificar se ele satisfaz as restrições colocadas. Se não houver valor adjacente que satisfaça a restrição, o algoritmo remove o valor do domínio. Se o domínio ficar vazio, o algoritmo deve retroceder. O palestrante explora diferentes maneiras de abordar o problema, incluindo não considerar nada, considerar tudo e apenas verificar as atribuições, descobrindo que apenas verificar as atribuições é rápido, mas pode resultar em erros, enquanto considerar tudo verifica todos os valores adjacentes, mas pode ser um exagero.

  • 00:20:00 Nesta seção, o palestrante discute o algoritmo de redução de domínio no contexto da solução de um problema de mapeamento de cores. Eles explicam que checar os vizinhos da atribuição, ou seja, verificar quais opções de cores estão disponíveis para os estados vizinhos, é fundamental para solucionar o problema. O palestrante também sugere a propagação por variáveis com domínios reduzidos para tornar o processo mais eficiente. Além disso, verificando os vizinhos dos vizinhos, o processo de solução de problemas pode ser ainda mais simplificado. O palestrante observa que os algoritmos de redução de domínio podem ajudar a resolver problemas complexos, mas também reconhece as limitações e o potencial de becos sem saída.

  • 00:25:00 Nesta seção, o palestrante discute a redução de domínio e como decidir por quais variáveis propagar. Em vez de se propagar por todas as variáveis com domínios reduzidos, o algoritmo só se propaga por aquelas com maior encolhimento, até um único valor. Ao fazer isso, reduz o número de restrições verificadas, levando a tempos de resolução mais rápidos. O palestrante também apresenta alguns "segredinhos sujos", como organizar um problema em uma determinada ordem para torná-lo mais difícil de resolver. A escolha entre começar com a variável mais restrita ou menos restrita fica a critério do usuário.

  • 00:30:00 Nesta seção do vídeo, o palestrante discute como trabalhar primeiro com a menor restrição e como eles reordenaram as coisas para ter o estado menos restrito primeiro. Eles verificaram apenas 1.732 restrições e tiveram 59 becos sem saída, então tentaram o contrário, verificando apenas as primeiras atribuições mais restritas. No entanto, eles mencionam que se os estados fossem arranjados da maior restrição para a menor restrição, a busca em profundidade comum funcionaria bem. O palestrante então apresenta um problema de planejamento de recursos com a Jet Green, uma nova companhia aérea, e discute como ele é análogo ao problema de coloração de mapas. Jet Green quer voar principalmente entre Boston e Nova York e ocasionalmente quer voar para Los Angeles enquanto tenta sobreviver com o menor número de aviões.

  • 00:35:00 Nesta seção, o palestrante apresenta um exemplo de agendamento de voos entre cidades, que pode ser resolvido aplicando os conceitos do problema de coloração de mapas. O desafio é organizar as quatro aeronaves para operar nas rotas desejadas com eficiência. O palestrante destaca as restrições do problema: dois aviões não podem voar ao mesmo tempo, cada avião deve ser usado igualmente e há restrições de tempo no solo. Além disso, o palestrante demonstra que a escolha da estratégia de busca, redução de domínio, verificação de vizinhos e o primeiro tipo mais restrito podem impactar na eficiência da solução.

  • 00:40:00 Nesta seção, o instrutor apresenta o conceito de uso de restrições mínimas e máximas para determinar o número apropriado de recursos necessários para uma tarefa. Ao definir um número mínimo e máximo de recursos, o algoritmo pode convergir rapidamente para um intervalo estreito onde a busca está demorando muito, tornando possível ter certeza de que ele está dentro desse intervalo. O instrutor também recomenda usar a maioria das restrições primeiro e propagar pelos domínios reduzidos a um único algoritmo para obter uma boa alocação de recursos. Fazendo várias coisas ao mesmo tempo, é possível determinar rapidamente os recursos necessários para uma tarefa.
 

Aula 9. Restrições: Reconhecimento Visual de Objetos



9. Restrições: Reconhecimento Visual de Objetos

Neste vídeo, Patrick Winston discute os desafios de reconhecer objetos visuais, incluindo as ideias de David Marr de formar uma descrição baseada em arestas de objetos, normais de superfície e cilindros generalizados. O palestrante também se aprofunda em diferentes métodos de reconhecimento visual de objetos, incluindo a teoria do alinhamento e o uso de algoritmos de correlação para calcular a localização de recursos de tamanho intermediário. Winston destaca os desafios de reconhecer objetos naturais que não têm dimensões idênticas e a importância do contexto e da narrativa no reconhecimento visual, usando o exemplo de um gato bebendo. Ao longo do vídeo, ele fornece demonstrações e exemplos para explicar vários conceitos. No geral, o palestrante enfatiza as dificuldades de reconhecimento visual e incentiva os alunos a continuarem as pesquisas na área.

  • 00:00:00 Nesta seção, Patrick Winston discute os desafios de reconhecer objetos visuais, como rostos. Ele apresenta um programa que pode variar a aparência da imagem de um político, mostrando como ela se interpola entre as imagens armazenadas. Winston então investiga a história do reconhecimento de objetos, começando com as ideias de David Marr, que propôs que o primeiro passo no reconhecimento visual é formar uma descrição do objeto baseada em bordas, conhecida como esboço primal. Marr então sugeriu decorar o esboço primário com normais de superfície para mostrar a orientação do objeto, chamando-o de esboço de dois D e meio. Isso foi seguido pela conversão do esboço de dois D e meio em cilindros generalizados, o que nos trouxe um passo mais perto de reconhecer objetos visuais.

  • 00:05:00 Nesta seção, o palestrante fala sobre diferentes abordagens para o reconhecimento visual de objetos, começando com a ideia de um cilindro regular como uma área circular que se move ao longo de um eixo, e passa a discutir o conceito de teoria do alinhamento. A teoria do reconhecimento de alinhamento é baseada na ideia de que ter três imagens de um objeto permite a reconstrução de qualquer visão desse objeto em projeção ortográfica, que pode ser usada para reconhecer um objeto em uma biblioteca. O orador afirma que lugares correspondentes em objetos diferentes podem ser escolhidos, e o alinhamento das imagens e do objeto desconhecido pode ser usado para determinar se o objeto desconhecido é o mesmo que o objeto original.

  • 00:10:00 Nesta seção, Patrick Winston explica como gerar uma equação para diferentes objetos usando alfa, beta, gama e tau como constantes. Ele demonstra como essa equação funciona para quatro pontos coloridos diferentes e, ao escolher os mesmos valores alfa, beta, gama e tau para todos os pontos, ele pode usar operações lineares com sucesso para relacionar pontos em objetos diferentes. Ele então explica que as coordenadas são projeções 2D do objeto em um desenho e responde a perguntas sobre como as superfícies curvas podem ser identificadas no reconhecimento visual do objeto.

  • 00:15:00 Nesta seção, Patrick Winston discute como as restrições podem ajudar a prever a localização de um objeto para auxiliar no reconhecimento. Ele explica que, usando as variáveis alfa, beta, gama e tau, que podem ser derivadas de quatro equações lineares e quatro incógnitas, os pontos correspondentes podem ser identificados corretamente para fornecer informações valiosas sobre a posição do objeto desconhecido. Winston demonstra esse método, explicando que, se os pontos correspondentes forem identificados corretamente, ele fornece uma forte indicação de que o objeto é o correto, como um obelisco ou um órgão.

  • 00:20:00 Nesta seção, o palestrante demonstra como calcular o movimento da coordenada x em uma imagem de um objeto 3D conforme ele é girado em torno do eixo z. Eles começam definindo uma posição padrão e identificando as coordenadas x e y nessa posição, girando o objeto para criar três posições diferentes (a, b e c) e determinando o ângulo de rotação para cada uma. O alto-falante então usa rotações vetoriais para calcular como a coordenada x muda conforme o objeto gira em torno do eixo z. O processo envolve o uso das funções cosseno e seno e a consideração das projeções das coordenadas x e y do vetor conforme ele gira.

  • 00:25:00 Nesta seção, o palestrante simplifica a equação que descreve o reconhecimento visual do objeto por meio da projeção ortográfica, que é a projeção ao longo do eixo x sem nenhuma perspectiva. Ele argumenta que fatores desconhecidos, como o cosseno e o seno dos ângulos teta, são constantes e podem ser representados como multiplicadores alfa e beta para x sub a e x sub b. Quando dado o cenário de permitir translação e rotação, o palestrante observa que a constante adicional tau precisa ser identificada subtraindo duas equações.

  • 00:30:00 Nesta seção, Patrick Winston discute diferentes métodos de reconhecimento de objetos. Ele fala sobre o problema de reconhecer objetos naturais que não têm dimensões idênticas, ao contrário dos objetos manufaturados onde se pode tirar fotos e registrar as coordenadas de alguns dos pontos para reconhecimento. Ele então apresenta a teoria de Shimon Ullman baseada na correlação onde se pode pegar duas imagens, aplicar uma como máscara de correlação à outra imagem e localizar o objeto principal. No entanto, essa ideia tem limitações, pois não pode localizar recursos incomuns, mas apenas os comuns. Winston explora ainda mais a ideia desenhando exemplos de dois rostos de abóbora e discute os problemas com a ideia de reconhecer objetos com base na identificação de características específicas, como olhos e narizes.

  • 00:35:00 Nesta seção, o palestrante discute como funciona o reconhecimento visual de objetos e como isso depende do tamanho dos recursos que estão sendo reconhecidos. Embora imagens muito pequenas ou muito grandes não forneçam informações úteis, recursos de tamanho intermediário, como combinações de dois olhos e um nariz, podem ser úteis. O desafio passa a ser encontrar esses recursos intermediários em um mar de imagens. O palestrante sugere o uso de algoritmos de correlação para determinar o deslocamento na imagem onde o recurso ocorre. Ao maximizar sobre um parâmetro x, a integral da face e da imagem pode ser calculada para determinar a localização do recurso.

  • 00:40:00 Nesta seção do vídeo, o apresentador explica como funciona a correlação no reconhecimento visual de objetos usando imagens com ruído como exemplos. A correlação envolve multiplicação e integração sobre a extensão da face com um deslocamento. Quando o offset é igual, o programa multiplica a imagem por ela mesma e integra sobre a face. Ao maximizar os parâmetros de tradução x e y, é possível selecionar características específicas de uma imagem, como o rosto de uma pessoa, apesar do ruído adicionado. A demonstração mostrou que, mesmo com mais ruído, o programa ainda era capaz de selecionar os recursos certos.

  • 00:45:00 Nesta seção, Patrick Winston discute os desafios do reconhecimento visual, principalmente a capacidade de reconhecer pessoas de diferentes ângulos. Ele observa que, embora não esteja claro como somos capazes de reconhecer rostos de diferentes ângulos, virar os rostos de cabeça para baixo ou esticá-los pode potencialmente quebrar a teoria da correlação. No entanto, ele sugere que questões mais desafiadoras estão em como podemos determinar o que está acontecendo visualmente. Ele desafia os alunos a determinar qual ação está realizando em um experimento, destacando os desafios atuais da visão computacional.

  • 00:50:00 Nesta seção, o palestrante usa o exemplo de um gato bebendo para demonstrar como nosso poder de contar histórias influencia nosso reconhecimento visual. Apesar das diferenças visuais consideráveis, os humanos podem facilmente identificar o gato bebendo ao entender a narrativa apresentada na imagem. A parte inferior do nosso sistema de visão fornece informações suficientes para que nosso aparato de histórias reconheça a ação de beber do gato, provando a importância do contexto e da narrativa no reconhecimento visual de objetos.
 

Aula 10. Introdução ao aprendizado, vizinhos mais próximos



10. Introdução ao aprendizado, vizinhos mais próximos

Neste vídeo do YouTube, o professor Winston apresenta o tópico de aprendizado e discute dois tipos de aprendizado: aprendizado baseado em regularidade e aprendizado baseado em feedback. Ele se concentra em técnicas de aprendizado baseadas em regularidade, como aprendizado do vizinho mais próximo, redes neurais e reforço. O aprendizado do vizinho mais próximo envolve um detector de características, gerando um vetor de valores, que é então comparado a vetores de uma biblioteca de possibilidades para encontrar a correspondência mais próxima e determinar o que é um objeto. O orador dá vários exemplos de como este método pode ser aplicado. Ele ainda discute como os limites de decisão podem ser usados para identificar a categoria de um objeto. O princípio da semelhança entre casos diferentes é introduzido e a importância do gerenciamento do sono é enfatizada, pois afeta muito o aprendizado. Finalmente, ele aborda o problema da não uniformidade, o problema "o que importa" e a importância de normalizar os dados usando técnicas estatísticas.

  • 00:00:00 Nesta seção, o professor Winston apresenta o tópico de aprendizado e dois tipos de aprendizado: aprendizado baseado em regularidades e aprendizado baseado em feedback. Ele se concentra no primeiro e discute técnicas de aprendizado baseadas em regularidade, como aprendizado do vizinho mais próximo, redes neurais e reforço. O aprendizado do vizinho mais próximo é uma técnica bem estabelecida no campo de reconhecimento de padrões e é a primeira coisa a ser tentada ao resolver um problema de aprendizado. O professor também apresenta dois quebra-cabeças a serem considerados, a saber, como criar um programa de computador que possa tomar café e para que um cachorro pensaria que serve uma coca diet. Por fim, ele menciona a importância de abordar o tema do sono e gerenciá-lo adequadamente, pois afeta muito o aprendizado.

  • 00:05:00 Nesta seção, o palestrante apresenta o conceito de aprendizado do vizinho mais próximo, que é um tipo de reconhecimento de padrão. Isso envolve um detector de recursos que gera um vetor de valores, que é então comparado a vetores de uma biblioteca de possibilidades para encontrar a correspondência mais próxima e determinar o que é um objeto. O palestrante dá um exemplo de como usar esse método para classificar tampas elétricas em uma linha de montagem medindo sua área e a área do furo. Esta é uma forma de aprendizado baseado em regularidade, que é como uma escavadeira processando informações. O palestrante observa que este não é necessariamente o melhor modelo para o aprendizado humano, que envolve ideias baseadas em restrições e permite aprendizado único e aprendizado baseado em explicações.

  • 00:10:00 Nesta seção, o instrutor usa o exemplo de montagem de tampas com diferentes áreas de furos para explicar o conceito de limites de decisão. Ele demonstra como dividir o espaço usando bissetrizes perpendiculares, o que pode ajudar a identificar a categoria de um objeto com base em sua descrição idealizada mais próxima. Além disso, os limites de decisão também podem ser usados para identificar a categoria de um novo objeto medindo um de seus atributos e comparando-o com as categorias criadas pelos limites de decisão.

  • 00:15:00 Nesta seção, o palestrante introduz o princípio da semelhança entre casos diferentes, afirmando que se algo é semelhante em certos aspectos, provavelmente também será semelhante em outros aspectos. Esse princípio é a base da maior parte do aprendizado, seja em contos de fadas, casos jurídicos ou comerciais, ou mesmo casos médicos. A ideia é reconhecer semelhanças com uma situação atual para aplicar algum precedente ou conhecimento. O princípio pode ser aplicado em vários campos. Por exemplo, pode ser usado na identificação de células, onde as células podem ser colocadas em um espaço de alta dimensão e avaliadas quanto à similaridade com base em várias propriedades. Da mesma forma, o princípio pode ser usado na recuperação de informações, onde artigos de revistas podem ser comparados com base na contagem de palavras para abordar questões específicas.

  • 00:20:00 Nesta seção, o conceito de usar vizinhos mais próximos é explorado ao tentar determinar qual artigo está mais próximo de um desconhecido. O problema surge quando todos os artigos da cidade e do país são determinados como os mais próximos. Em vez disso, a turma discute o uso de uma métrica diferente, como o ângulo entre vetores, para resolver o problema. O cosseno do ângulo entre dois vetores pode ser calculado por meio de um cálculo simples, que pode ser útil em muitas situações, inclusive no controle do braço robótico. O objetivo é mover um braço para controlar a trajetória de uma bola em uma velocidade e aceleração específicas, o que envolve a determinação de dois ângulos, teta 1 e teta 2.

  • 00:25:00 Nesta seção, o palestrante discute os problemas encontrados ao traduzir as coordenadas desejadas (x,y) de uma bola no espaço θ1 e θ2 com posições, velocidades e acelerações desejadas. Eles introduzem o conceito de forças de Coriolis, que são resultado da complicada geometria envolvida nas equações de movimento. Para resolver esse problema, o palestrante sugere a construção de uma grande tabela de combinações de movimento para o braço, dividindo a trajetória desejada em pequenos pedaços e encontrando a correspondência mais próxima da tabela, incluindo os torques associados. Este método foi rejeitado anteriormente devido à potência insuficiente do computador, mas foi revisitado recentemente e funciona bem para movimentos semelhantes.

  • 00:30:00 Nesta seção, o palestrante explica como funciona o processo de aprendizado à medida que o robô passa por sua "infância" e gradualmente melhora na tarefa. A melhoria é conseguida através do uso de uma tabela que registra versões melhores dos movimentos necessários para que o robô possa consultá-la posteriormente. O palestrante então mostra um gráfico que demonstra a rapidez com que o robô aprende. O tópico de usar o mesmo método de gravação de memória para gravar arremessos de beisebol também é discutido brevemente.

  • 00:35:00 Nesta seção, o professor Patrick Winston discute o número de neurônios e sinapses no cérebro, especificamente no cerebelo, relacionados ao controle motor e como ele pode funcionar como uma mesa gigantesca para o aprendizado de habilidades motoras. Em seguida, ele explora a questão dos dados normalizados no aprendizado de máquina e como isso pode afetar a disseminação de dados em diferentes dimensões. A solução é calcular a variância e normalizar os dados usando técnicas de estatísticas.

  • 00:40:00 Nesta seção, o palestrante discute os possíveis problemas que podem surgir ao usar os vizinhos mais próximos no aprendizado. Um desses problemas é o problema de não uniformidade quando os dados não dependem da nova variável. O segundo problema é o problema "o que importa", onde o algoritmo pode medir uma distância que confunde a resposta. Por fim, o problema três é quando os dados disponíveis são independentes da questão, semelhante a tentar fazer um bolo sem farinha. O orador então aborda a importância do sono e como bons hábitos de sono são cruciais, especialmente para indivíduos como os Rangers do Exército. Além disso, ele explica como a privação do sono pode levar a erros na distinção de alvos, o que foi observado durante a análise do pós-guerra.

  • 00:45:00 Nesta seção, o palestrante discute os efeitos da falta de sono na mente e no corpo humano. Ele explica que após 72 horas, a capacidade e o desempenho de um indivíduo caem 30% em relação ao início. A perda de sono se acumula e, após 20 dias de privação de uma hora de sono, sua capacidade cai para 25%. O palestrante também examina a eficácia da cafeína e dos cochilos, destacando que a cafeína oferece alguma ajuda. Ele adverte contra confundir correlação com causa e como animais como cães e gatos podem cometer o erro de que bebidas dietéticas causam ganho de peso devido a uma correlação que eles veem.
 

Aula 11. Aprendizagem: Árvores de Identificação, Desordem



11. Aprendizagem: Árvores de Identificação, Desordem

O professor do MIT, Patrick Winston, explica o conceito de construir um mecanismo de reconhecimento para identificar vampiros usando dados e a importância de criar uma árvore de identificação pequena e econômica que satisfaça a Navalha de Occam. Ele propõe o uso de mecanismos heurísticos para a construção da árvore, pois o cálculo de todas as árvores possíveis é um problema NP. Winston sugere o uso de um teste de sombra, teste de alho, teste de tez e teste de sotaque para identificar quais indivíduos são vampiros e explica como medir a desordem em conjuntos para encontrar a qualidade geral de um teste com base na medição da desordem. O vídeo também discute como as árvores de identificação podem ser usadas com dados numéricos, e a árvore pode ser convertida em um conjunto de regras para criar um mecanismo simples com base no comportamento baseado em regras.

  • 00:00:00 Nesta seção, o professor do MIT Patrick Winston apresenta o conceito de usar dados para construir um mecanismo de reconhecimento para identificar vampiros. Ele aponta as diferenças entre esse conjunto de dados e o conjunto de dados de cobertura elétrica com o qual trabalharam na aula anterior, observando que esse conjunto de dados não é numérico, mas sim simbólico, inutilizando as técnicas de vizinho mais próximo. Ele também destaca outros desafios na identificação de vampiros, como o custo de certos testes e a incerteza de quais características realmente importam.

  • 00:05:00 Nesta seção, Patrick Winston explica o conceito de árvores de identificação ou árvores de decisão e enfatiza a importância de construir uma pequena árvore que seja econômica e produza subconjuntos uniformes de dados. O objetivo é encontrar o melhor arranjo possível de testes para produzir uma explicação simples e pequena que satisfaça a Navalha de Occam, que afirma que a explicação mais simples geralmente é a melhor explicação. Ele também sugere o uso de um mecanismo heurístico para construir a árvore, pois calcular todas as árvores possíveis é um problema NP. Por fim, Winston adverte que o pequeno conjunto de amostras usado em sala de aula não é adequado para aplicações do mundo real.

  • 00:10:00 Nesta seção, um teste de sombra, um teste de alho, um teste de tez e um teste de sotaque são usados para identificar quais indivíduos são vampiros. Os testes são aplicados a uma pequena população amostral e, observando como os testes dividem os dados, é possível determinar qual teste produz os grupos mais homogêneos. O objetivo final é encontrar um teste que possa identificar com precisão todos os vampiros da amostra populacional. O teste da sombra divide a população entre os que fazem e os que não fazem sombra, com apenas um indivíduo que não faz sombra, indicando que é um vampiro. O teste do alho determina que todos os vampiros na população da amostra responderam negativamente ao comer alho. O teste de tez e o teste de sotaque também ajudam a identificar quais indivíduos têm maior probabilidade de serem vampiros.

  • 00:15:00 Nesta seção, o vídeo explica um exemplo de como criar uma árvore de identificação, dividindo um grupo de indivíduos em conjuntos homogêneos, selecionando características exclusivas de cada grupo. O exemplo envolve vampiros e não vampiros e os testes usados para identificar cada grupo. O vídeo também aborda questões sobre como aplicar esse conceito a conjuntos de dados maiores e destaca as limitações do exemplo da sala de aula.

  • 00:20:00 Nesta seção, o conceito de medição de desordem em conjuntos é introduzido. A fim de encontrar uma maneira de medir a desordem dos conjuntos encontrados na base dos galhos das árvores, os teóricos da informação são procurados para orientação. A desordem de um conjunto, segundo os teóricos da informação, é calculada levando-se em conta o número total de positivos e negativos, e multiplicando-se o número de positivos pelo logaritmo dos positivos dividido pelo número total, em relação a uma base de 2 Esse método pode ajudar a encontrar uma qualidade geral de um teste com base na medição do distúrbio.

  • 00:25:00 Nesta seção, o palestrante explica a fórmula para medir a desordem em um conjunto de dados usando proporções de positivos e negativos. Depois de calcular os valores para conjuntos de dados completamente confusos e completamente positivos, o palestrante confirma a importância de prestar atenção a essas curvas para resolver as perguntas do questionário rapidamente. Finalmente, usando a Regra de L'Hopital, o locutor calcula um terceiro valor quando a razão de negativos para o total se aproxima de 0, permitindo o gráfico de uma curva com três pontos.

  • 00:30:00 Nesta seção, o palestrante discute como medir a qualidade geral de um teste e como medir a desordem em cada conjunto produzido pelo teste. O palestrante propõe somar a desordem de cada conjunto produzido pelo teste, mas observa que esse método pode não ser o melhor, pois dá peso igual a um galho que não tem quase nada por ele e a um galho que tem quase tudo por ele. Para resolver esse problema, o palestrante propõe ponderar a soma com base na fração de amostras que terminam naquele ramal. O palestrante ilustra esse método com um exemplo de problema e conclui que a desordem de um conjunto homogêneo é zero.

  • 00:35:00 Nesta seção, o foco está na qualidade dos testes que identificam e dividem os dados fornecidos em subconjuntos. A desordem ou desordem de um conjunto é zero quando todas as amostras são iguais e é um quando as amostras são igualmente uma mistura uniforme de dois tipos. Multiplicando a probabilidade dos subconjuntos pela respectiva desordem dos conjuntos, pode-se calcular a qualidade de cada teste. Essa métrica de qualidade é então usada para decidir qual teste é melhor para dividir os dados em subconjuntos homogêneos, o que é essencial para construir a árvore o mais simples possível. No entanto, a ênfase é dada à intuição por trás da análise de dados, em vez da teoria da informação ou entropia.

  • 00:40:00 Nesta seção, o vídeo discute como as árvores de identificação ainda podem ser usadas com dados numéricos, colocando limites nos dados. Isso permite que testes binários sejam criados, semelhantes aos testes usados com dados categóricos. O computador pode tentar diferentes valores de limite e determinará qual limite funciona melhor para separar os dados em grupos homogêneos. Ao contrário de outros métodos, como vizinhos mais próximos, os limites de decisão são paralelos a um eixo ou outro, em vez de seguir a forma dos próprios dados.

  • 00:45:00 Nesta seção, aprendemos sobre Árvores de Identificação, suas virtudes e como elas podem ser convertidas em um conjunto de regras para torná-las mais simples para aqueles que são orientados por regras. A árvore pode ser convertida em um conjunto de regras descendo cada galho até uma folha, e se uma regra testar tanto a sombra quanto o alho, podemos nos livrar de algumas das cláusulas para criar um mecanismo simples baseado em regras comportamento.
 

Aula 12a: Redes Neurais



12a: Redes Neurais

Este vídeo aborda uma variedade de tópicos relacionados a redes neurais. O palestrante começa discutindo a história das redes neurais, destacando o trabalho fundamental feito por Geoff Hinton que transformou o campo. A anatomia de um neurônio é então discutida, bem como a maneira pela qual as entradas são coletadas e processadas. O vídeo então investiga como as redes neurais funcionam como aproximadores de função e como o desempenho pode ser melhorado usando subida de colina e descida de gradiente. A regra da cadeia é introduzida para facilitar o cálculo de derivadas parciais, e o palestrante demonstra como a rede neural mais simples do mundo pode ser treinada usando essa abordagem. A constante de taxa ideal para uma rede neural também é discutida, e o palestrante apresenta uma rede neural mais complexa com duas entradas e saídas. Por fim, o princípio da reutilização é introduzido para resolver o problema de potencial explosão exponencial de caminhos através de grandes redes. No geral, o vídeo enfatiza que grandes ideias em redes neurais são geralmente simples e fáceis de ignorar, embora possam ter um impacto significativo no campo.

  • 00:00:00 Nesta seção, o professor descreve a história das redes neurais e menciona que, inicialmente, muitos acreditavam que os modelos neurais da época não eram modelos precisos do cérebro humano e que ninguém havia conseguido fazer um modelo neural que valeu qualquer coisa. Continuando, o professor menciona que dois anos depois, Geoff Hinton, da Universidade de Toronto, surpreendeu o mundo com alguns trabalhos neurais que havia feito para reconhecer e classificar imagens e publicou um artigo com alguns exemplos. O vídeo mostra alguns exemplos de imagens que a rede neural de Toronto foi capaz de reconhecer e outras em que teve dificuldade.

  • 00:05:00 Nesta seção, o palestrante discute redes neurais e como elas melhoraram significativamente nos últimos três anos devido ao aumento de esforço e interesse. Ele explica como fomos inspirados por nossos próprios sistemas neurais e descreve a estrutura de um neurônio, incluindo seu axônio, árvore dendrítica e as conexões sinápticas entre eles. O palestrante discute como as conexões sinápticas são modeladas em redes neurais usando entradas binárias e pesos que refletem a força da conexão.

  • 00:10:00 Nesta seção, o palestrante explica como modelar a maneira como as entradas são coletadas em um neurônio por meio de um modelo simples que usa pesos sinápticos, um verão e uma caixa de limite que determina se o neurônio será acionado ou não. Embora esse modelo seja inspirado no funcionamento do cérebro humano, ainda existem muitas incógnitas e complexidades que ainda não foram totalmente compreendidas pelos neurobiólogos. Este modelo é apenas uma maneira de entender a essência geral de como os neurônios funcionam e como eles funcionam coletivamente como uma rede.

  • 00:15:00 Nesta seção, o palestrante explica como uma rede neural funciona como um aproximador de função, onde as entradas fluem pela rede e se tornam saídas. O vetor de saída é uma função do vetor de entrada, vetor de peso e um vetor de limite. A função de desempenho é construída comparando o vetor de saída desejado com o vetor de saída real, e o objetivo é sempre minimizar a função de desempenho. A palestra explica o processo de otimização dos pesos e limites em uma rede neural simples usando subida de colina, mas reconhece que esse método não é viável para redes neurais com um grande número de parâmetros, como a rede neural de Hinton com 60 milhões de parâmetros.

  • 00:20:00 Nesta seção, o narrador explica como a descida do gradiente pode ser usada para fazer pequenas melhorias na função de desempenho, obtendo derivadas parciais da função com relação a certos pesos. No entanto, este método só é eficaz para superfícies contínuas e não para superfícies descontínuas, como é o caso das redes neurais. A solução foi apresentada por Paul Werbos em 1974, que consiste em adicionar outra entrada ao neurônio com peso W0, conectada a uma entrada sempre -1. Essa entrada efetivamente move o limite para zero e permite uma função de transição mais suave para a rede neural.

  • 00:25:00 Nesta seção, o vídeo explica a função sigmoide e como ela é usada em redes neurais. A função sigmóide é usada como uma função de ativação para neurônios e fornece a aparência e a forma corretas exigidas pela matemática. As derivadas parciais são então calculadas, agora que o limite problemático foi removido, para tentar treinar a rede neural. A rede neural mais simples do mundo é descrita como composta de dois neurônios e alguns parâmetros que fornecem uma função de desempenho. O vídeo então apresenta a regra da cadeia para reescrever derivadas parciais na computação de variáveis intermediárias para determinar o quanto elas oscilam em relação às outras e, por fim, treina a rede neural.

  • 00:30:00 Nesta seção, o palestrante apaga e reescreve derivadas parciais usando a regra da cadeia, fornecendo expressões que permitem resolver uma rede neural simples. As derivadas são transformadas em um formato de produto por conveniência, e o falante prossegue para encontrar a derivada parcial de p2 em relação a w2, que é igual a Y. A derivada parcial de Z em relação a p2 ainda é desconhecida porque envolve um função limite. Para descobrir, o alto-falante destrói o neurônio e trabalha com a função beta, que é igual a 1 sobre 1 mais e elevado a menos alfa.

  • 00:35:00 Nesta seção, o palestrante repassa a derivada em relação a alfa beta e, em seguida, passa a demonstrar a menor rede neural do mundo em ação, treinando-a para não fazer nada. A saída da função sigmóide é simplificada, pois a derivada pode ser escrita exclusivamente em termos da saída. A rede neural é treinada para tornar a saída igual à entrada, mas nada acontece como resultado.

  • 00:40:00 Nesta seção do vídeo, o palestrante discute o processo de determinação da constante de taxa ideal para uma rede neural. Começando com uma rede neural com pesos aleatórios, o falante testa várias constantes de taxa e observa seu efeito no desempenho da rede. Se a constante de taxa for muito pequena, levará muito tempo para atingir o desempenho ideal, mas se for muito grande, a rede pode saltar muito longe e se tornar instável. O palestrante observa que a constante de taxa deve variar com o progresso em direção ao desempenho ideal. O palestrante também apresenta uma rede neural mais complexa com duas entradas e saídas e discute as interações entre os fluxos e pesos.

  • 00:45:00 Nesta seção, aprendemos sobre o potencial explosão exponencial de caminhos através de uma rede com um grande número de neurônios. No entanto, podemos reutilizar a computação e não ter uma explosão exponencial, pois a influência das mudanças em P no desempenho só pode ocorrer por meio de uma coluna fixa de neurônios, o que significa que reutilizamos a computação já feita. A quantidade de computação necessária para uma coluna com largura fixa é linear e profunda, mas proporcional ao quadrado da largura da coluna. Também é observado pelo palestrante que esse princípio foi negligenciado por 25 anos.

  • 00:50:00 Nesta seção, o palestrante discute como grandes ideias em redes neurais geralmente são simples, mas nós, como humanos, geralmente apresentamos apenas um truque ou observação em vez de juntar alguns em cascata para criar algo milagroso. O princípio da reutilização está em ação neste caso, pois o milagre foi consequência de dois truques e uma observação. No geral, a mensagem é que grandes ideias são simples e fáceis de ignorar, e foram negligenciadas por um quarto de século.
 

Aula 12b: Redes Neurais Profundas



12b: Redes Neurais Profundas

Este vídeo aborda vários tópicos relacionados a redes neurais profundas, incluindo o processo de cálculo envolvido, redes neurais convolucionais, algoritmos de autocodificação, ajuste de parâmetros na camada de saída, softmax e retropropagação com redes convolucionais. O vídeo também explora conceitos como máximos locais, redes ampliadas e aprendizado de redes neurais, enquanto demonstra como as redes neurais profundas funcionam no processamento de imagens. No geral, o vídeo fornece uma visão abrangente dos principais conceitos envolvidos em redes neurais profundas, incluindo seus pontos fortes e limitações.

  • 00:00:00 Nesta seção, o palestrante discute o processo de cálculo em uma pequena rede neural e destaca o fato de que o desempenho dessa rede depende de um número finito de variáveis de saída. O palestrante mostra equações que demonstram a dependência do desempenho de pesos específicos e aponta que há muita redundância no processo de computação. À medida que você se afasta das saídas para as entradas, muito do cálculo feito anteriormente está sendo reutilizado, resultando na reutilização de várias partes do cálculo que foram feitas nas alterações de peso downstream.

  • 00:05:00 Nesta seção, o palestrante discute os cálculos envolvidos em redes neurais e aponta o cálculo fundamental que ocorre em nossas cabeças, o produto escalar, que também é usado em redes neurais. Ele também explica o conceito de redes neurais convolucionais, que são usadas para processamento de imagens, e observa que elas são feitas de um conjunto específico de componentes que tende a reaparecer no campo da rede neural. O palestrante também menciona o desempenho de uma rede neural profunda em 2012, que teve uma taxa de erro de cerca de 15% ou 37%, dependendo da definição de "resposta certa".

  • 00:10:00 Nesta seção do vídeo, o palestrante explica como a convolução e o agrupamento funcionam em redes neurais. O processo envolve a execução de um neurônio em uma imagem, produzindo uma saída que está associada a um local específico na imagem. Isso é chamado de convolução, e os pontos resultantes são usados para encontrar o valor máximo nas vizinhanças locais, criando um mapeamento da imagem usando esse valor máximo. Isso é chamado de agrupamento máximo. Vários kernels podem ser usados para produzir muitas saídas, que podem ser alimentadas em uma rede neural para indicar a probabilidade de um objeto estar presente na imagem. Este método é muito mais avançado do que o antigo método de usar uma pequena grade de pixels como entradas para os neurônios.

  • 00:15:00 Nesta seção, o palestrante explica a ideia de Autocodificação, onde uma rede neural compara a entrada com a saída até que os valores desejados coincidam. O palestrante descreve um algoritmo em que uma rede pode identificar animais com base na altura de sua sombra em um quadro-negro em um exemplo simples que mostra como funciona o algoritmo de codificação automática. A rede "aprende" a reconhecer as sombras dos animais comprimindo os valores de entrada em uma camada oculta menor que é então expandida para criar os valores de saída. O algoritmo alcança resultados surpreendentemente eficazes, mesmo ao lidar com grandes conjuntos de dados de entrada que contêm um número considerável de classes e exemplos para cada classe.

  • 00:20:00 Nesta seção, o palestrante demonstra a execução de uma rede neural simples com entradas aleatórias e retropropagação simples. Depois de apenas mil iterações, a taxa de erro cai significativamente e a rede é capaz de reconhecer a natureza dos objetos que vê no ambiente com base apenas na altura de sua sombra. No entanto, parece que, em vez de generalizações feitas pelos neurônios na camada oculta, algum tipo de generalização codificada está ocorrendo, tornando difícil para os pesquisadores entender como a rede neural é capaz de reconhecer objetos específicos. Apesar desse mistério, a codificação automática, que envolve treinamento camada por camada, oferece uma técnica promissora para treinar redes neurais profundas.

  • 00:25:00 Nesta seção do vídeo, o palestrante discute a camada final de uma rede neural profunda e a importância de ajustar os valores de limite e peso para otimizar a classificação das amostras. Ao alterar o valor do limite, a função sigmóide é deslocada, enquanto a alteração do valor do peso altera a inclinação da curva. Esses ajustes, por sua vez, afetam a probabilidade de exemplos positivos e negativos no conjunto de dados. Para maximizar a probabilidade de classificar corretamente os dados, os valores de T e W devem ser otimizados por meio de derivadas parciais.

  • 00:30:00 Nesta seção, o instrutor explica o conceito de ajuste de parâmetros na camada de saída para maximizar a probabilidade dos dados de amostra que temos. Isso envolve visualizar o valor de saída como algo relacionado à probabilidade de ver uma classe e ajustar os parâmetros de acordo. O instrutor demonstra o processo usando uma curva sigmoide e um algoritmo de gradiente descendente. O objetivo é associar algum tipo de probabilidade a cada classe para que possamos encontrar a mais provável. A probabilidade real de uma classe é calculada dividindo a saída da função sigmoide para essa classe pela soma de todas as funções. Isso é chamado de divisão por um fator de normalização e converte cada valor de saída em probabilidade.

  • 00:35:00 Nesta seção, o palestrante explica o processo de uso do softmax para fornecer uma série de classificações e associar uma probabilidade a cada uma para classificar as imagens. O palestrante também discute a combinação da ideia softmax com a ideia de codificação automática, congelando a camada de entrada e treinando a camada de saída usando a curva sigmoide. Além disso, eles mencionam a ideia de dropout para evitar que as redes neurais fiquem presas em um estado máximo local. A seção conclui observando que, apesar da sofisticação das camadas de saída e do treinamento usando codificação automática ou máquinas de Boltzmann, a retropropagação com redes convolucionais parece funcionar tão bem, e o palestrante demonstra uma rede profunda de sala de aula com cinco camadas e retropropagação para classificar imagens de animais.

  • 00:40:00 Nesta seção, o vídeo demonstra como uma rede neural pode ficar presa em um máximo local e como a ampliação da rede pode ajudá-la a rastejar pelo vasto espaço sem ficar presa. O palestrante explica que houve um avanço no aprendizado da rede neural, pois agora ela pode transformar máximos locais em pontos de sela, o que permite aprender com mais eficiência. O vídeo continua explorando se as redes neurais podem "ver" como os humanos, mostrando exemplos de como até mesmo pequenas mudanças nos pixels podem fazer uma rede neural diferenciar entre objetos com altos níveis de confiança. A demonstração mostra que uma rede neural pode ser levada a pensar que uma imagem não é o que realmente é.

  • 00:45:00 Nesta seção, o palestrante discute como as redes neurais profundas funcionam no processamento de imagens usando exemplos do artigo do Google sobre como colocar legendas em fotos. As redes neurais identificam um objeto, como um ônibus escolar ou uma bola de beisebol, detectando as características locais e a textura da imagem. No entanto, a incapacidade das redes neurais de entender o contexto de uma imagem, como demonstrado por outros exemplos de erros de identificação, é mostrada como uma limitação da tecnologia. O palestrante então discute o trabalho de seu laboratório em extrair retângulos de imagens enquanto retém a impressão da rede neural da imagem. A capacidade da rede neural de identificar um objeto também é demonstrada por meio de imagens de vários níveis de mutilação, com as redes neurais tendo um desempenho admirável mesmo quando partes da imagem são removidas.