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

Скачать "Ускорение обучения, начальные веса, стандартизация, подготовка выборки | #4 нейросети на Python"

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

Теги видео

нейросеть
нейронная сеть
neural network
нейронка
neural networks
машинное обучение
искусственный интеллект
deep learning
НС
нейросети
с нуля
уроки
как создать
как написать
как работает
как устроено
для новичков
нейронные сети
Субтитры
|

Субтитры

subtitles menu arrow
  • enАнглийский
Скачать
00:00:04
здравствуйте дорогие друзья на
00:00:07
предыдущем занятии мы с вами
00:00:08
познакомились с алгоритмом байка про по
00:00:10
гришин но рассмотрели его лишь в целом
00:00:13
чтобы мы с вами понимали принципе его
00:00:15
работы теперь пришло время немного
00:00:18
погрузиться в детали этого процесса и
00:00:20
узнать как оптимизируется алгоритм
00:00:22
газетного спуска как инициализирует
00:00:25
начальник значение самых коэффициентов
00:00:27
как выполнять стандартизацию входных
00:00:29
данных как готовить обучающую выборку
00:00:31
какую функцию активации нейронов выбрать
00:00:34
когда останавливать процесс обучения
00:00:36
ну и какие критерии качества обучения
00:00:38
вообще существует и как их использовать
00:00:40
без знания вот этих вот моментов
00:00:43
провести качественное обучение нейронных
00:00:45
сетей практически невозможно поэтому для
00:00:48
полноты картины моя придется дать
00:00:50
некоторые теоретический материал
00:00:52
чтобы вы могли ориентироваться в этих
00:00:54
вопросах возможно вам это покажется
00:00:56
несколько скучным но знайте яркие
00:00:59
эффекты это лишь вершина айсберга в
00:01:01
основании очень много подготовительного
00:01:03
материала и кропотливой работы по
00:01:05
проектированию обучению сетей так что
00:01:08
если вы решили пойти по этому пути и
00:01:10
начать работать в данной области то без
00:01:13
базовой математической подготовки знания
00:01:16
о самых моментов и наработки опыта тут
00:01:19
никуда итак начнем с основной рабочей
00:01:22
лошадки алгоритма обратного
00:01:24
распространения
00:01:25
который базируется на алгоритм
00:01:27
градиентного спуска но раз используется
00:01:30
градиентный спуск то мы сразу получаем
00:01:33
все его проблемы реализации главная
00:01:36
проблема это попадание в локальный
00:01:38
минимум вот смотрите да пусть у нас
00:01:40
имеется такой график и здесь вот красная
00:01:42
точка обозначен как раз этот локальный
00:01:44
минимум а синий глобальный минимум вот
00:01:47
допустим мы начинаем обучать нейронную
00:01:50
сеть и находимся вот в этой начальной
00:01:52
точке то есть 70w
00:01:54
это некие веса и тогда по градиентного
00:01:57
спуска мы окажемся как раз вот в этой
00:02:00
точке локального минимума
00:02:02
они это у этой боли нижней точке то есть
00:02:04
по-хорошему нам нужно подобрать вес так
00:02:07
чтобы он оказался вас а значению минус 2
00:02:10
он у нас оказывается значением 4 и это
00:02:13
не самый лучший вариант так вот общего
00:02:15
решения этой проблемы не существует
00:02:17
поэтому на практике запускает алгоритм
00:02:20
обучения с разными начальными значениями
00:02:23
весовых коэффициентов тем самым мы как
00:02:26
бы выбираем разные отправные точки
00:02:28
допустим вот это вот выбрали потом
00:02:30
где-то вот этот выбор и потом вот здесь
00:02:32
вот что-то попробовали и каждый раз
00:02:34
обучаемый смотрим какой вариант оказался
00:02:36
лучше хотя окончательно узнать достигли
00:02:39
майдана или нет не представляется
00:02:41
возможным поэтому процесс обучения
00:02:44
останавливает если достигается требуемое
00:02:47
качество работы нейронной сети
00:02:49
отсюда получаем рекомендацию обучению
00:02:51
номер один запускать алгоритм для разных
00:02:55
начальных весовых коэффициентов и затем
00:02:57
отбирать лучший вариант причем начальные
00:03:00
значения
00:03:01
весовых коэффициентов мы генерируем
00:03:03
случайным образом в окрестности 0 кроме
00:03:07
тех что относится к биоса у вас может
00:03:09
возникнуть вопрос а почему мы должны
00:03:11
генерировать эти значения в близи 0 вот
00:03:15
смотрите предположим у нас имеется вот такой от
00:03:17
логистическая функция активации нейронов
00:03:19
если вот эти вот веса w
00:03:21
у нас оказываются значимыми то входная
00:03:24
сумма на нейроне может оказаться большой
00:03:27
и это приведет к тому что мы попадем вот
00:03:30
в эту область
00:03:31
данная логистическая функция что это за
00:03:34
область эта область где производное
00:03:37
значение производной
00:03:39
близко к нулю а если она близка к нулю
00:03:42
то изменения весовых коэффициентов в
00:03:44
процессе обучения будет очень малым то
00:03:46
есть мы тем самым будем тормозить
00:03:48
процесс обучения желательно попадать вот
00:03:52
на этот более крутой участок и на этом
00:03:54
более крутом участке как раз происходит
00:03:56
активное обучение нейронной сети поэтому
00:03:59
чтобы мы здесь были нам а вот эти от
00:04:01
веса w нужно выбирать вблизи 0 кроме вот этих
00:04:05
вот биосов вот этот bios он отвечает за
00:04:08
смещение разделяющей плоскости но или
00:04:11
гипер плоскости со многомерное
00:04:12
пространство поэтому вот этот правило
00:04:14
габи а сам не относится а наносится
00:04:17
только вот к этим ходом сигнал далее
00:04:19
другая проблема градиентных алгоритмов
00:04:22
это медленное сходимость но вот таких
00:04:24
вот пологих участках функция для ее
00:04:27
решения было предложено множество
00:04:28
подходов
00:04:29
среди них наиболее известна следующие
00:04:31
оптимизации на основе моментов
00:04:33
оптимизации на совет ускорено градиентов
00:04:36
нестерова затем метод а таггарт вот
00:04:39
такие вот два метода ну и еще адам и
00:04:42
медом вот об этих двух методов
00:04:44
оптимизации я рассказывал на занятии по
00:04:46
градиент нам у спуску и ссылка на него
00:04:48
будет под этим видео
00:04:50
почему так важно знать об этих методах
00:04:52
оптимизации дело в том что многие пакеты
00:04:55
по реализации нейронных сетей например
00:04:58
keros или и те fleur не позволяет
00:05:00
использовать вот эти вот методы
00:05:01
оптимизации для ускорения улучшения
00:05:04
обучения чаще всего на практике
00:05:06
используются оптимизации пони стерву и
00:05:08
по атому позже когда мы были
00:05:11
рассматривать один из этих пакетов
00:05:12
я покажу где и как настраивается эти
00:05:15
параметры и так мы получаем
00:05:17
рекомендации обучения номер два
00:05:19
запускаем алгоритм обучение с
00:05:21
оптимизации по адам или не стерву для
00:05:25
ускорения обучения нейронной сети
00:05:27
отлично с градиентом алгоритм мы
00:05:29
разобрались давайте теперь посмотрим как
00:05:32
правильно подавать входные значения на
00:05:34
нейроны сеть предположим что у нас
00:05:36
имеется вот такая вот обучающая выборка
00:05:38
из n наблюдений то есть всего у нас
00:05:41
здесь имеется n векторов у каждого
00:05:43
вектор есть свой требуемое отклик стоит
00:05:46
ли нам подавать вот этим значения x 1 x
00:05:49
2 и так далее x l на вход нейронной сети
00:05:52
так как они есть в действительности
00:05:54
делать это не рекомендуется потому что в
00:05:57
общем случае среди вот этих вот величин
00:05:59
x1 x2 и так далее могут оказаться
00:06:02
большие значения и они нас сразу
00:06:05
переместят вот в эти области насыщения
00:06:07
функция активации где производные
00:06:10
практически равна нулю поэтому на
00:06:12
практике предварительно вот эти от
00:06:14
величины x1 и x2 и так далее
00:06:16
стандартизируем например вот по такой
00:06:19
формуле то есть мы вычитаем из этого
00:06:22
значения x этого минимальное значение по
00:06:25
всей выборки найдено ну и деленное на
00:06:28
вот такую то разность максимально
00:06:30
значение минус минимальные
00:06:31
то есть величина макс и мин мы находим
00:06:34
по всей выборки для всех векторов а
00:06:36
потом уже каждое значение
00:06:37
стандартизируем от по такой формуле
00:06:40
на выходе получаем значение в диапазоне
00:06:42
от нуля до единицы и тогда мы знаем что
00:06:45
наши входные значения будут находиться в
00:06:48
этом диапазоне и попадание уже у кого
00:06:50
эти выпустил из еще не будет
00:06:51
маловероятным и вот в этом моменте
00:06:53
начинающие разработчики часто делает
00:06:56
одну важную ошибку после обучения
00:06:58
нейронной сети в режиме ей эксплуатации
00:07:01
забывают нормализовываться входные
00:07:03
значения вот по этой формуле дело в том
00:07:06
что если уж мы обучили нейронную сеть на
00:07:09
нормированных значений ах-то
00:07:11
и потом при непосредственной работе
00:07:13
данные также нужно нормировать прежде
00:07:16
чем подавать на вход нейронной сети от
00:07:18
об этом забывать не стоит и кроме того
00:07:21
нормировка следует делать через те же
00:07:24
самые параметры мин и макс которые были
00:07:27
вычислены вот здесь вот на обучающие
00:07:30
множестве то есть мы запоминаем вот эти
00:07:32
от параметрами на imax для того чтобы
00:07:34
выполнить нормировка входных данных при
00:07:36
эксплуатации нейронной сетью
00:07:38
пересчитывать их заново на каком-то
00:07:40
другом множестве не нужно ну и в итоге
00:07:42
мы получаем следующую рекомендацию по
00:07:44
обучению выполнять нормировка входных
00:07:47
значений и запоминать вот эти
00:07:49
нормированные параметры мин и макс
00:07:51
следующий важный вопрос что и себя
00:07:54
должна представлять обучающая выборка и
00:07:56
какие даны в нее следует по месяцев
00:07:58
ответить можно так чем больше разных
00:08:01
наблюдений будет при обучении тем выше
00:08:04
качество работы сети здесь ключевое
00:08:07
слово разных то есть выборка должна
00:08:09
охватывать самые разные ситуации в
00:08:12
процессе обучения и эти ситуации должны
00:08:16
появляться с равной частотой ну например
00:08:18
представьте что вы учитесь водить машину
00:08:21
и ваш инструктор выбирать перекрестке
00:08:23
только со светофором как вы думаете
00:08:26
сможете вы себя потом уверенно
00:08:28
чувствовать на нерегулируемых
00:08:29
перекрёстках вряд ли я бы не смог с ней
00:08:33
раз сетью также если в процессе
00:08:35
эксплуатации будут попадаться входные
00:08:37
данные сильно отличающиеся от обучающей
00:08:40
выборке то высока вероятность
00:08:42
возникновения ошибки
00:08:44
или другой пример ваш инструктор для
00:08:46
галочки лишь показал как приезжать
00:08:49
нерегулируемые перекрестки новых все
00:08:51
равно вас на мы проезжали по регулируем
00:08:53
перекресткам со светофором здесь
00:08:55
качества обучения также будет и высоким
00:08:57
так как навык проезда обычных
00:08:59
перекрестков будет недостаточно
00:09:01
поэтому желательно чтобы в обучающей
00:09:03
выборке
00:09:04
с равной частотой встречались самые
00:09:06
разные данные
00:09:08
описывающие какие-либо характерны
00:09:10
особенные частные случаи
00:09:12
отсюда получаем рекомендацию обучения
00:09:15
номер четыре помещать в обучающую
00:09:17
выборку самые разные данные примерно
00:09:20
равно количество ну хорошо с этим
00:09:22
разобрались
00:09:23
но какой объем выборки следует брать по
00:09:26
идее чем больше тем лучше
00:09:28
например в литературе отмечая что при
00:09:30
классификации картинок ну например на
00:09:32
мужчина или женщина или кошкой собак
00:09:34
необходимо по 5 миллионов обучение для
00:09:37
каждого класса тогда можно достичь
00:09:40
хороших результатов развлечения если
00:09:42
увеличить этот объем до 10 миллионов то
00:09:45
есть шанс обучать нейронную сеть
00:09:47
распознавать образы лучше человека у вас
00:09:50
возможно у тебя такие большие цифры
00:09:52
да это так данный для обучения это как
00:09:55
нефть для нашей экономики а не ценится
00:09:57
очень высоко а их подготовка может
00:09:59
потребовать немалых ресурсов и времени
00:10:02
это еще одна причина по которой
00:10:04
нейронные сети лишь недавно
00:10:06
завоевали свое место под солнцем раньше
00:10:09
практически невозможно было получить
00:10:11
столько реале органах спаржей сети
00:10:13
интернет в частности социальные сети
00:10:16
предоставляет весьма богатый материал
00:10:18
итак предположим что мы создали
00:10:20
обучающую выборку и собираемся
00:10:23
приступить к обучению здесь возникает
00:10:25
другой вопрос как ее подавать на вход
00:10:27
сети в самом простом варианте мы сначала
00:10:30
перемешиваем наблюдение выборки
00:10:32
случайным образом а затем по черед у
00:10:35
подаем на вход при этом для каждого
00:10:37
наблюдения выполняем корректировку
00:10:39
весовых коэффициентов именно так мы
00:10:41
делали на предыдущем занятии но это не
00:10:44
лучший вариант было замечено что в
00:10:46
процессе обучения часть наблюдений дают
00:10:48
небольшой положительный прирос весовых
00:10:50
коэффициентов часть небольшой
00:10:52
отрицательный в сумме они практически
00:10:55
компенсировать друг друга и
00:10:56
мини не весов практически не происходит
00:10:59
лишь некоторая часть наблюдения из
00:11:01
выборки приводит к заметному изменению
00:11:04
так вот чтобы не крутить в холостой
00:11:06
весовые коэффициенты коррекции выполняет
00:11:09
не сразу для каждого наблюдения
00:11:11
а после про гонки через сеть некоторого
00:11:14
их количество такое множество получил
00:11:16
название
00:11:17
матч или мини batch в последнее время
00:11:20
чаще стали говорить мини batch а вот вся
00:11:22
эта выборка называется эпоха так вот
00:11:25
прогоняя минибар через сеть суммирует
00:11:29
локальные градиенты на каждом нероне
00:11:31
я думаю вы помните что это такое из
00:11:33
предыдущего занятия а затем корректирует
00:11:36
веса по результирующих сумме то есть по
00:11:39
сумме с в процессе вот такого
00:11:41
суммирования небольшие положительно
00:11:43
отрицательно значения будут
00:11:44
компенсированы и останется лишь полезное
00:11:47
смещение которые приведет к изменению
00:11:49
весов пределах вот это вот мини больше
00:11:51
такая идея позволила сократить время
00:11:54
обучения в разы
00:11:55
что очень важно так как для больших
00:11:58
нейронных сетей общее время обучения
00:12:00
составляйте награды не
00:12:02
недели и даже месяцы поэтому сокращение
00:12:05
этого времени вы несколько раз открывает
00:12:08
новые горизонты применение нейронных
00:12:10
сетей но когда целесообразно разбивать
00:12:13
вот это вот выборку
00:12:14
нами не больше читать что для этого
00:12:16
общее число выборки должно составлять от
00:12:18
нескольких тысяч и более если наблюдение
00:12:21
порядка тысячи то ее можно воспринимать
00:12:24
как один единственный мини-бар и отсюда
00:12:27
мы получаем рекомендацию обучению номер
00:12:30
пять наблюдение на вход сети подавать
00:12:33
случайным образом
00:12:34
aviso корректировать по множество мини
00:12:37
batch после того как вся выборка то есть
00:12:39
вся эпоха было пропущено через и
00:12:41
нейронную сеть вычисляется критерий
00:12:44
качества ее работы мы есть условную
00:12:47
обозначим через u
00:12:48
если она нас не устраивает как правило
00:12:50
так оно и есть то все вот эти вот
00:12:52
наблюдения то есть вся вот этот выбор к
00:12:54
снова тасует случайным образом и по
00:12:57
сериям мини batch
00:12:58
прогоняется через нейронную сеть то есть
00:13:00
происходит продолжение обучения ну и вот
00:13:03
это вот качество тюб она постепенно
00:13:06
должно уменьшаться конечно это
00:13:08
идеализировал график в реальность его получается не
00:13:10
такой гладкий монотонной нередки случаи
00:13:12
когда он может внезапно даже вот так там
00:13:15
зарастать но об этом мы будем говорить
00:13:17
уже в другой раз в других занятиях
00:13:19
[музыка]

