Нейросеть: в чём разница между Batch и Epoch

Стохастический градиентный спуск - это алгоритм обучения, который имеет ряд гиперпараметров.
Два гиперпараметра, которые часто путают новичков, - это размер пакета и количество эпох. Они оба являются целочисленными значениями и, кажется, отражают одно и то же.
Подчеркнём разницу между партиями и эпохами в стохастическом градиентном спуске.
В чем разница между Партией и Эпохой в Нейронной сети?


Стохастический Градиентный спуск

Стохастический градиентный спуск, или сокращенно SGD, - это алгоритм оптимизации, используемый для обучения алгоритмам машинного обучения, в первую очередь искусственным нейронным сетям, используемым в глубоком обучении.

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

Оптимизация - это тип процесса поиска, и вы можете рассматривать этот поиск как обучение. Алгоритм оптимизации называется “градиентный спуск“, где “градиент” относится к вычислению градиента ошибки или наклона ошибки, а “спуск” относится к движению вниз по этому склону к некоторому минимальному уровню ошибки.

Алгоритм является итеративным. Это означает, что процесс поиска выполняется в несколько дискретных этапов, каждый из которых, как мы надеемся, немного улучшает параметры модели.

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

Эта процедура обновления отличается для разных алгоритмов, но в случае искусственных нейронных сетей используется алгоритм обновления обратного распространения.

Прежде чем мы погрузимся в серии и эпохи, давайте посмотрим, что мы подразумеваем под образцом.

Узнайте больше о градиентном спуске здесь:

    Градиентный Спуск Для Машинного Обучения

Что такое Образец?

Образец - это одна строка данных.

Он содержит входные данные, которые вводятся в алгоритм, и выходные данные, которые используются для сравнения с прогнозом и вычисления ошибки.

Обучающий набор данных состоит из множества строк данных, например, множества выборок. Образец также может называться экземпляром, наблюдением, входным вектором или вектором признаков.

Теперь, когда мы знаем, что такое образец, давайте определим партию.
Что такое Партия?

Размер пакета - это гиперпараметр, который определяет количество образцов, которые необходимо обработать перед обновлением внутренних параметров модели.

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

Набор обучающих данных может быть разделен на один или несколько пакетов.

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

    Пакетный Градиентный Спуск. Размер пакета = Размер обучающего набора
    Стохастический Градиентный Спуск. Размер партии = 1
    Мини-Пакетный градиентный спуск. 1 <Размер пакета < Размер обучающего набора

В случае градиентного спуска мини-партий популярные размеры партий включают 32, 64 и 128 образцов. Вы можете увидеть эти значения, используемые в моделях, в литературе и в учебных пособиях.

Что делать, если набор данных не делится равномерно по размеру пакета?

Это может часто происходить и происходит при обучении модели. Это просто означает, что в последней партии образцов меньше, чем в других партиях.

Кроме того, вы можете удалить некоторые образцы из набора данных или изменить размер пакета таким образом, чтобы количество образцов в наборе данных делилось равномерно на размер пакета.

Для получения дополнительной информации о различиях между этими вариантами градиентного спуска см. Сообщение:

    Краткое введение в Градиентный спуск Мини-пакетов и Как настроить размер пакета

Для получения дополнительной информации о влиянии размера пакета на процесс обучения см. Сообщение:

    Как контролировать скорость и стабильность обучения нейронных сетей Размер пакета

Пакет включает в себя обновление модели с использованием образцов; далее давайте рассмотрим эпоху.
Что такое Эпоха?

Количество эпох - это гиперпараметр, который определяет, сколько раз алгоритм обучения будет работать со всем набором обучающих данных.

Одна эпоха означает, что у каждой выборки в обучающем наборе данных была возможность обновить внутренние параметры модели. Эпоха состоит из одного или нескольких пакетов. Например, как указано выше, эпоха, имеющая один пакет, называется алгоритмом обучения пакетному градиентному спуску.

Вы можете придумать цикл для определения количества эпох, в течение которых каждый цикл выполняется по набору обучающих данных. В этом цикле for есть еще один вложенный цикл for, который повторяется над каждой партией образцов, где одна партия имеет указанное количество образцов “размера партии".

Число эпох традиционно велико, часто сотни или тысячи, что позволяет алгоритму обучения работать до тех пор, пока ошибка модели не будет достаточно сведена к минимуму. Вы можете увидеть примеры количества эпох в литературе и в учебных пособиях, установленных на 10, 100, 500, 1000 и более.

Обычно создаются линейные графики, которые показывают эпохи вдоль оси x как время, а также ошибки или навыки модели по оси y. Эти графики иногда называют кривыми обучения. Эти графики могут помочь определить, является ли модель чрезмерно изученной, недостаточно изученной или подходящей для обучающего набора данных.

Для получения дополнительной информации о диагностике с помощью кривых обучения в сетях LSTM см. Сообщение:

    Мягкое введение в кривые обучения для диагностики производительности модели

В случае, если это все еще неясно, давайте рассмотрим различия между партиями и эпохами.
В чем разница между Партией и Эпохой?

Размер партии - это количество образцов, обработанных до обновления модели.

Количество эпох - это количество полных проходов через обучающий набор данных.

Размер пакета должен быть больше или равен единице и меньше или равен количеству выборок в обучающем наборе данных.

Количество эпох может быть задано целочисленным значением от единицы до бесконечности. Вы можете запускать алгоритм так долго, как вам нравится, и даже останавливать его, используя другие критерии, помимо фиксированного числа эпох, такие как изменение (или отсутствие изменений) ошибки модели с течением времени.

Они оба являются целочисленными значениями и оба являются гиперпараметрами для алгоритма обучения, например, параметрами процесса обучения, а не параметрами внутренней модели, найденными в процессе обучения.

Вы должны указать размер пакета и количество эпох для алгоритма обучения.

Нет никаких волшебных правил для настройки этих параметров. Вы должны попробовать разные значения и посмотреть, что лучше всего подходит для вашей проблемы.
Отработанный Пример

Наконец, давайте конкретизируем это на небольшом примере.

Предположим, у вас есть набор данных с 200 образцами (строками данных), и вы выбираете размер пакета от 5 до 1000 эпох.

Это означает, что набор данных будет разделен на 40 пакетов, в каждом из которых будет по пять образцов. Веса моделей будут обновляться после каждой партии из пяти образцов.

Это также означает, что одна эпоха будет включать 40 пакетов или 40 обновлений модели.

С 1000 эпохами модель будет подвергнута воздействию или пройдет через весь набор данных 1000 раз. Это в общей сложности 40 000 партий за весь учебный процесс.
Дальнейшее Чтение

