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

 

Em Direção à Singularidade - IA que Inspira a Neurociência




Em Direção à Singularidade - IA que Inspira a Neurociência

Este vídeo discute o potencial da inteligência artificial para atingir um ponto de inteligência geral e os vários desafios que precisarão ser superados ao longo do caminho.
Também discute o potencial dos robôs serem considerados como uma espécie e as vantagens e desvantagens dessa abordagem.

  • 00:00:00 O cérebro é um órgão complexo responsável por muitas tarefas diferentes. Pesquisas recentes mostraram que o cérebro também é capaz de realizar tarefas simples que antes eram consideradas difíceis para os humanos. Isso sugere que o cérebro não é apenas um intelecto, mas também contém uma grande quantidade de complexidade computacional.

  • 00:05:00 O autor discute a dificuldade de entender o cérebro em um nível sistêmico e como os cientistas estão usando o peixe-zebra para entender como ocorre o desenvolvimento normal do cérebro. Ele continua dizendo que a inteligência artificial eventualmente será capaz de crescer de forma mais orgânica, com base no que aprendemos sobre como o cérebro funciona.

  • 00:10:00 O cérebro é muito diferente de um computador, pela forma como é estruturado. Um computador basicamente tem a CPU separada da memória e conectando a CPU com a memória, você tem essa coisa chamada barramento, o barramento de memória. E o barramento de memória está funcionando continuamente em tempo integral quando um computador é ligado. E na verdade é um gargalo. Portanto, a CPU pode ser muito poderosa e a memória pode ser enorme, mas
    você está limitado quanto à quantidade de informações que pode transferir entre os dois. E esse é um fator muito limitante na potência geral do computador padrão. Em contraste, o cérebro funciona massivamente de maneira massivamente paralela, cada neurônio está fazendo o melhor que pode o tempo todo. Mesmo a melhor IA atual que temos ainda é muito, muito diferente do cérebro. É... você pode dizer que é inspirado no cérebro, mas não é uma cópia do cérebro. No cérebro há uma enorme quantidade de conexões de feedback. Então, obviamente, quando processamos a entrada sensorial, e isso chega às regiões superiores do cérebro, e é processado e abstraído da entrada original que vemos. Mas também há uma grande quantidade de feedback vindo dessas regiões superiores para as áreas perceptivas. E esse feedback direciona para onde olhamos e

  • 00:15:00 O vídeo discute o conceito de inteligência artificial, discutindo os prós e contras de tê-la no mundo. Ele continua dizendo que a IA é uma abordagem promissora, mas exigirá um salto na tecnologia para obter precisão e confiabilidade.

  • 00:20:00 O vídeo discute os avanços da neurociência que estão sendo usados para inspirar a inteligência artificial e como isso está ajudando a criar robôs tão inteligentes quanto os humanos. No entanto, a tecnologia ainda tem um longo caminho a percorrer antes que possa ser amplamente implantada.

  • 00:25:00 A inteligência artificial está desempenhando um grande papel no desenvolvimento de robôs sociais que podem entender, se comportar e se comunicar com as pessoas em suas vidas diárias. Atualmente, o mundo é projetado para humanos, portanto, projetar robôs que tenham uma forma humanóide ou uma compreensão de como o mundo humano funciona facilita a integração desses robôs na sociedade, mas também a criação de algum valor e benefício sem a necessidade de reestruturar edifícios ou tarefas ou a maneira como o mundo foi projetado para acomodar esse ser humano.

  • 00:30:00 O vídeo discute como a neurociência está inspirando avanços na IA, incluindo aprendizado profundo e cognição incorporada. A cognição incorporada é o oposto da ideia de Descarte de que "penso, logo existo". A robótica acabará por se integrar mais estreitamente com a sociedade e a IA se tornará uma "ferramenta muito útil" para a ciência.

  • 00:35:00 O vídeo discute a ideia de "inteligência artificial geral" ou AGI, que é a capacidade de uma máquina atingir o nível de inteligência de um ser humano adulto competente. Embora a validade do "teste de Turing" - um exame que mede se uma máquina pode enganar alguém e pensar que é um humano - ainda é contestada, a maioria dos pesquisadores acredita que é necessário que as máquinas atinjam esse nível de inteligência.

  • 00:40:00 O vídeo discute o potencial da inteligência artificial para permear cada vez mais partes de nossas vidas e a importância de gerenciar a IA com cuidado para que ela não comece a tomar decisões por conta própria. Ele sugere que a IA acabará se tornando uma utilidade pública e discute maneiras pelas quais as pessoas podem ter essa discussão no rádio e no vídeo.

  • 00:45:00 O autor defende que os governos devem ser proativos em investir em inteligência artificial e robótica, pois este é um investimento enorme e pode trazer grandes resultados para a sociedade. No entanto, se não for feito corretamente, os robôs podem levar ao desemprego em massa. Ele também observa que a sociedade precisará se adaptar à próxima revolução da robótica, pois os trabalhos atualmente realizados por humanos serão substituídos por máquinas.

  • 00:50:00 O autor discute o potencial da inteligência artificial geral e a singularidade, que é o ponto em que a inteligência da máquina supera a inteligência humana. Eles apontam que, embora essa tecnologia ainda seja um tanto especulativa, é provável que aconteça nos próximos 200 anos. Enquanto muitas pessoas podem ser céticas, aqueles que sabem concordam que isso é definitivamente algo que vai acontecer.

  • 00:55:00 Este vídeo discute o potencial da inteligência artificial para atingir um ponto de inteligência geral e os vários desafios que precisarão ser superados ao longo do caminho. Também discute o potencial dos robôs serem considerados como uma espécie e as vantagens e desvantagens dessa abordagem.

  • 01:00:00 O palestrante fornece uma visão geral dos possíveis riscos e benefícios associados aos avanços da inteligência artificial e discute uma situação hipotética em que uma IA se torna desonesta e acaba com a humanidade. A maioria dos pesquisadores da área não está preocupada com esse tipo de ameaça, concentrando-se nos benefícios potenciais da inteligência artificial.
Toward Singularity - Neuroscience Inspiring AI
Toward Singularity - Neuroscience Inspiring AI
  • 2023.01.08
  • www.youtube.com
Toward Singularity takes a look at how neuroscience is inspiring the development of artificial intelligence. Our amazing brain, one of the most complicated s...
 

Stanford CS230: Aprendizado Profundo | Outono 2018 | Aula 1 - Introdução à aula e logística, Andrew Ng




Stanford CS230: Aprendizado Profundo | Outono 2018 | Aula 1 - Introdução à aula e logística, Andrew Ng

Andrew Ng, o instrutor do curso CS230 Deep Learning de Stanford, apresenta o curso e explica o formato da sala de aula invertida. Ele destaca a repentina popularidade do aprendizado profundo devido ao aumento de registros digitais, permitindo sistemas de aprendizado profundo mais eficazes. Os principais objetivos do curso são que os alunos se tornem especialistas em algoritmos de aprendizado profundo e entendam como aplicá-los para resolver problemas do mundo real. Ng enfatiza a importância do conhecimento prático na construção de sistemas de aprendizado de máquina eficientes e eficazes e espera ensinar e derivar sistematicamente algoritmos de aprendizado de máquina enquanto os implementa de maneira eficaz com os processos corretos. O curso abordará redes neurais de convolução e modelos de sequência por meio de vídeos no Coursera e tarefas de programação em notebooks Jupyter.

A primeira palestra do curso CS230 Deep Learning de Stanford apresenta a variedade de aplicativos do mundo real que serão desenvolvidos por meio de atribuições de programação e projetos de alunos, que podem ser personalizados e projetados para atender aos interesses de um aluno. Exemplos de projetos de alunos anteriores variam de previsão de preços de bicicletas a detecção de sinais de terremotos. O projeto final é enfatizado como o aspecto mais importante do curso, e orientação personalizada está disponível por meio da equipe de TA e dos instrutores. A logística do curso também é discutida, incluindo formação de equipes para projetos em grupo, realização de quizzes no Coursera e combinação do curso com outras aulas.

  • 00:00:00 Nesta seção, Andrew Ng, o instrutor do CS230 de Stanford, apresenta o curso e explica o formato da sala de aula invertida. Nesta aula, os alunos assistirão ao conteúdo deeplearning.ai no Coursera em casa e participarão de discussões mais profundas durante a sala de aula e os horários da seção de discussão. Ng apresenta a equipe de ensino, composta pelos co-instrutores Kian Katanforosh, o co-criador da especialização Deep Learning, Swati Dubei, o coordenador de classe, Younes Mourri, o orientador do curso e chefe TA, e Aarti Bagul e Abhijeet, co-diretor TAs. Ng explica a repentina popularidade do aprendizado profundo, afirmando que a digitalização da sociedade levou a um aumento na coleta de dados, dando aos alunos a oportunidade de construir sistemas de aprendizado profundo mais eficazes do que nunca.

  • 00:05:00 Nesta seção, Andrew Ng explica que o aumento nos registros digitais levou a um aumento nos dados, mas os algoritmos tradicionais de aprendizado de máquina estagnam mesmo quando alimentados com mais dados. No entanto, à medida que as redes neurais se tornam maiores, seu desempenho continua melhorando cada vez mais, até um limite teórico chamado taxa de erro base. Com o advento da computação GPU e dos serviços em nuvem, o acesso a um poder de computação grande o suficiente permitiu que mais pessoas treinassem redes neurais grandes o suficiente para gerar altos níveis de precisão em muitos aplicativos. Embora o aprendizado profundo seja apenas uma ferramenta entre muitas em IA, ele se tornou tão popular porque oferece excelentes resultados de forma consistente.

  • 00:10:00 Nesta seção, o palestrante explica que há uma variedade de ferramentas e tecnologias que os pesquisadores usam em IA além do aprendizado profundo, como algoritmos de planejamento e representação do conhecimento. No entanto, o aprendizado profundo decolou incrivelmente rápido nos últimos anos devido ao uso de enormes conjuntos de dados e poder computacional, bem como inovação algorítmica e investimento maciço. Os principais objetivos do CS230 são que os alunos se tornem especialistas em algoritmos de aprendizado profundo e entendam como aplicá-los para resolver problemas do mundo real. O palestrante, que tem experiência prática liderando equipes de IA bem-sucedidas no Google, Baidu e Landing AI, também enfatiza a importância de aprender os aspectos práticos de know-how do aprendizado de máquina, que ele diz não serem abordados em outros cursos acadêmicos.

  • 00:15:00 Nesta seção, Andrew Ng fala sobre a importância do conhecimento prático na tomada de decisões eficientes e eficazes ao construir um sistema de aprendizado de máquina. Ele enfatiza a diferença entre um grande engenheiro de software e um júnior em termos de decisões de alto nível e abstrações arquitetônicas. Da mesma forma, ele destaca a importância de saber quando coletar mais dados ou buscar hiperparâmetros em sistemas de aprendizado profundo para tomar melhores decisões que podem aumentar a eficiência da equipe de 2x a 10x. Ele visa transmitir esse conhecimento prático aos alunos do curso por meio de ensino sistemático e também recomenda seu livro, Machine Learning Yearning, para alunos com um pouco de experiência em aprendizado de máquina.

  • 00:20:00 Nesta seção, Andrew Ng discute um rascunho de seu novo livro chamado "Machine Learning Yearning", que ele diz ser uma tentativa de reunir os melhores princípios para criar uma disciplina sistemática de engenharia a partir do aprendizado de máquina. Ng também explica o formato de sala de aula invertida do curso, em que os alunos assistem a vídeos e respondem a questionários on-line em seu próprio tempo e participam de sessões semanais para interações e discussões mais profundas com TAs, Kian e ele mesmo. Ele continua falando sobre a importância da IA e do aprendizado de máquina, afirmando que acredita que isso transformará todos os setores da mesma forma que a eletricidade transformou vários campos há mais de um século.

  • 00:25:00 Nesta seção do vídeo, Andrew Ng, o instrutor do curso CS230 Deep Learning de Stanford, expressa sua esperança de que os alunos usem suas novas habilidades de aprendizado profundo para transformar indústrias fora do setor de tecnologia tradicional, como saúde, engenharia civil e cosmologia. Ele compartilha uma lição valiosa aprendida ao estudar a ascensão da internet, que é que a construção de um site não transforma um negócio de tijolo e argamassa em uma empresa de internet; em vez disso, é a organização da equipe e a incorporação de práticas específicas da Internet, como testes A/B abrangentes, que realmente definem uma empresa de Internet.

  • 00:30:00 Nesta seção da transcrição, Andrew Ng discute as diferenças entre empresas tradicionais e empresas de Internet e IA. Ele explica que as empresas de internet e IA tendem a transferir o poder de decisão para os engenheiros ou engenheiros e gerentes de produto porque esses indivíduos estão mais próximos da tecnologia, algoritmos e usuários. Ng também menciona a importância de organizar equipes para fazer as coisas que o aprendizado de máquina moderno e o aprendizado profundo permitem. Além disso, Ng descreve como as empresas de IA tendem a organizar os dados de maneira diferente e se especializam em detectar oportunidades de automação. Por fim, ele observa que a ascensão do aprendizado de máquina criou novas funções, como engenheiro de aprendizado de máquina e cientista pesquisador de aprendizado de máquina de recursos.

  • 00:35:00 Nesta seção, Andrew Ng enfatiza a importância da organização eficaz da equipe na era da IA para fazer um trabalho mais valioso. Ele faz uma analogia de como o mundo da engenharia de software teve que desenvolver desenvolvimento Agile, processos Scrum e revisão de código para criar equipes de IA industrial de alto desempenho que construíam software com eficácia. Ng espera ensinar e derivar sistematicamente algoritmos de aprendizado de máquina e implementá-los de forma eficaz com os processos corretos. Por fim, Ng orienta as pessoas que desejam aprender aprendizado de máquina sobre quais aulas fazer para atingir seus objetivos.

  • 00:40:00 Nesta seção, Andrew Ng discute as diferenças entre CS229, CS229A e CS230. CS229 é a mais matemática dessas classes, com foco nas derivações matemáticas dos algoritmos. O CS229A é um aprendizado de máquina aplicado, gastando mais tempo com os aspectos práticos e sendo o caminho mais fácil para o aprendizado de máquina, enquanto o CS230 está em algum lugar no meio, mais matemático que o CS229A, mas menos matemático que o CS229. O que há de único no CS230 é que ele se concentra no aprendizado profundo, que é o subconjunto mais difícil do aprendizado de máquina. Andrew Ng define expectativas precisas ao querer passar mais tempo ensinando o know-how prático da aplicação desses algoritmos, em vez de se concentrar apenas na matemática.

  • 00:45:00 Nesta seção, Andrew Ng apresenta o conceito de IA e aprendizado de máquina desaparecendo em segundo plano e se tornando uma ferramenta mágica que podemos usar sem pensar nos algoritmos de aprendizado que tornam isso possível. Ele discute a importância do aprendizado de máquina em saúde, manufatura, agricultura e educação, onde tutoria e feedback precisos sobre a codificação de trabalhos de casa podem ser obtidos usando algoritmos de aprendizado. O formato do curso do CS230 envolve assistir a vídeos deeplearning.ai no Coursera com palestras adicionais de Kian em Stanford para conhecimento e prática mais aprofundados. A aula é estruturada em cinco cursos que ensinam os alunos sobre neurônios, camadas, construção de redes, ajuste de redes e aplicações industriais de IA.

  • 00:50:00 Nesta seção, Andrew Ng apresenta os tópicos abordados no curso e a estrutura do programa. O curso é dividido em duas partes que se concentram em redes neurais de convolução para imagens e vídeos e modelos de sequência, incluindo redes neurais recorrentes para processamento de linguagem natural e reconhecimento de fala. Cada módulo incluirá vídeos no Coursera, questionários e tarefas de programação em Jupyter Notebooks. A frequência é de dois por cento da nota final, oito por cento em questionários, 25 por cento em tarefas de programação e uma parte significativa em um projeto final.

  • 00:55:00 Nesta seção, Andrew Ng explica as tarefas de programação que os alunos realizarão durante o curso. Os alunos traduzirão imagens em linguagem de sinais para números, se tornarão engenheiros de Deep Learning para uma Happy House e criarão uma rede usando o algoritmo de detecção de objetos YOLOv2. Eles trabalharão na otimização da previsão de chute do goleiro, detectarão carros enquanto dirigem de forma autônoma, realizarão reconhecimento facial e transferência de estilo e criarão um modelo de sequência para gerar música jazz e poesia shakespeariana. O palestrante fornece aos alunos links para documentos relacionados a cada um dos projetos.

  • 01:00:00 Nesta seção, o palestrante aborda a variedade de aplicações que serão construídas no curso por meio de trabalhos de programação, bem como a oportunidade de os alunos escolherem seus próprios projetos ao longo do curso. Exemplos de projetos de alunos anteriores são fornecidos, incluindo colorir imagens em preto e branco, previsão de preços de bicicletas e detecção de sinais precursores de terremotos. Os alunos são incentivados a construir e se orgulhar de seus projetos, pois o projeto final é o aspecto mais importante do curso. O curso é aplicado, com um pouco de matemática envolvida, e orientação personalizada está disponível por meio da equipe de TA e dos instrutores.

  • 01:05:00 Nesta seção, o instrutor explica os detalhes logísticos do curso, incluindo como criar contas no Coursera, quais tarefas concluir e como formar equipes para o projeto do curso. As equipes de projeto consistirão de um a três alunos, com exceções para projetos desafiadores. Os alunos podem combinar o projeto com outras aulas, desde que o discuta com o instrutor, e os questionários podem ser refeitos no Coursera, sendo o último questionário enviado considerado para a aula CS230.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 1 - Class Introduction & Logistics, Andrew Ng
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 1 - Class Introduction & Logistics, Andrew Ng
  • 2019.03.21
  • www.youtube.com
