No video

Как обучить нейронную сеть?

Как обучить нейронную сеть? Что такое Loss, Градиентный Спуск и Backpropagation? Узнайте в этом видео!
Нейронные сети обучаются с помощью метода обучения с учителем (обучение на прецедентах, Supervised Learning). Для обучения нейросети нам понадобится обучающая выборка (набор данных, датасет), состоящая из пар [входной объект, известный правильный ответ].
Неявная задача нейронной сети - научиться обобщать, искать закономерности в данных. В противном случае будет переобучение (overfitting).
У сети есть обучаемые параметры (веса) и гиперпараметры, которые не обучаются (например, количество слоёв, количество нейронов и т. д.).
Введём понятие функция потерь (функция ошибок, Loss функция), которая характеризует то, как сильно нейронная сеть ошибается. Задача обучения - найти такие параметры (веса) нейронной сети, при которых функция ошибок минимальна. Другими словами, необходимо решить задачу оптимизации (минимизации ошибки относительно весов).
Для регрессии можно использовать Mean Squared Error (MSE), а для классификации (где используются распределения вероятностей) - кросс-энтропию (Cross Entropy).
Для поиска минимума функции можно использовать градиентный спуск. В этом методе итерационно вычисляется вектор градиента ошибки (частные производные ошибки по всем параметрам) и корректируются параметры по направлению антиградиента. Коэффициент при антиградиенте называется скорость обучения (Learning Rate).
Для обучения нейронных сетей используется стохастический градиентный спуск (SGD) и его модификации. Ошибка в нём вычисляется не по всей выборке, а по батчу (batch) - небольшой группе обучающих образцов.
Для вычисления градиента (частных производных) используется правило дифференцирования сложной функции (цепное правило, chain rule). При вычислении производной ошибки по весам нейросети мы движемся от ошибки назад (используя chain rule), поэтому такой алгоритм называется Обратное Распространение Ошибки (Backpropagation).
Меня зовут Дмитрий Коробченко, и на моём канале будет много чего интересного, так что подписывайтесь и нажимайте на колокольчик, чтобы ничего не пропустить: / @user-uy8zl7qd2e
#Нейросети #ГлубокоеОбучение #ДмитрийКоробченко #НейронныеСети #МашинноеОбучение #ИскусственныйИнтеллект #ОбучениеНейросетей #ГрадиентныйСпуск #Backpropagation