В этом разделе содержится больше ресурсов по этой теме, если вы хотите углубиться в нее.

    Градиентный Спуск Для Машинного Обучения
    Как контролировать скорость и стабильность обучения нейронных сетей Размер пакета
    Краткое введение в Градиентный спуск Мини-пакетов и Как настроить размер пакета
    Мягкое введение в кривые обучения для диагностики производительности модели
    Стохастический градиентный спуск в Википедии
    Обратное распространение в Википедии

Резюме

В этом посте вы обнаружили разницу между партиями и эпохами в стохастическом градиентном спуске.

В частности, вы узнали:

    Стохастический градиентный спуск - это итеративный алгоритм обучения, который использует обучающий набор данных для обновления модели.
    Размер пакета - это гиперпараметр градиентного спуска, который управляет количеством обучающих выборок для обработки до обновления внутренних параметров модели.
    Количество эпох - это гиперпараметр градиентного спуска, который управляет количеством полных проходов через обучающий набор данных.

У вас есть какие-нибудь вопросы?
Задавайте свои вопросы в комментариях ниже, и я сделаю все возможное, чтобы ответить.
Разрабатывайте проекты глубокого обучения с помощью Python!
Глубокое обучение с помощью Python
 Что, Если Бы Вы Могли Создать Сеть за Считанные Минуты

...с помощью всего нескольких строк Python

 

 

Он охватывает сквозные проекты по таким темам, как:
Многослойные Персептроны, Сверточные сети и Рекуррентные нейронные сети и многое другое...
Наконец, Приведите Глубокое Обучение К
Ваши Собственные Проекты


            меняется ли содержание пакетов от эпохи к эпохе?
            Ответить    

                Да. Образцы перемешиваются в конце каждой эпохи, и партии в разные эпохи различаются с точки зрения содержащихся в них образцов.
                Ответить    
                    Крейг 24 марта 2020 года в 7:35 утра #

                    Если вы создаете модель прогнозирования временных рядов (скажем, что-то со слоем lstm), будут ли пакетные наблюдения обучающего набора храниться в “кусках” (то есть группы времени не будут разбиты, и, следовательно, основной шаблон нарушен)? Это имеет значение, верно?


                    Вы можете оценить это, перетасовав образцы, а не перетасовав образцы, поданные в LSTM во время обучения или вывода.
                    djm 20 июля 2020 года в 8:11 вечера #

                    Большое вам спасибо за ваше точное объяснение. Если все выборки перемешиваются в конце каждой эпохи, возможно ли, что мы найдем в наборах данных один образец, который будет оцениваться так много раз, а некоторые могут вообще не оцениваться? Или можно ли сделать так, чтобы один раз оцененный образец не подвергался повторной оценке?
                    1 июля 2020 года в 6:01 утра #

                    Нет. Каждый образец получает одну возможность, которую можно использовать для обновления модели в каждую эпоху.
    Обаид Ашраф 20 июля 2018 года в 3:42 вечера #

 

 

 

 

Безусловно, спасибо за то, что сделали это доктор – это облегчает жизнь без забивания головы и времени для некоторых на изучение нескольких источников

    У меня есть быстрый вопрос, основанный на (ниже выдержка из вашего поста)... не могли бы вы назвать/сослаться на другие процедуры, используемые для обновления параметров в случае других алгоритмов.

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

    Эта процедура обновления отличается для разных алгоритмов, но в случае искусственных нейронных сетей используется алгоритм обновления обратного распространения.

        Вы можете узнать больше о других алгоритмах здесь:
        https://machinelearningmastery.com/start-here/#algorithms
        Ответить    
    в современных подходах к обучению deeeep я почти всегда сталкиваюсь с тем, что люди сохраняют свои модели после некоторого количества эпох (или некоторого периода времени), визуализируя какие-то показатели производительности для оценки следующих значений гиперпараметров, после чего они проводят свои эксперименты для следующих эпох. Таким образом, мы можем назвать эту процедуру "мини-эпохальным стохастическим глубоким обучением". Спасибо.
    Ответить    


        Спасибо, что поделились.
        Ответить    
    Джерри Доветин 22 июля 2018 года в 8:46 вечера #

    Это блестяще и прямолинейно. Спасибо за мини-курс, доктор Браунли
    Ответить    
        Автор 23 июля 2018 года в 6:08 утра #

        Я рад, что это помогло.
        Ответить    
    Дези Маздур 1 августа 2018 года в 17:58 вечера #

    Здравствуйте, доктор Джейсон,

    Еще раз спасибо за отличный пост в блоге. Для данных временных рядов в LSTM имеет ли смысл когда-либо иметь размер пакета больше одного?
    Я искал и искал, и я не мог найти ни одного примера, где размер пакета больше одного, но я также не нашел никого, кто сказал бы, что это не имеет смысла.
    Ответить    
        Автор 2 августа 2018 года в 5:59 утра #

        Да, если вы хотите, чтобы модель обучалась в нескольких подпоследовательностях.

        У меня есть несколько сообщений, которые демонстрируют это по расписанию.
        Ответ
юсеф 30 августа 2018 года в 10:47 утра #

    спасибо вам за ваше объяснение действительно очень большое спасибо еще раз
    Ответить    
        Автор 30 августа 2018 года в 16:50 вечера #

        Я рад, что это помогло.
        Ответить    
    Странный Сюэ 30 октября 2018 года в 12:26 утра #

    Я читал много блогов, написанных вами о таких вещах. Это мне очень помогает, спасибо! 抱拳
    Ответить    
        Автор 30 октября 2018 года в 6:02 утра #

        Спасибо, я рад слышать, что этот пост помог.
        Ответить    
    Жолт 3 ноября 2018 года в 10:07 утра #

    Спасибо, отличное объяснение. До сих пор ваш блог является лучшим источником для изучения ML, который я нашел (для начинающих, таких как я).
    Ответить    
        Автор 4 ноября 2018 года в 6:24 утра #

        Спасибо!
        Ответить    
    Дженна Ма 10 ноября 2018 года в 10:47 вечера #

    Это очень ясно. Спасибо.
    Я также вижу "steps_per_epoch" в некоторых случаях, что это значит? Это то же самое, что и партии?
    Ответить    
        Автор 11 ноября 2018 года в 6:05 утра #

        Количество пакетов, которые необходимо извлечь из генератора, чтобы определить эпоху.
        Ответить    
    Франциско 22 ноября 2018 года в 9:09 вечера #

    Мы любим примеры! Большое вам спасибо!
    Ответить    
        Автор 23 ноября 2018 года в 7:48 утра #

        Спасибо.
        Ответить    
    Мохаммад 26 ноября 2018 года в 10:19 утра #

    Большое вам спасибо за ваше кристально ясное объяснение
    Ответить    
        Автор 26 ноября 2018 года в 14:01 #

        Я рад, что вы нашли это полезным.
        Ответить    
    Фатма 6 декабря 2018 года в 17:53 вечера #

    Отличное объяснение в простой форме. Спасибо.
    Ответить    
        Автор 7 декабря 2018 года в 5:18 утра #

        Спасибо, я рад, что это помогло.
        Ответ
