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

Скачать "Делаем прогноз слов рекуррентной сетью. Embedding слой | #21 нейросети на Python"

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

Теги видео

нейросеть
нейронная сеть
neural network
нейронка
neural networks
машинное обучение
искусственный интеллект
deep learning
НС
нейросети python
для чайников
нейросеть обучение
keras embedding
embedding
keras tokenizer
парсинг текста
рекуррентные сети
rnn
recurrent network
рекуррентные нейронные сети
recurrent neural network
keras tensorflow
keras
keras уроки
keras python
keras tutorial
keras rnn
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:04
здравствуйте дорогие друзья на
00:00:07
предыдущем занятии мы с вами построили
00:00:09
экспериментальную рекуррентной нейронной
00:00:10
сети для прогнозирования следующего
00:00:13
сеула на этом занять разовьем эту тему и
00:00:16
построим сеть для оценки следующего
00:00:18
слова в целом цепь будет реализован
00:00:20
также как и ранее
00:00:22
а вот подготовка обучающей выборке будет
00:00:24
выполняться несколько иначе самом
00:00:26
простом варианте нам следует
00:00:28
сформировать вот такой трехмерный тензор
00:00:30
похожий на от enter из предыдущего
00:00:32
занятия мы из текста
00:00:34
будем выделять уже слова целиком а не
00:00:37
отдельные символы ну а набор уникальных
00:00:39
слов будет составлять наш словарь размер
00:00:43
этого словаря будет определяться такой
00:00:45
переменной макс
00:00:46
words sound и определять вот эта вот
00:00:48
размерность нашего тензора затем каждый
00:00:51
слов будет кодироваться one hot вектором
00:00:53
в соответствии с его номером в словаре
00:00:55
например если союз не имеет порядковый
00:00:59
номер единицу то есть яндекс единицу
00:01:02
то соответственно него получается вот
00:01:04
такой вектор единица будет стоять вот на
00:01:06
этой первой позиции вот этот быть
00:01:08
нулевая позиция а это будет 1 позиция
00:01:11
количество всех вот этих вот элемент в
00:01:14
этом векторе будет равно макс
00:01:16
орт скаут далее вот это вот переменная
00:01:19
int worlds бой содержать количество слов
00:01:23
на основе которых будет строиться
00:01:25
прогноз но здесь как пример приведена
00:01:27
три слова то есть на основе трех слов мы
00:01:29
делаем прогноз следующего слова вот
00:01:32
такой вот тендер
00:01:33
обучающей выборке ну и давайте моего
00:01:35
сформируем для этого я перейду в
00:01:37
программу
00:01:38
естественно она у нас уже написана и
00:01:40
сейчас я объясню что здесь происходит
00:01:43
значит смотрите вот здесь вот в начале
00:01:45
мы подключаем библиотеки необходимое и
00:01:47
далее загружаем текст текст из вот этого
00:01:50
вот файла текст этот файл содержит вот
00:01:53
такие вот короткие высказывания
00:01:55
то есть вот кому нужен с такой
00:01:57
внешностью не доверяя никому говорил я
00:01:59
тебе
00:02:00
ну и так далее то есть тут много раз их
00:02:02
высказываний и мы их сотрясал загрузим и
00:02:04
будем использовать для прогнозов
00:02:06
следующих слов после того как текста
00:02:08
загружена мы разбиваем его на отдельные
00:02:10
слова
00:02:11
для этого используется знакомой нам уже
00:02:13
инструмент татьяна юзер пакета keros
00:02:16
но и с помощью него мы как раз и делаем
00:02:18
это разбиение во-первых указывает
00:02:20
сколько максимум слов может быть у нас в
00:02:22
словаре
00:02:23
то есть вот этот переменной макс works
00:02:25
каунт но путь в данном случае будет
00:02:27
равна 1000 то есть мы будем полагать что
00:02:29
у нас всего максимум будет
00:02:32
999 слов то есть 1000 минус 1 как мы
00:02:36
говорили на предыдущем занятии вот этот
00:02:38
параметр позволяет
00:02:39
отбросить все остальные слова то есть мы
00:02:41
оставляем 999 наиболее часто
00:02:43
встречающихся в тексте ну а все
00:02:46
остальные просто будут отброшены часто
00:02:48
это очень полезно то есть мы отбрасываем
00:02:50
все который встречается редко и сеть
00:02:53
обучать на этих редких словах мы не
00:02:55
будем но в данном случае мы выделим все
00:02:57
потому что в нашем коротком тексте
00:02:59
наверняка даже меньше слов чем 1000
00:03:02
поэтому мог быть или на все и на всех
00:03:04
словах мы будем в данном случае обучать
00:03:07
но вообще это параметр устанавливает с
00:03:09
позиций здравого смысла например при
00:03:11
большом объеме текста скорее всего мы
00:03:14
будем иметь дело с большинством слов и
00:03:16
их форм русского языка такое лексический
00:03:19
запас слов у среднестатистического
00:03:21
человека около 10000
00:03:23
поэтому в этом случае хорошим выбором
00:03:25
вот это вот перемены max force каун было
00:03:28
бы 20 тыс то есть мы бы выделить здесь
00:03:30
основные слова и их словоформы но в
00:03:33
нашем простом случае достаточно и тысячи
00:03:35
итак следующий параметр filters он
00:03:38
позволяет удалить все лишние символы из
00:03:40
нашего текста далее lower переводит
00:03:42
текст в нижний регистр сплит мы будем
00:03:45
разбивать слова по пробелу ну а чарли в
00:03:48
данном случае будет фолз потому что
00:03:50
будем разбивать текст именно по словам
00:03:52
они по символам все мы это сделали и
00:03:54
соответственно пропускаем наш текст
00:03:56
через вот этот тендер для это вызывают
00:03:59
этот метод hitman текст и соответственно
00:04:02
текст преобразовывается для примера мы
00:04:05
вот здесь вот можем посмотреть что у нас
00:04:07
получается то есть мы можем вывести
00:04:09
некие слова
00:04:10
их частотность например вот и давайте я
00:04:12
поставлю здесь точка останова запущу эту
00:04:15
программу сейчас т.к. загрузится и
00:04:17
соответственно будет проанализировал с
00:04:19
помощью нашего этот инструмент атаки на
00:04:21
терр смотрите переходим в консоль и у
00:04:23
нас здесь кортежа
00:04:25
то есть здесь вот слова и его чистота
00:04:27
встречаемость в тексте то есть в данном
00:04:30
случае союз я встречается 20 на 1 слову
00:04:33
притягиваю один раз только двадцать раз
00:04:36
плохой один кому 2 ну и так далее то
00:04:39
есть снова его частотность то есть мы
00:04:41
действительно разбили текст по словам и
00:04:43
знаем с какой частотой встречается то
00:04:45
или иное слово дали вот в этой строчке
00:04:47
мы преобразуем текст в
00:04:49
последовательность чисел соответствии с
00:04:51
полученным словарем то есть у нас
00:04:53
получается вот такая вот операция мы
00:04:55
берем каждое отдельное слово в нашем
00:04:58
тексте и на место этого слова ставим то
00:05:02
число который соответствует этому слову
00:05:04
то есть например если мне это число 32
00:05:07
его индекс словари 32 посмотри здесь
00:05:10
появляется 32
00:05:11
потом нравится пусть это будет индекс 2
00:05:14
соответственно появляется ну и так далее
00:05:16
то есть мой текст преобразуем в
00:05:18
последовательность вот этих вот чисел и
00:05:20
дали вот этот последовательность чисел
00:05:22
мы должны преобразовать
00:05:24
о ван ход векторы для этого мы
00:05:27
воспользуемся вот такую функцию ту
00:05:29
категорию ну и соответственно передаем
00:05:32
вот эту вот коллекцию в качестве числа
00:05:34
классов у этой функции то категорию мы
00:05:37
укажем максимальное число слов и на
00:05:40
выходе мы вот из такого вектора
00:05:42
получим вот такую вот коллекцию то есть
00:05:45
у нас здесь будут вот эти вот у ван ход
00:05:47
векторы то есть у нас единичка будет
00:05:50
стоять на тех местах где соответственно
00:05:53
описано вот это число то есть вот здесь
00:05:54
что эти очки стоит на месте 32 то есть
00:05:58
должна стоять на месте с 32 вот это на
00:06:00
месте 2 но здесь немножко другой пример
00:06:02
приведен но смысл вот такой вот то есть
00:06:04
водка там где число
00:06:05
а будет стоить эдичка все остальные
00:06:07
дубль и как раз вот это мы здесь и
00:06:09
делаем то есть мы вот преобразовали в
00:06:11
последовательность чисел а потом
00:06:13
преобразовываем one hot векторы ну и на
00:06:16
выходе получаем вот такую вот коллекцию
00:06:18
что мы делаем дальше мы на основе этой
00:06:21
коллекции формируем вот этот трехмерный
00:06:23
tensor который у нас и должен быть в
00:06:25
обучающей выборке то есть у нас здесь
00:06:27
вот идет inward слов на основе которых
00:06:30
мы будем делать прогноз следующего слова
00:06:32
то есть у нас будет вот такая вот
00:06:34
коллекция смотрите мы будем брать ну да
00:06:37
пусть вот
00:06:38
первые три слова и дали прогнозировать
00:06:40
следующие потом мы смещаемся найден
00:06:42
элемент берем еще 3 слова и
00:06:44
соответственно про гарантируем следующий
00:06:46
элемент и так далее то есть мы вот таким
00:06:48
образом будем строить нашу обучающую
00:06:50
выборку для нейронной сети как раз это
00:06:54
здесь и делается во первых мы вот инфа
00:06:56
word с устанавливаем равна трем
00:06:58
и соответственно также абсолютно как и
00:07:00
на прошлом занятии мы формируем вот это
00:07:03
3-мерный тензор ну а этот будет тензор
00:07:05
выходных слов то есть те которые мы
00:07:07
должны спрогнозировать все наш обучающий
00:07:10
выборка готова и теперь нам нужно
00:07:12
сделать рекуррентная нейронная сеть мы
00:07:15
ее очень строим абсолютно так же как
00:07:16
тоже на предыдущем занятии у нас здесь
00:07:19
свой символ рнн рекуррентный слой на
00:07:22
вход который мы будем подавать вектор
00:07:23
равной ваш сайт потом in parts ну а
00:07:27
здесь у нас идет макс wards каунт далее
00:07:30
мы компилируем эту сеть с функцией
00:07:32
потери категориальной cross in терапия
00:07:33
метрика и курсе и оптимизатор адам затем
00:07:37
запускаем процесс обучения здесь мы
00:07:40
подаем обучающую выборку необходимое
00:07:42
выходные значения ну союз будет 32
00:07:45
и число эпох 50 ну а затем так же как и
00:07:49
на прошлом занятии у нас будет вот такая
00:07:51
thanks a built фрейд который строит
00:07:53
фразу боитесь формируем слова на основе
00:07:56
которых делаем прогноз следующего слова
00:07:59
ну и затем пропускаем сеть слова через
00:08:01
модель на выходе получаем вектор
00:08:03
размерностью макс worlds каунт потому
00:08:06
что у нас вот этот последний слой
00:08:07
викторов он содержит макс wards каунт
00:08:10
нейронов и соответствует нейрон который
00:08:12
будет содержать максимальное значение то
00:08:14
слово это сеть и прогнозирует
00:08:17
соответственно вот здесь мы и получаем
00:08:19
индекс этого слова и затем использует
00:08:21
эту коллекцию индекс word мы
00:08:23
преобразовываем индекс обратно в слова
00:08:25
ну его 10 моего
00:08:27
записываю через пробел у так вот далее
00:08:29
мы вызываем эту функцию и вот за счет
00:08:32
первые три слова пишем позитив добавляет
00:08:34
года давайте по 40 как и все будет
00:08:37
работать сейчас мы обучим нашу нейронную
00:08:39
сеть и запустим ее на прогнозировании
00:08:42
следующих слов начинается процесс
00:08:45
обучения 50 эпоха
00:08:46
но идет довольно быстро и смотрите на
00:08:49
выходе у нас получилась такая
00:08:50
посетив добавляет годы дальше она уже
00:08:53
делает свой прогноз
00:08:55
счастье вашей жизни и двигаться их в
00:08:58
конце держись есть совет мечты
00:09:00
показаться а заставить но 8 какая-то
00:09:04
абракадабра дальше за
00:09:05
но 8 того того в начале что такого разу
00:09:08
метильная а дальше уже идет какая-то
00:09:09
абракадабра
00:09:10
давайте еще раз запустим и посмотрим
00:09:12
другой вариант который она с
00:09:14
прогнозирует даже каждый раз она
00:09:15
немножко будет обучаться по другому и
00:09:17
соответствие прогноза тоже будет
00:09:19
строиться по разному значит вот прошло
00:09:21
50 эпоху нас получается так позицию
00:09:24
добавляет годы счастья вашей жизни и
00:09:26
двигаться привержена
00:09:28
ну а дальше уже абракадабра пошла то
00:09:30
есть вот вы начали что-то такое более
00:09:32
менее вразумительное ну а дальше уже ни
00:09:34
о чем вообще говоря конечно наша не роли
00:09:37
сеть довольно простая для решения такой
00:09:40
задачи но тем не менее она пытается
00:09:43
что-то с позиция своего здравого смысла
00:09:46
вот здесь сформировать какую-то такую
00:09:48
последовательность ну и мои витте вот
00:09:50
такой-то результат вы у себя дома можете
00:09:52
поиграться с этой программы ссылка на
00:09:54
нее будет падать видео например можно
00:09:56
здесь поставить больше число нейронов но
00:09:58
и посмотреть какая то повлияет на
00:10:00
прогноза вот этих вот следующих слов но
00:10:03
мы пойдем дальше и отметим один
00:10:04
существенный недостаток вот такой
00:10:07
реализация смотрите вот этот входной
00:10:09
тензор он имеет довольно большую
00:10:11
размерность у нас вот здесь вот 1000
00:10:14
элементов
00:10:15
вот здесь вот три элемента ну а здесь
00:10:18
тоже сколько ты там элементов получается
00:10:20
то есть у нас получается довольно
00:10:22
большая такая по объему обучающе выборка
00:10:25
если мы решаем какую-то реально
00:10:27
практическую задачу то например
00:10:29
представь что у нас 20 тысяч слов
00:10:31
делая прогноз на основе этих слов ну а
00:10:35
сама обучающая выборка
00:10:37
у нас в 10000 элементов то есть мы в
00:10:39
итоге если все это перемножим получив 10
00:10:42
в девятой степени элементов даже если
00:10:45
все это представить на уровне бит вот
00:10:47
такую эту информацию но назад получится
00:10:50
число около 10 в 8 степени это где-то
00:10:52
100 мегабайт и это значимой объем
00:10:55
которые приходится хранить для того
00:10:58
чтобы сформировать такую обучающий
00:11:00
уборку а это еще не самый большой тензор
00:11:03
быть не десять тысяч а сто тысяч
00:11:05
элементов и тогда соответству нас будет
00:11:07
уже получается гораздо больший объем
00:11:09
как с этим бороться специалист по
00:11:11
нейронным сетям предложили
00:11:13
альтернативный подход к формированию
00:11:15
такого вот входной информации то есть
00:11:17
обучающей выборке хранению обучающей
00:11:20
выборке и для этого они предложили использовать
00:11:22
такой слой специальный слой который
00:11:25
называется embedding в чем его суть вот
00:11:29
смотрите когда мы подаем вектор с
00:11:31
единицей на определенной позиции но вот
00:11:34
допустим это не имеет индекс единицу и
00:11:37
мы подаем вот на этот первый вход вот
00:11:39
эту единицу
00:11:40
остальные у нас 0 и что у нас получается
00:11:42
у нас фактически вот эти вот связи они
00:11:45
здесь красным отмечены которую идут вот
00:11:48
эти нейроны они активируются по всем остальным
00:11:51
связям передается 0 и отсюда хорошо
00:11:53
видно что если подавать на вход не вот
00:11:56
такие вот расширенные векторы 100 и так
00:11:59
далее просто числа то на входе нейронной
00:12:03
сети можно реализовать
00:12:05
простой алгоритм который бы подавал
00:12:07
единицу на нейрон соответствующим
00:12:11
номером то есть например мы подаем число
00:12:13
100 значит единица будет подаваться на 100
00:12:16
вход подаём 23
00:12:18
идея будет подаваться на 23 вход ну и
00:12:20
так далее то есть нам по идее то и не
00:12:22
надо хранить вот такую-то расширенный
00:12:24
вектор а можем просто брать числа и
00:12:27
соответствующей единицу на нужный вход
00:12:30
подавать в итоге мы существенно будем
00:12:32
экономить память при хранении обучающей
00:12:35
выборке а результат будет получать в
00:12:37
общем то тот же самой именно такую
00:12:39
операцию и выполняет биндинг слой на
00:12:42
выходах этого слоя формируется выходные
00:12:44
значения
00:12:45
равном не сам свете для передано единиц
00:12:48
то есть например яндекс вот это вот
00:12:50
союзы не имеет один мы передаем единицу
00:12:52
сюда вот на первый вход
00:12:54
ну и вот это embedding слой это единиц
00:12:57
по сути дела ставить в соответствии
00:12:59
набор вот этих вот весовых коэффициентов
00:13:01
то есть весовых коэффициент в которых
00:13:03
соответствует вот этому первому входу
00:13:05
если мы будем подавать единицу откуда
00:13:08
они сюда будет активировать
00:13:09
соответственно другие весовые
00:13:10
коэффициенты и здесь будет получаться
00:13:13
уже другой набор этих весовых
00:13:15
коэффициентов то есть у нас по сути дела получается
00:13:17
что мы определенному yandex ставим
00:13:20
соответствие определенный вектор причем
00:13:23
вот эти весовые коэффициенты они также
00:13:25
могут настраиваться процессе обучения и
00:13:27
в результате нейронная сеть может очень
00:13:30
хорошо и грамотно разводить эти слова
00:13:33
между собой вот так вот работает абедин
00:13:36
к слой ну а далее вот эти вот весовые
00:13:38
коэффициент подаются на следующий слой
00:13:40
нейронной сети и тому же продолжает
00:13:43
обрабатываться theres такой слой можно
00:13:45
создать с помощью одноименного класса
00:13:48
он так и называется embedding у него
00:13:50
есть вот такие вот основные параметры
00:13:52
смотрите вот этот первый параметр input
00:13:55
дым это как раз число слов до в нашем
00:13:58
случае число слов в словаре то есть это
00:14:00
количество вот этих от входов далее
00:14:02
второй параметр
00:14:03
output дед это как раз число вот этих от
00:14:06
выходов от у этого слоя bad thing ну а
00:14:09
вот этот третий параметр который тоже
00:14:11
важно задавать
00:14:12
input лэнс в нашем случае это будет
00:14:14
число слов и морс по которым мы проводим
00:14:17
прогноз то есть это вот количество вот
00:14:20
этих вот слов на вход рекуррентной
00:14:21
нейронной сети по которым будет строить
00:14:24
прогноз это тоже важно потому что
00:14:26
внутренние состояния рекуррентных слоя
00:14:28
каждый раз будет сбрасываться в ноль
00:14:30
каждые три слова
00:14:31
то есть пропустили три слова построить
00:14:33
прогноз внутреннее состояние
00:14:35
рекуррентно во слоя обнулилось и процесс
00:14:37
повторяется то есть вот таким образом
00:14:39
создается i'm backing слой и он
00:14:42
позволяет заметно экономить память при
00:14:45
хранении обучающей выборке давайте это
00:14:47
реализуемо в нашей программе смотрите
00:14:49
что вот здесь вот в качестве входа буков
00:14:52
вот этот как бы ding слой ну
00:14:54
соответственно моего должны вывести
00:14:56
портировать верху то есть мы сделали так
00:14:58
вот , а budding и соответственно к же у
00:15:01
него следующие параметры у него будет
00:15:03
высочества указан параметра max vol цска
00:15:05
он трясет число входов далее число
00:15:08
выходов пусть будет 256 то есть это мы
00:15:10
тут сами выбираем на вот это третий
00:15:12
параметр input лэнса это будет как раз
00:15:14
число слов на основе которых строится
00:15:16
прогноз а далее все то же самое то есть
00:15:19
у нас нет лица рекуррентный слой и слой
00:15:21
выходных нейронов давай здесь вот в
00:15:23
качестве обучающей выборке мы просто
00:15:25
возьмём вот этого дата от нуля то есть
00:15:27
вот это все мы закомментируем
00:15:29
и напишем а такую вот строчку рез
00:15:32
равняется дата для все у нас вот
00:15:35
обучающий выборка общем сформированы
00:15:37
далее мы делаем абсолютно те же самые
00:15:39
операции теперь x будет стоять из набора
00:15:42
чисел не из набора one hot викторов
00:15:45
а вот y у нас не должен быть набором
00:15:47
чисел набор ибо именно викторов поэтому
00:15:50
мы его преобразуем вот таким вот образом
00:15:52
а что здесь мы напишем операцию ту
00:15:55
категорию
00:15:56
будем делать преобразованию от в это
00:15:58
ваншот вектор ну а здесь соответственно
00:16:00
будем указывать какую именно коллекцию
00:16:03
мы будем преобразовывать мы всю
00:16:04
коллекцию сразу преобразуем о набор вот
00:16:06
этих вот викторов все мы создали
00:16:09
обучающий выборку она теперь будет
00:16:10
занимать заметно меньше памяти и
00:16:13
требуемое выходные значения
00:16:15
далее вы защита у нас будет абсолютно та
00:16:17
же самая неровной сеть вот здесь слоем
00:16:19
wedding можно реализовали компилируем и
00:16:22
обучаем абсолютно также
00:16:24
и немножко модифицировать этот функция
00:16:26
build фрейд здесь мы вот эту вот
00:16:28
коллекцию словах на сары который будем
00:16:29
делать прогноз будем формировать
00:16:31
немножко по-другому себя поставлю
00:16:33
комментария я запишу дает эти вот
00:16:35
строчки то есть мы будем брать уже
00:16:37
конкретные индексы
00:16:39
они ваншот векторы а все остальное будет
00:16:42
также но соответственно подаем уже
00:16:44
яндексе на вход от этой нейронной сети
00:16:47
получаем на выходе уже вектор состоящий
00:16:50
из макс words элементов но отдали также
00:16:53
берем индекс того элемента который
00:16:55
принимает максимальное значение и
00:16:57
соответственно преобразуем его в слово
00:16:59
давайте запустим такую реализацию
00:17:01
нейронной сети и посмотрим что у нас
00:17:03
получится так получается вот ошибка у 29
00:17:07
стручки
00:17:08
давно говоришь ошибки не определен вот
00:17:10
здесь нам нужно нам поймать всех
00:17:12
сформировать я вот за было так удобно
00:17:14
писать так запустим еще раз получается
00:17:17
еще ошибки давайте посмотрим что не так
00:17:20
да у нас вот здесь вот двоеточие надо
00:17:23
убрать вот так просто оставить
00:17:24
запустим еще раз все и теперь у нас все
00:17:27
нормально процесс пошел и программа
00:17:29
работает и мы видим вот такой вот
00:17:31
результат работы рекуррентной нейронной
00:17:33
сети позитивы добавляет годы
00:17:35
а дальше она делает прогноз свои вашей
00:17:38
жизни ожидания двигаться трудности ради
00:17:41
конца какая-то абракадабра пошла дальше то
00:17:44
есть вот такой результат у нас прогнозы
00:17:46
получился ну я здесь хотел показать
00:17:48
главным образом как формируется вот этот
00:17:51
embedding слой как для него
00:17:52
подготавливается обучающая выборка
00:17:54
и в чем его преимущества то есть когда
00:17:56
идет обработка текста в больших объемов
00:17:58
текста
00:17:59
то в нейронной сети формируется вот
00:18:01
такой embedding слой причин может быть
00:18:03
только входным он должен быть первым я
00:18:05
вам позволяет гораздо компактнее
00:18:06
представительства это обучающую выборку
00:18:08
но и кстати подготовить и это же гораздо
00:18:10
проще то есть мы здесь некоторые
00:18:11
операции уже не делаем вопрос
00:18:13
преобразуем текст в набор и индексов и
00:18:15
этого вполне достаточно вот так вот
00:18:18
можно выполнять предобработки текста
00:18:20
чтобы сформировать обучающую выборку
00:18:23
его таким образом работает embedding
00:18:25
слой
00:18:26
[музыка]