Пікірлер: 115

  • @user-uy8zl7qd2e
    @user-uy8zl7qd2e4 жыл бұрын

    Рекомендуемый порядок просмотра: 1. Нейронные сети за 10 минут: kzread.info/dash/bejne/eYhqy8-KdNvXm9I.html 2. Как обучить нейронную сеть: kzread.info/dash/bejne/p4uYm9CynpPXnJs.html 3. Нейронная сеть на Python с нуля: kzread.info/dash/bejne/qoGumbqMkdTKgqQ.html 4. Обратное распространение ошибки: kzread.info/dash/bejne/lItoxq2xpLisoMo.html 5. Обучение нейронной сети на Python: kzread.info/dash/bejne/lIx7pMeLqrCeZ8o.html

  • @sciences6705

    @sciences6705

    4 жыл бұрын

    а когда будет следующие видео?) а то хорошего контента по нейронным сетям в русскоязычном интернете мало! Очень хорошие видео!

  • @God_Programmer

    @God_Programmer

    2 жыл бұрын

    На С# можно простой пример...

  • @Veyron104

    @Veyron104

    7 ай бұрын

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

  • @sladge17
    @sladge174 жыл бұрын

    Информативные видео, с хорошей инфографикой, жаль выходят не часто.

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    3 жыл бұрын

    Будем ускоряться

  • @user-oo7ri3ov2d
    @user-oo7ri3ov2d4 жыл бұрын

    Очень интересно смотреть. Нужно больше видео!

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    3 жыл бұрын

    Будут! :)

  • @New-vk6ks
    @New-vk6ks2 жыл бұрын

    очень подробно и грамотно все объясняете. правда иногда нужно по 2-3 раза переслушать. лайк и ждем новых роликов. От себя прошу разобрать сверточные сети с 0. также как и этот пример

  • @kotikvacia9970
    @kotikvacia99704 жыл бұрын

    Качественное видео ! Огромное вам спасибо !)

  • @DM_Phoenix
    @DM_Phoenix Жыл бұрын

    Отличное объяснение. Правда мне придется помучиться чуток, так как высшую математику я явно в шарашке своей мимо ушей пропускал.

  • @lavashut
    @lavashut Жыл бұрын

    Жаль что я алгебру не учил)

  • @georgyandreev7469
    @georgyandreev74694 жыл бұрын

    Спасибо большое за работу! Отсутствие хотя бы 1 дислайка говорит само за себя. Интересует вопрос касающийся функций активаций. Можете привести наглядные примеры того, как влияет та или иная функция на обучаемость модели? Например, объяснить геометрический (математический) смысл применения синусоиды, Relu, г. тангенса и в то же время не применения линейных и других функций. Опять же, я новичок, и возможно мое утверждение будет некорректное, но градиент же можно вычислить от любых функций. Просто принципы и методы благодаря вашему видео стали еще более понятными, но если спуститься на уровень самих вычислений, то появляются вопросы.

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    3 жыл бұрын

    Есть некий сформировавшийся список функций активации, которые применяются в современных нейросетях. Получен он был эмпирическим путём. Не всегда у этих функций есть глубокий физический смысл. Часто это просто "улучшение" ранее использовавшейся более простой функции. За какими характеристиками функции можно следить: нелинейность (главное), дифференцируемость, простота вычисления функции и простота вычисления её производной, область определения (в какой диапазон функция отображает входные значения). Большинство таких функций активации это модификации сигмоидильных функций и функции ReLU. В разных задачах разные функции могут давать различный эффект. Если какая-то вычислительно сложная функция даёт лишь незначительный прирост в качестве, имеет смысл взять более простоую и быструю (напрмиер, обычный ReLU)

  • @DINOCOP3000
    @DINOCOP30003 жыл бұрын

    Хорошая пара видео про нейронные сети. Но, скорее всего вы столкнулись с проблемой, что их могут понять люди с хотя бы минимальными знаниями в этой области. Поэтому так мало просмотров... ну что ж тут поделать. Если вдруг ваша работа непосредственно связана со сферой Data Science - вы бы могли делиться своим опытом и знаниями, что привлекло бы больше аудитории) В любом случае удачи вам!

  • @user-br4gt7xu2j
    @user-br4gt7xu2j4 жыл бұрын

    Отличные видеоролики!..Дети, вот светофор, он прямоугольный, устанавливается на вертикальностоящих столбах и навесных креплениях, у светофора есть три лампочки, к которым подходят провода, по которым идет переменный электрический ток, поверх каждой лампочки установлено плотное матовое стекло, каждое стекло своего цвета, расположение цветов следующее: снизу- зеленый, посередине - желтый, сверху - красный, цветные стекла помогают передать свет определенной длины волны, светофор устанавливается зачастую на неподвижных конструкциях, обращенных в определенную сторону, а его огни загораются поочередно... вам все понятно, дети?.. очень лаконично и красочно выглядит, но только непонятно ничего толком - (зачем все это нужно и самое главное как этим пользоваться на практике вообще не ясно).

  • @yatochka2609
    @yatochka2609 Жыл бұрын

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

  • @sergeyv7164
    @sergeyv71649 ай бұрын

    Видео очень полезное и хорошо преподнесенное. Много просмотрел материала по обучению нейронных сетей, но нигде не сказано, почему делается всего лишь один (!) шаг при градиентном спуске? Почему не определить оптимальное значение параметров сети для конкретного примера, а а затем выставить новые значения для обучение и опять найти оптимум и.д.? Наверно, в продвижении по одному шагу градиентного спуска для каждого нового обучаемого примера и есть необъяснимая загадка настройки сети для разных вариантах входных значений!

  • @nikolaygertsog5702
    @nikolaygertsog57022 жыл бұрын

    Супер, спасибо!

  • @vitalica74
    @vitalica744 жыл бұрын

    Хорошее видео для общего ознакомления тех, кто не знает. Но судя по формулам, есть некоторая информация для специалистов. А для большей части слушателей нужна практика. Иначе, нету смысла снимать такие видео.

  • @mrx8312
    @mrx83124 жыл бұрын

    Дмитрий, Спасибо за урок! Хорошо объясняете! Понятно, что значит градиентный спуск и понятна логика функции обновления весов w1 = w0 - α * ∂E/∂w * w0. Но пока четко не понятно как рассчитать градиент, получить конечную формулу и потом записать в коде (Python). Разобрать на простом примере бы для ясности. А также разобрать, CROSS ENTROPY чем лучше MSE.

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    4 жыл бұрын

    Одно из следующих видео будет в точности на эту тему. Уже в разработке.

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    3 жыл бұрын

    Вычисление градиента: Обратное распространение ошибки --> kzread.info/dash/bejne/lItoxq2xpLisoMo.html

  • @mrx8312

    @mrx8312

    2 жыл бұрын

    @@user-uy8zl7qd2e Супер!)

  • @vk9948
    @vk99484 жыл бұрын

    Описанный Вами метод обратного распространения ошибки был предложен Д.Румельхартом с соавторами в 1986 году. Пример простой сети: 2 входных сигнала, 2 скрытых слоя по 2 нейрона плюс нейрон смещения для каждого скрытого слоя, выходной слой из 2 нейронов плюс нейрон смещения, все функции активации - сигмоиды. Вы могли бы для такой сети привести КОНКРЕТНЫЕ ПРАВИЛЬНЫЕ формулы ( которые можно закодировать в виде программы ) : - рекуррентного пересчета ошибки из выходного слоя сети на выход предыдущих скрытых слоев, вплоть до первого слоя; - формулы подстройки весовых коэффициентов и смещений для выходного слоя; - формулы подстройки весовых коэффициентов и смещений для предыдущих скрытых слоев (хотя бы одного) через пересчитанную ошибку выходного слоя. Много различных вариантов встречается, есть отличия. Для правильного понимания мне нужно самому все написать с нуля, без библиотек и движков. Буду очень признателен за список хороших, конкретных, понятных первоисточников, литературы по проектированию и обучению нейросетей прямого распространения.

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    3 жыл бұрын

    "нужно самому все написать с нуля, без библиотек и движков" -- сейчас мы именно этим на канале и занимаемся. Два вышедших видео (kzread.info/dash/bejne/qoGumbqMkdTKgqQ.html и kzread.info/dash/bejne/lItoxq2xpLisoMo.html), а также следующее, которое на подходе, как раз про это. Надеюсь, Вы найдёте в них часть ответов.

  • @Saber_Toothed_Rus
    @Saber_Toothed_Rus4 жыл бұрын

    Рассказывй еще про железо, особенно то что могут собрать простые смертные как я.

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    4 жыл бұрын

    Будет

  • @mary_folk
    @mary_folk4 жыл бұрын

    Так держать,у тебя очень хорошо получается!

  • @1f7f2b9
    @1f7f2b93 жыл бұрын

    презентация в монтаже 10/10

  • @Saplat
    @Saplat2 жыл бұрын

    Полезные ролики, после плотного изучения материала, помогают всё структурировать.

  • @murshig5370
    @murshig53702 жыл бұрын

    чеееееееел...... Лучшее объяснение на ютубе , легче только мозг себе другой имплантировать.Спасибо

  • @spiritmoon3457
    @spiritmoon3457 Жыл бұрын

    2:30 индекс i показывает вариант ответа или номер наблюдения? Если номер наблюдения, то что тогда такое zi и yi? Вектора предсказанных вероятностей и правильного ответа для наблюдения i? Но на 2:53 появляется индекс j. Это опечатка или тут другой уже индекс?

  • @arslanhanchayev1365
    @arslanhanchayev13659 ай бұрын

    Здравствуйте. Помогите пожалуйста создать и перевести оборудование электроподстанции через нейросеть

  • @ZaharAbramovich
    @ZaharAbramovich4 жыл бұрын

    Очень непростая математика. Спасибо, что общий принцип хорошо разъяснил. С таким пониманием мне сильно проще в подробности углубляться. Для чего нужно в один batch добавлять сразу несколько значений? До сих пор я думал, что на каждом шаге обучения - один набор данных для сетки. Как это работает в случае нескольких наборов в batch ? По каким критериям выбирают (подбирают наборы) их количество в batch ?

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    4 жыл бұрын

    Спасибо за вопрос, более подробно всё это покажу на практике, когда будем обучать свою нейросеть на Python. Использование более одного образца в батче (на одном шаге) позволяет улучшить сходимость (и стабильность обучения) и ускорить процесс (из-за большего потенциала для распараллеливания). По поводу стабильности: если на каждом шаге будет только один образец, то вектор градиента будет сильно «колбасить» от итерации к итерации, а соответственно и весь процесс обучения. А если в батче несколько образцов, и градиент вычисляется по всем ним (ошибки суммируются), то поведение градиента будет более плавным (по аналогии со сглаживанием). Как выбирать элементы в батч? Делать это нужно случайным образом. Например, сначала мы перемешиваем все образцы в обучающей выборке, а потом уже в перемешанном списке набираем последовательно группы образцов. Чему должен быть равен размер батча? Это гиперпараметр, то есть его надо выбирать вручную экспериментально. Обычно используются значения в районе 64 (плюс минус степень двойки), но бывают и более экстремальные значения - зависит от финального качества и от возможности распараллелить (и уместить батч в памяти GPU).

  • @BatterBean
    @BatterBean4 жыл бұрын

    Спасибо, все понятно и не скучно👍

  • @koshergamer9093
    @koshergamer9093 Жыл бұрын

    Чел, огромное тебе спасибо.

  • @arlask3373
    @arlask33734 жыл бұрын

    Спасибо за видео. Какие книги наиболее понятны для новичков в CV?

  • @Holme4
    @Holme44 ай бұрын

    То-есть, у меня 16 примеров для обучения, я прогоняю все 16 через нейросеть, записываю значения выхода в список, использую формулу MSE, и после этого корректирую веса? Меня учили иначе, прогоняем пример, вычисляем ошибку, распространяем ошибку, корректируем веса. повторяем все для 16 примеров. Какой метод правильный и что будет работать быстрее и точнее?

  • @user-tw5nh3xb6k
    @user-tw5nh3xb6k9 ай бұрын

    Привет, Дмитрий! Как можно вставить в мягкую игрушку нейронную сеть и начать её обучать человеку, который не умеет пользоваться компьютером? Предполагается что обучение будет проходить только через диалог, и если нужно подтвердить правильность выбора, то тоже через диалог или на крайний вариант две кнопки на мягкой игрушке "Да" или "Нет". Может такая игрушка уже создана и недорого состоит? Сколько будут стоить недорогие компоненты что бы мягкую игрушку снабдить всем необходимым?

  • @lipinr6280
    @lipinr62804 жыл бұрын

    Ставлю класс

  • @user-kw4kp7eq9m
    @user-kw4kp7eq9m Жыл бұрын

    Большое спасибо!

  • @gruam1982
    @gruam1982 Жыл бұрын

    Очень интересно. 😮

  • @ms_Mar
    @ms_Mar Жыл бұрын

    Привет! Планируешь дальше выпуски по нейросетям? У тебя очень хорошо получается! Может просто ушел куда-то на другую площадку?

  • @kuaranir2440
    @kuaranir24402 жыл бұрын

    Выходит, что обратное распространение ошибки - это когда сеть сама себя проверяет при подборе весов? MSE - для регрессии, Cross-enthropy - для классификации?

  • @theodoretryman4289
    @theodoretryman42892 жыл бұрын

    Контент просто бомба!!!! 👍👍Дмитрий я снимаю шляпу за такое видео. Спасибо вам большое и успехов вам 👏👏👏👏

  • @generalinvest8968
    @generalinvest89684 жыл бұрын

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

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    3 жыл бұрын

    Да

  • @buzok512buz6
    @buzok512buz64 жыл бұрын

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

  • @hackerman5984

    @hackerman5984

    3 жыл бұрын

    Да,мне тоже интересно.

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    3 жыл бұрын

    Есть множество вариантов. Если мы реализуем нейросеть на Python и в таком же виде её отправляем в продакшн (для инференса), то либо мы храним веса (а иногда и модель) в формате того фреймворка, на котором мы обучали (Pytorch, TensorFlow), либо в формате numpy. "На другом компе" нейросеть загружется в память с помощью соответствующих Python скрптов (Ваших). Если вы всё же хотите получить на выходе EXE (скомпилированный бинарный файл), то скорее всего Ваша нейросеть (а точнее программа её загрузки и выполнения) будет написана на языке типа C++. В таком случае и формат данных (веса нейросети) и процедуру их загрузки скоере всего придётся реализовать самостоятельно. Или использовать некий нейросетевой фоеймворк, поддерживающий C++. Таких тоже достаточно много. Тогда дополнително может потребоваться конвертация весов нейросети из формата, который использовался при обучении в формат, используемый при инференсе. Сейчас зачастую всё крутится вокруг формата ONNX (там можно хранить и модель и веса к ней).

  • @buzok512buz6

    @buzok512buz6

    3 жыл бұрын

    @@user-uy8zl7qd2e Спасибо за обширный ответ. Я делал в jupyter notebook, все заработало. Но при попытке запустить на другом компе вылезли ошибки которые не удалось устранить. По этому и возник вопрос как то сохранить для возможности запуска на любом компе. Написание нейронки на си не рассматриваю, ведь для новичка на питоне больше примеров.

  • @user-no7kz5er5v
    @user-no7kz5er5v2 жыл бұрын

    Невероятно качественно. Хочу больше, пожалуйста

  • @KOKERzeroZEROseven
    @KOKERzeroZEROseven3 жыл бұрын

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

  • @user-hl3ox1bb9v
    @user-hl3ox1bb9v2 жыл бұрын

    А метод покоординатного спуска используется? А другие методы оптимизации?

  • @user-ns5ci8jl7k
    @user-ns5ci8jl7k Жыл бұрын

    Очень крутой контент

  • @daniil8150
    @daniil8150 Жыл бұрын

    Спасибо!

  • @NabievDev
    @NabievDev2 жыл бұрын

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

  • @user-ws2gg2jh2z
    @user-ws2gg2jh2z3 жыл бұрын

    В этом видео понял больше в курсе 70 часов про нейронные сети

  • @NutsBeast
    @NutsBeast3 жыл бұрын

    Вот бы новые видео по данной теме

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    3 жыл бұрын

    уже есть)

  • @VladKochetov
    @VladKochetov4 жыл бұрын

    гиперпараметры можно подобрать при помощи Keras-tuner

  • @hello_world_zz
    @hello_world_zz2 жыл бұрын

    Thanks!

  • @user-ub9wv4vo9x
    @user-ub9wv4vo9x4 жыл бұрын

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

  • @JenyNiigga

    @JenyNiigga

    2 жыл бұрын

    After effects скорее всего

  • @user-ub9wv4vo9x

    @user-ub9wv4vo9x

    2 жыл бұрын

    @@JenyNiigga спасибо, буду смотреть👍

  • @Petro_Bandera
    @Petro_Bandera3 жыл бұрын

    Ну спасибо. Объяснил...

  • @vk9948
    @vk99484 жыл бұрын

    Приятно удивлен вашей оперативностью. Большое спасибо за ответ. Имеется немало вопросов: Предназначение функции SOFTMAX - масштабирование выходных данных? Самостоятельно нашел материал о нормализации входных параметров нейросети. Почему в выходном слое можем не применять функцию активации, а суммарный сигнал сразу подаем на SOFTMAX? Избыточная нелинейность? Если функция активации сигмоида, стартовые случайные значения весовых коэффициентов должны располагаться в диапазоне [ -A, A] , где А - небольшое число ? Нулевые случайные значения весовых коэффициентов нежелательны? Каким рекомендуется выбирать небольшое число А, если все входные значения нормированы в диапазоне [0, 1]? Каковы рекомендации по выбору стартовых случайных значений смещений (диапазон, величина)? Напрмер, на входе нейросети 10 нормированных значений. Нейросеть должна классифицировать входной сигнал на три различных взаимоисключающих класса. Какое оптимальное количество слоев и по сколько нейронов рекомендуется для этого случая?

  • @user-qq2kd7ey7j
    @user-qq2kd7ey7j Жыл бұрын

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

  • @zargerion7399
    @zargerion7399 Жыл бұрын

    Лучшее

  • @user-zs8hg5dy7f
    @user-zs8hg5dy7f Жыл бұрын

    Судя по комментариям я один понимаю из сказанного только союзы и предлоги... Особенно порадовало на 3:42 "А теперь влючаем Матан" Он всегда у вас влючён! или "Самое простое можно просто посчитать евклидово расстояние или функцию MSE от этих двух векторов"...... Где тут просто? Никакого пояснения о чём речь вообще... ролик просто продолжается как будто я должен быть в курсе что это... Просто смотрите... я когда хочу НАЧАТЬ в чём-то разбираться... я топаю на ютюб... просто чтобы понять хоть какие-то основы.. но тут я по ощущениями роликов 100 до этого случайно не посмотрел чтобы просто понять о чём вы вообще... и да я смотрел первый ролик "Нейронные сети за 10 минут" та же история... я где-то курс по вышмату пропустил на него ссылки нет?

  • @ALEXCAPITAL666
    @ALEXCAPITAL6664 жыл бұрын

    Хороший формат обучения

  • @vikaivanova543
    @vikaivanova5433 жыл бұрын

    спасибо!

  • @vvoooov
    @vvoooov Жыл бұрын

    Не понимаю откуда берется функция ошибки. Ее же потом нужно дифференцировать? Значит она должна быть гладкой?

  • @warwithworld11
    @warwithworld11 Жыл бұрын

    А при каком значение производной можно заканчивать обучение?

  • @eugenesamrinov5771
    @eugenesamrinov57714 ай бұрын

    По-моему mse это не совсем евклидово расстояния. Евклидово расстояние с корнём, а у Вас с 1/n

  • @sergey7331
    @sergey7331 Жыл бұрын

    Отличные ролики! А отсутствие фоновой музыки дает +1000 в карму.

  • @DanielTukanov
    @DanielTukanov Жыл бұрын

    очень хорошо рассказываете, спасибо вам!

  • @vk9948
    @vk99484 жыл бұрын

    Нейросеть c 3 нейронами на выходе должна классифицировать входной сигнал на три различных взаимоисключающих класса. Для правильной коррекции весов и смещений нейросети методом обратного распространения необходимо: А) использовать в качестве сигнала ошибки ОДНО (ОДИНАКОВОЕ) значение среднеквадратического отклонения полученного результата и правильного результата для всех выходных нейронов ??? ИЛИ Б) использовать в качестве сигнала ошибки для каждого нейрона его собственную разность реального и правильного сигнала ( 3 разных разности, для каждого нейрона - своя) ??? Очень много хорошего пишут о генетических методах обучения нейросетей.

  • @user-rd2qz6px8w
    @user-rd2qz6px8w3 жыл бұрын

    Дмитрий,как с вами связаться?имеется коммерческое предложение

  • @user-om5ry3vs1s
    @user-om5ry3vs1s2 жыл бұрын

    Видео очень информативные, спасибо автору за них с:

  • @natekaen311
    @natekaen311 Жыл бұрын

    Дмитрий, что означает б(только наоборот)?

  • @user-sp7kj9ho6y

    @user-sp7kj9ho6y

    Жыл бұрын

    Изменение того, что после б

  • @user-fx8oh9pb8r
    @user-fx8oh9pb8r Жыл бұрын

    да

  • @firerun8599
    @firerun85993 жыл бұрын

    ОоО,вот это уже сложнее тема

  • @IvanBlueFire
    @IvanBlueFire Жыл бұрын

    Блин а можешь пж в конце видео делать вывод и все что говорил в этом видео говорить в кратче и очень коротко чтобы вывод был и остался

  • @vk9948
    @vk99484 жыл бұрын

    Большое спасибо за качественное, содержательное видео. Ждем продолжения. Любителям очень полезны и интересны подробные, конкретные примеры реализации и обучения простейших нейросетей, позволяющие правильно понять и сформулировать ПРИНЦИПЫ и АЛГОРИТМЫ. Например, довольно симпатичное видео на эту тему: kzread.info/dash/bejne/pmF-0s9qkduom9I.html МНОГОСЛОЙНЫЕ НЕЙРОННЫЕ СЕТИ. ОБУЧЕНИЕ. Backpropogation: ОБРАТНОЕ РАСПРОСТРАНЕНИЕ ОШИБКИ К его недостаткам примера следует отнести отсутствие смещения на входах нейронов, нет алгоритма коррекции значений смещения. Сделайте круче! У Вас получится!

  • @user-uy8zl7qd2e

    @user-uy8zl7qd2e

    4 жыл бұрын

    Спасибо за отзыв. Подобное видео есть в моём контент плане и уже находится в разработке.

  • @vk9948

    @vk9948

    4 жыл бұрын

    @@user-uy8zl7qd2e Добрый день, Дмитрий! Не могу до конца понять алгоритм обучения нейросети на стохастической выборке. Пропустив всю выборку в прямом направлении, получим массивы ошибок на нейронах выходного слоя от каждого входного сигнала. Можем вычислить суммарную ошибку, среднюю, среднеквадратическую и т.д. Для пересчета ошибки на предыдущие слои, для коррекции весов и смещений необходимы ИНДИВИДУАЛЬНЫЕ значения входов, выходов нейронов, значения производной функции активации от суммирования (вход*вес - смещение). Ошибка у нас «коллективная». Какие значения input, output, derivative (sum) брать из всего доступного множества брать для последующих расчетов? Прошу у Вас помощи и пояснений. Заранее благодарю. Владимир

  • @user-xr6yv6dg4c
    @user-xr6yv6dg4c2 ай бұрын

    Я вот вообще ноль по этой теме, могу чисто открыть блокнот написать что нибудь и печать 😢

  • @user-gc8xq6yo7j
    @user-gc8xq6yo7j6 ай бұрын

    батч)))) batch - партия, пакет, серия, группа. туземцы forever))))))

  • @buguhan
    @buguhan2 жыл бұрын

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

  • @mark7854

    @mark7854

    4 ай бұрын

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

  • @vladimirsergeevich9788
    @vladimirsergeevich97882 жыл бұрын

    сразу практику бы видеть

  • @sytyluipes
    @sytyluipes Жыл бұрын

    здравствуйте программисты из мгсу

  • @DudeFromDust
    @DudeFromDust Жыл бұрын

    После 1:25 уже ничего не понял))

  • @MrAdAmGaMeS
    @MrAdAmGaMeS Жыл бұрын

    Котелок начал закипать к концу

  • @Ganna1712
    @Ganna17122 жыл бұрын

    Всё сложно.😀

  • @MrAlexPhilippov
    @MrAlexPhilippov2 ай бұрын

    Неоправданно много и со слишком большой амплитудой трясёт руками. Это бессодержательное мельтешение в кадре сильно отвлекает. Если нужно показывать лицо себя любимого (по каким-то причинам), то можно в углу маленькое окошко оставлять, а основной кадр на содержательную часть отводить.

  • @user-zy7ui3ix1z
    @user-zy7ui3ix1z Жыл бұрын

    Но ошибка это просто число. Как Вы от неё берёте производную? Непонятно...

  • @user-sp7kj9ho6y

    @user-sp7kj9ho6y

    Жыл бұрын

    Число - это для конкретного входа и конкретной матрицы весов. Ошибка - функция от входа ( аргумент Х) и матрицы весов (аргумент W).

  • @saurontheblack6566
    @saurontheblack6566 Жыл бұрын

    усвоено 0 данных информации, я знаю как устроен персептрон, знаю про выборки и прочее, но как происходит обучение прям на самом дне с примерами мне не понятно

  • @alexshu1609
    @alexshu16093 жыл бұрын

    Тема сисег не раскрыта. Увы....

  • @Andrey_Rychkov
    @Andrey_Rychkov4 жыл бұрын

    Откуда взялась "б" наоборот?

  • @user-qq2jf7vr4b

    @user-qq2jf7vr4b

    3 жыл бұрын

    Это знак частной производной

  • @nate_arrow
    @nate_arrow3 жыл бұрын

    осталось непонятным как реализовать в коде

  • @Sovereign_of_World
    @Sovereign_of_World2 жыл бұрын

    Хорошие видео, но гипержестикуляция отвлекает

  • @nouaksomtac6782
    @nouaksomtac67823 жыл бұрын

    а где такоизе но для питона???

  • @GgGg-qz8rp
    @GgGg-qz8rpАй бұрын

    вода вода вода

  • @kpacccavchik
    @kpacccavchik3 жыл бұрын

    бессмысленное бла бла бла

  • @hackerman5984

    @hackerman5984

    3 жыл бұрын

    Ну да,что ждать от человека без мозгов вроде тебя.

  • @user-om5ry3vs1s

    @user-om5ry3vs1s

    2 жыл бұрын

    А что именно тебя не устраивает? Сделай тогда сам объяснение получше\