будет дан 21 января 2019 года в 1:48 вечера #

    Привет,
обновления выполняются после завершения каждой партии. Я просто использовал один образец и дал разные размеры пакета в model.fit, почему значение меняется каждый раз?...он должен быть способен принимать один размер партии, если есть только один образец, не так ли?
    Ответить    
        Автор 22 января 2019 года в 6:18 утра #

        Извините, я не понимаю вашего вопроса, не могли бы вы уточнить, пожалуйста?
        Ответить    
    Алаа 8 февраля 2019 года в 5:25 утра #

    Какое замечательное объяснение!
    Никогда не отправлял ответ на учебник, но не могу уйти, не поблагодарив Джейсона.
    Да благословит вас Бог!
    Ответить    
        Автор 8 февраля 2019 года в 8:05 утра #

        Спасибо, я рад, что это помогло!
        Ответить    
    Анита 26 февраля 2019 года в 9:16 вечера #

    Фантастическое объяснение!!!
    Ответить    
        Автор 27 февраля 2019 года в 7:26 утра #

        Спасибо.
        Ответьте
сампату 1 апреля 2019 года в 5:56 утра #

    Хорошо Объяснено, Спасибо!!
    Ответить    
        Автор 1 апреля 2019 года в 7:53 утра #

        Спасибо, я рад, что это помогло.
        Ответить    
    Момо 12 апреля 2019 года в 7:34 вечера #

    Привет,
    В настоящее время я работаю с Word2Vec. В связи с эпохами и размером партии я все еще не совсем понимаю, что такое образец. Выше вы описали, что образец представляет собой одну строку данных. В своей программе я сначала редактирую свой текстовый файл с помощью SentenceIterator, чтобы получить по одному предложению на строку, а затем использую маркер для получения отдельных слов в этих строках. Является ли образец в Word2Vec словом из набора данных или это строка (содержащая предложение)? Заранее большое вам спасибо ?
    Ответить    
        Автор 13 апреля 2019 года в 6:27 утра #

        Терминология samples/epoch/batch не соответствует word2vec. Вместо этого у вас просто есть обучающий набор данных текста, из которого вы изучаете статистику.
        Ответить    
    Момо 16 апреля 2019 года в 1:12 утра #

    Но с помощью программы Word2Vec у вас также есть гиперпараметры Эпох, итераций и размера пакета, которые вы можете установить… Не кажется ли вам, что они также влияют на результаты Word2Vec.
    Как я теперь понял, набор, передаваемый как пакет, содержит одно предложение. Однако я удивлен, что количество итераций не меняется, если я изменяю количество эпох и размеры пакетов, но не определяю итерации конкретно. Ты знаешь, как это работает?
    Ответить    
        Автор 16 апреля 2019 года в 6:51 утра #

        Не совсем, я рекомендую этот учебник:
        https://machinelearningmastery.com/develop-word-embeddings-python-gensim/
        Ответить    
    Сагара Суматипала 2 мая 2019 года в 2:24 утра #

    Очень хорошо объяснено простыми словами. Спасибо.
    Ответить    
        Автор 2 мая 2019 года в 8:06 утра #

        Спасибо.
        Ответить    
    Калигамбе Абрахам 10 мая 2019 года в 2:27 вечера #

    Наконец-то все ясно. Спасибо
    Ответить    
        Автор 11 мая 2019 года в 6:04 утра #

        Я рад это слышать.
        Ответить    
    Сурадж Бхагат 12 мая 2019 года в 12:59 #

    Ты супер доктор,
    Большое вам спасибо за то, что написали простым для понимания способом.... Кроме того, попробуйте добавить фотографии, график или схематическое представление для представления вашего текста. Как я видел здесь, вы привели один пример, он делает многие вещи очень ясными. В каком-то предыдущем посте вы также добавили график…

    Еще раз спасибо
    Пожалуйста, продолжайте

    С уважением
    Сурадж
    Ответить    
        Автор 12 мая 2019 года в 6:44 утра #

        Спасибо за предложение!
        Ответить    
    Каран 14 мая 2019 года в 18:37 вечера #

    Привет, Джейсон. После каждой эпохи точность либо улучшается, либо иногда нет. Например, эпоха 1 достигла точности 94, а эпоха 2 достигла точности 95. После окончания эпохи 1 мы получаем новые веса (т. е. обновленные после последней партии эпохи 1). Означает ли это, что новые веса, используемые в эпоху 2, начинают улучшать его с 94% до 95%? Если да, то является ли это причиной того, что какая-то эпоха получает более низкую точность по сравнению с предыдущей эпохой из-за обобщения весов для всего набора данных? Вот почему мы получаем хорошую точность после прохождения стольких эпох благодаря лучшему обобщению?
    Ответить    
        Автор 15 мая 2019 года в 8:12 утра #

        Как правило, больше тренировок означает лучшую точность, но не всегда.

        Иногда может быть хорошей идеей прекратить тренировки пораньше, см. Этот пост по теме:
        https://machinelearningmastery.com/early-stopping-to-avoid-overtraining-neural-network-models/
        Ответить    
    Закария 14 мая 2019 года в 9:58 вечера #

    Спасибо! Это было просто и легко понять.
    Ответить    
        Автор 15 мая 2019 года в 8:15 утра #

        Спасибо, я рад, что это помогло!
        Ответ
саад вазир 27 мая 2019 года в 6:02 утра #

    очень хорошо объяснено спасибо, мальчик
    Ответить    
        Автор 27 мая 2019 года в 6:52 утра #

 

