background top icon
background center wave icon
background filled rhombus icon
background two lines icon
background stroke rhombus icon

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

input logo icon
Теги видео
|

Теги видео

Variational Autoencoders
vae
нейросеть
нейронная сеть
neural network
нейронка
neural networks
машинное обучение
искусственный интеллект
deep learning
НС
нейросети python
для чайников
нейросеть обучение
глубокое обучение
vae neural network
variational autoencoder
вариационный автоэнкодер
keras tensorflow
keras
keras уроки
keras python
keras tutorial
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:04
здравствуйте дорогие друзья на
00:00:07
предыдущем занятии мы с вами
00:00:08
познакомились с работой простого авто
00:00:11
энкодера который воспроизводил
00:00:13
изображение цифр по вектору скрытого
00:00:15
состояния давайте теперь внимательнее
00:00:17
посмотрим на область
00:00:19
который формирует кадр при
00:00:21
преобразовании таких изображений для
00:00:23
этого воспользуемся полна связный
00:00:26
нейронной сетью с двумя нейронами для
00:00:28
описания вектор а скрытого состояния
00:00:31
реализуем такой of the encounter вот
00:00:33
здесь вот в к лаборатории google
00:00:35
программа то же самое что и из
00:00:37
предыдущего занятия только вектор
00:00:39
скрытого состояния теперь будет у нас
00:00:41
стоять из двух элементов и так в начале
00:00:43
мы подключаем все необходимые библиотеки
00:00:46
в том числе и базу вот этих вот
00:00:48
изображений вниз затем формируем
00:00:51
обучающую выборку то же самое выполняем
00:00:53
этот блок и вот здесь вот ниже у нас
00:00:55
формируется вот этот авто энкодера он
00:00:58
формируется абсолютно так же как мы это
00:01:00
делали на предыдущем занятии и здесь все
00:01:02
те же самые слои но вот только вот этот
00:01:04
вектор скрытого состояния вот здесь вот
00:01:06
он состоит из двух элементов то есть у
00:01:09
нас здесь бронированная и функция
00:01:11
активации линия но соответственно выходе мы будем
00:01:14
получать 28 на двадцать восемь элементов
00:01:16
всякому и дальних функции активации то
00:01:19
есть на выходе у нас сигнал будет в
00:01:20
пределах от нуля до единицы точно такой
00:01:23
же какой и на входе и авто encoder
00:01:26
должен точно восстанавливать сигнал вот
00:01:28
по этому вектору скрытого состояния
00:01:31
далее мы здесь отдельно создаем модель
00:01:33
кодера указывая вход вот этот вот и
00:01:36
выход
00:01:37
пин-кода то есть выход вот это вот слоя
00:01:39
и отдельно декодер значит на вход
00:01:42
декодера у нас будет подаваться такой
00:01:44
сигнал вот он а на выходе будь он
00:01:46
получает закодировано изображение на
00:01:48
основе этих двух моделей мы формируем
00:01:50
авт энкодер опять же мы здесь указываем
00:01:53
входной слой вот этот input и мяч а
00:01:55
выход мы определяем вот так вот мы и
00:01:58
записали декодер а здесь мы определяем
00:02:00
энкодер от этого входа in image
00:02:04
ну соответству нас получается авто
00:02:06
энкодер на основе вот этих вот двух
00:02:08
моделей преимущество такого описания в
00:02:10
том что когда мы будем обучать
00:02:12
авт энкодер у нас а.в.
00:02:14
мать и чески получится обычный кодер и
00:02:16
декодер
00:02:17
потому что это все одно и то же ну и вы
00:02:20
здесь от ниже мы соответственно
00:02:21
обучаемый дафт р кадра на входах и
00:02:24
выходах у нас будет одно и то же изображение то
00:02:27
есть на выходе будем требовать точно
00:02:28
такое же изображение что и на входе
00:02:30
давайте запустим этот процесс обучения и
00:02:33
вот он у нас пошел после 10 эпох
00:02:36
обучения мы прогоним через кадр
00:02:38
причем только через кадр тестовое
00:02:41
множество и на выходе получим множество
00:02:44
точек причем два мерных векторов который
00:02:47
соответствует вот это он скрыт настоянию
00:02:49
и посмотрим что оно из себя представляет
00:02:52
то есть мы вот эти вот полученные
00:02:53
вектора отобразим на плоскости виде
00:02:55
точек и у нас получится вот такой вот
00:02:58
конфигурация
00:02:59
то есть это распределение точек викторов
00:03:02
скрытого состояния для тестового набора
00:03:05
изображений вот это вообще говоря
00:03:08
характерная картина формирования
00:03:10
модельные области отображения входного
00:03:13
сигнала в пространство скрытого
00:03:15
состояния что отсюда следует если мы
00:03:18
будем брать точки в пределах
00:03:19
сформированной области то скорее всего
00:03:22
будет получаться какие-то осмысленные
00:03:24
изображения цифры например вот давайте
00:03:26
возьмем вектор
00:03:27
0 и 0 то есть от вектор скрытого стояние
00:03:29
мы его сами здесь прописали пропустим
00:03:32
через декодер и посмотрим что он нам
00:03:34
даст на выходе у нас получается такой то
00:03:36
изображение вообще говоря не понятно то
00:03:38
есть это и 0 и не 0 что-то неясное
00:03:41
давайте возьмём другой вектор например
00:03:44
вот такой вот 10 и 10 я 5 пропустим
00:03:46
через д кода и у нас на выходе
00:03:48
получается уверенная пятерка то есть вот
00:03:51
когда мы взяли 1010 вот из этой
00:03:53
модельной области то соответственно у
00:03:56
нас декодер смог смоделировать нормали
00:03:59
изображений то есть он моделирует
00:04:00
изображение потому вектору который мы
00:04:03
u10 явно указывает ну а если указать вот
00:04:06
какое-то другое значение которые здесь
00:04:08
ты явно выходит за рамки то у нас должно
00:04:11
получиться абракадабра но в данном
00:04:13
случае получилось единицы видимо все
00:04:15
таки вот он как-то смоделировать область
00:04:17
так что вот большие значения дает
00:04:19
все-таки такую-то единицу а если здесь
00:04:22
от минус поставить то что у нас
00:04:23
получится
00:04:25
нас какая-то вот здесь что уже
00:04:26
получилось абракадабра то есть мы взяли
00:04:29
точку которую декодер не знает как
00:04:31
интерпретировать и он на выходе нам дал
00:04:34
вот такой вот непонятно изображение то
00:04:36
есть вот смотрите что у нас здесь
00:04:38
получается мы имеем область вот такой
00:04:40
неопределенной формы если будем брать
00:04:43
точки не из этой области то можем
00:04:45
конечно получить нормальное изображение
00:04:47
но можно получать и неверно изображение
00:04:50
и вообще говоря остается открытым вопрос
00:04:52
а где здесь брать какие точки чтобы
00:04:55
точно получать не изображение цифр вот
00:04:59
это главный вопрос и нам обычный авто
00:05:02
энкодер не дает ответа на этот вопрос то
00:05:04
есть он конечно сформировал внутри себя
00:05:06
вот эту вот область распределения вот
00:05:08
этих вот . скрытого состояния но мы уже
00:05:11
не можем сами взять вот в этой область
00:05:14
какую-то точку чтобы на выходе декодер
00:05:17
нам смоделировал осмысленное изображение
00:05:20
так вот чтобы решить эту проблему
00:05:22
пространство состояний скрытого вектор
00:05:25
должно быть компактным и представлять
00:05:27
единую цельную область без существенных
00:05:29
разделений именно эту цель преследует
00:05:33
вариационные авт и энкодеры по-английски
00:05:35
это записывается вот так вот или
00:05:37
сокращенно
00:05:38
vaio вот таки эволюционные often кадры
00:05:40
они пытаются сформировать
00:05:42
область . скрытого состояния в
00:05:44
соответствии с заданным законом
00:05:46
распределения часто выбирает нормальные
00:05:48
то есть гоуска распределения так как она
00:05:51
наиболее просто с вычислительной точки
00:05:53
зрения и имеет понятную приемлемую форму
00:05:56
но и полностью определяется двумя
00:05:57
параметрами математическое ожидание и
00:06:00
дисперсия то есть вот у нас .
00:06:02
математического ожидания и дисперсии это
00:06:05
разброс мера разброса относительно
00:06:07
математического ожидания
00:06:08
вот на этом рисунке пристали пример
00:06:10
беллы мерной плотности распределения
00:06:12
вероятности гоу савской вот она примерно
00:06:15
вот так выглядит ну и распределение
00:06:17
точек который соответствует вот этой вот
00:06:20
плотность распределения вероятности то
00:06:22
есть вот здесь вот
00:06:23
вероятность . вот в этой области будет
00:06:25
наибольшей вот как раз вот этот мы здесь
00:06:27
получаем чем дальше будем отходить от
00:06:30
математического ожидания тем реже будут
00:06:32
появляться нас точки то есть вот чем
00:06:34
дальше отсюда utm от центра будем
00:06:36
уходить
00:06:37
тем все реже и реже у нас будут являться
00:06:39
с точки то есть вот так интерпретируется
00:06:41
гоуска плотность распределения
00:06:42
вероятностей и вот благодаря тому что
00:06:45
вариационная авт энкодер пытается
00:06:47
моделировать вот такую компактную
00:06:48
область то это дает нам уверенную
00:06:51
надежду что любая точка взятой в
00:06:54
пределах полученного распределения будет
00:06:57
на выходе декодера давать уже
00:06:59
осмысленные понятны изображения то есть
00:07:01
мы здесь будем понимать как выбирать
00:07:04
точки в скрытом про страз и для
00:07:06
генерации новых полноценных изображений
00:07:08
это ключевое отличие вариационного автор
00:07:11
энкодера от обычных авто энкодеров более
00:07:14
того и ту же картину можно
00:07:16
интерпретировать как преобразование
00:07:18
входного пространство больше размерности
00:07:21
входной пространство это вот как раз
00:07:23
полностью изображение в пространство
00:07:25
более компактная то есть вот в это
00:07:28
скрытые пространство призрак в меньшей
00:07:30
размерности часто это упрощает
00:07:32
дальнейший анализ исходных данных
00:07:35
далее в этом занятии я приведу теорию
00:07:37
необходимую для понимания построения
00:07:40
вариационного авт энкодера
00:07:42
который мы построим уже в следующем
00:07:44
занятии и так у нас есть формируемое
00:07:47
распределение точек и
00:07:48
желаемое распределение . мы их так и
00:07:51
обозначим через плотность распределения
00:07:53
вероятностей омега g и не плотность
00:07:57
распределения вероятностей омега н то
00:07:59
есть омега н отбой нормально гауссовское
00:08:02
распределение
00:08:03
поэтому процессе обучения нам нужно
00:08:05
будет не только точно воспроизвести
00:08:07
выходной сигнал но и распределить точки
00:08:10
скрытого пространство как можно ближе
00:08:13
вот к этому требуемому распределению
00:08:16
омега н значит нам нужен критерии
00:08:19
качества который бы оценивал степень расхождение
00:08:22
между этими двумя распределениями благо
00:08:25
математики его же давно придумали и
00:08:27
такой критерий называется дивергенция
00:08:29
кульбака regular а кому интересно
00:08:32
хороший материал по этой теме и сложно
00:08:34
вот на этой странице
00:08:35
ссылка на нее будет падать на видео как
00:08:37
описывается от критерий смотрите наше
00:08:39
распределение которое здесь будет
00:08:41
получаться оно должно соответствовать
00:08:43
вот таком вот
00:08:44
нормальному распределению то есть мы
00:08:46
будем полагать что вот эти вот отчеты
00:08:49
скрытого состояния
00:08:50
вектора скрытого состояния будут во
00:08:53
первых независимо между собой и
00:08:55
во-вторых подчиняться нормальному закону
00:08:58
распределения для такого частного случая
00:09:01
расстояния кульба коллайдера можно
00:09:04
записать следующий в математической
00:09:06
форме если разобраться то на самом деле
00:09:09
в этой формуле нет абсолютно ничего
00:09:11
сложного она может быть выглядит так
00:09:13
грандиозно
00:09:14
но в действительности все довольно
00:09:16
просто и очевидно смотрите здесь вот эти
00:09:19
вот величины сигма же и сигма и
00:09:23
это ковариационной матрицы
00:09:24
соответствующих случайных векторов
00:09:26
ну например вот этот матрица сигма g это
00:09:30
ковариацию для этого вектора скрытого
00:09:31
состояния
00:09:32
то есть мы берем математическое ожидание
00:09:34
вот от такого произведения векторов и на
00:09:36
выходе учитывая что они независимы между
00:09:39
собой получаем обычную диагональную
00:09:42
матрицу где по главной диагонали стоят
00:09:44
дисперсия вот этих вот величин h1 h2 и
00:09:48
так далее hk
00:09:49
а вот этот вторая матрица это тоже самое
00:09:51
но только для величин которые у нас
00:09:54
должны получится здесь до выхода то есть
00:09:56
вот для этого распределения мы будем
00:09:59
полагать что у этого распределения
00:10:00
нулевое математическое ожидание и
00:10:03
единичная дисперсия по каждой из осей то
00:10:06
есть вот эта вот матрица у нас будет
00:10:08
просто
00:10:09
единичной матрицей выбор вот такой
00:10:11
ковариационной матрицы очень удобен и
00:10:13
так как мы можем ее сократить вот в этом
00:10:16
критерии качества ну а вот эти вот
00:10:18
величины это есть ни что иное как
00:10:20
математическое ожидание для вот этих вот
00:10:23
величин величин аж ну и соответственно
00:10:26
для величин которые мы бы хотели
00:10:28
получить на выходе то есть мы бы хотели
00:10:30
чтобы вот эти вот величины аж на самом
00:10:32
деле имели нулевое математическое
00:10:35
ожидание поэтому в требуемом
00:10:36
распределение вот это вот вектор г н то
00:10:39
есть математическое ожидание она всюду
00:10:41
равен нулю если мы теперь все вот эти
00:10:44
вот параметры которые здесь определили
00:10:46
подставим твой эту формулу то она у нас
00:10:48
еще больше упростится и станет вот такой
00:10:51
вот то есть мера кульба коллайдера для
00:10:54
нашего частного случая
00:10:55
будет выглядеть вот таким образом ну
00:10:58
если кто не знает то вот это вот т.р.
00:11:01
которые начали записано это есть ни что
00:11:03
иное как след матрица то есть в данном
00:11:05
случае это будет просто сумма значений
00:11:07
элементов главной диагонали то есть у
00:11:09
нас диагонали матрицы поэтому просто
00:11:11
уберет сумму вот этих вот значений и это
00:11:14
будет как раз вот это вот т.р. который
00:11:16
здесь записано ну а вот это вот дед это
00:11:19
детерминант матрицы то есть определитель
00:11:21
матрицы и вне диагонали матрицы это уже
00:11:25
произведение вот этих вот элементов то
00:11:27
есть т.р. это сумма
00:11:28
лет это произведение этих элементов ну а
00:11:32
все остальное здесь в общем происходит
00:11:33
очевидным образом итак мера расхождение
00:11:36
2 нормальных palto себя распределению
00:11:38
вероятности у нас есть и это мера
00:11:40
зависит от векторов математического
00:11:43
ожидания и дисперсии то есть вот здесь
00:11:46
вот в этой матрице сигма же
00:11:48
учитываются дисперсии а вот эта вот
00:11:50
матрица мы уже это как раз вот этот а
00:11:53
математическое ожидание но сейчас наш
00:11:56
кадр на выходе выдает не вот такие вот
00:11:58
величины а непосредственно вектор
00:12:00
скрытого состояния h
00:12:02
как же нам вычислить вот эти вот
00:12:04
увеличены математическое ожидание и
00:12:06
дисперсия
00:12:07
текущего распределения и сделать так
00:12:09
чтобы алгоритм обратного распространения
00:12:11
ошибки мог использовать вот эту эта
00:12:14
информация при обучении вариационного
00:12:16
авто энкодера для этого cutter будет
00:12:19
формировать не сам вектор
00:12:21
аж а как раз вот эти два вектора
00:12:24
математическое ожидание и дисперсию и
00:12:26
его структура будет следующее смотрите
00:12:29
здесь на выходе вот это вот kodra то
00:12:32
есть вот у нас кадр на выходе кадра
00:12:34
будут два вектора математическое
00:12:37
ожидание это набора нейронов к нейронов
00:12:40
и к нейронов для дисперсия затем на
00:12:43
основе вот этих от полученных викторов
00:12:45
математического ожидания дисперсии
00:12:47
мы будем генерировать вот эту случайную
00:12:49
величину аж то есть вот этот вектор
00:12:52
скрытого состояния таким образом у нас
00:12:55
вот этот вектор скрытого состояния будет
00:12:58
как раз иметь вот эти от математические
00:13:00
ожидания и дисперсии то есть вот этот
00:13:02
вектор аж у нас формируется вот по
00:13:04
такому правилу мы умножаем вот этот
00:13:06
величина н который сгенерировали как
00:13:09
нормальный случайную величину с нулевым
00:13:11
математическим ожиданием и
00:13:12
единичной дисперсией но вот такую
00:13:15
дисперсию сигма аж и добавили к ней вот
00:13:19
это вот математическое ожидание new
00:13:21
соответственно получили случайную
00:13:23
величину аж который имеет вот такое
00:13:25
математическое ожидание и вот такой вот
00:13:27
дисперсию то есть в процессе обучения
00:13:31
нейрона кадра будут выдавать векторы
00:13:34
математическое ожидание и дисперсия для
00:13:36
каждого входного наблюдений x
00:13:39
но откуда нейронной сети будет знать что
00:13:41
вот эта группа нейронов
00:13:42
это именно математическое ожидание а эта
00:13:45
дисперсия она такими категориями не
00:13:47
мыслит но это происходит по тем же
00:13:49
причинам по которым на про река течет по
00:13:52
строго своему руслу законы физики
00:13:54
заставляют ее течь по ложбинке они по
00:13:57
возвышенностях также при обучении
00:13:59
нейронной сети нейрона приобретает те
00:14:03
призраки которые мы им и легче обучиться
00:14:05
и структура вариационного авто энкодер
00:14:08
как раз способствует формированию есть
00:14:10
математического ожидания а здесь
00:14:12
дисперсия это вот такая вот магия работы
00:14:15
нейронной сети
00:14:17
теперь имея вот эти вот оценки
00:14:18
математического ожидания и дисперсии
00:14:20
можно их использовать для определения
00:14:22
соответствия текущего распределения вот
00:14:25
этих вот викторов page нормальному к
00:14:27
узкому
00:14:28
распределению то есть процессе обучения
00:14:30
эволюционного авто энкодера будут
00:14:33
минимизировать сразу два критерия первый
00:14:35
критерий будет способствовать
00:14:37
формированию правильного выходного
00:14:39
сигнала то есть так чтобы выходной
00:14:41
сигнал соответствовал входному сигналу
00:14:43
второй критерий это будет как раз
00:14:45
критерии кульба коллайдера и итоговой
00:14:49
критерий качества
00:14:50
это будет сумма этих двух критериев вот
00:14:54
таким вот образом мы будем формировать
00:14:56
модель вариационного авто энкодера и
00:14:59
задавать его общие критерии качества на
00:15:02
следующем занятии мы реализуем этот авто
00:15:04
энкодер и посмотрим каким результатом он
00:15:06
приводит
00:15:07
[музыка]