For more information about Stanford's Artificial Intelligence professional and graduate programs visit: https://stanford.io/3eJW8yTAndrew Ng is an Adjunct Pr...
 

Aula 2 - Intuição de Aprendizagem Profunda



Stanford CS230: Aprendizado Profundo | Outono 2018 | Aula 2 - Intuição de Aprendizagem Profunda

A primeira parte da palestra se concentra em várias aplicações de aprendizado profundo, incluindo classificação de imagens, reconhecimento facial e transferência de estilo de imagem. O instrutor explica a importância de vários fatores, como tamanho do conjunto de dados, resolução da imagem e função de perda no desenvolvimento de um modelo de aprendizado profundo. O conceito de codificação de imagens usando redes profundas para criar representações úteis também é discutido, com ênfase na função de perda triplet usada no reconhecimento facial. Além disso, o palestrante explica o agrupamento usando o algoritmo K-Means para classificação de imagens e extração de estilo e conteúdo de imagens. No geral, a seção apresenta aos alunos as várias técnicas e considerações envolvidas no desenvolvimento de modelos de aprendizado profundo bem-sucedidos.

A segunda parte do vídeo abrange uma variedade de tópicos de aprendizado profundo, como geração de imagens, reconhecimento de fala e detecção de objetos. O palestrante enfatiza a importância de consultar especialistas ao encontrar problemas e os elementos críticos de um projeto de aprendizado profundo bem-sucedido: um pipeline estratégico de aquisição de dados e pesquisa de arquitetura e ajuste de hiperparâmetros. O vídeo também discute diferentes funções de perda usadas em aprendizado profundo, incluindo a função de perda de detecção de objetos, que inclui uma raiz quadrada para penalizar erros em caixas menores com mais intensidade do que em caixas maiores. O vídeo termina com uma recapitulação dos próximos módulos e atribuições, incluindo sessões obrigatórias de mentoria de projetos de AT e seções de TA de sexta-feira focadas na transferência de estilo neural e no preenchimento de um formulário da AWS para possíveis créditos de GPU.

  • 00:00:00 Nesta seção da palestra, o objetivo é fornecer uma maneira sistemática de pensar sobre projetos relacionados ao aprendizado profundo. Isso envolve tomar decisões sobre como coletar e rotular dados, escolher a arquitetura e projetar uma função de perda adequada para otimização. Um modelo pode ser definido como uma arquitetura mais parâmetros, onde a arquitetura é o design escolhido para o modelo e os parâmetros são os números que fazem a função receber entradas e convertê-las em saídas. A função de perda é usada para comparar a saída com a verdade básica, e o gradiente da função de perda é calculado para atualizar os parâmetros para melhorar o reconhecimento. Muitas coisas podem mudar no contexto do aprendizado profundo, incluindo entrada, saída, arquitetura, função de perda, funções de ativação, loop de otimização e hiperparâmetros. A regressão logística é a primeira arquitetura discutida, e uma imagem pode ser representada como uma matriz 3D em ciência da computação.

  • 00:05:00 Nesta seção do vídeo, o instrutor discute a estrutura básica de uma rede neural para classificar imagens de gatos e como ela pode ser modificada para classificar vários animais por meio do uso de regressão multilogística. Ressalta-se a importância de rotular corretamente os dados e introduz-se o conceito de codificação one-hot, com a desvantagem de só poder classificar imagens com um animal mencionado. O uso de Softmax como uma função de ativação para codificação multi-hot também é mencionado, e a notação usada no curso para camadas e índices de neurônios é explicada.

  • 00:10:00 Nesta seção, o palestrante explica como o aprendizado profundo extrai informações de cada camada de uma rede e como isso é usado para codificar os dados de entrada. Ele usa exemplos de reconhecimento facial e classificação de imagens para construir a intuição em torno de aplicações concretas de aprendizado profundo. O palestrante também discute a estimativa do número de imagens necessárias para um determinado problema e sugere que ela seja baseada na complexidade da tarefa e não no número de parâmetros da rede.

  • 00:15:00 Nesta seção, o instrutor discute como determinar a quantidade de dados necessária para um projeto de aprendizado profundo, bem como dividir os dados em conjuntos de treinamento, validação e teste. O instrutor explica que a quantidade de dados necessária depende da complexidade da tarefa e se o projeto envolve imagens internas ou externas. Um conjunto de dados balanceado também é importante para treinar adequadamente a rede. A resolução da imagem também é discutida, com o objetivo de obter um bom desempenho, minimizando a complexidade computacional. O instrutor sugere comparar o desempenho humano em diferentes resoluções para determinar a resolução mínima necessária. Por fim, uma resolução de 64 por 64 por três foi determinada como suficiente para a imagem de exemplo usada.

  • 00:20:00 Nesta seção, o palestrante discute um problema básico de classificação de imagens onde a tarefa é detectar se uma imagem foi tirada durante o dia ou à noite. A saída do modelo deve ser um rótulo para a imagem, onde Y é igual a zero para o dia e Y é igual a um para a noite. A arquitetura recomendada para esta tarefa é uma rede rasa totalmente conectada ou convolucional. A função de perda que deve ser utilizada é a log-verossimilhança, que é mais fácil de otimizar do que outras funções de perda para problemas de classificação. O palestrante aplica esse conceito básico a um cenário do mundo real, onde o objetivo é usar a verificação facial para validar as identidades dos alunos em instalações como a academia. O conjunto de dados necessário para esse problema seria uma coleção de imagens para comparar com as imagens capturadas pela câmera durante o furto de ID.

  • 00:25:00 Neste trecho de uma palestra sobre deep learning, o palestrante discute a ideia de usar o reconhecimento facial como meio de verificar a identidade dos frequentadores de academias. O palestrante sugere que, para treinar o sistema, a escola precisaria de fotos de todos os alunos, identificadas com seus nomes, além de mais fotos de cada aluno para a entrada do modelo. Ao falar sobre resolução, o palestrante sugere que uma resolução maior (em torno de 400 por 400) é necessária para detectar melhor detalhes como a distância entre os olhos ou o tamanho do nariz. Por fim, o palestrante observa que comparações simples de distância entre pixels para determinar se duas imagens são da mesma pessoa não funcionarão devido a variações de iluminação ou outros fatores, como maquiagem ou pelos faciais.

  • 00:30:00 Nesta seção da palestra, o instrutor discute o processo de codificação de imagens usando uma rede profunda para criar representações úteis de imagens. O objetivo é criar um vetor que represente os principais recursos de uma imagem, como a distância entre os recursos faciais, a cor e o cabelo. Esses vetores são usados para comparar diferentes imagens do mesmo assunto e determinar uma correspondência. O instrutor explica o processo de minimizar a distância entre a âncora e as imagens positivas, enquanto maximiza a distância entre a âncora e a imagem negativa, a fim de gerar uma função de perda útil para a rede profunda. A função de perda é crucial para treinar a rede para reconhecer recursos específicos e fazer previsões precisas.

  • 00:35:00 Nesta seção, o instrutor discute a função de perda de trigêmeos usada no reconhecimento facial. A perda é calculada como a distância L2 entre os vetores de codificação de A e P subtraída da distância L2 entre os vetores de codificação de A e N. O objetivo é maximizar a distância entre os vetores de codificação de A e N, minimizando a diferença entre A e P. A função de perda verdadeira contém alfa, que tem um papel específico além de evitar perdas negativas. O instrutor explica que usar alfa na função de perda adiciona peso a certas partes da função de perda. O objetivo é encontrar uma codificação que represente as características da face, e o algoritmo de otimização visa minimizar a função de perda após múltiplas passagens.

  • 00:40:00 Nesta seção, o palestrante explica o uso de um termo alfa na função de perda de uma rede. Esse termo alfa é conhecido como Margem e seu objetivo é penalizar o peso grande e estabilizar a rede em zeros. No entanto, isso não afeta o gradiente ou o peso. O objetivo desse termo alfa é forçar a rede a aprender algo significativo em vez de aprender uma função nula. O palestrante também discute a diferença entre verificação facial e reconhecimento facial e sugere que adicionar um elemento de detecção ao pipeline pode melhorar o reconhecimento facial. Um algoritmo K-Nearest Neighbors pode ser usado para comparar os vetores de rostos inseridos com vetores em um banco de dados para identificar indivíduos.

  • 00:45:00 Nesta seção, o instrutor explica o agrupamento, mais especificamente o algoritmo K-Means e como ele é usado na classificação de imagens. Ele explica como o algoritmo pega todos os vetores em um banco de dados e os agrupa em grupos parecidos. Isso pode ser usado para separar fotos de pessoas diferentes em pastas separadas em um telefone, por exemplo. Ele também discute maneiras de definir o parâmetro K no algoritmo e como diferentes métodos podem ser usados. O instrutor também discute a geração de arte, que envolve a geração de uma imagem que é o conteúdo de uma imagem, mas é pintada no estilo de outra, usando dados nesse estilo. O instrutor usa o Museu do Louvre como exemplo de imagem de conteúdo e uma pintura de Claude Monet como imagem de estilo.

  • 00:50:00 Nesta seção, o palestrante discute como extrair estilo e conteúdo de imagens usando técnicas de aprendizado profundo. Eles explicam que, embora um método seja treinar uma rede para aprender um estilo específico, o método preferido é aprender uma imagem. Isso envolve fornecer uma imagem de conteúdo e extrair informações sobre seu conteúdo usando uma rede neural treinada para reconhecimento de imagem. Para extrair as informações de estilo, o palestrante apresenta o uso da matriz Gram e explica que estilo é uma informação não localizada. Combinando o conteúdo e o estilo extraídos, é possível gerar uma imagem com o estilo de uma determinada imagem preservando o conteúdo. O palestrante enfatiza que essa técnica envolve retropropagar todo o caminho de volta à imagem e não apenas aprender os parâmetros de uma rede.

  • 00:55:00 Nesta seção, o instrutor discute a função de perda para extrair estilo usando o método Gram matrix e como ela é calculada usando a distância L2 entre o estilo da imagem de estilo e o estilo gerado, bem como entre o conteúdo do imagem de conteúdo e conteúdo gerado. O instrutor enfatiza que o ImageNet é utilizado neste processo não para classificação, mas para utilizar parâmetros pré-treinados para a rede. O foco está no treinamento da imagem usando ruído branco, e o conteúdo G e o estilo G são extraídos dela, executando-a pela rede e calculando as derivadas da função de perda para retornar aos pixels da imagem.

  • 01:00:00 Nesta seção, o palestrante discute o processo de treinamento de uma rede para gerar uma imagem com base no conteúdo e no estilo das imagens. Embora essa rede tenha flexibilidade para trabalhar com qualquer estilo e conteúdo, ela requer um novo ciclo de treinamento cada vez que uma imagem é gerada. A rede é treinada em milhões de imagens e não precisa ser treinada especificamente em imagens Monet. A função de perda para esta rede vem das imagens de conteúdo e estilo, onde a linha de base é começar com ruído branco. O palestrante passa a discutir uma aplicação de detecção de palavras-chave, que requer muitos clipes de áudio de 10 segundos que incluem uma palavra positiva como "ativar" e palavras negativas como "cozinha" e "leão".

  • 01:05:00 Nesta seção, o vídeo discute o processo de seleção do melhor esquema de rotulagem para reconhecimento de fala. O palestrante explica que deve-se consultar um especialista em reconhecimento de fala para determinar a melhor taxa de amostragem a ser usada no processamento de fala e oferece um exemplo de um esquema de rotulagem fraco que dificulta a detecção da palavra-gatilho em uma frase falada. O palestrante demonstra um esquema de rotulagem diferente que torna mais fácil para o modelo detectar a palavra-gatilho, mas observa que ainda é importante considerar questões como desequilíbrio no conjunto de dados e a necessidade de uma função sigmoide a cada passo de tempo para produzir zero ou um.

  • 01:10:00 Nesta seção do vídeo, o palestrante discute os dois pontos críticos para a construção de um projeto de aprendizado profundo bem-sucedido. A primeira é ter um pipeline estratégico de aquisição de dados. Uma maneira de fazer isso é coletar gravações de áudio de 10 segundos contendo palavras positivas e negativas com vários sotaques de todo o campus usando telefones. O segundo elemento crítico é a busca de arquitetura e o ajuste de hiperparâmetros. O palestrante conta uma história de como ele usou uma transformada de Fourier no início para extrair recursos da fala e depois conversou com especialistas e fez alterações na rede com base em seus conselhos. Ele enfatiza que encontrar a arquitetura certa é um processo complicado, mas que não deve ser abandonado, e especialistas devem ser consultados.

  • 01:15:00 Nesta seção, o palestrante discute um problema de reconhecimento de fala e como ele lutou para encaixar uma rede neural nos dados até encontrar um especialista em reconhecimento de fala que o orientou sobre o uso correto dos hiperparâmetros da transformada de Fourier, reduzindo o tamanho da rede e usando uma convolução para reduzir o número de passos de tempo, bem como expandir a saída. Ele destaca a importância de buscar orientação de especialistas e não desistir diante de problemas durante um projeto. O palestrante menciona brevemente outra maneira de resolver a detecção de acordes usando o algoritmo de perda de tripleto e codificando a fala de áudio em um determinado vetor para comparar a distância entre esses vetores. Finalmente, ele discute uma bela função de perda que corresponde à detecção de objetos e é usada em uma rede chamada YOLO, onde a perda compara x, y, largura e altura das caixas delimitadoras.

  • 01:20:00 Nesta seção do vídeo, o palestrante discute a função de perda de detecção de objetos no aprendizado profundo e por que inclui uma raiz quadrada. A função de perda inclui vários termos que visam minimizar a distância entre a caixa delimitadora verdadeira e a caixa delimitadora prevista, bem como identificar a classe do objeto dentro da caixa. A raiz quadrada é incluída para penalizar os erros em caixas menores mais pesadamente do que em caixas maiores. O vídeo termina com uma recapitulação dos próximos módulos e atribuições, sessões obrigatórias de mentoria de projetos de AT e seções de TA de sexta-feira focadas na transferência de estilo neural e no preenchimento de um formulário da AWS para possíveis créditos de GPU.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 2 - Deep Learning Intuition
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 2 - Deep Learning Intuition
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttps://stanford.io/3eJW8yTAndrew NgAdjunct Professor, Computer ScienceKian K...
 