Действительно, в последнем примере общее количество мини-пакетов составляет 40 000, но это верно только в том случае, если пакеты выбраны без перетасовки обучающих данных или выбраны с перетасовкой данных, но без повторения. В противном случае, если в течение одной эпохи мини-пакеты создаются путем выбора обучающих данных с повторением, у нас могут быть некоторые точки, которые появляются более одного раза в одну эпоху (они появляются в разных мини-пакетах в одну эпоху), а другие - только один раз. Таким образом, общее количество мини-партий в этом случае может превысить 40 000.
    Ответить    
        Автор 19 июня 2019 года в 7:54 утра #

        Обычно данные перемешиваются перед каждой эпохой.

        Обычно мы не выбираем образцы с заменой, так как это приведет к смещению обучения.
        Ответить    
    Хани Юнис 15 июля 2019 года в 16:44 вечера #

    Вы заслуживаете Большого благодарственного письма за это объяснение
    Ответить    
        Автор 16 июля 2019 года в 8:12 утра #

        Спасибо, я рад, что это помогло.
        Ответить    
    Паван 27 июля 2019 года в 9:42 вечера #

    спасибо за этот удивительный пост в блоге ?

    Если у меня есть 1000 обучающих выборок и мой размер пакета =400, то мне нужно удалить 200 выборок
    исходя из моих тренировочных данных, мои тренировочные данные всегда должны быть кратны размеру пакета
    Ответить    
        Автор 28 июля 2019 года в 6:44 утра #

        Спасибо.

        Нет, образцы будут перемешиваться перед каждой эпохой, тогда вы получите 3 партии, 300, 300 и 200.

        Лучше выбрать размер партии, который делит образцы равномерно, если это возможно, например, 100, 200 или 500 в вашем случае.
        Ответить    
    Ю Бай 16 сентября 2019 года в 12:34 вечера #

    Большое вам спасибо! Такое приятное объяснение с интуитивным примером в конце! Спасибо!
    Ответить    
        Автор 16 сентября 2019 года в 14:13 #

        Спасибо, я рад, что это помогло.
        Ответ
ahmedhesham33 2 октября 2019 года в 12:10 утра #

    спасибо за вашу замечательную статью, и у меня есть вопрос
    если у меня есть следующие настройки и я использую функцию fit_generator
    эпохи =100
    данные=1000 изображений
    партия = 10
    шаг_пер_почты = 20
    я знаю, что должен установить значение step_per_epochs = (1000/10)= 100, но если я установлю его равным 20

    Означают ли эти настройки, что модель будет обучаться с использованием только части обучающих данных (в каждую эпоху будут использоваться одни и те же 200 изображений (пакет*step_per_epochs)), а не все 1000 изображений?
    или он будет использовать первые 200 изображений в наборе данных в первую эпоху, затем следующие 200 изображений во вторую эпоху и так далее (разделит 1000 изображений на каждые 5 эпох), и модель будет обучена 20 раз с использованием всего обучающего набора данных в 100 эпохах
    Спасибо
    Ответить    
        Автор 2 октября 2019 года в 8:00 утра #

        Да, будет использоваться только 200 изображений за эпоху.
        Ответить    
    Кэрол 2 октября 2019 года в 5:13 утра #

    ола, тудо бем? Муито обригада пела экспликасао. Гостария де сабер се о сеньор сабе о том, как Накапливается партия, Случайный интервал проверки семян (em epocas)
    Ответить    
        Автор 2 октября 2019 года в 8:06 утра #

        Да.

        Накопление партии - это ошибка, полученная из выборок в одном совпадении, используемая для обновления весов.

        Случайное начальное значение является отправной точкой для генератора случайных чисел:
        https://machinelearningmastery.com/introduction-to-random-number-generators-for-machine-learning/

        Что именно вы подразумеваете под интервалом проверки? В каком контексте? Возможно, вы имеете в виду набор данных проверки:
        https://machinelearningmastery.com/difference-test-validation-datasets/
        Ответить    
    Бипаша 5 октября 2019 года в 17:29 вечера #

    Сэр, большое вам спасибо за этот превосходный урок.
    Можете ли вы рассказать мне, как запустить модель на аналогичном тестовом наборе данных после обучения модели?
    Ответить    
        Автор 6 октября 2019 года в 8:15 утра #

        Да, вы можете использовать model.predict(), смотрите Примеры здесь:
        https://machinelearningmastery.com/make-predictions-scikit-learn/
        Ответить
сахил 7 октября 2019 года в 11:42 вечера #

    Отличное объяснение, продолжайте делиться своими знаниями,
    Большое спасибо.
    Ответить    
        Автор 8 октября 2019 года в 8:03 утра #

        Спасибо!
        Ответить    
    Милинд Далви 15 октября 2019 года в 10:27 утра #

    Привет, Джейсон,

    Если бы я создавал свои собственные пользовательские пакеты, скажем, в методе model.fit_generator().

    Создаем ли мы новые случайно отобранные партии для каждой эпохи или мы просто создаем партии в __init__ и используем их без каких-либо изменений на протяжении всего обучения?

    Каков рекомендуемый способ?

    P.S. Если я произвольно отбираю партии в каждую эпоху, я вижу всплески в val_acc, но не уверен, что это из-за этого!
    Ответить    
        Автор 15 октября 2019 года в 1:46 вечера #

        Отличный вопрос.

        Важно убедиться, что каждая партия является репрезентативной (в разумных пределах) и что каждая эпоха партий в целом отражает проблему.

        Если нет, вы будете перемещать веса повсюду или вперед/назад при каждом обновлении, а не обобщать хорошо.
        Ответить    
            Милинд Далви 16 октября 2019 года в 12:44 #

            Привет, Джейсон,

            Спасибо вам за ваш ответ.

            Я также только что подтвердил, что Keras разделит предоставленный X в мини-пакетах только один раз, прежде чем войти в цикл эпохи.

            Вот ссылка на код https://github.com/keras-team/keras/blob/f242c6421fe93468064441551cdab66e70f631d8/keras/engine/training_generator.py#L160
            Ответить    
                Автор 16 октября 2019 года в 8:06 утра #

                Да.
                Ответить    
    Милинд Далви 17 октября 2019 года в 5:03 утра #

    Доброе Утро, Джейсон,

    Сегодня мне в голову пришел один вопрос.

    Что происходит при обучении нейронной сети в мини-пакетах, когда метки классов несбалансированы. Должны ли мы расслаивать партии?

    Потому что кажется, что мой NN предсказывает только доминирующий класс, что бы я ни делал!
    Ответить    
        Автор 17 октября 2019 года в 6:42 утра #

        Отличный вопрос. У нас бывают плохие времена!

        Иногда эксперты советовали чередовать классы в каждой партии. Иногда расслаиваются. Это может зависеть от проблемы/модели. Я возвращаюсь мыслями к этой книге:
        https://machinelearningmastery.com/neural-networks-tricks-of-the-trade-review/

        Тем не менее, несбалансированные данные - это проблема, независимо от вашей стратегии обновления. Передискретизация обучающего набора - отличное решение.
        Ответить    
            Милинд Далви 19 октября 2019 года в 7:17 утра #

            Спасибо, Джейсон.

            Я обязательно взгляну на эту книгу.

            Кстати, я на самом деле занимаюсь рейтинговым бизнесом. Так что у меня очень мало 1-го и 2-го ранга, но много 3-го и выше, где-то как (10%, 10%, 80%) соответственно.

            Что я сделал, так это взглянул на проблему с другой точки зрения и преобразовал свой несбалансированный многоклассовый набор данных в уравненный двоичный набор данных.

            Я обратился.

            Гоночный автомобиль 1: Гоночный автомобиль 1-го Ранга