Описание:

Что из себя представляют вариационные автоэнкодеры и чем они отличаются от обычных автоэнкодеров. Принцип их работы. Мера Кульбака-Лейблера. Телеграм-канал: https://t.me/machine_learning_selfedu Инфо-сайт: http://proproprogs.ru/ lesson 28. Autoencoder_hidden_space.py: https://github.com/selfedu-rus/neural-network Дивергенция Кульбака-Лейблера: https://habr.com/ru/articles/484756/

Готовим варианты загрузки

popular icon
Популярные
hd icon
HD видео
audio icon
Только звук
total icon
Все форматы
* — Если видео проигрывается в новой вкладке, перейдите в неё, а затем кликните по видео правой кнопкой мыши и выберите пункт "Сохранить видео как..."
** — Ссылка предназначенная для онлайн воспроизведения в специализированных плеерах

Вопросы о скачивании видео

mobile menu iconКак можно скачать видео "Вариационные автоэнкодеры (VAE). Что это такое? | #28 нейросети на Python"?mobile menu icon

  • Сайт http://unidownloader.com/ — лучший способ скачать видео или отдельно аудиодорожку, если хочется обойтись без установки программ и расширений. Расширение UDL Helper — удобная кнопка, которая органично встраивается на сайты YouTube, Instagram и OK.ru для быстрого скачивания контента.

  • Программа UDL Client (для Windows) — самое мощное решение, поддерживающее более 900 сайтов, социальных сетей и видеохостингов, а также любое качество видео, которое доступно в источнике.

  • UDL Lite — представляет собой удобный доступ к сайту с мобильного устройства. С его помощью вы можете легко скачивать видео прямо на смартфон.