Aula 3 - Projetos de Aprendizado Profundo de Ciclo Completo



Stanford CS230: Aprendizado Profundo | Outono 2018 | Aula 3 - Projetos de Aprendizado Profundo de Ciclo Completo

Nesta palestra sobre projetos de aprendizado profundo de ciclo completo, o instrutor enfatiza a importância de considerar todos os aspectos da construção de um aplicativo de aprendizado de máquina bem-sucedido, incluindo seleção de problemas, coleta de dados, design de modelo, teste, implantação e manutenção. Por meio do exemplo de construção de um dispositivo ativado por voz, o instrutor discute os principais componentes envolvidos em projetos de aprendizado profundo e incentiva os alunos a se concentrarem em projetos viáveis com potencial impacto positivo e contribuições exclusivas para seus respectivos campos. O instrutor também destaca a importância de coletar dados rapidamente, fazer boas anotações ao longo do processo e iterar durante o desenvolvimento, ao mesmo tempo em que discute abordagens específicas para ativação de fala e detecção de atividade de voz.

A segunda parte da palestra enfoca a importância do monitoramento e manutenção em projetos de aprendizado de máquina, particularmente a necessidade de monitorar e atualizar continuamente os modelos para garantir um bom desempenho no mundo real. O palestrante aborda o problema da alteração de dados, que pode fazer com que os modelos de aprendizado de máquina percam a precisão, e destaca a necessidade de monitoramento constante, coleta de dados e redesenho de modelos para garantir que os modelos continuem funcionando de maneira eficaz. A palestra também discute o impacto do uso de um sistema não ML versus uma rede neural treinada em um sistema de detecção de atividade de voz e sugere que as regras codificadas à mão geralmente são mais robustas para alterar dados. O palestrante conclui sobre a necessidade de se atentar para a privacidade dos dados e obter o consentimento do usuário na coleta de dados para modelos de retreinamento.

  • 00:00:00 Nesta seção do vídeo, o instrutor apresenta a ideia de projetos de aprendizado profundo de ciclo completo, explicando as etapas envolvidas na criação de um aplicativo de aprendizado de máquina bem-sucedido além de apenas construir um modelo de rede neural. Ele usa o exemplo da construção de um dispositivo ativado por voz e explica que o primeiro passo é selecionar um problema, como usar o aprendizado supervisionado para construir o aplicativo. Ele também menciona o próximo projeto no qual os alunos estarão trabalhando, que envolve a implementação de um dispositivo ativado por voz como um problema definido no final do trimestre.

  • 00:05:00 Nesta seção da palestra, o palestrante discute os principais componentes envolvidos na construção de um dispositivo ativado por voz usando aprendizado profundo, que inclui um algoritmo de aprendizado que detecta palavras-chave como "Alexa", "OK Google", "Hey Siri" ou "Ativar". O palestrante descreve as etapas importantes na criação de um produto de aprendizado de máquina, começando com a seleção de um problema, obtendo dados rotulados, projetando um modelo, testando-o em um conjunto de teste, implantando-o e mantendo o sistema. O palestrante enfatiza que o treinamento de um modelo geralmente é um processo iterativo e que a construção de um ótimo modelo envolve o foco na etapa um, seis e sete, além do núcleo do aprendizado de máquina.

  • 00:10:00 Nesta seção da palestra, o palestrante discute as propriedades de um bom candidato a projeto de aprendizado profundo. Ele usa o exemplo de um dispositivo ativado por voz e fala sobre como dispositivos como Echo e Google Home, que têm o potencial de serem ativados por voz, são difíceis de configurar devido à necessidade de configurá-los para Wi-Fi. Ele fornece uma solução para esse problema por meio de um dispositivo embutido que pode ser vendido para fabricantes de lâmpadas, que inclui um microfone embutido e pode ser ligado e desligado por meio de um simples comando de voz para a própria lâmpada. O palestrante menciona que este projeto requer a construção de um algoritmo de aprendizado que pode ser executado em um dispositivo embarcado e detectar a palavra de ativação para ligar e desligar a lâmpada. Ele ainda sugere dar nomes a esses dispositivos para evitar ambiguidade. O palestrante indica que, embora não estivesse trabalhando neste projeto, poderia ser um produto razoável para as startups buscarem.

  • 00:15:00 Nesta seção do vídeo, o apresentador pergunta ao público quais são as propriedades que eles geralmente procuram ao selecionar uma ideia de projeto de aprendizado profundo. Ele então passa a compartilhar sua própria lista de cinco pontos-chave a serem considerados ao fazer um brainstorming de ideias de projeto. O início do segmento é distraído por algumas dificuldades técnicas com um sistema de atendimento, mas o apresentador acaba entrando no assunto em questão, incentivando o público a refletir sobre suas próprias ideias e prioridades.

  • 00:20:00 Nesta seção do vídeo, o professor Ng compartilha seus cinco pontos sobre como escolher um projeto de aprendizado profundo. Ele aconselha os alunos a escolher algo em que estejam genuinamente interessados e considerar a disponibilidade de dados. Além disso, eles devem aproveitar seu conhecimento de domínio para aplicar técnicas de aprendizado de máquina a aspectos exclusivos de seus campos, fazendo uma contribuição única. Além disso, ele incentiva a escolha de um projeto que possa ter um impacto positivo e que traga utilidade para as pessoas sem necessariamente focar no dinheiro. Por fim, ele enfatiza que a viabilidade é um fator crucial na avaliação da viabilidade de qualquer projeto ou ideia de aprendizado de máquina. O Prof. Ng também dá um exemplo de médicos e estudantes de radiologia interessados em aprendizado profundo, lembrando-os de que alavancar seu conhecimento de domínio em radiologia médica pode criar contribuições mais exclusivas do que simplesmente começar do zero.

  • 00:25:00 Nesta seção, o instrutor discute a importância de escolher um projeto viável e obter dados para treinar o algoritmo de aprendizado profundo. Ele apresenta um cenário em que os alunos precisam treinar um algoritmo de aprendizado profundo para detectar certas frases para um projeto inicial e solicita que estimem o número de dias necessários para coletar dados usando o método de sequência de Fibonacci. Os alunos também são solicitados a descrever como fariam para coletar os dados necessários. Dificuldades técnicas com o laptop do apresentador são encontradas e o uso do navegador Firefox é sugerido como alternativa.

  • 00:30:00 Nesta seção do vídeo, o instrutor pede aos alunos que discutam uns com os outros em pequenos grupos e criem a melhor estratégia para coletar dados e decidir quantos dias passarão coletando dados. Ele sugere que eles considerem quanto tempo levarão para treinar seu primeiro modelo e quanto tempo desejam gastar coletando dados. O instrutor avisa que se demorar um ou dois dias para treinar o primeiro modelo, eles podem querer gastar menos tempo na coleta de dados. Ele aconselha os alunos a conversar com seus parceiros de projeto para elaborar um plano de coleta de dados.

  • 00:35:00 Nesta seção, o instrutor discute a importância de coletar dados para testar como o algoritmo funciona antes de coletar o próximo conjunto de dados enquanto trabalha em projetos de Machine Learning. O instrutor sugere passar de 1 a 2 dias coletando dados e obtendo um microfone barato para coletar dados, indo ao campus de Stanford ou a amigos e pedindo-lhes que digam palavras-chave diferentes. Ele observa que é difícil saber o que será difícil ou fácil sobre o problema ao construir um novo sistema de aprendizado de máquina. Portanto, é essencial começar com um algoritmo de aprendizado rudimentar para prosseguir.

  • 00:40:00 Nesta seção, o palestrante fala sobre a importância de coletar dados rapidamente e iterar durante o desenvolvimento do Machine Learning. Ele desaconselha gastar muito tempo na coleta de dados e sugere começar com um conjunto de dados menor primeiro para entender o que é necessário. É fundamental manter anotações claras sobre os experimentos realizados e os detalhes de cada modelo para que os pesquisadores possam consultar experimentos anteriores em vez de executá-los novamente. Além disso, ele recomenda fazer uma pesquisa na literatura para ver quais algoritmos outros estão usando em um campo específico, mas adverte que a literatura pode ser imatura em algumas áreas.

  • 00:45:00 Nesta seção, o palestrante discute a importância de fazer boas anotações durante todo o processo de aprendizado profundo, desde a coleta de dados e design do modelo até a implantação. Ele usa o exemplo de implantação de um sistema de reconhecimento de fala em dispositivos de ponta (como alto-falantes inteligentes) para enfatizar os desafios de executar uma grande rede neural em processadores de baixo consumo de energia com orçamentos computacionais e de energia limitados. Para
    Para enfrentar esse desafio, um algoritmo mais simples é usado para detectar se alguém está falando antes de passar o clipe de áudio para a rede neural maior para classificação. Esse algoritmo mais simples é conhecido como detecção de atividade de voz (VAD) e é um componente padrão em muitos sistemas de reconhecimento de fala, incluindo os usados em telefones celulares.

  • 00:50:00 Nesta seção da palestra, o professor questiona se deve usar um sistema de detecção de atividade de voz não baseado em aprendizado de máquina ou treinar uma pequena rede neural para reconhecer a fala humana para um projeto. Ele observa que uma pequena rede neural pode ser executada com um baixo orçamento computacional e sugere que é mais fácil detectar se alguém está falando do que reconhecer as palavras ditas. Os alunos da classe têm opiniões variadas, com alguns argumentando que a opção um é fácil de depurar e simples, enquanto a opção dois é melhor para detectar ruídos de coisas como cachorros latindo ou pessoas sussurrando.

  • 00:55:00 Nesta seção, o palestrante discute duas opções para implementar a ativação de fala, que é um problema que surge com alto-falantes inteligentes quando há ruído de fundo. A primeira opção é uma solução simples e rápida que pode ser implementada em 10 minutos e envolve a filtragem do ruído de fundo com algumas linhas de código. A opção dois é mais complicada e requer a construção de uma grande rede neural para lidar com ambientes ruidosos. Embora a opção dois possa ser necessária para grandes empresas de alto-falantes inteligentes, pequenas equipes iniciantes podem se beneficiar começando com a opção um e investindo apenas na opção dois quando for necessário. O palestrante também destaca o problema da alteração de dados no envio de um produto e oferece ideias práticas de como resolvê-lo.

  • 01:00:00 Nesta seção, o palestrante discute uma fraqueza prática no aprendizado de máquina que é frequentemente ignorada na academia - o problema da alteração de dados. Quando os modelos de aprendizado de máquina são treinados em um conjunto de dados específico, eles podem não funcionar bem quando os dados mudam, como novas classes de usuários com sotaques, ruído de fundo diferente ou novos eventos como um escândalo presidencial. Os exemplos dados incluem pesquisa na web, carros autônomos e inspeções de fábrica. Esse problema destaca a necessidade de monitoramento contínuo, coleta de dados e redesenho de modelos para garantir que as plataformas de aprendizado de máquina continuem funcionando no mundo real.

  • 01:05:00 Nesta seção, a turma discute qual sistema seria mais robusto para VAD, detecção de atividade de voz, entre uma abordagem sem aprendizado de máquina e uma rede neural treinada. A maioria da classe votou por um sistema não-ML. No entanto, verifica-se que o treinamento de uma pequena rede neural na fala com sotaque americano torna mais provável que a rede neural capte certas idiossincrasias do sotaque americano, tornando-a menos robusta na detecção da fala com sotaque britânico. A classe conclui que, se uma regra codificada à mão pode funcionar bem o suficiente, geralmente é mais robusta para mudar os dados e geralmente generaliza melhor, embora os algoritmos de aprendizado de máquina sejam necessários quando não existe essa regra.

  • 01:10:00 Nesta seção, o palestrante discute a ideia de que ter menos parâmetros em um modelo pode levar a uma melhor generalização, conforme sustentado por uma rigorosa teoria de aprendizado. Ele então questiona qual tipo de implantação, cloud ou edge, facilita a manutenção do modelo, visto que o mundo está em constante mudança e atualizações podem ser necessárias. Depois de dar tempo ao público para inserir suas respostas, a maioria respondeu que as implantações em nuvem facilitam a manutenção devido à capacidade de enviar atualizações e receber todos os dados processados em um local central, embora com problemas de privacidade e segurança do usuário.

  • 01:15:00 Nesta seção, o palestrante discute como o monitoramento e a manutenção são considerações importantes na implantação de projetos de aprendizado de máquina. Eles enfatizam que é essencial monitorar o desempenho e o feedback do modelo e abordar quaisquer alterações necessárias para melhorar sua precisão ou treinar novamente o modelo, se necessário. Eles também sugerem que as empresas estão estabelecendo processos de garantia de qualidade usando testes estatísticos para garantir que o modelo continue funcionando mesmo se houver atualizações ou alterações. Além disso, eles destacam a importância de respeitar a privacidade do usuário e obter o consentimento do usuário ao coletar dados para usar para feedback e retreinar o modelo
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 3 - Full-Cycle Deep Learning Projects
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 3 - Full-Cycle Deep Learning Projects
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttps://stanford.io/3eJW8yTAndrew NgAdjunct Professor, Computer ScienceKian K...
 