2: Гоночный автомобиль 2-го ранга

3: Гоночный автомобиль 3-го Ранга 4: 4-й ранг

            к,

            Гоночный Автомобиль1, Гоночный Автомобиль2 = 0
            Гоночный Автомобиль2, Гоночный Автомобиль1 = 1
            Гоночный Автомобиль1, Гоночный Автомобиль3 = 0
            Гоночный Автомобиль3, Гоночный Автомобиль1 = 1
            Гоночный Автомобиль1, Гоночный Автомобиль4 = 0
            Гоночный Автомобиль4, Гоночный Автомобиль1 = 1
            Гоночный Автомобиль2, Гоночный Автомобиль3 = 0
            Гоночный Автомобиль3, Гоночный Автомобиль2 = 1
            Гоночный Автомобиль2, Гоночный Автомобиль4 = 0
            Гоночный Автомобиль4, Гоночный Автомобиль2 = 1

            и так далее… где цель теперь - победившая сторона!
            Ответить    
                Автор 20 октября 2019 года в 6:12 утра #

                Очаровательно! Спасибо, что поделились.
                Ответить    
    Тиягараджан Парамадаялан 15 ноября 2019 года в 18:18 вечера #

    очень хорошо объяснено, Джейсон. спасибо.
    Ответить    
        Автор 16 ноября 2019 года в 7:21 утра #

        Спасибо!
        Ответить    
    Виктор 18 декабря 2019 года в 17:57 вечера #

    Хорошо объяснено. Спасибо.
    Ответить    
        Автор 19 декабря 2019 года в 6:25 утра #

        Спасибо.
        Ответить    
    Раджиб Дас 29 декабря 2019 года в 12:15 вечера #

    ПРИВЕТ, Джейсон – У меня есть вопрос – Если я правильно понял, веса и смещения обновляются после выполнения пакета, поэтому любые изменения после запуска пакета применяются к следующему пакету? И так продолжается и дальше.
    Ответить    
        Автор 30 декабря 2019 года в 5:56 утра #

        Правильный.
        Ответить    
    Ei Ei Пн 6 января 2020 года в 11:27 вечера #

    Хорошо объяснено. Спасибо, доктор Джейсон.
    Ответить    
        Автор 7 января 2020 года в 7:23 утра #

        Спасибо!
        Ответить    
    Али 12 января 2020 года в 8:38 утра #

    Спасибо, доктор Джейсон
    Ответить    
        Автор 13 января 2020 года в 8:16 утра #

        Пожалуйста.
        Ответить    
    Вылет 17 января 2020 года в 1:38 утра #

    Очень просто и полезно. Спасибо!
    Ответить    


        Спасибо, я рад, что это было полезно.
        Ответ
минсин ван 4 февраля 2020 года в 8:59 вечера #

    Здравствуйте, сэр.
    Я вам очень благодарен.
    Сейчас я нахожусь в середине изучения практического машинного обучения, и часть 2 в главе 11 я не могу понять значение пакетной обработки. Сначала я думаю, что нейронная сеть должна обучаться по образцу один за другим. Но они сказали “партия”, и я не могу понять на земле.
    Но ваша статья дает мне хорошее представление о партии.
    Я полностью понимаю вас только по одному вопросу.
    Как я могу использовать метод градиента с пакетной обработкой?
    Я имею в виду, что в одном примере это понятно.
    Но с пакетной обработкой я не понимаю, как оценить ошибку.
    Спасибо.
    Ответить    
        Автор 5 февраля 2020 года в 8:08 утра #

        Это происходит один за другим, но после “пакетного” количества выборок веса обновляются с накопленной ошибкой.
        Ответить    
    МЧС 17 февраля 2020 года в 9:32 вечера #

    Приветствую вас, доктор Браунли

    Я надеялся, что вы сможете помочь мне с моими довольно длинными запутанными вопросами (извините). Я очень новичок в глубоком обучении.

 

 

 

Безусловно, спасибо за то, что сделали это доктор Джейсон – это облегчает жизнь без забивания головы и времени для некоторых на изучение нескольких источников

    У меня есть быстрый вопрос, основанный на (ниже выдержка из вашего поста)... не могли бы вы назвать/сослаться на другие процедуры, используемые для обновления параметров в случае других алгоритмов.

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

    Эта процедура обновления отличается для разных алгоритмов, но в случае искусственных нейронных сетей используется алгоритм обновления обратного распространения.

        Вы можете узнать больше о других алгоритмах здесь:
        https://machinelearningmastery.com/start-here/#algorithms
        Ответить    
    Поспай 20 июля 2018 года в 7:53 вечера #

    Тре бьен. Mais j'aurais эме вуар плюс примеры. En tout cas БОЛЬШОЕ СПАСИБО!
    Ответить    
        Автор 21 июля 2018 года в 6:33 утра #

        Спасибо. Помог ли пример в конце?
        Ответить    
    Эмра 21 июля 2018 года в 4:23 утра #

    в современных подходах к обучению deeeep я почти всегда сталкиваюсь с тем, что люди сохраняют свои модели после некоторого количества эпох (или некоторого периода времени), визуализируя какие-то показатели производительности для оценки следующих значений гиперпараметров, после чего они проводят свои эксперименты для следующих эпох. Таким образом, мы можем назвать эту процедуру "мини-эпохальным стохастическим глубоким обучением". Спасибо.
    Ответить    
        Автор 21 июля 2018 года в 6:39 утра #

        Спасибо, что поделились.
        Ответить    
    Джерри Доветин 22 июля 2018 года в 8:46 вечера #

    Это блестяще и прямолинейно. Спасибо за мини-курс, доктор Браунли
    Ответить    
        Автор 23 июля 2018 года в 6:08 утра #

        Я рад, что это помогло.
        Ответить    
    Дези Маздур 1 августа 2018 года в 17:58 вечера #

    Здравствуйте, доктор Джейсон,

    Еще раз спасибо за отличный пост в блоге. Для данных временных рядов в LSTM имеет ли смысл когда-либо иметь размер пакета больше одного?
    Я искал и искал, и я не мог найти ни одного примера, где размер пакета больше одного, но я также не нашел никого, кто сказал бы, что это не имеет смысла.
    Ответить    
        Автор 2 августа 2018 года в 5:59 утра #

        Да, если вы хотите, чтобы модель обучалась в нескольких подпоследовательностях.

        У меня есть несколько сообщений, которые демонстрируют это по расписанию.
        Ответ
