Metodo da Descida do Gradiente

แชร์
ฝัง
  • เผยแพร่เมื่อ 20 ธ.ค. 2024

ความคิดเห็น • 59

  • @guilhermescherer9183
    @guilhermescherer9183 23 วันที่ผ่านมา

    de fato a melhor explicação do youtube que eu já vi. Simplesmente parabéns pela didática.

  • @Lirideas
    @Lirideas 6 หลายเดือนก่อน +1

    Que didática excelente, e esse final cinematográfico, que coisa linda! Que capricho! Obrigada pelo ótimo conteúdo.

  • @luiscarlos1063
    @luiscarlos1063 2 ปีที่แล้ว +5

    A melhor, a mais completa, a mais clara, a mais didática explicação do Gradiente de que tenho conhecimento. Parabéns professor!

    • @renatocosta852
      @renatocosta852 ปีที่แล้ว

      depois de duas semanas de sofrimento eu finalmente entendi!

  • @wiltonfreitas1685
    @wiltonfreitas1685 3 ปีที่แล้ว +1

    Fera..parabéns pela aula

  • @pinkbuttons
    @pinkbuttons 2 ปีที่แล้ว +1

    Excelente ! A melhor explicação possível. Parabéns Rodrigo!

  • @ningueminteressanteconfie
    @ningueminteressanteconfie ปีที่แล้ว

    Cara, que vídeo!
    Tantas aplicações me vem em mente, mesmo fora da área de ML e AI, que nossa!
    Obrigado!

  • @matheussilva3135
    @matheussilva3135 2 ปีที่แล้ว +2

    INCRÍVEL! Didática ótima. Aprendi em 11 minutos o que eu estava tentando aprender em um dia todo. Claro e objetivo. Parabéns pelo vídeo!

  • @franksonsouza2102
    @franksonsouza2102 4 ปีที่แล้ว +8

    muito boa a explicação, conseguiu explicar em 11 minutos o que meu professor demorou 1 hora

    • @user-pp3ku8sh5v
      @user-pp3ku8sh5v 2 ปีที่แล้ว

      Já o meu ficou 2h e não conseguiu.....

  • @NathanQueija
    @NathanQueija 2 ปีที่แล้ว

    Que vídeo bom! Muito bem explicado. Obrigado por compartilhar. Me ajudou muito.

  • @reydson9422
    @reydson9422 4 ปีที่แล้ว +5

    Sensacional!! Muito boa a didática. Me ajudou muito, estou estudando deep learning por conta própria e o conceito da descida do gradiente não estava muito claro em minha mente, graças ao seu vídeo poderei dar prosseguimento aos meus estudos. Muito obrigado!

  • @raissafernandes3307
    @raissafernandes3307 3 ปีที่แล้ว +2

    Nossa, parabéns pelo vídeo e muito obrigada por disponibilizá-lo.
    Sério, muito bom mesmo. Como já falaram nos outros comentários, melhor explicação que já vi.

  • @ramnasidharta9536
    @ramnasidharta9536 4 ปีที่แล้ว +2

    Eu não lembro de ter assistido uma aula mais clara e didática. Excelente! Muito obrigado por disponibilizar isso. Baita professor!

  • @joaodacruz333-b7d
    @joaodacruz333-b7d ปีที่แล้ว

    Melhor explicação até o momento. Muito obrigado.

  • @wildsonmuniz1532
    @wildsonmuniz1532 ปีที่แล้ว

    Excelente aula. Parabéns professor.

  • @ProfGustavo
    @ProfGustavo 15 วันที่ผ่านมา

    Parabéns pela explicação.

  • @CarlosRocha-uo7np
    @CarlosRocha-uo7np 3 ปีที่แล้ว +2

    Sensacional a explicação!!! 👏👏👏

  • @bernucci2002
    @bernucci2002 3 ปีที่แล้ว +1

    Parabens pela objetividade e pragmatismo!

  • @fellypesiqueirabarroso6647
    @fellypesiqueirabarroso6647 4 ปีที่แล้ว +2

    Melhor explicação que já vi!!!
    Parabéns pelo vídeo.

  • @joseluizpereiradacunha7244
    @joseluizpereiradacunha7244 10 หลายเดือนก่อน

    Conceitos ilustrados.excelente

  • @luizmatheuz
    @luizmatheuz 4 ปีที่แล้ว +2

    SENSACIONAL a explicação!

  • @siqueira-ene
    @siqueira-ene 2 ปีที่แล้ว +1

    Sensacional!

  • @Antares813
    @Antares813 9 หลายเดือนก่อน

    Abordagem brilhante e breve do jeito que nós matemáticos gostamos

  • @MrSilrh
    @MrSilrh 3 ปีที่แล้ว

    Caraca, Rodrigo. Que didádica maravilhosa. Tu explica tão bem que fica fácil! Parabéns, meu.

  • @alfredo9371
    @alfredo9371 3 ปีที่แล้ว

    Show de explicação. Excelente.

  • @JussaraCardosoRajao
    @JussaraCardosoRajao ปีที่แล้ว +1

    meu sobre nome eh gerra tambem

  • @felipebressane3733
    @felipebressane3733 11 หลายเดือนก่อน

    Excelente Rodrigo, parabéns!!!

  • @raissafernandes3307
    @raissafernandes3307 4 ปีที่แล้ว +2

    Muito legal! Muito obrigada por disponibilizar esse vídeo ^^

  • @alessand22
    @alessand22 3 ปีที่แล้ว +1

    Excelente explicação. Muito clara.

  • @viniciusalves1323
    @viniciusalves1323 2 ปีที่แล้ว

    Ótima explicação! Parabéns pelo trabalho!

  • @MarcusLucasOficial
    @MarcusLucasOficial 4 ปีที่แล้ว +2

    Sensacional! Ótima explicação!!

  • @raquelreiner8654
    @raquelreiner8654 ปีที่แล้ว

    MUITO BOM . Obrigada !!!!!!

  • @matheus0serra
    @matheus0serra 3 ปีที่แล้ว

    isso é lindo d+

  • @carloseduardofigueiredocos6402
    @carloseduardofigueiredocos6402 4 ปีที่แล้ว +1

    Show de bola!

  • @mizaelfalheiro9518
    @mizaelfalheiro9518 4 ปีที่แล้ว

    Muito bom. Boa explicação. Ficaria agradecido se dissesse qual a ferramenta você utilizou paara criar a lousa dinâmica.

    • @tioguerra
      @tioguerra  4 ปีที่แล้ว

      Obrigado! Nesse vídeo usei Doceri (iPad com Apple Pencil), com um pouco de edição no iMovie e áudio no Audacity.

  • @marcielledepaula3373
    @marcielledepaula3373 3 ปีที่แล้ว

    Que coisa legal mds

  • @pedrochichorro4487
    @pedrochichorro4487 7 หลายเดือนก่อน +1

    a funçao tem obrigaroriamente que ter mais do que uma variavel? Não pode ter so uma?

    • @tioguerra
      @tioguerra  3 หลายเดือนก่อน

      Pode ter só uma sim. Se tu mover o x um pouquinho na direção -dy/dx ele diminui. Pensa que ângulo positivo é função que sobe, então o sinal de menos manda para o outro lado. E vice-versa. Aí é chamado de derivada, não gradiente.

  • @joaovitordeon3245
    @joaovitordeon3245 4 ปีที่แล้ว +1

    MUITO BOM

  • @FranciscoLindembergMonteiroMar
    @FranciscoLindembergMonteiroMar 8 หลายเดือนก่อน

    Que vídeo!

  • @thiagohe87
    @thiagohe87 4 ปีที่แล้ว +2

    show, show , show , show.

  • @adrielcabral6634
    @adrielcabral6634 4 ปีที่แล้ว +1

    Mas no caso, se tivermos uma Rede Neural com, por exemplo, 1000 pesos o gráfico da nossa função de perda teria 1000 dimensões e quando fazemos os ajustes desses pesos estamos nos deslocando em 1000 dimensões para conseguirmos o menor valor possível da função de perda, correto ? Ótima explicação !
    Tenho outra pergunta,por exemplo, pegando 1 peso dessa Rede, é correto afirmar que a derivada parcial desse peso em relação a função de perda é a inclinação da reta tangente a curva da função de erro na dimensão correspondente ? Desculpa se as perguntas forem muito "fora da matemática", mas é um assunto que me admira muito e quero aprendê-lo. E novamente, obrigado pela explicação.

    • @tioguerra
      @tioguerra  4 ปีที่แล้ว +1

      Isso mesmo. Muitas vezes são bem mais que mil dimensões!

    • @adrielcabral6634
      @adrielcabral6634 4 ปีที่แล้ว +1

      @@tioguerra Caramba, respondeu muito rápido, agradeço de coração.

  • @douglasnewmetal
    @douglasnewmetal 4 ปีที่แล้ว +2

    oi otima explicação, só não entendi da onde apareceram os valores -3,64 e -1,66

    • @ricardom5205
      @ricardom5205 4 ปีที่แล้ว

      @Bryan Corrêa também não consegui chegar nesses valores (-3,64 e -1,66). Tentei aplicar os valores 2 e -2 nas funções derivadas, assim:
      2x * sin(y) => 2*2 * sin(-2) = -0,1659
      x^2 * cos(y) => (2^2) * cos(-2) = 3,9975
      Saberia se estou fazendo algo errado?

    • @tioguerra
      @tioguerra  4 ปีที่แล้ว +1

      @@ricardom5205 estou considerando os ângulos em radianos. Usando NumPy, 2*2*sin(-2) = -3.637189707302727 e (2**2)*cos(-2) = -1.6645873461885696 (o "**" é a operação de potência no Python). Perdão não ter respondido antes, acho que preciso ser mais ativo no TH-cam.

  • @fillipesantos3329
    @fillipesantos3329 3 ปีที่แล้ว +1

    Ótima explica. A única dúvida é: Pq devo utilizar a taxa de aprendizagem?
    Não convergeria mais rápido se x(t+1) = x(t) + DeltaF(x(t))? Pq preciso ir tão "devagar" (no caso, multiplicando pela taxa de aprendizagem)?

    • @tioguerra
      @tioguerra  3 ปีที่แล้ว +1

      Ótima pergunta Filipe! Acontece que as funções não são lineares, elas só são muito parecidas com funções lineares naquela vizinhança. Se tu extrapola para muito longe daquela vizinhança, aí se perde aquela propriedade do gradiente apontar na direção do maior crescimento da função (ou negativo do gradiente apontar na direção da maior queda). Essa propriedade só vale na vizinhança próxima onde linearidade é uma boa aproximação. Por isso o passo precisa ser pequeno.

  • @pablosantos9763
    @pablosantos9763 4 ปีที่แล้ว +1

    Excelente abordagem! muito esclarecedor. Tenho apenas uma duvida que vai um pouco a fundo na questão de aprendizagem por redes neurais. Como dito no video, o vetor gradiente é exclusivo da variável de entrada, ou seja para um exemplo onde tenho 5 variáveis de entrada, eu teria 5 gradientes na primeira iteração, que me indicariam a máxima influência de variação relativa a superfície de erro (função de custo). Minha pergunta é: Em um exemplo hipotético no qual eu tenho 1000 exemplos para cada variável, eu teria 1000 gradientes para cada uma, ou seja 1000 gradientes? como minha função vai saber qual o melhor gradiente? sei que existe otimizadores, que ajudam na descida, para que o gradiente não se perca, mas nesse caso, os pesos são atualizada somente quanto todas as iterações estão terminadas, e ai se calcula a variação para minimizar a função, ou é feito de outra forma? Agradeço se puder me ajudar nessa questão. Att.

    • @tioguerra
      @tioguerra  4 ปีที่แล้ว +2

      Pablo, essa é uma excelente pergunta! Antes de responder vou reformular um pouco tua pergunta. Nese vídeo falamos da descida do gradiente para funções de tipo f(a,b)=c, onde a e b são os parâmetros e c é a saída escalar. Quando treinamos uma rede neural temos uma função de custo, onde temos parâmetros de dois tipos: parâmetros controláveis ou ajustáveis (pesos e bias) e parâmetros não controláveis (entrada de treinamento e saída desejada). Portanto é uma função que pode ter milhares de parâmetros e uma saída escalar (o custo ou erro). Para aplicar o método do gradiente na rede neural só calculamos as derivadas parciais da função de custo em relação aos parâmetros controláveis. Mas é claro que a função também depende da entrada e da saída desejada. Por isso tua pergunta é interessante: ela traz essa reflexão importante: como podemos estar ignorando esses parâmetros se o gradiente também claramente depende deles? Aqui entra um pressuposto importante: assumimos que existe uma relação "escondida" que permite um "mapeamento" de cada entrada para cada saída desejada (incluindo algum ruído). Então realmente, para um mesmo conjunto de pesos e bias, teremos ainda assim uma versão diferente do gradiente para cada par de entrada e saída desejada, mas ainda assim assumimos que existe uma relação entre as entradas e saídas (isso que queremos que a rede "descubra"). Para cada par de entrada e saída desejada o gradiente vai apontar para uma direção diferente, então como resolver isso? Aí que entra o pressuposto: assumindo que existe uma relação, então, em média, os gradientes devem apresentar uma tendência. Não é um consenso absoluto, mas é uma espécie de média, onde se tu fizer os ajustes dos parâmetros na direção do gradiente de cada amostra de dados de entrada e saída desejada, em média, os parâmetros devem convergir para uma região ótima (ou um mínimo local). Na prática é muito complicado pegar todas amostras dos dados de treinamento de um problema (que podem ser milhares ou milhões), calcular o gradiente de cada uma e calcular um gradiente médio para fazer um ajuste pequeno. Isso demoraria demais, não seria prático, e no método backpropagation (que é a aplicação do método de descida do gradiente em redes neurais) os gradientes iriam desaparecendo de tão pequenos nas camadas mais internas. Então na prática o que se usa muito são as chamadas técnicas de gradiente estocástico (em inglês SGD - stochastic gradient descent). No SGD tu calcula o gradiente de uma amostra (ou o gradiente médio de um lote de amostras) e faz um pequeno ajuste naquela direção, e repete o processo para a próxima amostra (ou próximo lote). Na prática, o caminho que os parâmetros seguem não fica tão "liso", e a descida de gradiente faz uns "zig-zags" justamente por conta de cada amostra causar um gradiente numa direção um pouco diferente (alguns até em direções bem diferentes). Mas como pequenas formiguinhas, cada uma empurrando para um lado um pouco diferente, essas forças se somam e o movimento resultante ao longo de muitas interações termina levando os parâmetros para quele ponto ótimo (ou mínimo local). Espero ter respondido! Reposta longa, mas como disse, ótima pergunta :-)

  • @GabrielSilva-ni4jy
    @GabrielSilva-ni4jy 4 ปีที่แล้ว

    Olá, ótimo vídeo. Entendi grande parte do conteúdo pois já fiz a disciplina de cálculo 1 e estou estudando Deep Learning para meu TCC. Este conteúdo da aula é aprendido mais à fundo em qual disciplina? Cálculo 2? Desde já, obrigado.

    • @tioguerra
      @tioguerra  4 ปีที่แล้ว

      Gabriel Silva, depende muito do curso. Em alguns casos se vê em cálculo II sim. Em alguns casos pode ser visto em álgebra linear ou ainda em disciplinas específicas de otimização ou de aprendizagem de máquina, redes neurais, etc. Pré-requisitos incluem noções de cálculo multi-variáveis e derivadas parciais, e álgebra linear.

    • @GabrielSilva-ni4jy
      @GabrielSilva-ni4jy 4 ปีที่แล้ว +1

      @@tioguerra show de boa, obrigado

  • @navigatroncidadesinteligentes
    @navigatroncidadesinteligentes ปีที่แล้ว

    entendi até 2 minutos , depois eu volto pra entender o resto

  • @Antares813
    @Antares813 9 หลายเดือนก่อน

    Só não consegui chegar no mesmo resultado das derivadas o valor não bate com 3,64

  • @cancaonegro
    @cancaonegro 4 ปีที่แล้ว +1

    Mesma coisa de gradiente descendente, né?