Aula 4 - Ataques adversários/GANs




Stanford CS230: Aprendizado Profundo | Outono 2018 | Aula 4 - Ataques adversários/GANs

Esta palestra apresenta o conceito de exemplos adversários, que são entradas ligeiramente modificadas para enganar uma rede neural pré-treinada. A palestra explica a base teórica de como esses ataques funcionam e discute as aplicações maliciosas da utilização de exemplos adversários em aprendizado profundo. A palestra também apresenta Generative Adversarial Networks (GANs) como uma forma de treinar um modelo que pode gerar imagens que parecem reais, e a palestra discute a função de custo para o gerador em um modelo GAN. A palestra termina explicando o gráfico logarítmico da saída de D quando dado um exemplo gerado.

A palestra aborda vários tópicos relacionados a Generative Adversarial Networks (GANs), incluindo dicas e truques para treinamento de GANs e suas aplicações em tradução de imagem para imagem e redes adversárias generativas não pareadas usando a arquitetura CycleGAN. A avaliação de GANs também é discutida, com métodos como anotação humana, redes de classificação e o Inception score e Frechet Inception Distance sendo métodos populares para verificar o realismo das imagens geradas.

  • 00:00:00 Nesta seção, o instrutor introduz o conceito de ataques adversários em redes neurais e estabelece o objetivo de encontrar uma imagem de entrada que não seja uma iguana, mas seja classificada como iguana por uma rede pré-treinada. O instrutor explica que as redes neurais possuem pontos cegos que as tornam vulneráveis a esses ataques e discute a base teórica de como esses ataques funcionam. O instrutor enfatiza que este tópico é mais teórico e lista leituras recomendadas para maior compreensão.

  • 00:05:00 Nesta seção, o palestrante discute o processo de geração de exemplos adversários usando uma função de perda que minimiza a diferença entre saída esperada e não esperada. A função de perda pode ser L1, L2 ou entropia cruzada, dependendo de qual funciona melhor na prática. A imagem é então otimizada iterativamente usando gradiente descendente até que seja classificada como a saída desejada. No entanto, a imagem resultante pode não necessariamente se parecer com a saída desejada devido ao vasto espaço de possíveis imagens de entrada que a rede pode ver, que é consideravelmente maior do que o espaço das imagens do mundo real.

  • 00:10:00 Nesta seção, o palestrante discute as aplicações maliciosas de exemplos adversários em aprendizado profundo, onde os invasores podem usar esses exemplos para induzir redes neurais a interpretações incorretas de entradas. Por exemplo, um invasor pode usar um exemplo de adversário para fazer com que uma foto de seu rosto pareça ser de outra pessoa, quebrar CAPTCHAs ou ignorar algoritmos que detectam conteúdo violento nas mídias sociais. O palestrante explica como restringir o problema de otimização pode tornar os exemplos de adversários mais perigosos, em que uma imagem que parece um gato para humanos pode ser interpretada como uma iguana por uma rede neural, o que tem implicações para carros autônomos e outros formulários. Por fim, é discutida a imagem inicial utilizada para o problema de otimização, com o palestrante sugerindo que começar com a imagem do objeto alvo pode ser a estratégia mais eficiente.

  • 00:15:00 Nesta seção, o palestrante discute o uso do erro RMSE como uma função de perda e como pode não ser uma maneira precisa de avaliar se um humano vê ou não duas imagens semelhantes. Eles também abordam o desafio de fazer uma função de perda complexa que pega um monte de gatos e coloca uma distância mínima entre eles. O palestrante passa a falar sobre exemplos adversários e como o espaço de imagens que parecem reais para os humanos é na verdade maior do que o espaço de imagens reais. O palestrante explica os ataques não direcionados e direcionados e como o conhecimento do invasor é um fator importante ao considerar diferentes tipos de ataques.

  • 00:20:00 Nesta seção da palestra, o professor discute maneiras de atacar um modelo de caixa preta para ataques adversários. Uma ideia é usar o gradiente numérico para estimar como a perda muda quando uma imagem é ligeiramente perturbada. Outro conceito é a transferibilidade, onde um exemplo contraditório criado para um modelo também pode enganar outro modelo semelhante. O professor menciona possíveis defesas, como a criação de um modelo de "rede de segurança" para filtrar exemplos adversários e agrupar várias redes com diferentes funções de perda. Outra abordagem é treinar em exemplos adversários junto com exemplos normais, mas isso pode ser caro e não necessariamente generalizar para outros exemplos adversários.

  • 00:25:00 Nesta seção, o palestrante discute a complexidade da utilização de exemplos adversários na otimização de gradiente descendente. O processo envolve propagar x através da rede para calcular o primeiro termo, gerar um exemplo adversário com o processo de otimização, calcular o segundo termo encaminhando a propagação do exemplo adversário e, em seguida, usar retropropagação para atualizar os pesos da rede. A técnica de emparelhamento logit também é brevemente mencionada como outro método de treinamento adversário. Perspectivas teóricas sobre a vulnerabilidade de redes neurais a exemplos adversários também são apresentadas, com o argumento principal sendo que partes lineares das redes, em vez de altas não linearidades e overfitting, são a causa da existência de exemplos adversários.

  • 00:30:00 Nesta seção, o palestrante discute o conceito de exemplos contraditórios e como modificar uma entrada de forma que mude radicalmente a saída da rede enquanto está próxima da entrada original. O alto-falante usa a derivada de y-hat em relação a x e define o valor de perturbação, epsilon, e mostra que adicionando epsilon*w-transpose a x, podemos mover x um pouco, o que ajuda a alterar a saída de acordo . O palestrante destaca que o termo w*w-transpose é sempre positivo, e podemos fazer essa mudança pouco mudando o epsilon para um valor pequeno.

  • 00:35:00 Nesta seção, o palestrante discute um exemplo de como criar um ataque adversário computando uma pequena alteração em x, chamada x-star, que empurra y-hat, a saída da rede neural, de -4 para 0,5. O palestrante observa que se W for grande, x-estrela será diferente de x, e se o sinal de W for usado em vez de W, o resultado sempre empurrará o termo x para o lado positivo. Além disso, à medida que x cresce em dimensão, o impacto do sinal de epsilon positivo de W aumenta.

  • 00:40:00 Nesta seção, o palestrante discute um método chamado Fast Gradient Sign Method, que é uma maneira geral de gerar exemplos adversários. Esse método lineariza a função de custo na proximidade dos parâmetros e é usado para empurrar as imagens de pixel em uma direção que afetará significativamente a saída. O palestrante explica que esse método funciona tanto para redes neurais lineares quanto para redes neurais mais profundas, pois a pesquisa se concentra em linearizar os comportamentos dessas redes. Além disso, o palestrante discute como a regra da cadeia é usada para calcular a derivada da função de perda e a importância de ter um gradiente alto para treinar os parâmetros de um neurônio.

  • 00:45:00 Nesta seção do vídeo, o conceito de redes adversárias generativas (GANs) é apresentado como uma forma de treinar um modelo que pode gerar imagens que parecem reais, mesmo que nunca tenham existido antes. O objetivo é que a rede entenda os principais recursos de um conjunto de dados e aprenda a gerar novas imagens que correspondam à distribuição do mundo real. Um jogo minimax é jogado entre duas redes: um gerador e um discriminador. O gerador começa gerando uma imagem aleatória e usa o feedback do discriminador para aprender como gerar imagens mais realistas. As GANs são difíceis de treinar, mas o objetivo é que o gerador aprenda a imitar a distribuição de imagens do mundo real com menos parâmetros do que a quantidade de dados disponíveis.

  • 00:50:00 Nesta seção, o instrutor apresenta o conceito de Generative Adversarial Networks (GANs) e como elas podem ser treinadas por meio de retropropagação. A GAN consiste em um gerador e um discriminador, com o discriminador tentando identificar se uma imagem é real ou falsa. O gerador então gera imagens falsas e tenta induzir o discriminador a pensar que são reais. O discriminador é treinado usando entropia cruzada binária, com imagens reais rotuladas como um e imagens geradas rotuladas como zero. A função de perda para o discriminador é JD, que tem dois termos: um que rotula corretamente os dados reais como um e o outro é a entropia cruzada binária.

  • 00:55:00 Nesta seção, os instrutores falam sobre a função de custo para o gerador em um modelo GAN. O objetivo é que o gerador crie amostras realistas que enganem o discriminador, e a função de custo deve refletir isso. Porém, por se tratar de um jogo, tanto D quanto G precisam melhorar juntos até que um equilíbrio seja alcançado. A função de custo para o gerador afirma que o discriminador deve classificar as imagens geradas como "uma", e isso é obtido invertendo o sinal do gradiente. Os instrutores também discutem o gráfico logarítmico da saída de D quando recebem um exemplo gerado.

  • 01:00:00 Nesta seção, o instrutor discute o problema com a função de custo do gerador e como ela vai para infinito negativo, o que faz com que o gradiente seja muito grande quando se aproxima de um. Em vez disso, ele sugere o uso de uma função de custo não saturante que tenha um gradiente mais alto quando próximo de zero e converte a função de custo atual nessa função de custo não saturante usando um truque matemático. A função de custo não saturante tem um gradiente alto no início, quando o discriminador é melhor que o gerador, que é onde eles geralmente estão no início do treinamento.

  • 01:05:00 Nesta seção, o palestrante discute dicas e truques para treinar GANs, incluindo modificar a função de custo, atualizar o discriminador mais do que o gerador e usar o Virtual BatchNorm. O palestrante também mostra exemplos de resultados GAN impressionantes, incluindo o uso de um gerador para criar faces com um código aleatório e a realização de operações lineares no espaço latente de códigos para impactar diretamente o espaço da imagem. Além disso, o palestrante demonstra como os GANs podem ser usados na tradução de imagem para imagem para gerar imagens de satélite com base em imagens de mapas e converter entre diferentes objetos, como zebras e cavalos ou maçãs e laranjas.

  • 01:10:00 Nesta seção, o instrutor discute o uso de redes adversárias generativas não pareadas na conversão de cavalos em zebras e vice-versa. A arquitetura utilizada é chamada de CycleGAN, que envolve dois geradores e dois discriminadores. Os geradores são treinados para transformar uma imagem do domínio de origem para o domínio de destino e, em seguida, de volta ao domínio de origem. Isso é importante para impor a restrição de que o cavalo deve ser o mesmo que a zebra e vice-versa. As funções de perda utilizadas incluem as clássicas funções de custo vistas anteriormente e termos adicionais que garantem a correspondência entre as imagens originais e geradas.

  • 01:15:00 Nesta seção do vídeo, os palestrantes discutem várias aplicações de GANs, incluindo o uso de custos de ciclo para melhorar as funções de perda para GANs condicionais, a capacidade de gerar imagens com base em bordas ou imagens de baixa resolução e o potencial para os GANs serem usados em conjuntos de dados médicos que preservam a privacidade e na fabricação personalizada de objetos como ossos e substitutos dentários. Os palestrantes também destacam os aplicativos divertidos que foram criados, como converter ramen em rosto e verso e gerar gatos com base em bordas.

  • 01:20:00 Nesta seção, o palestrante discute a avaliação de GANs e como verificar se as imagens geradas são realistas ou não. Um método é a anotação humana, em que o software é construído e os usuários são solicitados a indicar quais imagens são falsas e quais são reais. Outro método é usar uma rede de classificação como a rede Inception para avaliar as imagens. O palestrante também menciona a pontuação de início e a distância de início de Frechet como métodos populares para avaliar GANs. Por fim, o professor lembra os alunos sobre os próximos testes e tarefas de programação e os aconselha a revisar os vídeos do BatchNorm.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 4 - Adversarial Attacks / GANs
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 4 - Adversarial Attacks / GANs
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Aula 5 - IA + Saúde




Stanford CS230: Aprendizado Profundo | Outono 2018 | Aula 5 - IA + Saúde

A palestra fornece uma visão geral das aplicações de IA na área da saúde nesta palestra. Ele detalha os tipos de perguntas que a IA pode responder, como descritiva, diagnóstica, preditiva e prescritiva. O autor então apresenta três estudos de caso de seu laboratório que demonstram a aplicação da IA a diferentes problemas de saúde. Um exemplo é a detecção de arritmias cardíacas graves, que os especialistas podem ter diagnosticado erroneamente, mas podem ser detectadas por uma máquina. Outro exemplo é o uso de redes neurais convolucionais para identificar anormalidades nos exames de RM do joelho, identificando especificamente a probabilidade de uma ruptura do LCA e de um menisco. Por fim, o palestrante discute questões relacionadas à distribuição e aumento de dados na IA de assistência médica.