Описание:

Как можно создать сеть для прогнозирования последующих слов текста? Пример реализации в пакете Keras. Рассказывается о сопосбе представления слов в обучающей выборке, о парсинге текста с помощью инструмента Tokenizer, методы: fit_on_texts, texts_to_sequences, to_categorical. Коллекции: word_counts, index_word. Что такое Embedding слой, для чего нужен и как реализуется в Keras. Телеграм-канал: https://t.me/machine_learning_selfedu Инфо-сайт: http://proproprogs.ru/ lesson 21. RNN words predict.py: https://github.com/selfedu-rus/neural-network lesson 21. RNN Embedding words predict.py: https://github.com/selfedu-rus/neural-network Embedding: https://ru-keras.com/embedding-layers/

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

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

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

mobile menu iconКак можно скачать видео "Делаем прогноз слов рекуррентной сетью. Embedding слой | #21 нейросети на Python"?mobile menu icon

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

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

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

mobile menu iconКакой формат видео "Делаем прогноз слов рекуррентной сетью. Embedding слой | #21 нейросети на Python" выбрать?mobile menu icon

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

mobile menu iconПочему компьютер зависает при загрузке видео "Делаем прогноз слов рекуррентной сетью. Embedding слой | #21 нейросети на Python"?mobile menu icon

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

mobile menu iconКак скачать видео "Делаем прогноз слов рекуррентной сетью. Embedding слой | #21 нейросети на Python" на телефон?mobile menu icon

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

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Делаем прогноз слов рекуррентной сетью. Embedding слой | #21 нейросети на Python"?mobile menu icon

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

mobile menu iconКак сохранить кадр из видео "Делаем прогноз слов рекуррентной сетью. Embedding слой | #21 нейросети на Python"?mobile menu icon

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

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

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