юсеф 30 августа 2018 года в 10:47 утра #

    спасибо вам за ваше объяснение действительно очень большое спасибо еще раз
    Ответить    
        Автор 30 августа 2018 года в 16:50 вечера #

        Я рад, что это помогло.
        Ответить    
    Странный Сюэ 30 октября 2018 года в 12:26 утра #

    Я читал много блогов, написанных вами о таких вещах. Это мне очень помогает, спасибо! 抱拳
    Ответить    
        Автор 30 октября 2018 года в 6:02 утра #

        Спасибо, я рад слышать, что этот пост помог.
        Ответить    
    Жолт 3 ноября 2018 года в 10:07 утра #

    Спасибо, отличное объяснение. До сих пор ваш блог является лучшим источником для изучения ML, который я нашел (для начинающих, таких как я).
    Ответить    
        Автор 4 ноября 2018 года в 6:24 утра #

        Спасибо!
        Ответить    
    Дженна Ма 10 ноября 2018 года в 10:47 вечера #

    Это очень ясно. Спасибо.
    Я также вижу "steps_per_epoch" в некоторых случаях, что это значит? Это то же самое, что и партии?
    Ответить    
        Автор 11 ноября 2018 года в 6:05 утра #

        Количество пакетов, которые необходимо извлечь из генератора, чтобы определить эпоху.
        Ответить    
    Франциско 22 ноября 2018 года в 9:09 вечера #

    Мы любим примеры! Большое вам спасибо!
    Ответить    
        Автор 23 ноября 2018 года в 7:48 утра #

        Спасибо.
        Ответить    
    Мохаммад 26 ноября 2018 года в 10:19 утра #

    Большое вам спасибо за ваше кристально ясное объяснение
    Ответить    
        Автор 26 ноября 2018 года в 14:01 #

        Я рад, что вы нашли это полезным.
        Ответить    
    Фатма 6 декабря 2018 года в 17:53 вечера #

    Отличное объяснение в простой форме. Спасибо.
    Ответить    
        Автор 7 декабря 2018 года в 5:18 утра #

        Спасибо, я рад, что это помогло.
        Ответ
будет дан 21 января 2019 года в 1:48 вечера #

    Привет,
обновления выполняются после завершения каждой партии. Я просто использовал один образец и дал разные размеры пакета в model.fit, почему значение меняется каждый раз?...он должен быть способен принимать один размер партии, если есть только один образец, не так ли?
    Ответить    
        Автор 22 января 2019 года в 6:18 утра #

        Извините, я не понимаю вашего вопроса, не могли бы вы уточнить, пожалуйста?
        Ответить    
    Алаа 8 февраля 2019 года в 5:25 утра #

    Какое замечательное объяснение!
    Никогда не отправлял ответ на учебник, но не могу уйти, не поблагодарив Джейсона.
    Да благословит вас Бог!
    Ответить    
        Автор 8 февраля 2019 года в 8:05 утра #

        Спасибо, я рад, что это помогло!
        Ответить    
    Анита 26 февраля 2019 года в 9:16 вечера #

    Фантастическое объяснение!!!
    Ответить    
        Автор 27 февраля 2019 года в 7:26 утра #

        Спасибо.
        Ответьте
сампату 1 апреля 2019 года в 5:56 утра #

    Хорошо Объяснено, Спасибо!!
    Ответить    
        Автор 1 апреля 2019 года в 7:53 утра #

        Спасибо, я рад, что это помогло.
        Ответить    
    Момо 12 апреля 2019 года в 7:34 вечера #

    Привет,
    В настоящее время я работаю с Word2Vec. В связи с эпохами и размером партии я все еще не совсем понимаю, что такое образец. Выше вы описали, что образец представляет собой одну строку данных. В своей программе я сначала редактирую свой текстовый файл с помощью SentenceIterator, чтобы получить по одному предложению на строку, а затем использую маркер для получения отдельных слов в этих строках. Является ли образец в Word2Vec словом из набора данных или это строка (содержащая предложение)? Заранее большое вам спасибо ?
    Ответить    
        Автор 13 апреля 2019 года в 6:27 утра #

        Терминология samples/epoch/batch не соответствует word2vec. Вместо этого у вас просто есть обучающий набор данных текста, из которого вы изучаете статистику.
        Ответить    
    Момо 16 апреля 2019 года в 1:12 утра #

    Но с помощью программы Word2Vec у вас также есть гиперпараметры Эпох, итераций и размера пакета, которые вы можете установить… Не кажется ли вам, что они также влияют на результаты Word2Vec.
    Как я теперь понял, набор, передаваемый как пакет, содержит одно предложение. Однако я удивлен, что количество итераций не меняется, если я изменяю количество эпох и размеры пакетов, но не определяю итерации конкретно. Ты знаешь, как это работает?
    Ответить    
        Автор 16 апреля 2019 года в 6:51 утра #

        Не совсем, я рекомендую этот учебник:
        https://machinelearningmastery.com/develop-word-embeddings-python-gensim/
        Ответить    
    Сагара Суматипала 2 мая 2019 года в 2:24 утра #

    Очень хорошо объяснено простыми словами. Спасибо.
    Ответить    
        Автор 2 мая 2019 года в 8:06 утра #

        Спасибо.
        Ответить    
    Калигамбе Абрахам 10 мая 2019 года в 2:27 вечера #

    Наконец-то все ясно. Спасибо
    Ответить    
        Автор 11 мая 2019 года в 6:04 утра #

        Я рад это слышать.
        Ответить    
    Сурадж Бхагат 12 мая 2019 года в 12:59 #

    Ты супер доктор,
    Большое вам спасибо за то, что написали простым для понимания способом.... Кроме того, попробуйте добавить фотографии, график или схематическое представление для представления вашего текста. Как я видел здесь, вы привели один пример, он делает многие вещи очень ясными. В каком-то предыдущем посте вы также добавили график…

    Еще раз спасибо
    Пожалуйста, продолжайте

    С уважением
    Сурадж
    Ответить    
        Автор 12 мая 2019 года в 6:44 утра #

        Спасибо за предложение!
        Ответить    
    Каран 14 мая 2019 года в 18:37 вечера #

    Привет, Джейсон. После каждой эпохи точность либо улучшается, либо иногда нет. Например, эпоха 1 достигла точности 94, а эпоха 2 достигла точности 95. После окончания эпохи 1 мы получаем новые веса (т. е. обновленные после последней партии эпохи 1). Означает ли это, что новые веса, используемые в эпоху 2, начинают улучшать его с 94% до 95%? Если да, то является ли это причиной того, что какая-то эпоха получает более низкую точность по сравнению с предыдущей эпохой из-за обобщения весов для всего набора данных? Вот почему мы получаем хорошую точность после прохождения стольких эпох благодаря лучшему обобщению?
    Ответить    
        Автор 15 мая 2019 года в 8:12 утра #

        Как правило, больше тренировок означает лучшую точность, но не всегда.

        Иногда может быть хорошей идеей прекратить тренировки пораньше, см. Этот пост по теме:
        https://machinelearningmastery.com/early-stopping-to-avoid-overtraining-neural-network-models/
        Ответить    
    Закария 14 мая 2019 года в 9:58 вечера #

    Спасибо! Это было просто и легко понять.
    Ответить    
        Автор 15 мая 2019 года в 8:15 утра #

        Спасибо, я рад, что это помогло!
        Ответ