A segunda parte aborda vários tópicos relacionados à implementação de deep learning em aplicações de saúde. A importância do aumento de dados é discutida, conforme demonstrado pela solução de uma empresa para problemas de reconhecimento de fala em carros autônomos causados por pessoas conversando com o assistente virtual enquanto olham para trás. Os hiperparâmetros envolvidos no aprendizado de transferência para aplicativos de assistência médica, como decidir quantas camadas adicionar e quais congelar, também são discutidos. A palestra então passa para a análise de imagens, onde é destacada a importância de adicionar limites aos conjuntos de dados rotulados. As vantagens e diferenças entre detecção e segmentação de objetos na análise de imagens médicas são discutidas e o tópico da classificação binária para imagens médicas rotuladas com zero ou um é introduzido. A palestra termina discutindo a importância dos dados no aprendizado profundo e as próximas avaliações do curso.

  • 00:00:00 Nesta seção do vídeo, a palestra fornece uma visão geral das aplicações de IA na área da saúde. Ele detalha os tipos de perguntas que a IA pode responder, como descritiva, diagnóstica, preditiva e prescritiva. Ele também discute a mudança de paradigma do aprendizado profundo e o potencial da IA para automatizar o trabalho do engenheiro de aprendizado de máquina. Rajpurkar então apresenta três estudos de caso de seu laboratório que demonstram a aplicação da IA a diferentes problemas de saúde.

  • 00:05:00 Nesta seção, o palestrante discute o problema de detectar arritmias usando imagens médicas. As arritmias são um problema significativo que afeta milhões de indivíduos, e detectá-las por meio de testes de ECG pode ser um desafio devido às sutis diferenças entre os ritmos cardíacos. O palestrante destaca a quantidade de dados gerados em duas semanas a partir do monitoramento de pacientes por meio de aparelhos recentes, como o Zio Patch, que podem tornar necessária a interpretação automatizada. No entanto, detectar arritmias usando métodos automatizados traz desafios como a disponibilidade limitada de vários eletrodos e as diferenças sutis entre os ritmos cardíacos. Para superar esses desafios, o palestrante propõe o uso de aprendizado profundo, que pode mudar as abordagens tradicionais de engenharia e classificação de recursos.

  • 00:10:00 Nesta seção, o palestrante discute o uso de uma rede neural profunda com uma arquitetura de rede neural convolucional 1D com 34 camadas de profundidade, para mapear os ritmos cardíacos (rotulado como A, B e C) da entrada à saída. A rede utilizada foi uma rede residual com atalhos que ajudam a minimizar a distância do sinal de erro a cada uma das camadas, e foi combinada com um banco de dados maior, 600 vezes maior que o maior conjunto de dados anterior. Esse novo banco de dados permite que o algoritmo supere os cardiologistas na precisão e recordação das métricas F1, sendo o maior erro distinguir dois ritmos que parecem muito semelhantes, mas não têm diferença no tratamento, e até encontrar um erro de custo que os especialistas não perceberam.

  • 00:15:00 Nesta seção, o palestrante discute o uso da automação na área da saúde e como o aprendizado profundo e o aprendizado de máquina permitem o monitoramento contínuo do paciente, avançando a compreensão científica dos fatores de risco e possíveis descobertas médicas. Um exemplo é a detecção de arritmias cardíacas graves, que os especialistas podem ter diagnosticado erroneamente, mas podem ser detectadas por uma máquina. O conferencista também aborda a detecção de pneumonia com radiografia de tórax, destacando a utilidade da detecção automática, especialmente em crianças onde a pneumonia tem uma alta carga global.

  • 00:20:00 Nesta seção, o palestrante discute o uso de uma rede neural convolucional 2D que foi pré-treinada no ImageNet para obter uma imagem de entrada da radiografia de tórax de um paciente e emitir um rótulo binário indicando a presença ou ausência de pneumonia. O conjunto de dados usado foi um grande conjunto de dados de 100.000 raios-X de tórax divulgados pelo NIH, com cada raio-X anotado com até 14 patologias diferentes. Uma avaliação foi feita para determinar se o modelo era melhor do que os radiologistas ou no mesmo nível deles, avaliando se eles concordavam com outros especialistas da mesma forma. O F1-score foi calculado uma vez para cada especialista e o modelo, e foi demonstrado que o modelo teve um desempenho melhor do que o radiologista médio nesta tarefa. Os resultados também foram melhores do que o estado da arte anterior em todas as 14 patologias.

  • 00:25:00 Nesta seção, o palestrante discute os desafios de diagnosticar pacientes sem acesso a seus históricos clínicos e como os algoritmos de aprendizado profundo podem ser treinados em relatórios de radiologia que têm acesso a mais informações. O objetivo é identificar possíveis patologias a partir de um conjunto de sintomas observados na radiografia de tórax de um novo paciente. A interpretação do modelo é essencial para informar os médicos sobre o processo de tomada de decisão do algoritmo, e eles usam mapas de ativação de classe para gerar mapas de calor que destacam áreas de uma imagem com patologias. A abordagem pode melhorar a prestação de cuidados de saúde ao priorizar o fluxo de trabalho, especialmente no mundo desenvolvido, e aumentar a experiência em imagens médicas globalmente, onde dois terços da população não têm acesso a diagnósticos.

  • 00:30:00 Nesta seção, o palestrante demonstra um protótipo de aplicativo que permite aos usuários fazer upload de imagens de raios-X, que o modelo então diagnostica. O modelo é treinado em 14 patologias e é capaz de identificar a cardiomegalia, o aumento do coração. O palestrante está entusiasmado com a capacidade do algoritmo de generalizar para populações além daquelas sobre as quais foi treinado, como demonstrado pelo diagnóstico bem-sucedido de uma imagem baixada da internet. Além disso, o palestrante discute um estudo de caso sobre imagens de ressonância magnética do joelho, onde o objetivo era identificar anormalidades no joelho. O problema 3D permite visualizar o joelho de diferentes ângulos, o que é essencial para os radiologistas fazerem diagnósticos.

  • 00:35:00 Nesta seção, o palestrante discute o uso de redes neurais convolucionais para identificar anormalidades nos exames de RM do joelho, identificando especificamente a probabilidade de uma ruptura do LCA e de um menisco. O palestrante treinou nove redes convolucionais para cada par de visão-patologia e depois as combinou usando regressão logística. Eles testaram o modelo em 120 exames e descobriram que ele se saiu bem na identificação de anormalidades. O palestrante também discute a importância de poder generalizar modelos para trabalhar com conjuntos de dados de diferentes instituições e países. A questão dos modelos trabalharem em conjunto com especialistas em diferentes áreas, como radiologistas, para aumentar o desempenho também é mencionada.

  • 00:40:00 Nesta seção da palestra, o palestrante discute um estudo sobre a eficácia de radiologistas usando um modelo de IA para detectar rupturas do LCA. O estudo descobriu que usar o modelo junto com os radiologistas aumentou o desempenho e a especificidade da detecção de ruptura do LCA. No entanto, surge a preocupação com o viés da automação, e o palestrante aborda possíveis soluções, como passar em exames com respostas invertidas para alertar os radiologistas se eles estiverem confiando demais no modelo. O palestrante também compartilha duas oportunidades para os alunos se envolverem com IA e saúde, incluindo trabalhar com o conjunto de dados MURA e participar do AI for Healthcare Bootcamp.

  • 00:45:00 Nesta seção, o palestrante discute as aplicações e possíveis compensações para especialistas médicos no desenvolvimento e implementação de modelos de IA na área da saúde. Embora haja muito trabalho sendo feito sobre o assunto, não há uma solução direta para as preocupações éticas em torno do impacto potencial nos meios de subsistência dos profissionais médicos. O orador aborda ainda uma questão sobre as limitações dos modelos de IA na deteção de determinadas patologias e a importância de transmitir essas limitações aos utilizadores. A seção termina com um estudo de caso sobre o uso de aprendizado profundo para segmentar imagens microscópicas de células da pele para detectar doenças.

  • 00:50:00 Nesta seção, o palestrante discute a segmentação de imagens médicas e a divisão do conjunto de dados em conjuntos de treinamento, desenvolvimento e teste. As imagens são binárias segmentadas em pixels que correspondem a célula ou nenhuma célula. O público é convidado a discutir e fornecer estratégias para dividir os dados de três microscópios diferentes - A, B e C, com os dados divididos em 50% para A, 25% para B e 25% para C. O consenso é divida os dados em 95-5 para treinamento e teste de desenvolvimento, com imagens C nos conjuntos de desenvolvimento e teste e imagens C também incluídas em 90% dos dados de treinamento.

  • 00:55:00 Nesta seção, o palestrante discute questões relacionadas à distribuição e aumento de dados na IA de assistência médica. Ele enfatiza a importância de garantir que a distribuição dos dados de treinamento corresponda à do aplicativo do mundo real e sugere técnicas de aumento, como rotação, zoom, desfoque e simetria. O palestrante também adverte sobre os casos em que o aumento de dados pode prejudicar em vez de ajudar o modelo, como no reconhecimento de caracteres em que inversões de simetria podem levar a erros de rotulagem.

  • 01:00:00 Nesta seção, a importância do aumento de dados é discutida com um exemplo de uma empresa que trabalha com carros autônomos e assistentes virtuais em carros. Eles perceberam que o sistema de reconhecimento de fala não funcionava bem quando o carro andava de ré e descobriram que as pessoas falavam com o assistente virtual com a mão no banco do passageiro olhando para trás. Usando o aumento de dados inteligente, eles conseguiram alterar as vozes dos dados para parecer que foram usados por alguém que estava falando com a parte de trás do carro, o que resolveu o problema. Além disso, são discutidos tópicos como hiperparâmetros envolvidos no aprendizado por transferência.

  • 01:05:00 Nesta seção, o palestrante discute os hiperparâmetros envolvidos no aprendizado por transferência para aplicativos de saúde usando aprendizado profundo. Eles se concentram em hiperparâmetros, como número de camadas, tamanho das camadas adicionadas e a decisão de quais camadas congelar durante o treinamento. O palestrante explica como escolher quais camadas manter de uma rede pré-treinada e quantas camadas adicionar para criar uma nova rede para segmentação. Além disso, eles discutem que é importante decidir quanto das camadas pré-treinadas congelar durante o retreinamento para um pequeno conjunto de dados.

  • 01:10:00 Nesta seção, o instrutor mostra uma imagem de uma saída produzida por um algoritmo, que não corresponde ao que o médico deseja. A imagem possui células que não podem ser separadas, dificultando a interpretação do médico. A solução para esse problema é adicionar limites ao conjunto de dados rotulado. Os conjuntos de dados podem ser rotulados novamente, levando em consideração a presença de limites. Quando o modelo ainda não apresenta um bom desempenho, o peso da função de perda é ajustado, o que significa que o modelo é treinado para focar nos limites. Os coeficientes podem ser atribuídos a cada valor na função de perda para informar ao modelo como proceder caso ele perca os limites. A renomeação do conjunto de dados pode ser feita manualmente onde você desenha linhas, e a área dentro das linhas será tratada como a célula e o limite será tratado como a linha.

  • 01:15:00 Nesta seção, a palestra discute as vantagens e diferenças entre detecção e segmentação de objetos na análise de imagens médicas. Embora a detecção de objetos possa funcionar melhor para uma análise mais rápida, a segmentação é mais precisa na separação de células. A palestra passa a discutir a classificação binária de imagens médicas marcadas com zero ou um, indicando a presença ou ausência de células cancerígenas. O palestrante recomenda usar valores de gradiente para interpretar a previsão da rede após atingir uma taxa de precisão de 99%. Questiona-se então se é possível uma rede alcançar uma precisão maior que um médico, ao que a resposta é sim devido às diferenças de experiência e percepção.

  • 01:20:00 Nesta seção, os instrutores discutem o erro básico e o desempenho de nível humano em modelos de IA de assistência médica. Eles mencionam que a precisão de um grupo de médicos que rotulou o conjunto de dados deve ser levada em consideração, pois pode superar a de um único médico. O pipeline para direção autônoma também é discutido e sugere-se que isolar cada componente e verificar seu desempenho pode ajudar a identificar onde está o problema. Além disso, são discutidas as vantagens de uma abordagem de pipeline, incluindo que a coleta de dados pode ser mais fácil de obter para cada etapa individual do que para todo o sistema de ponta a ponta.

  • 01:25:00 Nesta seção, o instrutor discute a importância dos dados no aprendizado profundo e como a escolha do problema para trabalhar pode depender de quais dados são facilmente acessíveis. Em seguida, ele apresenta o tópico de redes neurais convolucionais e menciona que os próximos módulos se concentrarão fortemente na análise de imagens. O instrutor lembra os alunos do próximo teste, das tarefas de programação e do meio do semestre, que abrangerá tudo, até os vídeos da semana atual.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 5 - AI + Healthcare
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 5 - AI + Healthcare
  • 2019.03.21
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Aula 6 - Estratégia de Projeto de Deep Learning




Stanford CS230: Aprendizado Profundo | Outono 2018 | Aula 6 - Estratégia de Projeto de Deep Learning