Описание:

Способы ускорения работы градиентного спуска при обучении нейронных сетей. Инициализация начальных значений весовых коэффициентов и bias. Стандартизация входных данных обучающей выборки. Порядок подачи наблюдений из выборки при обучении нейросети. Понятия: batch, mini-batch, эпоха. Телеграм-канал: https://t.me/machine_learning_selfedu Инфо-сайт: http://proproprogs.ru/ Занятие по оптимизации градиентного алгоритма: https://www.youtube.com/watch?v=xDpe9KlYj9Q

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

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

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

mobile menu iconКак можно скачать видео "Ускорение обучения, начальные веса, стандартизация, подготовка выборки | #4 нейросети на Python"?mobile menu icon

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

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

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

mobile menu iconКакой формат видео "Ускорение обучения, начальные веса, стандартизация, подготовка выборки | #4 нейросети на Python" выбрать?mobile menu icon

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

mobile menu iconПочему компьютер зависает при загрузке видео "Ускорение обучения, начальные веса, стандартизация, подготовка выборки | #4 нейросети на Python"?mobile menu icon

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

mobile menu iconКак скачать видео "Ускорение обучения, начальные веса, стандартизация, подготовка выборки | #4 нейросети на Python" на телефон?mobile menu icon

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

mobile menu iconКак скачать аудиодорожку (музыку) в MP3 "Ускорение обучения, начальные веса, стандартизация, подготовка выборки | #4 нейросети на Python"?mobile menu icon

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

mobile menu iconКак сохранить кадр из видео "Ускорение обучения, начальные веса, стандартизация, подготовка выборки | #4 нейросети на Python"?mobile menu icon

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

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

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