саад вазир 27 мая 2019 года в 6:02 утра #

    очень хорошо объяснено спасибо, мальчик
    Ответить    
        Автор 27 мая 2019 года в 6:52 утра #

        Спасибо.
        Ответить    
    яркая корма 28 мая 2019 года в 5:54 утра #

    Хорошо объяснено на легком для понимания примере. спасибо
    Ответить    
        Автор 28 мая 2019 года в 8:21 утра #

        Спасибо, я рад, что это помогло.
        Ответить    
    Рохайфа 18 июня 2019 года в 9:00 вечера #

    Действительно, в последнем примере общее количество мини-пакетов составляет 40 000, но это верно только в том случае, если пакеты выбраны без перетасовки обучающих данных или выбраны с перетасовкой данных, но без повторения. В противном случае, если в течение одной эпохи мини-пакеты создаются путем выбора обучающих данных с повторением, у нас могут быть некоторые точки, которые появляются более одного раза в одну эпоху (они появляются в разных мини-пакетах в одну эпоху), а другие - только один раз. Таким образом, общее количество мини-партий в этом случае может превысить 40 000.
    Ответить    
        Автор 19 июня 2019 года в 7:54 утра #

        Обычно данные перемешиваются перед каждой эпохой.

        Обычно мы не выбираем образцы с заменой, так как это приведет к смещению обучения.
        Ответить    

 

ПРИВЕТ, Джейсон – У меня есть вопрос – Если я правильно понял, веса и смещения обновляются после выполнения пакета, поэтому любые изменения после запуска пакета применяются к следующему пакету? И так продолжается и дальше.
    Ответить    
        Автор 30 декабря 2019 года в 5:56 утра #

        Правильный.
        Ответить    
    Ei Ei Пн 6 января 2020 года в 11:27 вечера #

    Хорошо объяснено. Спасибо, доктор Джейсон.
    Ответить    
        Автор 7 января 2020 года в 7:23 утра #

        Спасибо!
        Ответить    
    Али 12 января 2020 года в 8:38 утра #

    Спасибо, доктор Джейсон
    Ответить    
        Автор 13 января 2020 года в 8:16 утра #

        Пожалуйста.
        Ответить    
    Вылет 17 января 2020 года в 1:38 утра #

    Очень просто и полезно. Спасибо!
    Ответить    
        Автор 17 января 2020 года в 6:03 утра #

        Спасибо, я рад, что это было полезно.
        Ответ