Neste vídeo, o palestrante discute a importância de escolher uma boa métrica para medir o sucesso de um projeto de aprendizado de máquina. A métrica escolhida deve refletir o problema em questão e o resultado desejado. O palestrante fornece exemplos de exatidão, precisão, recuperação e pontuação F1 e explica quando cada um deve ser usado. Eles também discutem a diferença entre o conjunto de validação e o conjunto de teste e explicam por que é importante usar ambos. Além disso, o palestrante enfatiza a necessidade de um modelo de linha de base como ponto de comparação para medir a eficácia do algoritmo de aprendizado. Por fim, o palestrante aborda alguns questionamentos da plateia sobre a escolha do limiar para classificação binária e como lidar com o desequilíbrio de classes.

  • 00:00:00 Nesta seção, o instrutor apresenta um cenário de projeto de construção de um sistema de reconhecimento de fala para detectar uma frase específica, "Robert liga", que pode ser usada para acender uma lâmpada usando o comando de voz. O objetivo é construir um algoritmo de aprendizado que possa reconhecer essa frase e acender a lâmpada quando falada. O instrutor enfatiza a importância de ser estrategicamente sofisticado ao decidir o que fazer a seguir em um projeto de aprendizado de máquina para torná-lo mais eficiente e impulsioná-lo rapidamente. A palestra será interativa e os alunos são incentivados a se sentar com alguém com quem não trabalham tradicionalmente.

  • 00:05:00 Nesta seção, o instrutor pede ao público que se imagine como um CEO de uma startup com a tarefa de construir um algoritmo de aprendizado para detectar uma frase específica. Ele enfatiza a importância de ler a literatura existente antes de embarcar em um novo projeto e fornece dicas sobre como ler artigos de pesquisa com eficiência. Ele aconselha o público a folhear vários papéis em um nível superficial antes de decidir qual deles ler com mais detalhes. Ele também alerta que nem todos os artigos fazem sentido ou são importantes e, portanto, é essencial filtrar as informações irrelevantes.

  • 00:10:00 Nesta seção da palestra, é enfatizada a importância de conversar com especialistas e contatar os autores dos artigos ao tentar entender um determinado tópico. O palestrante também discute o processo de coleta dos conjuntos de dados de treinamento, desenvolvimento e teste apropriados para um projeto de aprendizado profundo. Eles sugerem gravar indivíduos dizendo a frase específica a ser detectada, como "Robert liga", e usar técnicas de aumento de dados para reduzir a variação no algoritmo de aprendizado. O palestrante enfatiza a importância de validar a necessidade de aumento de dados antes de investir tempo e esforço nisso.

  • 00:15:00 Nesta seção, o palestrante discute um exemplo de problema de lição de casa que envolve a criação de um sistema de detecção de palavras-gatilho. O sistema foi projetado para detectar quando alguém diz uma frase específica, como "Robert liga", e então disparar uma ação, como acender uma lâmpada. Para coletar os dados necessários, o palestrante sugere coletar 100 clipes de áudio de 10 segundos cada, sendo 25 para o conjunto de desenvolvimento e 0 para o conjunto de teste. Ele explica que esse processo poderia ser feito rapidamente, estimando que uma pessoa poderia ser registrada a cada minuto ou dois em uma área movimentada como o refeitório de Stanford.

  • 00:20:00 Nesta seção do vídeo, o palestrante discute como transformar um problema de detecção de áudio em um problema de classificação binária para aprendizado supervisionado. Eles sugerem cortar clipes de áudio de três segundos de um clipe de dez segundos, com rótulos de destino diferentes para cada clipe. Este método pode render milhares de exemplos de treinamento. O palestrante reconhece que existem outros métodos para processar dados de sequência, mas esta é uma maneira de fazê-lo. Eles também respondem a perguntas do público sobre alvos esparsos e a escolha de clipes de três segundos. Por fim, eles discutem um cenário em que a precisão é alta, mas o algoritmo não detecta nenhuma instância da frase em questão.

  • 00:25:00 Nesta seção, o palestrante discute um cenário em que um algoritmo de aprendizado fornece 95% de precisão, mas nenhuma detecção. Eles sugerem que uma maneira de melhorar o algoritmo é especificar um conjunto de desenvolvimento e avaliar as métricas mais próximas do objetivo real. Isso pode ser feito reamostrando os conjuntos de treinamento e desenvolvimento para torná-los mais proporcionais em termos de exemplos positivos e negativos ou dando maior peso aos exemplos positivos. Outra abordagem poderia ser alterar os rótulos de destino para vários, o que pode ser um método rápido e sujo, mas não é matematicamente rigoroso. O palestrante também aborda uma questão sobre como reequilibrar os conjuntos de dados durante a implantação e refere a necessidade de ajuste para o viés que pode ser introduzido.

  • 00:30:00 Nesta seção, o palestrante discute a estratégia para construir algoritmos de aprendizado e enfatiza que pode parecer mais com depuração do que com desenvolvimento. O fluxo de trabalho geralmente envolve a correção de um problema e, em seguida, encontrar um novo para resolver. Por exemplo, se o algoritmo estiver superajustado, é necessária uma análise de erros e mais alguns podem ser adicionados para equilibrar o conjunto de dados. No entanto, a maneira direta de rebalancear pode resultar em muitos exemplos negativos a serem descartados, o que pode ter sido útil para o algoritmo de aprendizado. O palestrante também mencionou as métricas para medir a eficiência de um sistema, como a chance de acordar ou acender a lâmpada e a aleatoriedade dela acender sozinha.

  • 00:35:00 Nesta seção, o palestrante discute o aumento de dados para áudio e sugere três maneiras possíveis de coletar dados de ruído de fundo para tornar um sistema mais robusto. O primeiro método envolve a coleta de amostras de áudio de sons de fundo dentro das casas das pessoas com sua permissão para serem adicionadas aos clipes de áudio para simular como soaria na casa do usuário. O segundo método envolve o download de clipes de áudio de 10 horas de chuva ou carros de conteúdo online licenciado pela Creative Commons, enquanto a terceira opção é usar o Amazon Mechanical Turk para fazer com que pessoas de todo o mundo forneçam amostras de áudio.

  • 00:40:00 Nesta seção do vídeo, o palestrante pede ao público para estimar quanto tempo levaria para coletar 10 horas de dados de áudio em vários locais em Stanford por meio de diferentes mecanismos. O palestrante sugere que a coleta de dados em paralelo por ter vários amigos com laptops pode ser feita rapidamente, enquanto o download de clipes online pode ser mais difícil, pois os clipes podem fazer um loop e, portanto, não contribuir para a diversidade de dados. O palestrante enfatiza a importância de passar por tais exercícios para debater ideias de forma eficiente e determinar quanto tempo e esforço serão necessários.

  • 00:45:00 Nesta seção, o instrutor explica a importância de ser eficiente e fazer escolhas com base em ideias e estimativas de tempo para construir um sistema decente de detecção de palavras-chave. O conselho dado é construir rapidamente algo "sujo" e depois desenvolver conjuntos de dados para melhorar ainda mais o sistema. O instrutor enfatiza que a diferença entre o sucesso/fracasso de uma empresa se resume, em última análise, em ser eficiente e aproveitar ao máximo o prazo determinado. Por fim, o instrutor incentiva os alunos a preencher uma pesquisa anônima para ajudar a melhorar o curso .
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 6 - Deep Learning Project Strategy
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 6 - Deep Learning Project Strategy
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Aula 7 - Interpretabilidade da Rede Neural




Stanford CS230: Aprendizado Profundo | Outono 2018 | Aula 7 - Interpretabilidade da Rede Neural

Nesta palestra, o palestrante apresenta vários métodos para interpretar e visualizar redes neurais, como mapas de saliência, sensibilidade de oclusão e mapas de ativação de classe. Os mapas de ativação de classe são usados para interpretar as camadas intermediárias de uma rede neural mapeando a saída para o espaço de entrada para visualizar quais partes da entrada foram mais discriminativas no processo de tomada de decisão. O professor também discute o agrupamento de médias globais como uma forma de manter informações espaciais em uma rede neural convolucional e a deconvolução como uma forma de aumentar a altura e a largura das imagens para tarefas como segmentação de imagens. Além disso, a palestra explora a suposição de ortogonalidade em filtros convolucionais e como a convolução subpixel pode ser usada para reconstrução em aplicativos de visualização.

A palestra abrange vários métodos para interpretar e visualizar redes neurais, incluindo convolução sub-pixel, deconvolução 2D, upsampling, unpooling e o uso de ferramentas como a caixa de ferramentas DeepViz e o algoritmo Deep Dream. O palestrante explica como a visualização de filtros na primeira camada de uma rede pode facilitar a interpretação, mas conforme vamos mais fundo, a rede fica mais difícil de entender. Ao examinar as ativações em diferentes camadas, o palestrante mostra como certos neurônios respondem a recursos específicos. Embora existam limitações para a interpretação de redes neurais, as técnicas de visualização podem fornecer informações e aplicações potenciais, como segmentação, reconstrução e geração de rede adversária.

  • 00:00:00 Nesta seção, o palestrante apresenta a ideia de interpretar redes neurais, em vez de apenas usar tentativa e erro para melhorá-las. Eles apresentam três métodos para interpretar redes neurais: mapas de saliência, sensibilidade de oclusão e mapas de ativação de classe. Esses métodos ajudam a entender o processo de tomada de decisão da rede mapeando o espaço de entrada para verificar qual parte da entrada foi discriminativa para uma determinada saída. O palestrante continua explicando como eles irão se aprofundar ainda mais nas camadas intermediárias e como usarão métodos como visualização de modelo de classe de gradiente ascendente, pesquisa de conjunto de dados e deconvolução para entender melhor a rede. O objetivo é fornecer um método científico para melhorar as redes neurais, em vez de confiar apenas na tentativa e erro.

  • 00:05:00 Nesta seção, o palestrante discute a interpretabilidade de redes neurais e o uso de mapas de saliência para visualizar o que a rede está olhando. Eles explicam que ao invés de usar as probabilidades da camada softmax, é melhor usar os escores pré-softmax para identificar quais pixels têm maior influência na saída geral da rede. O palestrante também apresenta a sensibilidade de oclusão como método para uma visualização mais precisa. Isso envolve colocar um quadrado cinza no cachorro na imagem de entrada e propagá-lo pela rede várias vezes para criar um mapa de probabilidade da classe cachorro, onde a confiança da rede é indicada por cores diferentes. Deslocando o quadrado cinza, o mapa mostra quais regiões da imagem de entrada são mais cruciais para a rede classificá-la como um cachorro.

  • 00:10:00 Nesta seção, o palestrante discute três métodos diferentes para interpretar e entender as redes neurais. O primeiro método envolve a oclusão de partes da imagem para ver para onde a rede está olhando e no que está focando. O palestrante demonstra esse método com imagens de cachorros e cadeiras, mostrando como a confiança da rede muda dependendo de qual parte da imagem está ocluída. O segundo método é a sensibilidade de oclusão, em que a confiança da rede realmente aumenta quando certas partes da imagem são removidas. O terceiro método são os mapas de ativação de classe, que demonstram a capacidade de uma rede de localizar objetos em imagens, mesmo quando treinados apenas em rótulos de nível de imagem. O palestrante explica que essa capacidade de localização é crucial para tarefas como detecção de objetos e muitas vezes é desenvolvida por meio de treinamento em tarefas de classificação.

  • 00:15:00 Nesta seção, o instrutor demonstra como usar o agrupamento de média global em vez de nivelado e totalmente conectado em uma rede neural convolucional (CNN) para manter informações espaciais, que são úteis para visualizar o que a rede está observando. Depois de obter um volume com seis mapas de recursos, o agrupamento de média global é aplicado para convertê-lo em um vetor de seis valores, que são então alimentados em uma camada totalmente conectada com ativação softmax para obter probabilidades. Observando os pesos da camada totalmente conectada, é possível descobrir quanto cada mapa de recursos contribui para a saída, e uma soma ponderada de todos esses mapas de recursos pode revelar o que a rede está vendo na imagem de entrada.

  • 00:20:00 Nesta seção, o palestrante discute mapas de ativação de classe e como eles dependem da classe que está sendo analisada na rede neural. Ao examinar as arestas entre a primeira ativação e a camada anterior, o palestrante explica que os pesos serão diferentes dependendo da classe em análise. Somando todos os mapas de recursos, resultados diferentes são obtidos. O palestrante discute como os mapas de ativação de classe podem ser visualizados com uma rede alterando as últimas camadas e como isso requer algum ajuste fino. O palestrante também discute como o processo de agrupamento da média global, que envolve uma normalização de 116, não elimina as informações espaciais porque os mapas de recursos são conhecidos e, portanto, podem ser mapeados de volta exatamente.

  • 00:25:00 Nesta seção, o palestrante explica como os mapas de ativação de classe funcionam para interpretar as camadas intermediárias de uma rede neural. Esse método mapeia de volta a saída para o espaço de entrada, permitindo que os usuários visualizem quais partes da entrada foram mais discriminativas no processo de tomada de decisão. Por meio do gradiente ascendente, um processo iterativo que maximiza a pontuação da saída desejada, o locutor fornece uma demonstração de como usar esse método para encontrar a imagem que representa a aparência de um cachorro pela rede. O palestrante diz que, embora esse método seja uma maneira eficaz de interpretar dados de imagem, outros métodos, como modelos de atenção, são usados para interpretar dados que não são de imagem.

  • 00:30:00 Nesta seção da palestra, o professor discute diferentes técnicas para visualizar o que uma rede neural está vendo. Ele mostra exemplos de como empurrar certos valores de pixel pode levar a uma pontuação mais alta para uma determinada classe e como a regularização, como L2 ou desfoque gaussiano, pode melhorar a qualidade das visualizações. O professor também apresenta a ideia de visualização do modelo de classe, onde uma função objetivo é usada para maximizar a pontuação de uma classe específica e como ela pode ser usada para validar se a rede está olhando para a coisa certa. Além disso, o professor fala sobre como a pesquisa de conjunto de dados pode ser usada para entender o que uma ativação específica no meio da rede está pensando, selecionando um mapa de recursos e executando muitos dados pela rede para ver quais pontos de dados têm o ativação máxima desse mapa de recursos.

  • 00:35:00 Nesta seção, o palestrante explica como diferentes mapas de recursos em uma rede neural convolucional são ativados por diferentes partes de uma imagem. O palestrante apresenta exemplos de um mapa de características que detecta camisas e outro que detecta bordas. O palestrante então explica que as ativações de uma imagem na rede enxergam apenas uma subparte da imagem de entrada, e conforme a rede vai se aprofundando, a ativação de cada camada olha para uma parte maior da imagem. O palestrante também explica como as redes de deconvolução podem ser usadas para produzir imagens com base em uma entrada de código e como esse método pode ser mais prático do que usar uma camada totalmente conectada com muitos neurônios.

  • 00:40:00 Nesta seção, o palestrante explica o uso da deconvolução em redes neurais. A deconvolução pode aumentar a altura e a largura das imagens, tornando-a útil para tarefas como a segmentação de imagens. O palestrante também discute o método de gradiente ascendente e como reconstruir ativações no espaço de entrada por meio de unpooling, un-ReLU e deconvolução. O palestrante passa a definir a deconvolução como uma operação matemática vetorial de matriz e dá um exemplo de uma convolução 1D com preenchimento.

  • 00:45:00 Nesta seção da palestra, o professor está discutindo a operação matemática entre uma matriz e um vetor. Ele dá um exemplo de uma camada convolucional com um filtro que tem um tamanho de quatro e um passo de dois. O tamanho da saída é calculado usando uma fórmula, que é nx-f+2p/passo. Ele então explica como definir essa convolução como uma operação matemática entre uma matriz e um vetor, escrevendo um sistema de equações e encontrando a forma da matriz. A matriz resultante é preenchida de acordo com o sistema de equações e o vetor de ativações é multiplicado pela matriz.

  • 00:50:00 Nesta seção da palestra, o instrutor explica como a operação de convolução pode ser representada como uma matriz simples multiplicada por um vetor. A matriz consiste em pesos e sua colocação na matriz é ditada pelo passo e tamanho da janela. Ao enquadrar a convolução como uma operação de matriz, podemos inverter a matriz para realizar a deconvolução e reconstruir a entrada original. No entanto, esta abordagem assume que a matriz de pesos é invertível e ortogonal, o que nem sempre é verdade na prática. A suposição de ortogonalidade é útil nos casos em que o filtro convolucional é um detector de arestas.

  • 00:55:00 Nesta seção da palestra, o professor apresenta um método para gerar X a partir de Y usando a suposição de que a reconstrução será útil mesmo que nem sempre seja verdadeira. Eles demonstram o processo usando ilustrações e um código Menti, mostrando como uma convolução de subpixel pode ser usada para realizar a mesma operação com um golpe indo da esquerda para a direita em vez de de cima para baixo. A técnica envolve cortar e preencher a entrada para obter a saída desejada. O professor observa que esse tipo de convolução é frequentemente usado para reconstrução em aplicações de visualização.

  • 01:00:00 Nesta seção, o palestrante explica o conceito de convolução subpixel, que envolve a inserção de zeros em um vetor Y para permitir um cálculo mais eficiente da deconvolução. Invertendo os pesos, dividindo o passo por dois e inserindo zeros, o processo de deconvolução torna-se essencialmente equivalente à convolução. Esse processo pode ser estendido para convolução bidimensional e, em geral, fornece uma melhor compreensão da operação matemática entre uma matriz e um vetor para convolução.

  • 01:05:00 Nesta seção, o palestrante se aprofunda na interpretação da deconvolução 2D. A intenção por trás da deconvolução é obter uma entrada cinco por cinco, que é o x reconstruído. Para fazer isso, o alto-falante demonstra que um filtro de tamanho dois por dois é aplicado a entradas de propagação direta com passo igual a dois em uma camada conv. Em seguida, a técnica de deconvolução é aplicada para obter a imagem reconstruída. A palestra explica que o processo de deconvolução envolve pegar o filtro e multiplicar todos os pesos por y11, deslocando-o em um passo de um e repetindo o mesmo processo para todas as entradas. O palestrante conclui observando que o processo é um tanto complicado; no entanto, não há necessidade de se preocupar se o conceito de deconvolução não for bem compreendido.

  • 01:10:00 Nesta seção da palestra, o professor explica o processo de upsampling de uma imagem de forma visual. Ele explica que, para reconstruir uma imagem, devem ser usados os pesos do ConvNet, se possível. Ele então mostra uma representação visual do processo de upsampling começando com uma imagem 4x4, inserindo zeros e preenchendo-a em uma imagem 9x9 antes de usar um filtro para convoluir sobre a imagem e executar a convolução à medida que avança. Ele também discute brevemente como unpool e unReLU, afirmando que o pool máximo não é invertível matematicamente, mas o processo pode ser aproximado por meio de chaves de espalhamento e armazenamento em cache para valores máximos.

  • 01:15:00 Nesta seção, o conceito de unpooling e maxpooling em redes neurais é explicado, juntamente com o uso de interruptores e filtros para reconstruir a entrada original. A função de ativação ReLU também é discutida e o conceito de ReLU para trás é introduzido. O uso de ReLU DeconvNet é explicado como um método de reconstrução imparcial que não depende da propagação direta. A abordagem é descrita como um hack e nem sempre é cientificamente viável, mas é útil na visualização e interpretação da rede neural.

  • 01:20:00 Nesta seção da palestra, o palestrante explica como visualizar e entender o que está acontecendo dentro das redes neurais, descobrindo a que corresponde cada ativação. A técnica de visualização envolve escolher uma ativação, encontrar a ativação máxima, zerar todas as outras e, então, reconstruir a imagem. O palestrante discute como os filtros na primeira camada da rede podem ser interpretados devido ao fato de que os pesos estão multiplicando diretamente os pixels. No entanto, à medida que nos aprofundamos na rede, os filtros se tornam mais difíceis de interpretar. O palestrante também explica como quanto mais fundo vamos, mais complexidade vemos e fornece exemplos de diferentes filtros e os tipos de imagens que os ativam.

  • 01:25:00 Nesta seção da palestra, o palestrante demonstra o uso da caixa de ferramentas DeepViz para investigar a interpretabilidade de redes neurais. Ao examinar as ativações de neurônios em diferentes camadas de uma rede convolucional, o palestrante mostra como certos neurônios disparam em resposta a características específicas, como rostos ou rugas. O palestrante também menciona o uso opcional da técnica Deep Dream para gerar imagens, definindo o gradiente para ser igual às ativações de uma camada específica, permitindo uma maior exploração do comportamento da rede neural.

  • 01:30:00 Nesta seção, o palestrante demonstra o algoritmo Deep Dream, que gera imagens retropropagando as ativações de uma rede neural para a camada de entrada e atualizando os pixels. O resultado é uma variedade de imagens surreais com animais e outros objetos transformados juntos. O palestrante também discute as limitações da interpretação de redes neurais e as formas pelas quais técnicas de visualização, como mapas de ativação de classes e deconvoluções, podem ser usadas para entender como a rede vê o mundo e detectar neurônios mortos. Além disso, o palestrante destaca as possíveis aplicações dessas visualizações, incluindo segmentação, reconstrução e geração de rede adversária.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 7 - Interpretability of Neural Network
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 7 - Interpretability of Neural Network
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Aula 8 - Conselhos de Carreira / Leitura de Trabalhos de Pesquisa




