Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

GAN School - Elo7 Workshops

28 views

Published on

Slides utilizados no workshop sobre GANs ministrado no Elo7, dia 10/12/2019

Published in: Technology
  • Be the first to comment

  • Be the first to like this

GAN School - Elo7 Workshops

  1. 1. 1
  2. 2. Sellers 30 thousand active sellers Buyers 9 million active buyers 2
  3. 3. Since maternity, Elo7 has been involved in the growth of many babies and children 3
  4. 4. 1 out of 4 brides organize their wedding with Elo7 4
  5. 5. What it is like to be a data scientist at Elo7? Cinthia Tanaka, PhD Applied Math Data Scientist @ Elo7 Samara Alves, MSc. Statistics Data Scientist @ Elo7 Junior A. Koch, PhD Mathematical Physics Data Scientist @ Elo7 Renato Cordeiro Computer Science ML Engineer @ Elo7 Igor Bonadio, PhD Computer Science Lead Data Scientist @ Elo7 Research + Product development Autonomy TeamworkStudy groups Creativity 5
  6. 6. About me Graduação em física 2003-2007 Mestrado e Doutorado (técnicas experimentais) 2008-2014 Professor de Física e Cálculo (programação e matemática) 2013-2017 Pós-doutorado (matemática teórica ++) 2018 Decisão de trilhar Ciência de dados 2018 Elo7 (problemas práticos, colaboração e pesquisa) 2019
  7. 7. 7 https://elo7.gupy.io/
  8. 8. Modelos Geradores Team Hightower PhD. Junior A. Koch Data Scientist @ Elo7 8Elo7.dev Workshops - GAN School 1: 10/12/2019
  9. 9. I need data, lots of data
  10. 10. O que é um modelo gerador? Machine learning tradicional: temos os dados e queremos uma função ou regra que categoriza os dados. Abordagem de geradores: estamos preocupados em aprender a distribuição dos dados de cada umas das classes presentes.
  11. 11. O que é um modelo gerador? Exemplo
  12. 12. Preço dos produtos Preço do frete Idade dos compradores Tempo mensal no site Distribuição dos dados
  13. 13. Dados originais Amostragem de novos dados Distribuição dos dados
  14. 14. Dados originais Amostragem de novos dados Distribuição dos dados
  15. 15. Tipos de modelos geradores 15
  16. 16. Tipos de modelos geradores 16
  17. 17. Modelos Geradores são difíceis Pipeline de aprendizado comum no estudo de machine learning: 1. Basics 1. Supervised,unsupervised,reinforcement 2. Bias-variance trade-off 3. Overfitting, underfitting 2. Gradient descent: 3. Linear discriminant analysis (LDA) 4. Principal Component Analysis(PCA) 5. Learning Vector Quantization (LVQ) 6. Regularization methods 7. Kernel smoothing methods 8. Ensemble learning 9. Ordinary least squares 10. ... 17 Por que (na minha opinião)? 1. Exige mais modelagem 2. É difícil criar uma biblioteca standard 3. Cada aplicação apresenta suas próprias peculiaridades
  18. 18. Associação e causa 18 (X,y) y’ min erro f Loss y’ = 2x1 +1x2 -3x3 Podemos dizer que SE aumentarmos x1 e x2 então y’ vai aumentar também? Lei zero de inferência causal: Associação e causa são diferentes. Em ML tradicional apenas aprendemos uma função que de adequa aos dados e isso não quer dizer que podemos inferir que as features escolhidas são a causa da variável de saída.
  19. 19. Como fazer inferência causal? 19 (X,y) y’ min erro f Loss p(y,x1 ,x2 ,x3 ) Precisamos conhecer muito bem o problema para escolher boas features e então aprender distribuições condicionais para o grafo causal escolhido. Nota: podemos fazer tudo isso e perceber que não foi suficiente. p(y,x1 ,x2 ,x3 ) = p(y|x1 ,x2 ,x3 )p(x1 ,x2 ,x3 ) X2 X1 Y X3 Exemplo de gráfico causal: Wasserman, Larry. All of statistics: a concise course in statistical inference. Springer Science & Business Media, 2013.
  20. 20. Dependência entre características dos dados 20 Kocaoglu, Murat, et al. "Causalgan: Learning causal implicit generative models with adversarial training." arXiv preprint arXiv:1709.02023 (2017).
  21. 21. Variational Autoencoder 21 min Kingma, Diederik P., and Max Welling. "Auto-encoding variational bayes." arXiv preprint arXiv:1312.6114 (2013).
  22. 22. Variational Autoencoder 22 Zi Xi
  23. 23. GANs e Treino Adversarial Team Hightower PhD. Junior A. Koch Data Scientist @ Elo7 23Elo7.dev Workshops - GAN School 1: 10/12/2019
  24. 24. Por que GANs? 24
  25. 25. Aplicações: CycleGAN 25 Zhu, Jun-Yan, et al. "Unpaired image-to-image translation using cycle-consistent adversarial networks." Proceedings of the IEEE international conference on computer vision. 2017.
  26. 26. Aplicações: SRGAN 26 Ledig, Christian, et al. "Photo-realistic single image super-resolution using a generative adversarial network." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.
  27. 27. Aplicações: InfoGAN 27 Chen, Xi, et al. "Infogan: Interpretable representation learning by information maximizing generative adversarial nets." Advances in neural information processing systems. 2016.
  28. 28. Dados reais ou falsos?
  29. 29. Dados reais ou falsos?
  30. 30. Real ou Falso?
  31. 31. Generative Adversarial Networks
  32. 32. The GANfather - Ian Goodfellow, 2014 Yoshua Bengio Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep learning. MIT press, 2016.
  33. 33. Let`s play a game Falsificador - GeradorInvestigador - Discriminador
  34. 34. 1 Adversarial Training
  35. 35. 35 D G Dado real: X Ruído: z Dado falso: X' Etapa 1: dados reais D(X) = P(X) real Adversarial Training
  36. 36. 36 D G Dado real: X Dado falso: X' D(X') = P(X') real 1-D(X') = P(X') falso Etapa 2: dados falsos Adversarial Training Ruído: z
  37. 37. 37 D G Dado real: X Dado falso: X' max D(X), min D(X') Etapa 3: treino do discriminador Adversarial Training Ruído: z
  38. 38. 38 D G Dado real: X Dado falso: X' Etapa 4: treino do gerador min D(X), max D(X') Adversarial Training Ruído: z
  39. 39. 39 z Adversarial Training
  40. 40. https://cs.stanford.edu/people/karpathy/gan/ Dados falsosDados reais Erro Evolução do treino Adversarial Training
  41. 41. Loss - MinMax Game 41 D: tenta maximizar a probabilidade de X ser real e G(z) ser falso G: tenta minimizar a probabilidade de X real e G(z) ser falso
  42. 42. O primeiro desafio: instabilidade JD - JG = 0 42 Adversarial Training
  43. 43. Loss - Non Saturating GAN (NSGAN) 43 D: tenta maximizar a probabilidade de X ser real e G(z) ser falso G: tenta maximizar a probabilidade de G(z) ser real
  44. 44. GAN Zoo 44
  45. 45. Mão na massa... 45
  46. 46. Conditional GAN Team Hightower PhD. Junior A. Koch Data Scientist @ Elo7 46Elo7.dev Workshops - GAN School 1: 10/12/2019
  47. 47. CGAN 47 D G Dado real: X Dado falso: X' Etapa 1: dados reais D(X) = P(X) real y y Ruído: z
  48. 48. 48 D G D(X',y) = P(X'|y) real 1-D(X',y) = P(X'|y) falso Etapa 2: dados falsos Dado real: X Dado falso: X'y y yRuído: z Adversarial Training
  49. 49. 49 D G max D(X|y), min D(X'|y) Etapa 3: treino do discriminador Dado real: X Dado falso: X'y y yRuído: z Adversarial Training
  50. 50. Adversarial Training 50 D G Etapa 4: treino do gerador max D(X'|y) yRuído: z Dado real: X Dado falso: X'y y
  51. 51. Loss - MinMax Game 51 D: tenta maximizar a probabilidade de (X|y) ser real e (G(z|y)|y) ser falso G: tenta maximizar a probabilidade de (G(z|y)|y) ser real
  52. 52. Vantagens do CGAN 52 Mode collapse Maior controle
  53. 53. Mão na massa... 53

×