минсин ван 4 февраля 2020 года в 8:59 вечера #

    Здравствуйте, сэр.
    Я вам очень благодарен.
    Сейчас я нахожусь в середине изучения практического машинного обучения, и часть 2 в главе 11 я не могу понять значение пакетной обработки. Сначала я думаю, что нейронная сеть должна обучаться по образцу один за другим. Но они сказали “партия”, и я не могу понять на земле.
    Но ваша статья дает мне хорошее представление о партии.
    Я полностью понимаю вас только по одному вопросу.
    Как я могу использовать метод градиента с пакетной обработкой?
    Я имею в виду, что в одном примере это понятно.
    Но с пакетной обработкой я не понимаю, как оценить ошибку.
    Спасибо.
    Ответить    
        Автор 5 февраля 2020 года в 8:08 утра #

        Это происходит один за другим, но после “пакетного” количества выборок веса обновляются с накопленной ошибкой.
        Ответить    
    МЧС 17 февраля 2020 года в 9:32 вечера #

    Приветствую вас, доктор Браунли

    Я надеялся, что вы сможете помочь мне с моими довольно длинными запутанными вопросами (извините). Я очень новичок в глубоком обучении.

    Я действительно думаю, что понимаю определение итерации, партии и эпохи, но я не так уверен в них в отношении их на практике.
    Поэтому я приведу пример и надеюсь, что вы могли бы помочь мне таким образом.

    Теперь я (надеюсь) понимаю, что итерация - это параметр, в котором он будет проходить через набор выборок через модель и обратно, где Epoch будет проходить через (и обратно) все выборки.

    Предполагая, что у меня есть набор данных из 50 000 точек.

    Следующие параметры задаются в Python/Keras как.
    размер пакета = 64
    итерации = 50
    эпоха = 35

    Итак, мое предположение о том, что делает код, заключается в следующем:

    50 000 образцов будут разделены на размер партии (=781,25 = ~ 781).
    Итак, теперь у меня есть 64 блока (пакета) всего набора данных, каждый из которых содержит 781 образец.

    Для итерации 1:
    Все блоки от 1 до 64 будут пропущены через модель. Каждый блок/партия приводит к своей собственной метрике точности, в результате чего получается 64 числа точности, которые будут усреднены в конце.
    Этот описанный выше процесс будет повторен 35 раз (количество эпох), что приведет к 35 усредненным точностям, и по мере увеличения эпохи на итерации точность (теоретически) будет лучше, чем предыдущая точность.
    После завершения итерации веса узлов будут обновлены и будут использоваться для итерации 2.

    Описанный выше процесс будет повторен 50 раз, так как у меня 50 итераций.

    Правда ли то, что я сказал до сих пор?

    Это мое главное замешательство на данный момент.

    Мой другой, скорее, вопрос касается точности и 3 упомянутых гиперпараметров.

    Я играл с примером добавления RNN в Keras, где они установили пакет на 128, итерации на 200 и эпохи на 1.

    Мой вопрос в том, что если вы установите пакет на 2048, итерации будут равны 4 с 50 эпохами. Мало того, что вы не достигнете точности 0,999x в конце (вы почти всегда достигаете этой точности в других комбинациях параметров). Однако ваша точность на самом деле существенно снизится.
    Я поместил результаты в следующую ссылку на pastebin[https://pastebin.com/gV1QKxH3]
    и хотел бы обратить ваше внимание на эпоху 41/50, где точность снизилась почти вдвое.
    Есть ли вообще какая-то причина для этого?
    Мой единственный мыслительный процесс заключается в том, что, возможно, веса были каким-то образом сброшены, но это кажется крайне маловероятным.

    Большое вам спасибо за ваше время, как всегда

    Я надеюсь скоро получить от вас весточку

    С уважением,
    Мчс
    Ответить    
        Автор 18 февраля 2020 года в 6:20 утра #

        Что такое итерация?
        Ответить    
    Мохамад Альмустафа 18 февраля 2020 года в 16:45 вечера #

    Итерация в глубоком обучении - это когда все пакеты проходят через модель.
    Эпохи повторят этот процесс (35 раз).
    В конце этого процесса модель будет обновлена новыми весами.

    Для итерации 2 тот же процесс повторится снова, но на этот раз модель будет использовать свои новые веса из предыдущей итерации.

    Я надеюсь, что это помогло
    Ответить    
        Автор 19 февраля 2020 года в 7:58 утра #

        Я бы назвал это одной эпохой.
        Ответить    
    Ив 18 февраля 2020 года в 8:02 вечера #

    Хорошее объяснение, спасибо!
    Просто чтобы убедиться, что я понял:
    если бы кто-то сделал пакетный GD, то ему не понадобилась бы никакая эпоха, верно?
    А именно, это действительно разные композиции мини-партий в каждую эпоху, которые делают эпохи разными, верно?
    Ответить    
        Автор 19 февраля 2020 года в 8:01 утра #

        Нет. Одна эпоха будет равна одной партии. Все еще нужно много эпох.
        Ответить
максимум 26 марта 2020 года в 3:37 утра #

    Большое тебе спасибо, Джейсон. Я видел, что вы иногда использовали epoch таким образом
model.fit(X_train,y_train, эпохи=50), а иногда в цикле for, подобном этому
, для iter в диапазоне(50):
    модель.подходит(X_train, y_train, эпохи=1)
    согласно определению epoch в обоих случаях, в 50 раз алгоритм обучения будет работать по всему набору обучающих данных. Правильно ли это? Они делают то же самое? если нет, не могли бы вы, пожалуйста, объяснить мне разницу?
    Ответить    
        Автор 26 марта 2020 года в 8:00 утра #

        Это одно и то же.

        Ручной цикл дает больше контроля на случай, если вы хотите что-то делать каждую эпоху.
        Ответить    
            макс.27 марта 2020 года в 7:22 утра #

            Большое спасибо.
            Ответить    
                Автор 27 марта 2020 года в 8:03 утра #

                Пожалуйста.
                Ответить    
    Акилу Рилван 29 марта 2020 года в 10:46 вечера #

    Спасибо, Джейсон, ты всегда сохраняешь мои поиски.
    Ответить    
        Автор 30 марта 2020 года в 5:33 утра #

        Пожалуйста.
        Ответить    
    Раджрудра 21 апреля 2020 года в 2:44 утра #

    Спасибо, я слышал о стохастическом градиентном спуске, но здесь, всего одной строкой, вы прояснили основную концепцию. Я всего лишь новичок, но это может быть хорошей отправной точкой
    Ответить    
        Автор 21 апреля 2020 года в 6:02 утра #

        Спасибо, я рад, что это помогло!
        Ответить    
    Раджрудра 21 апреля 2020 года в 2:45 утра #

    Также спасибо за концепцию пакетной обработки
    Ответить    
        Автор 21 апреля 2020 года в 6:03 утра #

        Пожалуйста.
        Ответ
нишан 21 апреля 2020 года в 7:21 вечера #

    Как эпоха, размер партии должны влиять на вес? Как вы можете описать связь между
    Ответить    
        Автор 22 апреля 2020 года в 5:53 утра #

        Что именно вы имеете в виду, не могли бы вы уточнить, пожалуйста?
        Ответить    
    Мира 21 апреля 2020 года в 7:29 вечера #

    Сколько раз обновляется вес, зависит ли это от размера пакета и количества эпох? или он должен остановиться, когда достигнет наилучшего веса?
    Ответить    
        Автор 22 апреля 2020 года в 5:53 утра #

        Да, количество обновлений весов зависит от размера пакета и эпох – об этом говорится в руководстве.

        Лучшего веса не существует – мы останавливаемся, когда модель перестает улучшаться или когда у нас заканчивается время.
        Ответить    
    Сакши 23 апреля 2020 года в 17:09 вечера #

    Здравствуйте, сэр

    Спасибо, что помогли нам с вашими учебниками.
    Мне просто нравится ваш сайт. Спасибо, что сделал меня лучшим специалистом по обработке данных ?
    Ответить    
        Автор 24 апреля 2020 года в 5:37 утра #

        Спасибо!
        Ответить    
    Эхсан 25 апреля 2020 года в 12:10 утра #

    Спасибо, Джейсон, за хорошее объяснение.
    Пожалуйста, дайте мне знать о следующей проблеме:
    Что происходит, когда один бах подключается к сети. Вычисляется ошибка каждой выборки, а затем получается среднее значение ошибки всех выборок, а затем градиентный спуск использует это среднее значение для обновления весов или это работает по-другому?
    Ответить    
        Автор 25 апреля 2020 года в 6:51 утра #

        Что-то вроде того.
        https://machinelearningmastery.com/gentle-introduction-mini-batch-gradient-descent-configure-batch-size/
        Ответить    
    Бенаам 26 апреля 2020 года в 2:57 утра #

    Джейсон, большое спасибо за объяснение. Правильно ли это утверждение?

    Увеличение размера пакета делает поверхность ошибки более гладкой; поэтому градиентный спуск мини-пакета предпочтительнее стохастического. С другой стороны, мы могли бы захотеть, чтобы размер пакета был не таким большим, чтобы в сети было достаточное количество возможностей обновления (итераций) с использованием целых выборок.
    Ответить    
        Автор 26 апреля 2020 года в 6:18 утра #

        Может быть.

        Иногда мы хотим, чтобы зашумленная оценка градиента отражалась в пространстве параметров и находила хороший/лучший набор параметров.
        Ответить    
    Рикардо 26 апреля 2020 года в 3:22 вечера #

    Вы слишком много для меня значите, сэр. Спасибо.
    Ответить    
        Автор 27 апреля 2020 года в 5:29 утра #

        Пожалуйста.
        Ответить    
    Мсок 5 мая 2020 года в 2:32 утра #

    Спасибо вам за это удивительное объяснение.

    Я хотел задать вопрос, прежде чем придумаю ответ:)!

Оставить комментарий

Ваше мнение очень важно для нас! Обязательно выскажите Ваши мысли, пожелания и критику! Не стесняйтесь задавать вопросы. Скорее всего, ответ появится уже через 2-3 дня. Спасибо заранее.

Другие материалы в этой категории:

Go to top