Stanford CS230: Aprendizado Profundo | Outono 2018 | Aula 8 - Conselhos de Carreira / Leitura de Trabalhos de Pesquisa

Nesta palestra, o professor Andrew Ng fornece conselhos sobre como ler artigos de pesquisa com eficiência e acompanhar o campo de aprendizagem profunda em rápida evolução. Ele enfatiza a importância de resumir o trabalho nas seções introdutórias e conclusivas, bem como atentar para as figuras e tabelas. Ng também compartilha conselhos de carreira, recomendando que os candidatos a emprego tenham conhecimento amplo e profundo em várias áreas de IA e aprendizado de máquina e se concentrem em trabalhar com indivíduos em vez de grandes marcas para maximizar as oportunidades de crescimento. Ele sugere consistência na leitura de artigos e na construção de habilidades horizontais e verticais por meio de cursos e projetos para uma base sólida em aprendizado de máquina.

  • 00:00:00 Nesta seção da palestra, o palestrante compartilha conselhos sobre como ler artigos de pesquisa com eficiência, particularmente no campo de aprendizagem profunda em rápida evolução. Ele sugere compilar uma lista de artigos e recursos, incluindo artigos de pesquisa publicados no arXiv, postagens no Medium e postagens ocasionais no GitHub. Ele então recomenda folhear os papéis e entender rapidamente cada um deles, pulando aqueles que não fazem sentido ou não são úteis. Ele sugere dedicar mais tempo a artigos seminais e usar as citações para encontrar artigos adicionais sobre o assunto.

  • 00:05:00 Nesta seção, o palestrante fornece orientações para a leitura de trabalhos de pesquisa, a fim de aumentar a compreensão de um determinado tópico. Ele sugere que a leitura de 15 a 20 artigos fornecerá uma compreensão básica de uma área, enquanto a leitura de 50 a 100 artigos levará a um entendimento muito bom. Além disso, ele fornece conselhos sobre como ler um artigo, sugerindo que sejam feitas várias passagens pelo artigo, com foco na leitura do título, resumo e figuras durante a primeira passagem. O palestrante enfatiza a importância de resumir o trabalho nas seções introdutórias e conclusivas, já que muitas vezes é nessas seções que os autores apresentam argumentos claros sobre a importância de seu trabalho.

  • 00:10:00 Nesta seção da palestra, o palestrante dá conselhos sobre como ler artigos de pesquisa com eficiência. Ele sugere começar com o resumo, introdução e conclusão do artigo para ter uma compreensão clara do que se trata. Ele também aconselha a folhear a seção de trabalho relacionada, que muitas vezes pode ser difícil de entender se você ainda não estiver familiarizado com a literatura. O palestrante recomenda ler o artigo inteiro, mas pular as partes que não fazem sentido, pois não é incomum que os artigos tenham seções sem importância incluídas. Por fim, ele oferece um conjunto de perguntas para os leitores tentarem responder a fim de solidificar sua compreensão do artigo, incluindo o que os autores estavam tentando realizar e quais elementos-chave podem ser aplicados.

  • 00:15:00 Nesta seção da palestra, o professor incentiva os alunos a ler artigos de pesquisa e recomenda começar com o texto em inglês antes de mergulhar na matemática. Ele atribui um artigo chamado "Redes neurais convolucionais densamente conectadas" e sugere que os alunos levem sete minutos para lê-lo antes de discuti-lo com seus colegas de classe. Ele também observa que, com a prática, os alunos podem ler e entender mais rapidamente os trabalhos de pesquisa, incluindo a compreensão dos formatos comuns usados para descrever a arquitetura de rede. O professor enfatiza que se aprende mais rapidamente focando nos principais conceitos apresentados nas figuras e tabelas do trabalho.

  • 00:20:00 Nesta seção, o professor Andrew Ng dá conselhos sobre como acompanhar e entender a pesquisa de aprendizado profundo. Ele sugere fazer pesquisas na web e procurar postagens em blogs sobre artigos importantes, verificar o Twitter e o ML Subreddit e seguir pesquisadores que frequentemente compartilham artigos online. Ng também recomenda formar uma comunidade com colegas ou colegas de classe para compartilhar trabalhos interessantes e derivar novamente a matemática de notas detalhadas para entender profundamente o algoritmo. Ng enfatiza que o tempo gasto por papel pode variar dependendo do nível de experiência e dificuldade, mas gastar mais tempo pode levar a uma compreensão mais rica dos conceitos de aprendizado profundo.

  • 00:25:00 Nesta seção, o instrutor aconselha os alunos a derivar novamente os algoritmos de aprendizado de máquina do zero para garantir um entendimento profundo, pois permite a capacidade de generalizar e derivar novos algoritmos. Ele também recomenda repetição espaçada em vez de estudar demais quando se trata de aprendizado e incentiva os alunos a formar grupos de leitura e colaborar com colegas para continuar aprendendo e navegando em uma carreira em aprendizado de máquina. Ele enfatiza o aprendizado constante sobre a atividade intensa e fornece dicas sobre como abordar a navegação na carreira.

  • 00:30:00 Nesta seção da palestra, o palestrante discute como conseguir um emprego ou ingressar em um programa de doutorado na área de aprendizado de máquina e enfatiza a importância de fazer um trabalho importante. Os recrutadores procuram habilidades técnicas, capacidade de codificação e experiência de trabalho significativa em aprendizado de máquina. A capacidade de continuar aprendendo novas habilidades e se manter atualizado com a rápida evolução do campo também é altamente valorizada. Engenheiros de IA e aprendizado de máquina bem-sucedidos são aqueles que aprenderam sobre diferentes áreas de aprendizado de máquina e experimentaram trabalhar com essas áreas, levando a um forte entendimento de como aplicar algoritmos de aprendizado de máquina em várias configurações.

  • 00:35:00 Nesta seção, o palestrante discute as habilidades "em forma de T" que são desejáveis em candidatos a empregos, o que significa ter uma compreensão ampla de várias áreas de IA e aprendizado de máquina, ao mesmo tempo em que possui uma compreensão profunda em pelo menos uma área específica área. Ele enfatiza a importância de ter experiência prática, como trabalhar em projetos significativos, contribuir com código aberto ou fazer pesquisas para convencer os recrutadores das habilidades do candidato. O palestrante adverte contra fazer muitas aulas sem ganhar experiência prática, tentar ir muito fundo muito rapidamente ou fazer muitos projetos minúsculos com pouca profundidade.

  • 00:40:00 Nesta seção da palestra, o professor Ng dá conselhos sobre como construir uma base sólida em aprendizado de máquina, recomendando a construção de peças horizontais e verticais. Ele observa que concluir 10 pequenos projetos pode não impressionar tanto os recrutadores quanto um ou dois grandes projetos. Para construir a peça horizontal, que consiste em habilidades fundamentais em IA e aprendizado de máquina, ele recomenda fazer cursos, ler artigos de pesquisa e ingressar em uma comunidade. Para construir a peça vertical, que envolve projetos mais relevantes e profundos, Ng aconselha trabalhar em coisas relevantes para aprendizado de máquina ou IA para ajudar a desenvolver uma carreira nesses campos. Ele continua enfatizando a importância de se divertir e fazer pausas, pois muitas vezes não há recompensa de curto prazo para o trabalho de aprendizado profundo além da satisfação pessoal.

  • 00:45:00 Nesta seção, o palestrante discute como a consistência é fundamental para melhorar no campo da aprendizagem profunda. Ler dois artigos por semana de forma consistente durante um ano levará à leitura de 100 artigos e contribuirá para o aprimoramento da pessoa no campo. Além disso, grandes pessoas e projetos são os maiores preditores de sucesso, e ter amigos próximos que trabalham duro, leem muitos artigos e se preocupam com seu trabalho podem influenciar alguém a fazer o mesmo. Ao selecionar um trabalho, é aconselhável focar na equipe e interagir com um grupo de 10 a 30 pessoas que podem construir sua carreira e aprimorar suas habilidades.

  • 00:50:00 Nesta seção, o palestrante fornece conselhos de carreira para entusiastas de aprendizado profundo, instando-os a se concentrar em indivíduos em uma empresa em vez de sua marca. O palestrante destaca que o gestor e o grupo central com o qual ele interage serão os que mais o influenciarão, considerando seu nível de trabalho e disposição para ensinar, tornando a avaliação pessoal e o relacionamento com os indivíduos mais importantes do que a marca da empresa. Cenários de exemplo fornecidos, como uma empresa gigante enviando ofertas de emprego para uma pequena equipe de IA, são avaliados, com foco nos indivíduos e como isso influencia o crescimento de cada um. O modo de falha de ignorar indivíduos em favor da marca da empresa é destacado com um exemplo pessoal de um aluno cuja carreira estagnou depois de aceitar uma oferta de trabalho de pagamento de back-end baseado em Java de uma empresa conhecida, em vez de se concentrar em trabalhar com pessoas específicas em uma equipe pequena.

  • 00:55:00 Nesta seção, Andrew Ng aconselha cautela ao considerar programas de rotação que parecem bons na teoria, mas podem não fornecer uma direção clara ou oportunidade de crescimento dentro de uma empresa. Ele sugere buscar oportunidades para trabalhar com equipes menores e menos conhecidas que podem estar fazendo um trabalho importante em aprendizado de máquina, em vez de correr atrás de grandes marcas. Ele enfatiza a importância de priorizar experiências de aprendizado e fazer um trabalho impactante ao invés de focar apenas em marcas de prestígio no setor.

  • 01:00:00 Nesta seção do vídeo, o palestrante dá conselhos de carreira para quem está em início de carreira. Juntar-se a uma equipe com um grande conjunto de colegas de equipe e fazer um trabalho significativo que ajude outras pessoas é recomendado. No entanto, ele aconselha a não trabalhar para empresas que produzem produtos nocivos, como cigarros. Ele acredita que há muito trabalho importante a ser feito em vários setores e que o mundo precisa de pessoas para trabalhar em coisas diferentes. Ele sugere que a próxima onda de aprendizado de máquina não é apenas para empresas de tecnologia, mas também para todas as indústrias tradicionais que não possuem tecnologia implementada.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 8 - Career Advice / Reading Research Papers
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 8 - Career Advice / Reading Research Papers
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
 

