No início do vídeo eu falo, em alguns trechos, 'claro' quando deveria ter dito 'escuro' , espero que isso não tenha comprometido a compreensão da representação de uma imagem como uma função. Em caso de dúvidas não deixem de perguntar que tentarei esclarecer.
Hemerson Pistori uma pergunta espero que responda tipo se eu ensina uma maquina a converte uma imagem nesse codigo final esse 01-89 sabe tem como converter isso tipo se eu retorna o codigo ele converte tudo por que tipo ae eu entendi que você converteu uma linha de pixel em códigos mas tipo posso fazer uma maquina aprender um binario que eu mesmo inventei cada pixel tem um valor e cada valor tem dois numero para representar tipo ex: 1000 = 19, 1001 = 19.1, 1002 = 19.2 tipo posso inverta meu próprio jeito ae é so dizer o valor de cada pixel para a maquina?
Eu considero dois pontos importantes para aprender qualquer assunto: 1-Como aprender ; 2-Como ensinar. O primeiro é intrínseco ao aluno. O segundo à quem leciona, e você, Pistori, conseguiu fazer isso da melhor forma que eu já presenciei, pertinnente ao tema do vídeo. Meus Parabéns! Espero ver mais conteudo produzido por você.
Excelente vídeo! Nesse processo de estudo eu li alguns artigos e vi alguns vídeos, mas muitas informações por vezes não se encaixam direito, e esse vídeo ajudou e muito nisso. Obrigado!
Parabéns, você foi perfeito na sua explicação. Vou assistir novamente este vídeo. Pois foi muito bem explicado. Parabéns. Eu ganhei o meu dia com este vídeo.
Oi professor, tudo bom? Estou iniciando estudos de classificação e detecção de objetos em imagens. Seria possível você me ajudar? Se sim, envio um e-mail privado. Acredito que você responderá com muita facilidade, devido os seus conhecimentos.
Excelente aula! Muito obrigado por compartilhar seu conhecimento! Parabéns! Estou começando a estudar agora Deep Learning e me deparei com as CNN's estudando Deep Reinforcement Learning que é o meu interesse de pesquisa. Obrigado!
Tenho um seminário sobre isso pra fazer e estava lotada de dúvidas, esse teu vídeo tirou todas as minhas dúvidas, sensacional tua didática!! Se tiver um tempo posta mais sobre deep learning, com a didática que vc tem vai ajudar muita gente que assim como eu, está começando na área!
KKk e eu tenho TCC para apresentar, me esclareceu muitas dúvidas, é bem complicado entender esse lance de várias profundidades, pelo menos pra min foi complicado e com a sua explicação tudo se tornou mais claro.
Não sei como te agradecer, sou acadêmico de Ciência da Computação e sou um entusiasta da área. Se possível por favor, faz um vídeo implementando uma CNN, vai ajudar mais ainda o pessoal que se interessa pela área.
Professor, tudo bem? Estou com uma dúvida! A gente pode usar o backpropagation para aprender os núcleos cero? Mas o algoritmo de retropropagação minimiza uma função de erro ceto? Ou seja, eu teria que ter um rótulo para fazer a operação (saidaDoModelo - saídaDesejada). Ai lhe pergunto: quem saria a saída do modelo e quem seria a saída desejada? Outra coisa, para cada núcleo a gente só ver a camada de entrada e os neurônios de saída, como a ideia da MLP entraria nesse contexto se ela tem que ter pelo menos duas camadas ou mais?
Fala Hemerson, tudo certo? Primeiramente gostaria de agradecer pelo tutorial, achei excelente! Realmente não é fácil encontrar um material tão didático assim... E é justamente por isso que eu tô aqui! Me foi apresentado o seguinte problema: Faça um sistema capaz de identificar rostos de pessoas em um álbum de fotos. Depois disso, esse sistema deve separar essas fotos em sub-álbuns, contendo somente fotos da mesma pessoa (Igual ao sistema do iPhone que separa as fotos por pessoas). Porém não sei por onde começar... Poderia me sugerir algum link, pesquisa ou qualquer dica? A minha ideia é algum sistema que seja capaz de reconhecer os rostos e um outro de clusterização, para poder separá-los... Mas não sei por onde continuar (ou melhor, começar rs). Valeu!!
Olá professor, tudo bom? Eu tenho uma dúvida sobre atualizações de pesos. Por exemplo, o meu dataset tem mil amostras (mil imagens). Eu injeto estas mil amostradas na CNN. Cada amostra vai passar pela rede inteira. A minha dúvida é sobre a atualização de pesos (backpropagation). Para cada imagem eu atualizo os pesos da rede? Por exemplo, para a primeira imagem eu faço o processo de interação até obter o menor erro (melhor conjunto de pesos), após isto a segunda imagem entra na rede com os pesos obtidos da primeira imagem e realizo novamente a atualização de pesos para a segunda imagem até obter o menor erro, após isto a terceira imagem entra na rede com o conjunto de pesos obtidos da segunda imagem e realizo as interações de atualizações de pesos até obter o menor erro e assim por diante? Eu estou confuso com estas atualizações.
Você pode até fazer assim, mas o mais comum hoje em dia é usar algo chamado "mini-batch" em que você faz a atualização para algumas amostras de cada vez (o total de amostras é um hiperparâmetro chamado geralmente de tamanho do mini-batch e você precisa fazer alguns experimentos para chegar no melhor tamanho dependendo do problema). Fazendo assim, além de ganhar em desempenho no tempo de processamento, ajuda a escapar de alguns mínimos locais.
Meus Parabéns você tem uma didática muito boa... Consegui entender muito bem o assunto, gostaria de pedir a você dicas de livros para que eu possa me aprofundar no assunto.( Grato ps:Se souber de algum livro já com foco em C#
Aqui no meu grupo temos usado mais python e java. Aqui tem uma seleção de material para leitura sobre deep learning (infelizmente acho que ainda não temos muita coisa em Português): deeplearning.net/reading-list/
Oi professor, tudo bom? Eu tenho uma dúvida. Como a CNN reconhece que uma imagem tem as três camadas de cores RGB ou uma imagem de escala cinza (uma camada)? Não consigo entender esta diferença. Por exemplo uma imagem tipo 28X28X1 ou uma imagem 28X28X3?
Gledson Melotti tudo bem. Na verdade isso precisa ser definido no momento em que você define a arquitetura da CNN. Ela não detecta sozinha. Geralmente, nas mais usadas hoje, tem que entrar com uma imagem RGB e não em tons de cinza. Usei tons de cinza na explicação apenas para focar naquilo que é essencial...
Olá Hemerson, no final do vídeo quando você menciona o backpropagation, ele deve ser feito também na parte convolucional ou apenas na ''rede normal'' ? Essa parte que eu fiquei confuso. Muito Obrigado, Excelente vídeo.
Pessoal eu queria fazer meu TCC de ciência da computação relacionado a esse assunto mas como é necessário estabelecer um projeto prático de software além de apenas falar sobre assunto , eu não sei o quê fazer alguém por favor me ajude ? Inclusive o senhor professor Hemerson? Como seria algo que eu terei que fazer sozinho algo que seja simples mas que implemente em prática o conceito
Rafael, dê uma olhada no meu site, pistori.weebly.com, temos diversos bancos de imagens e projetos com problemas que você pode aplicar deep learning e gerar um TCC bacana. Se tiver interesse em algum deles, te coloco em contato direto com os alunos .
Muito obrigado Leandro, inclusive pela dica em relação a pronúncia. Estou usando um aparelho para melhorar a minha arcada dentária (ela prejudica um pouco minha fala, mas deve melhorar depois). Abraços.
Os pesos na verdade definem quais os atributos serão extraídos. A saída dos neurônios é define o valor extraído. De forma geral, consideramos como atributos extraídos os resultados das primeiras camadas (as camadas de convolução, se for uma rede convolucional ... mas existem outros tipos de redes).
Então professor. Por exemplo, eu vou utilizar CNN para extrair característica e aplicar esta extração de característica em um SVM e KNN. Eu gostaria de saber sobre os números que se obtém da extração de características (antes da classificação). Os números que eu obtenho dos vetores da extração de características são os scores (probabilidades) ou os pesos da rede? Ainda não consegui visualizar o que significa os números do vetor da extração de características.
Não consegui entender os resultados em 26:00, parece não dar certo, por exemplo, o primeiro resultado no topo é 2, mas 1×1 + 1×-1 + -1×1 = -1. Realmente não entendi. Eu uso algo parecido nos meus filtros de ruído em ADC, para eliminar ruídos conhecidos, como kernels. Voltei ao início do seu vídeo, mas a forma que você explica não bate com esse resultado em 26:00. O segundo resultado deveria ser 3 e não 0.
Antes o youtube tinha um recurso de colocar um banner grande no meio do vídeo ... agora não tem mais :-( e ai a errata acaba ficando meio escondida :-( ...
Em 21:03 do lado superior direito aparece uma mensagem "TEM UM ERRO AQUI" ... era para aparecer para todo mundo, mas não sei se em algum dispositivo ela não aparece. Peço desculpas pelo erro.
Eu nunca vi uma explicação tão boa, eu to perplexo, cabeças explodindo! hahahaha. Parabéns pelo conteudo excelente
Muito obrigado 😁
Simplesmente, excelente explicação sobre essa operação que muitas vezes não é compreendida da forma que vemos nas apresentações comuns.
Melhor explicação sobre convoluções que já vi no yotube
Excelente aula sobre o assunto.
No início do vídeo eu falo, em alguns trechos, 'claro' quando deveria ter dito 'escuro' , espero que isso não tenha comprometido a compreensão da representação de uma imagem como uma função. Em caso de dúvidas não deixem de perguntar que tentarei esclarecer.
Hemerson Pistori uma pergunta espero que responda tipo se eu ensina uma maquina a converte uma imagem nesse codigo final esse 01-89 sabe tem como converter isso tipo se eu retorna o codigo ele converte tudo por que tipo ae eu entendi que você converteu uma linha de pixel em códigos mas tipo posso fazer uma maquina aprender um binario que eu mesmo inventei cada pixel tem um valor e cada valor tem dois numero para representar tipo ex: 1000 = 19, 1001 = 19.1, 1002 = 19.2
tipo posso inverta meu próprio jeito ae é so dizer o valor de cada pixel para a maquina?
Cara esses erros não desqualifica sua ótima explicação...
Excelente Conteúdo... Será uma fonte de pesquisa para mim
Conteúdo de excente qualidade Professor, ótima explicação!
Muito obrigado!!!
Muito didático, parabéns
Eu considero dois pontos importantes para aprender qualquer assunto: 1-Como aprender ; 2-Como ensinar. O primeiro é intrínseco ao aluno. O segundo à quem leciona, e você, Pistori, conseguiu fazer isso da melhor forma que eu já presenciei, pertinnente ao tema do vídeo. Meus Parabéns! Espero ver mais conteudo produzido por você.
Muito obrigado. Fico bastante contente em ser útil e motivado a continuar fazendo novos vídeos após ler comentários como este.
A melhor explicacao que já vi.(2) Nao deixe de postar mais sobre deep learning, muito didático.
Obrigado.
Parabéns pela didática. Esclareceu muita coisa
Quem realmente entende explica de uma maneira clara! Muito bom vídeo!
Daniel Gaiki obrigado!
Mt bom video, Incrível didática.
Excelente vídeo! Nesse processo de estudo eu li alguns artigos e vi alguns vídeos, mas muitas informações por vezes não se encaixam direito, e esse vídeo ajudou e muito nisso. Obrigado!
Melhor vídeo sobre convolução já visto! E olha que eu já vi muitos!!
Muito obrigado Alisson !
FANTÁSTICO!
Estou pesquisando o tema o dia inteiro e sua explicação foi, de longe, a melhor que encontrei.
Parabéns!
Sem dúvida, foi a melhor explicação sobre esse assunto! Parabéns pela didática e principalmente pela disposição em difundir o conhecimento.
Muito obrigado Andre
Sua explicação é excelente, ótima didática. Parabéns
Muito obrigado
Parabéns, você foi perfeito na sua explicação. Vou assistir novamente este vídeo. Pois foi muito bem explicado. Parabéns. Eu ganhei o meu dia com este vídeo.
Gledson Melotti muito obrigado
Oi professor, tudo bom? Estou iniciando estudos de classificação e detecção de objetos em imagens. Seria possível você me ajudar? Se sim, envio um e-mail privado. Acredito que você responderá com muita facilidade, devido os seus conhecimentos.
até agora, o melhor video de deep learning que já vi, vai ajudar muito na minha monografia!
Demais mesmo. Excelente explicação, eu que sou leigo já pude ter uma boa ideia geral. E assistirei sim aos outros vídeos indicados. Parabéns!
Muito obrigado Almir
Ficou fantástica a explicação! Simples, direto ao ponto!
Material fantástico ... parabéns
Ótima introdução. Obrigado.
Aula maravilhosa. Muito obrigado professor Hemerson!
Excelente aula! Muito obrigado por compartilhar seu conhecimento! Parabéns! Estou começando a estudar agora Deep Learning e me deparei com as CNN's estudando Deep Reinforcement Learning que é o meu interesse de pesquisa. Obrigado!
Muito obrigado pelo feedback Mário. Bom saber que está sendo útil. Abraços.
Excelente explicação. Muito bom!!! Vou assistir todos as aulas referenciadas.
Caique Pires muito obrigado
Tenho um seminário sobre isso pra fazer e estava lotada de dúvidas, esse teu vídeo tirou todas as minhas dúvidas, sensacional tua didática!! Se tiver um tempo posta mais sobre deep learning, com a didática que vc tem vai ajudar muita gente que assim como eu, está começando na área!
Bom saber que está ajudando ! Devo começar a produzir mais vídeos no ano que vem ...
KKk e eu tenho TCC para apresentar, me esclareceu muitas dúvidas, é bem complicado entender esse lance de várias profundidades, pelo menos pra min foi complicado e com a sua explicação tudo se tornou mais claro.
Muito bem explicado.
Sigo seu canal a muito tempo, e suas explicações são muito didáticas, parabéns e muito obrigado por compartilhar seu conhecimento.
Muito bom saber que está sendo útil !!!
Muito boa a explicação. Ainda há carência de material em português sobre Deep-Learning.
Não sei como te agradecer, sou acadêmico de Ciência da Computação e sou um entusiasta da área. Se possível por favor, faz um vídeo implementando uma CNN, vai ajudar mais ainda o pessoal que se interessa pela área.
Muito boa a explicação. Parabéns! Adorei também ver a papel de parede do Debian que é o SO que eu uso.
Ótimo seu vídeo
Melhor explicação que já vi sobre o assunto. Parabéns! Vem mais de deep learning por ai? Abraço
Obrigado Wellington. Ainda não tenho nada planejado mas dependendo da demanda posso pensar em algo ...
Eu confirmo!!! Cara que massa!!!
Concordo!
Excelente vídeo, muito esclarecedor. Parabéns.
luizardovino muito obrigado
Aula maravilhosa!
Excelente explicação sobre o assunto
Fantástico! Muito bem explicado.
Muito obrigado
Sanou diversas dúvidas, parabéns pela aula e obrigado.
Que bom que foi útil ...
Ótima aula professor Hemerson. Parabéns!
Parabéns prof. Hemerson! Excelente aula.
Muito obrigado Willian ! Espero que seja útil ...
Parabéns pelo canal. Gostaria de saber qual é o vídeo citado no minuto 2:19 referente a transformação da imagem em função.
ruclips.net/video/Xkiv7Lt_eXQ/видео.html
Excelente video aula!!! Seria possivel disponibilizar os slides usados na aula para estudo? Muito obrigado pelo conhecimento compartilhado...
Obrigado. Mande um email para pistori@ucdb.br que eu te mando os slides.
Genial a explicação, parabéns!
Rudimar Kaspar muito obrigado
vivaaaaaaaaa, super fix, estas de parabéns prof.
Parabéns pelo conteúdo
Parabéns cara. Excelente vídeo.
Valeu !
Muito bom, continue com os videos.
Obrigado
Ótimo vídeo Hemerson, Parabéns
Muito bom, parabéns pela iniciativa!
Obrigado
Professor, tudo bem? Estou com uma dúvida! A gente pode usar o backpropagation para aprender os núcleos cero? Mas o algoritmo de retropropagação minimiza uma função de erro ceto? Ou seja, eu teria que ter um rótulo para fazer a operação (saidaDoModelo - saídaDesejada). Ai lhe pergunto: quem saria a saída do modelo e quem seria a saída desejada? Outra coisa, para cada núcleo a gente só ver a camada de entrada e os neurônios de saída, como a ideia da MLP entraria nesse contexto se ela tem que ter pelo menos duas camadas ou mais?
Fala Hemerson, tudo certo? Primeiramente gostaria de agradecer pelo tutorial, achei excelente! Realmente não é fácil encontrar um material tão didático assim... E é justamente por isso que eu tô aqui!
Me foi apresentado o seguinte problema:
Faça um sistema capaz de identificar rostos de pessoas em um álbum de fotos. Depois disso, esse sistema deve separar essas fotos em sub-álbuns, contendo somente fotos da mesma pessoa (Igual ao sistema do iPhone que separa as fotos por pessoas).
Porém não sei por onde começar... Poderia me sugerir algum link, pesquisa ou qualquer dica? A minha ideia é algum sistema que seja capaz de reconhecer os rostos e um outro de clusterização, para poder separá-los... Mas não sei por onde continuar (ou melhor, começar rs).
Valeu!!
Muito boa a explicação. Obrigado. Uma dúvida, no caso da camada de convolução, haverá uma rede para cada kernel? É isso?
Não chamaria de rede, mas de uma "sub-rede" para cada kernel (pois no final, todas farão parte da rede maior)
EXcelente!
Olá professor, tudo bom? Eu tenho uma dúvida sobre atualizações de pesos. Por exemplo, o meu dataset tem mil amostras (mil imagens). Eu injeto estas mil amostradas na CNN. Cada amostra vai passar pela rede inteira. A minha dúvida é sobre a atualização de pesos (backpropagation). Para cada imagem eu atualizo os pesos da rede? Por exemplo, para a primeira imagem eu faço o processo de interação até obter o menor erro (melhor conjunto de pesos), após isto a segunda imagem entra na rede com os pesos obtidos da primeira imagem e realizo novamente a atualização de pesos para a segunda imagem até obter o menor erro, após isto a terceira imagem entra na rede com o conjunto de pesos obtidos da segunda imagem e realizo as interações de atualizações de pesos até obter o menor erro e assim por diante?
Eu estou confuso com estas atualizações.
Você pode até fazer assim, mas o mais comum hoje em dia é usar algo chamado "mini-batch" em que você faz a atualização para algumas amostras de cada vez (o total de amostras é um hiperparâmetro chamado geralmente de tamanho do mini-batch e você precisa fazer alguns experimentos para chegar no melhor tamanho dependendo do problema). Fazendo assim, além de ganhar em desempenho no tempo de processamento, ajuda a escapar de alguns mínimos locais.
Isso que você propôs equivale a usar um mini-batch de tamanho 1
Hemerson Pistori muito obrigado novamente.
Muito bom! Que tal agora abordar RNN? Algum material de RNN igual ao que vc fez para CNN?
Obrigado. Não estamos trabalhando com RNN aqui mas vou colocar na lista ...
Meus Parabéns você tem uma didática muito boa... Consegui entender muito bem o assunto, gostaria de pedir a você dicas de livros para que eu possa me aprofundar no assunto.(
Grato
ps:Se souber de algum livro já com foco em C#
Aqui no meu grupo temos usado mais python e java. Aqui tem uma seleção de material para leitura sobre deep learning (infelizmente acho que ainda não temos muita coisa em Português): deeplearning.net/reading-list/
obrigado vou dar uma pesquisada...
Oi professor, tudo bom? Eu tenho uma dúvida. Como a CNN reconhece que uma imagem tem as três camadas de cores RGB ou uma imagem de escala cinza (uma camada)? Não consigo entender esta diferença. Por exemplo uma imagem tipo 28X28X1 ou uma imagem 28X28X3?
Gledson Melotti tudo bem. Na verdade isso precisa ser definido no momento em que você define a arquitetura da CNN. Ela não detecta sozinha. Geralmente, nas mais usadas hoje, tem que entrar com uma imagem RGB e não em tons de cinza. Usei tons de cinza na explicação apenas para focar naquilo que é essencial...
Olá Hemerson, no final do vídeo quando você menciona o backpropagation, ele deve ser feito também na parte convolucional ou apenas na ''rede normal'' ? Essa parte que eu fiquei confuso. Muito Obrigado, Excelente vídeo.
Victor Dias na convolucional também.
Opa Hemerson, muito boa a aula, parabéns. Só uma correção, aos 23:38 vc inverte as sinapses dos núcleos. Grato por compartilhar o conhecimento.
Olavo G. junior muito obrigado. Bom saber que o vídeo está ajudando. Valeu por descobrir e apontar o problema!!!
Pessoal eu queria fazer meu TCC de ciência da computação relacionado a esse assunto mas como é necessário estabelecer um projeto prático de software além de apenas falar sobre assunto , eu não sei o quê fazer alguém por favor me ajude ?
Inclusive o senhor professor Hemerson? Como seria algo que eu terei que fazer sozinho algo que seja simples mas que implemente em prática o conceito
Rafael, dê uma olhada no meu site, pistori.weebly.com, temos diversos bancos de imagens e projetos com problemas que você pode aplicar deep learning e gerar um TCC bacana. Se tiver interesse em algum deles, te coloco em contato direto com os alunos .
eu só queria as imagens desse slide para colocar na minha apresentação
Muito bom! :D
Ótima explicação, me ajudou a entender um artigo. Mas pode melhorar um pouco a pronúncia, que é atropelada em alguns momentos. Abraço!
Muito obrigado Leandro, inclusive pela dica em relação a pronúncia. Estou usando um aparelho para melhorar a minha arcada dentária (ela prejudica um pouco minha fala, mas deve melhorar depois). Abraços.
Oi professor, tenho outra dúvida. Os valores da extração de característica são os valores dos pesos da rede treinada?
Os pesos na verdade definem quais os atributos serão extraídos. A saída dos neurônios é define o valor extraído. De forma geral, consideramos como atributos extraídos os resultados das primeiras camadas (as camadas de convolução, se for uma rede convolucional ... mas existem outros tipos de redes).
Então professor. Por exemplo, eu vou utilizar CNN para extrair característica e aplicar esta extração de característica em um SVM e KNN. Eu gostaria de saber sobre os números que se obtém da extração de características (antes da classificação). Os números que eu obtenho dos vetores da extração de características são os scores (probabilidades) ou os pesos da rede? Ainda não consegui visualizar o que significa os números do vetor da extração de características.
Não são os pesos ... você vai ter que fazer da última camada de convolução os neurônios de saída da rede.
Na terminologia que você está usando, seriam os scores sim, mas ignorando as últimas camadas em que todo mundo é ligado com todo mundo ...
Oi professor, muito obrigado pelos esclarecimentos. Suas explicações são muito boas.
Não consegui entender os resultados em 26:00, parece não dar certo, por exemplo, o primeiro resultado no topo é 2, mas 1×1 + 1×-1 + -1×1 = -1. Realmente não entendi. Eu uso algo parecido nos meus filtros de ruído em ADC, para eliminar ruídos conhecidos, como kernels. Voltei ao início do seu vídeo, mas a forma que você explica não bate com esse resultado em 26:00. O segundo resultado deveria ser 3 e não 0.
Realmente não bate. Eu até fiz uma errata (aparece como card no vídeo): ruclips.net/video/o18-iL0MlR4/видео.html
Antes o youtube tinha um recurso de colocar um banner grande no meio do vídeo ... agora não tem mais :-( e ai a errata acaba ficando meio escondida :-( ...
Em 21:03 do lado superior direito aparece uma mensagem "TEM UM ERRO AQUI" ... era para aparecer para todo mundo, mas não sei se em algum dispositivo ela não aparece. Peço desculpas pelo erro.
O que ninguém consegue dizer é o que significa "convolução". Nem o dicionário!
bem eu achei muito bem explicado o cara que não entender só pode ter o QI abaixo de zero
Excelente explicação! Parabéns!