mobile menu iconКакой формат видео "Вариационные автоэнкодеры (VAE). Что это такое? | #28 нейросети на Python" выбрать?mobile menu icon

  • Наилучшее качество имеют форматы FullHD (1080p), 2K (1440p), 4K (2160p) и 8K (4320p). Чем больше разрешение вашего экрана, тем выше должно быть качество видео. Однако следует учесть и другие факторы: скорость скачивания, количество свободного места, а также производительность устройства при воспроизведении.

mobile menu iconПочему компьютер зависает при загрузке видео "Вариационные автоэнкодеры (VAE). Что это такое? | #28 нейросети на Python"?mobile menu icon

  • Полностью зависать браузер/компьютер не должен! Если это произошло, просьба сообщить об этом, указав ссылку на видео. Иногда видео нельзя скачать напрямую в подходящем формате, поэтому мы добавили возможность конвертации файла в нужный формат. В отдельных случаях этот процесс может активно использовать ресурсы компьютера.

mobile menu iconКак скачать видео "Вариационные автоэнкодеры (VAE). Что это такое? | #28 нейросети на Python" на телефон?mobile menu icon

  • Вы можете скачать видео на свой смартфон с помощью сайта или pwa-приложения UDL Lite. Также есть возможность отправить ссылку на скачивание через QR-код с помощью расширения UDL Helper.

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Вариационные автоэнкодеры (VAE). Что это такое? | #28 нейросети на Python"?mobile menu icon

  • Самый удобный способ — воспользоваться программой UDL Client, которая поддерживает конвертацию видео в формат MP3. В некоторых случаях MP3 можно скачать и через расширение UDL Helper.

mobile menu iconКак сохранить кадр из видео "Вариационные автоэнкодеры (VAE). Что это такое? | #28 нейросети на Python"?mobile menu icon

  • Эта функция доступна в расширении UDL Helper. Убедитесь, что в настройках отмечен пункт «Отображать кнопку сохранения скриншота из видео». В правом нижнем углу плеера левее иконки «Настройки» должна появиться иконка камеры, по нажатию на которую текущий кадр из видео будет сохранён на ваш компьютер в формате JPEG.

mobile menu iconСколько это всё стоит?mobile menu icon

  • Нисколько. Наши сервисы абсолютно бесплатны для всех пользователей. Здесь нет PRO подписок, нет ограничений на количество или максимальную длину скачиваемого видео.