Neste vídeo explico o método da descida do gradiente.
Пікірлер: 56
@Lirideas2 ай бұрын
Que didática excelente, e esse final cinematográfico, que coisa linda! Que capricho! Obrigada pelo ótimo conteúdo.
@luiscarlos10632 жыл бұрын
A melhor, a mais completa, a mais clara, a mais didática explicação do Gradiente de que tenho conhecimento. Parabéns professor!
@renatocosta85211 ай бұрын
depois de duas semanas de sofrimento eu finalmente entendi!
@franksonsouza21024 жыл бұрын
muito boa a explicação, conseguiu explicar em 11 minutos o que meu professor demorou 1 hora
@user-pp3ku8sh5v2 жыл бұрын
Já o meu ficou 2h e não conseguiu.....
@wiltonfreitas16853 жыл бұрын
Fera..parabéns pela aula
@reydson94224 жыл бұрын
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!
@joseluizpereiradacunha72447 ай бұрын
Conceitos ilustrados.excelente
@thiagohe874 жыл бұрын
show, show , show , show.
@matheussilva31352 жыл бұрын
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!
@wildsonmuniz153210 ай бұрын
Excelente aula. Parabéns professor.
@felipebressane37337 ай бұрын
Excelente Rodrigo, parabéns!!!
@siqueira-ene Жыл бұрын
Sensacional!
@ramnasidharta95363 жыл бұрын
Eu não lembro de ter assistido uma aula mais clara e didática. Excelente! Muito obrigado por disponibilizar isso. Baita professor!
@CarlosRocha-uo7np3 жыл бұрын
Sensacional a explicação!!! 👏👏👏
@pinkbuttons Жыл бұрын
Excelente ! A melhor explicação possível. Parabéns Rodrigo!
@alfredo93712 жыл бұрын
Show de explicação. Excelente.
@raissafernandes33073 жыл бұрын
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.
@luizmatheuz3 жыл бұрын
SENSACIONAL a explicação!
@ningueminteressanteconfie Жыл бұрын
Cara, que vídeo! Tantas aplicações me vem em mente, mesmo fora da área de ML e AI, que nossa! Obrigado!
@bernucci20023 жыл бұрын
Parabens pela objetividade e pragmatismo!
@fellypesiqueirabarroso66474 жыл бұрын
Melhor explicação que já vi!!! Parabéns pelo vídeo.
@MrSilrh2 жыл бұрын
Caraca, Rodrigo. Que didádica maravilhosa. Tu explica tão bem que fica fácil! Parabéns, meu.
@MarcusLucasOficial4 жыл бұрын
Sensacional! Ótima explicação!!
@Antares8135 ай бұрын
Abordagem brilhante e breve do jeito que nós matemáticos gostamos
@raquelreiner8654 Жыл бұрын
MUITO BOM . Obrigada !!!!!!
@centroverbum Жыл бұрын
Melhor explicação até o momento. Muito obrigado.
@alessand223 жыл бұрын
Excelente explicação. Muito clara.
@raissafernandes33074 жыл бұрын
Muito legal! Muito obrigada por disponibilizar esse vídeo ^^
@NathanQueija Жыл бұрын
Que vídeo bom! Muito bem explicado. Obrigado por compartilhar. Me ajudou muito.
@viniciusalves13232 жыл бұрын
Ótima explicação! Parabéns pelo trabalho!
@matheus0serra2 жыл бұрын
isso é lindo d+
@fillipesantos33293 жыл бұрын
Ó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)?
@tioguerra3 жыл бұрын
Ó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.
@carloseduardofigueiredocos64023 жыл бұрын
Show de bola!
@FranciscoLindembergMonteiroMar5 ай бұрын
Que vídeo!
@marcielledepaula33732 жыл бұрын
Que coisa legal mds
@adrielcabral66344 жыл бұрын
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.
@tioguerra4 жыл бұрын
Isso mesmo. Muitas vezes são bem mais que mil dimensões!
@adrielcabral66344 жыл бұрын
@@tioguerra Caramba, respondeu muito rápido, agradeço de coração.
@joaovitordeon32454 жыл бұрын
MUITO BOM
@JussaraCardosoRajao Жыл бұрын
meu sobre nome eh gerra tambem
@mizaelfalheiro95183 жыл бұрын
Muito bom. Boa explicação. Ficaria agradecido se dissesse qual a ferramenta você utilizou paara criar a lousa dinâmica.
@tioguerra3 жыл бұрын
Obrigado! Nesse vídeo usei Doceri (iPad com Apple Pencil), com um pouco de edição no iMovie e áudio no Audacity.
@pedrochichorro44873 ай бұрын
a funçao tem obrigaroriamente que ter mais do que uma variavel? Não pode ter so uma?
@douglasnewmetal4 жыл бұрын
oi otima explicação, só não entendi da onde apareceram os valores -3,64 e -1,66
@ricardom52054 жыл бұрын
@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?
@tioguerra4 жыл бұрын
@@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 KZbin.
@pablosantos97634 жыл бұрын
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.
@tioguerra4 жыл бұрын
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 :-)
@Antares8135 ай бұрын
Só não consegui chegar no mesmo resultado das derivadas o valor não bate com 3,64
@GabrielSilva-ni4jy4 жыл бұрын
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.
@tioguerra4 жыл бұрын
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-ni4jy4 жыл бұрын
@@tioguerra show de boa, obrigado
@navigatroncidadesinteligentes Жыл бұрын
entendi até 2 minutos , depois eu volto pra entender o resto