Aula 9 - Deep Reinforcement Learning




Stanford CS230: Aprendizado Profundo | Outono 2018 | Aula 9 - Deep Reinforcement Learning

A palestra apresenta aprendizado por reforço profundo, que combina aprendizado profundo e aprendizado por reforço. O aprendizado por reforço é usado para fazer boas sequências de decisões em situações com rótulos atrasados e é aplicado em diferentes campos, como robótica, jogos e propagandas. O aprendizado por reforço profundo substitui a tabela Q por uma função Q que é uma rede neural. O palestrante discute os desafios de aplicar o aprendizado por reforço profundo, mas descreve uma técnica para criar um valor alvo para Q-scores com base na equação de Bellman para treinar a rede. A palestra também discute a importância da repetição da experiência no treinamento de aprendizado por reforço profundo e o trade-off entre exploração e exploração em algoritmos de RL. A aplicação prática do aprendizado por reforço profundo ao jogo Breakout também é discutida.

A palestra discute vários tópicos relacionados ao aprendizado profundo por reforço (DRL). O trade-off exploração-exploração em DRL é discutido, e uma solução usando um hiperparâmetro é proposta para decidir a probabilidade de exploração. A importância do conhecimento humano em DRL e como ele pode aumentar os processos de tomada de decisão algorítmica é explorada. A palestra também cobre gradientes de políticas, diferentes métodos para sua implementação e prevenção de overfitting. Além disso, os desafios em ambientes de recompensa esparsos são destacados e uma solução de um artigo recente chamado "Unificando os Metas baseados em contagem para exploração" é brevemente discutida. Por fim, a palestra menciona brevemente os artigos YOLO e YOLO v2 de Redmon et al. em relação à detecção de objetos.

  • 00:00:00 Nesta seção, o palestrante apresenta a ideia de aprendizado por reforço profundo, que é a combinação de aprendizado profundo e outra área da IA, que é o aprendizado por reforço. O palestrante explica que as redes neurais profundas são ótimas na aproximação de função e podem ser aplicadas a muitos campos diferentes que requerem aproximadores de função, e o aprendizado por reforço é um desses exemplos. O palestrante motiva a ideia de aprendizado por reforço com exemplos como o AlphaGo e o artigo DeepMind do Google, onde eles usaram aprendizado profundo para treinar um agente para superar o desempenho em nível humano em vários jogos, principalmente jogos de Atari. O palestrante também explica que o aprendizado por reforço é importante porque permite que os agentes tenham uma estratégia de longo prazo em jogos complexos como o Go, que é muito maior que um tabuleiro de xadrez.

  • 00:05:00 Nesta seção do vídeo, o professor desafia os alunos a pensar em como construir um agente que possa aprender a vencer no jogo Go usando aprendizado profundo. Um possível conjunto de dados seria um par entrada-saída do tabuleiro e uma probabilidade de vitória para aquela posição, mas isso é difícil porque é difícil representar a probabilidade de vitória em uma determinada posição do tabuleiro. Outra opção seria observar os movimentos dos jogadores profissionais e registrá-los como entradas e saídas de dados, construindo um conjunto de dados de movimentos que os jogadores profissionais fizeram no passado. No entanto, isso também é difícil porque há muitos estados no jogo para uma representação precisa, e a verdade básica provavelmente estará errada, pois diferentes jogadores profissionais têm estratégias diferentes. Também existe o risco de o algoritmo não generalizar porque é uma questão de estratégia e não de simples reconhecimento de padrões.

  • 00:10:00 Nesta seção, o palestrante apresenta o aprendizado por reforço (RL), que é um método para aprender automaticamente a tomar boas sequências de decisões. RL é usado em situações em que rótulos atrasados, como probabilidade de vitória em um jogo, estão presentes. A RL é aplicada em vários campos, como robótica, jogos e anúncios. Para ilustrar como funciona o RL, o palestrante apresenta um jogo com cinco estados e explica como o retorno de longo prazo é definido nesse jogo. O objetivo do jogo é maximizar a recompensa a longo prazo, movendo-se pelos estados e tomando decisões com base nas recompensas disponíveis.

  • 00:15:00 Nesta seção, o conceito de retorno de longo prazo e o uso de retorno descontado para Q-learning no aprendizado por reforço são discutidos. O retorno descontado leva em consideração a importância do tempo na tomada de decisão e ajuda a mitigar o problema de convergência que pode ocorrer com um retorno não descontado. O objetivo do Q-learning é aprender a ação ideal em cada estado, armazenando uma matriz de tabela Q que representa a pontuação para cada ação em cada estado. Usando as pontuações da tabela Q, um agente pode determinar o valor máximo e a ação correspondente em um determinado estado para tomar decisões rapidamente. Também foi explicado o processo de construção de uma tabela Q através de um diagrama de árvore.

  • 00:20:00 Nesta seção, o professor explica o algoritmo iterativo do Q-learning, usando uma matriz que informa a ação a ser tomada em cada estado. Para calcular a recompensa com desconto de longo prazo para cada estado, eles usam a equação de Bellman, que consiste na recompensa imediata mais o desconto vezes a recompensa futura máxima possível. O algoritmo iterativo deve convergir em algum ponto e a função Q deve seguir a equação ótima de Bellman. O professor enfatiza a importância da equação de Bellman no entendimento do Q-learning.

  • 00:25:00 Nesta seção, o palestrante fala sobre o vocabulário do aprendizado por reforço, que inclui o ambiente, o agente, o estado, a ação, a política, a recompensa, o retorno total, o fator de desconto, a tabela Q e a equação de Bellman. A tabela Q é a matriz de entradas que representa o quão bom é tomar a ação A no estado S, e a política é a função de tomada de decisão que nos diz qual é a melhor estratégia a ser aplicada em um estado. O número de estados pode ser muito grande, tornando impraticável a solução da tabela Q. O aprendizado profundo entra no aprendizado por reforço, substituindo a tabela Q por uma função Q, que é uma rede neural. No entanto, as mudanças dinâmicas nos Q-scores tornam o treinamento da rede diferente de um ambiente clássico de aprendizado supervisionado.

  • 00:30:00 Nesta seção da palestra, o professor discute os desafios que surgem ao aplicar o aprendizado por reforço profundo, pois difere significativamente do aprendizado supervisionado. Um dos principais problemas é a falta de rótulos, já que os Q-scores são dinâmicos e mudam constantemente. Para resolver isso, o professor descreve uma técnica para criar um valor-alvo ou rótulo para os Q-scores com base na equação de Bellman. Usando esse proxy como rótulo, a rede pode ser treinada para se aproximar da função Q ideal por meio de atualizações iterativas que, com sorte, levam à convergência.

  • 00:35:00 Nesta seção, o conceito da equação de Bellman e seu uso na retropropagação no aprendizado por reforço profundo é discutido. A equação de Bellman é usada para calcular valores que estão mais próximos dos valores ótimos que se está tentando obter em termos de recompensas. A função Q é gerada e comparada com a equação de Bellman para determinar a melhor função Q. No entanto, existe um potencial de divergência no algoritmo e a convergência do algoritmo é comprovada em um artigo de Francisco Melo. A implementação do algoritmo DQN é explicada por meio de pseudocódigo que envolve a inicialização de parâmetros de rede Q, looping de episódios, cálculo do valor alvo por meio da equação de Bellman e retropropagação usando uma rede de destino Q fixa.

  • 00:40:00 Nesta seção, o vídeo discute a aplicação prática de um Deep Q-Network para o jogo Breakout. O objetivo do Breakout é destruir todos os tijolos sem deixar a bola passar da linha de fundo. Depois de treinar usando o Q-learning, o agente descobriu um truque para terminar o jogo rapidamente, cavando um túnel para chegar ao outro lado dos tijolos. A rede descobriu essa estratégia por conta própria, sem supervisão humana. A entrada da rede Q é uma representação de recursos que inclui a posição da bola, da raquete e dos tijolos. No entanto, para obter todas as informações, os pixels devem ser usados. A saída da rede são três valores Q representando a ação de ir para a esquerda, ir para a direita ou ficar ocioso em um estado específico.

  • 00:45:00 Nesta seção, o palestrante discute várias técnicas de pré-processamento para ajudar a configurar a arquitetura de rede Q profunda para aprendizado de reforço profundo, especificamente no trabalho com imagens. A primeira técnica envolve a obtenção de quadros sucessivos para fornecer informações adicionais à rede, enquanto outras técnicas de pré-processamento incluem a redução do tamanho das entradas, a conversão de escala de cinza para compactação de imagem e a remoção de pixels sem importância, como pontuações em certos jogos. O palestrante alerta sobre os perigos de perder informações importantes ao reduzir para escala de cinza e explica a arquitetura de rede Q profunda em detalhes, dizendo que as redes neurais convolucionais são utilizadas devido ao fato de a entrada ser imagens. Por fim, o palestrante explica a necessidade de acompanhar um estado terminal para garantir a terminação adequada do loop, o que é importante para a função y.

  • 00:50:00 Nesta seção, o palestrante explica a importância da repetição da experiência no aprendizado por reforço, que permite o treinamento em experiências passadas, e não apenas no que está sendo explorado no momento. Como o aprendizado por reforço treina apenas o que explora, ele pode nunca mais encontrar certas transições de estado, tornando as experiências passadas inestimáveis para o treinamento. O replay da experiência cria uma memória de replay onde as experiências passadas podem ser armazenadas e, durante o treinamento, o algoritmo pode coletar amostras da memória de replay, além de explorar novas transições de estado. Isso permite que as experiências anteriores sejam usadas várias vezes no treinamento, o que pode ser crucial para aprender pontos de dados importantes.

  • 00:55:00 Nesta seção da palestra, o palestrante discute as vantagens da repetição da experiência no aprendizado por reforço profundo. Em primeiro lugar, permite que os dados sejam usados várias vezes, em vez de apenas uma vez, o que melhora a eficiência dos dados. Em segundo lugar, a repetição da experiência descorrelaciona as experiências, evitando que a rede seja tendenciosa para prever uma ação repetidamente. Por fim, permite que a computação e a memória sejam negociadas contra a exploração, que é cara. O palestrante também fala sobre o trade-off entre exploração e exploração no algoritmo RL e sugere uma forma de incentivar a exploração nem sempre tomando a melhor ação.

  • 01:00:00 Nesta seção, o instrutor e os alunos discutem o problema de troca exploração-exploração no aprendizado por reforço e oferecem uma solução usando um hiperparâmetro que decide com qual probabilidade o agente deve explorar em vez de explorar. Eles explicam por que a exploração é crucial e adicionam linhas ao pseudocódigo para a exploração voraz de epsilon na memória de replay. Eles enfatizam que a principal vantagem de usar o aprendizado profundo no aprendizado por reforço é sua capacidade de aproximar bem as funções. Por fim, abordam brevemente o tema do conhecimento humano no aprendizado por reforço e por que é essencial avaliar o desempenho do algoritmo.

  • 01:05:00 Nesta seção da palestra, o professor explica como o conhecimento humano desempenha um papel significativo no Deep Reinforcement Learning (DRL). Os seres humanos podem interpretar pistas contextuais de forma eficiente e instintiva, por exemplo, os humanos sabem que uma chave abre uma porta e que a compreensão pode aumentar significativamente o processo algorítmico de tomada de decisão. A dificuldade está no treinamento de algoritmos com informações contextuais limitadas, como o notoriamente desafiador jogo Montezuma's Revenge, uma façanha que a DeepMind alcançou ao implementar pesquisa em árvore e algoritmos de aprendizagem profunda. A palestra aborda brevemente o jogo Alpha Go e como a combinação de busca em árvore e redes de valor podem melhorar os processos algorítmicos de tomada de decisão.

  • 01:10:00 Nesta seção, o palestrante apresenta gradientes de política, que é uma classe totalmente diferente de algoritmo do DQN que otimiza o mapeamento do estado para a ação (política) diretamente. O palestrante explica que em gradientes de política, o foco está na política em si, e não no valor Q, e que a rede de política é atualizada usando o gradiente da política, em oposição à atualização da função Q em DQN. Por meio de vários vídeos, o palestrante explica os diferentes métodos de gradiente de políticas, como Proximal Policy Optimization (PPO) e Competitive Self-Play, e destaca pontos técnicos sobre overfitting para o agente real à sua frente, sugerindo a necessidade de alternar entre diferentes versões do agente para evitar overfitting. Por fim, o palestrante explica como o meta-learning treina em uma distribuição de tarefas semelhantes para permitir o aprendizado de tarefas específicas com etapas de gradiente mínimas.

  • 01:15:00 Nesta seção da palestra, o palestrante discute o dilema exploração-exploração e como isso pode ser um desafio, principalmente quando a recompensa é escassa. Ele fala sobre um artigo recente chamado "Unificando os Metas Baseados em Contagem para Exploração" que apresenta a ideia de contar quantas vezes um estado foi visitado e dar uma recompensa intrínseca ao agente por visitar estados com menos contagens. Isso estimula o agente a explorar e olhar mais, levando-o a descobrir diferentes salas do jogo. O palestrante também discute brevemente o aprendizado por imitação e como ele pode ajudar quando definir recompensas é difícil.

  • 01:20:00 Nesta seção, o palestrante menciona brevemente que eles cobriram os artigos YOLO e YOLO v2 de Redmon et al. em relação à detecção de objetos. Nenhuma informação adicional é dada.
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 9 - Deep Reinforcement Learning
Stanford CS230: Deep Learning | Autumn 2018 | Lecture 9 - Deep Reinforcement Learning
  • 2019.04.03
  • www.youtube.com
Andrew Ng, Adjunct Professor & Kian Katanforoosh, Lecturer - Stanford Universityhttp://onlinehub.stanford.edu/Andrew NgAdjunct Professor, Computer ScienceKia...
Razão: