Вариационные автоэнкодеры (VAE). Что это такое? | #28 нейросети на Python

Поделиться
HTML-код
  • Опубликовано: 17 янв 2025

Комментарии • 30

  • @KirillGalkin92
    @KirillGalkin92 3 года назад +13

    Я не нашёл лучше роликов с объяснением, чем у вас, а потратил я кучу времени. Вы отлично показываете причинно-следственные связи, за счёт чего материал воспринимается хорошо. Нет никакого тумана после просмотра

  • @argrigorov
    @argrigorov 3 года назад +10

    Очень чётко, ясно и по делу (без воды). И самое главное - что на конкретных примерах с кодом. Это одни из лучших видеоурокоа по теме нейросетей.
    Спасибо!

  • @stasdavydov2833
    @stasdavydov2833 4 года назад +4

    браво! Вы первый лектор из этой области знаний, чьи лекции не оставляют тягостного ощущения неясности. Искренне благодарю.

  • @ОльгаЧудинова-е4л
    @ОльгаЧудинова-е4л 2 месяца назад

    Ваши видео-уроки - просто находка!!! Спасибо за понятное объяснение!!!

  • @evgzhu8558
    @evgzhu8558 3 года назад +10

    Качество материала на уровне научно-популярных фильмов канала ВВС! 5+

  • @sergeygetto7480
    @sergeygetto7480 3 года назад +3

    Всё-таки немного знание статистики помогло в изучении. А объяснили всё великолепно!

  • @Тима-щ2ю
    @Тима-щ2ю 7 месяцев назад +1

    Спасибо, наконец-то понял необходимость репараметризирования

  • @nikita_5578
    @nikita_5578 8 месяцев назад +1

    Спасибо большое за уроки!

  • @alexeysavostin
    @alexeysavostin 4 года назад +1

    Спасибо! Жду продолжения.

  • @qaLex455
    @qaLex455 Год назад

    Лучшее объяснение😊

  • @velocity-hz8en
    @velocity-hz8en 3 года назад +2

    супер!!!

  • @dmitryantonov3577
    @dmitryantonov3577 2 года назад +1

    Спасибо!

  • @kanybekmomukeev4116
    @kanybekmomukeev4116 3 года назад +1

    Очень качественно

  • @shadermagic3075
    @shadermagic3075 4 года назад +1

    Волшебство в репараметризации. Нейросеть "понимает" что дисперсия это именно дисперсия, потому что мы репараметризуем сэмплирование N(X,Y) как билинейную функцию X+Y*N(0,I), и при обратном распространении ошибки получаем различные градиенты в "направлении" X и Y.

  • @osvab000
    @osvab000 2 года назад +3

    3:00 - Крокодил

  • @mrx8312
    @mrx8312 3 месяца назад +1

    Как понимаю hidden_dim в данном случае - это количество нейронов в полносвязном слое, то есть размер для одномерного массива. А возможно задать hidden_dim для трехмерного массива, если до декодера это сверточный слой? Если да, то как будет выглядеть решение? Чтобы в автоэнкодере для изображений все слои были сверточными (без одного полносвязанного слоя).

  • @darkwingduck3152
    @darkwingduck3152 3 года назад +1

    На отметке 7:50 график слева похож на летящего жука.

  • @картонобзоры
    @картонобзоры Год назад +1

    Стоило на облаке наверное лэйблы поставить

  • @КоляВасильев-о5и
    @КоляВасильев-о5и 3 года назад

    Скажите пожалуйста, а что такое -k в формуле DKL? Подозреваю, что это размерность нормального распределения. Например, если это двумерное нормальное распределение, то k будет равно 2. Так ли это? Так же хочу спросить, правильно ли я понимаю, что бы минимизировать DKL в конечной функции потерь надо что бы векторы, генерируемые кодером, были такими: вектор дисперсий содержал только единички, а вектор матожиданий содержал только нули? В таком случае, если меня не подводят мои подсчеты, DKL будет равен 0 (при условии, что k = 2).

  • @linecodelinecode8261
    @linecodelinecode8261 4 года назад

    Приветствую вас!не подскажите какой параметр сохранит обученную сеть.(чтобы сеть не обуч лось заново)

    • @selfedu_rus
      @selfedu_rus  4 года назад +1

      там у модели есть методы для сохранения и загрузки обученных коэффициентов, по моему, save_weights() и load_weights(). Подробнее в документации по Keras можно посмотреть

    • @linecodelinecode8261
      @linecodelinecode8261 4 года назад

      @@selfedu_rus спасибо за ответ!

  • @КоляВасильев-о5и
    @КоляВасильев-о5и 3 года назад

    Цитата: "остается открытым вопрос, а где здесь брать какие точки, что бы точно получать изображение цифр". Почему? Обычный авторэнкодер разве не отвечает на этот вопрос? Мы ведь
    уже сгенерировали набор точек (сжатые векторы), почему бы нам не воспользоваться ими что бы получить осмысленный результат?
    Еще одна цитата: "он конечно сформировал внутри себя вот эту вот область распределения вот этих вот точек скрытого состояния, но мы уже не можем сами взять вот в этой области
    какую-то точку, что бы на выходе декодер нам смоделировал осмысленное изображение". Возникает вопрос, почему не можем? У нас же есть точки (область), по которым мы обучили декодер выдавать осмысленное изображение. Можем брать эти точки и подавать их декору и будет нам осмысленное изображение... Или тут речь о том что бы иметь возможность подавать на вход произвольные точки и все равно получать что-то осмысленное?

    • @selfedu_rus
      @selfedu_rus  3 года назад +1

      да, в конце вы сами и ответили на свой вопрос, именно, произвольную точку из некоторой области

    • @КоляВасильев-о5и
      @КоляВасильев-о5и 3 года назад +1

      @@selfedu_rus Спасибо! Стало понятнее)

    • @КоляВасильев-о5и
      @КоляВасильев-о5и 3 года назад

      @@selfedu_rus Возник такой вопрос, а что мешает использовать обычный автоэнкодер и применять к скрытому состоянию такую функцию активации, что бы значения векторов скрытого состояния были в диапазоне от -3 до 3? Ведь нам примерно это и нужно. Почему VAE должен быть лучше такой структуры?

  • @lifeisbeautifu1
    @lifeisbeautifu1 10 месяцев назад +1

    Спасибо!