Обратное распространение ошибки

Поделиться
HTML-код
  • Опубликовано: 17 май 2021
  • Одним из ключевых этапов обучения нейронной сети является применение алгоритма обратного распространения ошибки, или backpropagation. Целью этого алгоритма является поиск градиента ошибки по всем обучаемым параметрам нашей модели. Без понимания того, как он работает, нам будет тяжело написать свой собственный алгоритм обучения нейросети. Давайте разбираться.
    В этом видео мы самостоятельно выведем все необходимые формулы для реализации алгоритма обучения нейронной сети с нуля. Для обучения нейросети можно использовать градиентный спуск, а для его работы нам потребуется градиент функции потерь по всем параметрам модели (весам нейросети).
    В основе метода обратного распространения ошибки лежит цепное правило (chain rule) из матанализа. Еще это называют правило дифференцирования сложной функции:
    cutt.ly/mbM7WYU
    В некоторых случаях нам потребуется правило дифференцирования сложной функции нескольких переменных:
    cutt.ly/ebM7xpS
    Меня зовут Дмитрий Коробченко, и на моём канале будет много чего интересного, так что подписывайтесь и нажимайте на колокольчик, чтобы ничего не пропустить: / @user-uy8zl7qd2e
    #Нейросети​ #ГлубокоеОбучение​ #ДмитрийКоробченко​ #НейронныеСети​ #МашинноеОбучение​ #ИскусственныйИнтеллект​ #ОбратноеРаспространениеОшибки #Backprop #Градиент

Комментарии • 137

  • @user-uy8zl7qd2e
    @user-uy8zl7qd2e  3 года назад +17

    Рекомендуемый порядок просмотра:
    1. Нейронные сети за 10 минут: ruclips.net/video/GT6imQDxqko/видео.html
    2. Как обучить нейронную сеть: ruclips.net/video/uWd9nyn0ql8/видео.html
    3. Нейронная сеть на Python с нуля: ruclips.net/video/xMz7XSaqdRA/видео.html
    4. Обратное распространение ошибки: ruclips.net/video/bW4dKxtUFpg/видео.html
    5. Обучение нейронной сети на Python: ruclips.net/video/bXGBeRzM87g/видео.html

    • @user-ef5yp4ze9b
      @user-ef5yp4ze9b 2 года назад

      Здравствуйте можете помочь разобраться? в общем я считаю что придумал улучшенную формулу вычисления весов одного нейрона позволяющую найти веса в один такт, я не программист и не математик и формулу по понятным причинам разглашать я не могу, так как же мне разобраться и возможно извлечь из этого пользу? я не знаю. По пробую показать примерный процесс моей работы на эту тему может это даст вам возможность лучше разобраться с чем и кем вы имеете дело:
      Пример обученного нейрона к которому должен прийти мой:
      X1*W1=S1
      + = E1 = Это выход нейрона без смещения и без функции активации просто число
      X2*W2=S2
      После нахождения весов в один такт мой нейрон похож на:
      X1*W3=S3
      + = E1
      X2*W4=S4
      веса НЕ те же но итог совпадает без ошибки, как то так. но если изменить X сы после обучения то будет расхождение в итогах, в общем W3 и W4 превратить в W1 и в W2 у меня так и не вышло конечно если не манипулировать X ми так что один из них превращается в 0 или в огромное число.

  • @alexandermolchanov2171
    @alexandermolchanov2171 2 года назад +10

    Отличная лекция! Нигде не встречал такого подробного и доходчивого объяснения получения градиентов

  • @TheBoxGameDrop
    @TheBoxGameDrop 3 года назад +78

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

    • @max_ermol
      @max_ermol Год назад +1

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

    • @euges9537
      @euges9537 Год назад +1

      Малое кол-во видео с 2017 года

    • @mar_kha
      @mar_kha 3 месяца назад

      Почти 50 тыс просмотров

  • @user-sl4jq9op9l
    @user-sl4jq9op9l Год назад +13

    Супер объяснение, спасибо. С математическим обоснованием, пошаговым выводом формул, и прочие простые и надежные вещи. Не так как на других каналах - сразу итоговый алгоритм с итоговыми формулами, а почему они такие - не объясняют.
    Пожалуйста, продолжайте ваше образовательное творчество, вы very good. У вас давно не выходило новых роликов. Еще столько интересных вопросов...

  • @alexkayful
    @alexkayful 2 года назад +3

    Класс! Жду с нетерпением следующих уроков!

  • @user-gd6bz3ir9t
    @user-gd6bz3ir9t Год назад +7

    Несмотря на то, что несколько раз ловил себя на мысли "Ничерта не понимаю", перематывал пересматривал и досмотрел до конца, не все но на самое важное для меня понял. Спасибо автору за столь качественный контент, даже сложно представить сколько сил и времени было затрачено. Очень круто все рассказано, но отсутствие мат практики в течении 20 лет дает о себе знать, как же я завидую сегодняшним школьникам и абитуриентам..... радостно сознавать, что у сегодняшних детей возможностей развиваться несоизмеримо больше, чем у нас 20 лет назад, правильной дорогой идем, Товарищи (несмотря на не идеальность мировой и Российской действительности)

  • @tsmokuday
    @tsmokuday 3 года назад +7

    Ура, новый контент. Продолжайте, пожалуйста!

  • @tenrumz
    @tenrumz 2 года назад +1

    То, что надо! Возвращаюсь к этому курсу, когда в голове начинает властвовать хаос) все четко и по полочкам!)

  • @timurotube
    @timurotube Месяц назад

    то что так долго искал. Спасибо!

  • @030H
    @030H Год назад

    Отличное объяснение 👍 Спасибо, Вы талант.

  • @user-iz4jo3id8x
    @user-iz4jo3id8x 8 месяцев назад

    Видос просто супер, с первого раза не понял, полностью пересмотрел и стало намного понятнее, спасибо!

  • @glebeshye7197
    @glebeshye7197 Год назад

    Наконец-то я понял, как работает обратное распространение. Я уже все пересмотрел и на английском в том числе, но все пропускают, реализацию обратного распространения, а это самое важное. Большое спасибо.

  • @linart2141
    @linart2141 Год назад

    Вы просто лучший, это невероятно. Только благодаря Вам нормально и всецело понял как рассчитываются градиенты и вообще откуда какой множитель берётся. Большое спасибо!

  • @rednil8242
    @rednil8242 2 года назад +2

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

  • @DainiusKirsnauskas
    @DainiusKirsnauskas 3 года назад

    Большое спасибо, в режиме ожидания следующего видео...

  • @bekzodturgunov5926
    @bekzodturgunov5926 7 месяцев назад

    Друг мой. Я из Узбекистана. Недавно начал изучать ИИ, ГО . У вас есть дар от Бога. Вы очень мягко и понятно объясняете.

  • @alekseykrekotnev7264
    @alekseykrekotnev7264 Год назад

    Благодарю за отличную подачу!

  • @Astro69i
    @Astro69i 2 месяца назад

    Самое понятное видео и по делу. без воды.

  • @New-vk6ks
    @New-vk6ks 2 года назад +4

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

  • @user-ys3vo6ml7p
    @user-ys3vo6ml7p 3 года назад +5

    Отличная лекция, спасибо!
    Теперь бы градиентный спуск вот так понять)

    • @alexeyyakovlev4348
      @alexeyyakovlev4348 2 года назад

      Он и был описан в этой лекции в довольном сложном виде.

    • @user-px6zg1by5d
      @user-px6zg1by5d 2 года назад +1

      Это и есть градиентный спуск xD

  • @msc_dmitriev
    @msc_dmitriev Год назад

    огромное спасибо автору за проделанную работу

  • @gendolfnord8012
    @gendolfnord8012 5 месяцев назад

    В интернете полно статей с кривым переводом по этой теме, которые только запутывают. А этот парень все объяснил в два счета!

  • @user-oo7nu1ur4g
    @user-oo7nu1ur4g Год назад

    Видео топ! Всё что нужно для начального понимания

  • @nanatuf11
    @nanatuf11 Год назад

    Отличное объяснение! Такого контента очень мало к сожалению(
    Развивайте дальше канал

  • @user-nu7ye6bn9c
    @user-nu7ye6bn9c 2 года назад

    Спасибо за работу

  • @user-kw4kp7eq9m
    @user-kw4kp7eq9m 10 месяцев назад

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

  • @elenaeremeeva5002
    @elenaeremeeva5002 Год назад

    спасибо за видео!

  • @gtvarp
    @gtvarp 3 года назад

    Жду видео по реализации!

  • @vsevolodkotenyov4443
    @vsevolodkotenyov4443 2 года назад

    Здесь Вы гораздо энергичнее, чем в Skillbox ;)

  • @murshig5370
    @murshig5370 2 года назад +3

    что означает это д?

  • @_Chelik_1
    @_Chelik_1 Год назад +10

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

    • @slavaandreev1494
      @slavaandreev1494 8 месяцев назад

      А я вот учусь в 9 классе и нихуя не понимаю из этого

  • @user_gmg8607
    @user_gmg8607 3 года назад +6

    сделайте отдельно серию видео для "продвинутых". Если вы работаете в Nvidia, то расскажите про cuda, про embedded-системы, про то, как внутри устроены всякие NPU/TPU и мини-устройства типа jetsoнов. Ну, или чего-нибудь интересное другое, про науку или индустрию анализа данных. Вот вам вопрос от меня: как купить geforce rtx 3060 для обучения сеток, если майнеры захватили рынок железячек? И будет ли nvidia делать карточки специально для машинного обучения, но бюджетные?

    • @alexeyyakovlev4348
      @alexeyyakovlev4348 2 года назад +1

      Куда это расширение с++ от нвидии. Прямо в программе можно определять функции которые будут выполняться на ускорителе. Удобно обрабатывать большие объемы данных делая над ними вычисления. Не надо городить многопоточность, она получается из коробки. Надо лиш правильно задать формат потока данных и функцию обработки (ядро). Джетсон это арм с графикой, подобно мобильным телефонам. Отличие от мобильнтков в возможности работать с разнообразным внешним хардом. Эти возможности определяются не только джетсоном но и платой в которую он вставлен.

  • @mrx8312
    @mrx8312 2 года назад +3

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

    Пока не совсем понятно, для чего нужен градиент по входу (dE/dx).

    • @rednil8242
      @rednil8242 2 года назад

      Для того чтобы передать его на следующий слой и рассчитать градиент уже там

  • @user-kl4tp1bd7z
    @user-kl4tp1bd7z 2 года назад

    Спасибо!

  • @vladimirbeliayev836
    @vladimirbeliayev836 2 года назад

    Это круто!

  • @user-sp1gr6xb7q
    @user-sp1gr6xb7q 2 года назад +1

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

  • @bruda1219
    @bruda1219 2 года назад +1

    Дмитрий, здравствуйте! На 16:58 мы берем производную от натурального логарифма, получается 1/(выражение) и мы еще дополнительно умножаем полученное выражение на е^tk. Почему? У нас ведь это не общий множитель или что-то подобное. Когда мы взяли производную от натурального логарифма, у нас все, что было в выражении, ушло в знаменатель. Откуда взялось еще и e^tk? Спасибо.

    • @user-uy8zl7qd2e
      @user-uy8zl7qd2e  2 года назад +1

      Здравствуйте. Здесь надо использовать правило дифференцирования сложной функции. (f(g))' = f'(g) * g'. То есть та производная будет равна [1 / (выражение)] умножить на производную от (выражения). То есть умножить на производную от суммы экспонент. А в такой производной все слагаемые занулятся кроме одного -- с индексом k. И производная от экспоненты равна той же самой экспоненте.

  • @main_process
    @main_process Год назад

    То чувство, когда все что звучит так или иначе знакомо, но ума не хватает скомпоновать знания, усвоить материал и применить.
    Большое спасибо, думаю долго буду изучать ваши видео :)

    • @denisyegorov5109
      @denisyegorov5109 Год назад +1

      Хотите понять нейросети, надо выбросить эту заумную фигню. Есть канал foo52 техно шаман. Там все проще и нагляднее. Без кучи формул

    • @TurboGamasek228
      @TurboGamasek228 Месяц назад

      ​@@denisyegorov5109если выбросить эти кучи формул, то ты ниче не поймешь наоборот или как обезьяна будешь делать то, не зная, что и не понимать как это работает, хотя 90% прогеров так и делают, берут библиотеку и все там за них уже умные люди сделали

  • @TheMrGobus
    @TheMrGobus Год назад

    Хорошее видео, спасибо автору, лайк заслужен. Понял и разобрал для себя 99% из просмотренного, единственное, что не понял, как мы получаем значения b и w из суммы произведений входных данных умноженный на вес w и b.... хотя.... пока пишу комментарий начинаю понимать, что мы бежим по сети с рандомно заданными весами и смещениями, и они получается нам известны... а может и нет, а может и да... пойду смотреть следующее видео =)

  • @user-zd6he3zd5j
    @user-zd6he3zd5j Год назад

    Просто супер

  • @user-or9ks2ck5w
    @user-or9ks2ck5w Год назад

    Дмитрий, здравствуйте. Когда выйдет видео про обновление весов при обучении?

  • @kotikvacia9970
    @kotikvacia9970 3 года назад +3

    Ура !

  • @alexey_pryadko
    @alexey_pryadko 3 года назад

    Можете выпустить видео на тему технологии нейролинк? И как эта технология будет работать с ИИ. Хотел бы углубиться в эту тему.

  • @sergeyly5438
    @sergeyly5438 Год назад +2

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

  • @kas2884
    @kas2884 3 года назад

    Каковы ограничения на функцию ошибки? Она должна быть метрикой?

  • @user-to6xp3nt5g
    @user-to6xp3nt5g 27 дней назад

    В ахуях, месяц назад начал всë изучать, поэтапно всë, что не понимал изучал, пришлось вернуться к школьной математике))) к работе функций, линейная функция, парабола и всë такое, очень трудно было понимать сначала, начался ад когда я перешёл к производным, но я прошёл всë это. Спустя 100 роликов про нейросети и матанализ, миллион охуеваний со всего, наконец-то ура, я понял как работает логика нахождения градиента ошибки, дело просто в матанализе, в векторах частных производных, или просто в производных, которые показывают куда растëт функция и велечину роста в по определённому параметру. И недавно я снова решил посетить этот ролик, и вдруг, оказалось что здесь так всë подробно и разжëванно объясняется, я некоторые моменты, которые упустил из виду смог отсюда взять, спасибо!!! Жаль что забросили канал

  • @user-bc2bx1cb4l
    @user-bc2bx1cb4l 3 года назад +1

    Видео интересное, спасибо. Есть один прикладной вопрос, как можно задать химическую формулу как входной параметр?

    • @s3n1ch
      @s3n1ch 2 года назад

      Попробуй присвоить каждому элементу число (номер эл из ПТМ). Коэффы точно так же делаешь. После обучения сеть может выдавать формулы используя некоторый разделитель, для определения границы узла элемент-коэфф. Через грамматику переводишь это все обратно в буквы где надо. Почитай про Backus-Naur forms. Это тебе поможет в освоении грамматик. Тема нетривиальная, но интересная. Удачи!

    • @igorgordiy7709
      @igorgordiy7709 Год назад

      Саму формулу обычно не задают как параметр, скорее используют дескрипторы химические в качестве матрицы X и какие-то таргетные свойства в векторе Y. Саму молекулу можно разными способами кодировать, например SMILES, Mol2 форматы

  • @vladislav6915
    @vladislav6915 Год назад

    10.23 - может поэлементное умножение имеется ввиду?

  • @nordmilk
    @nordmilk Год назад

    "Е" на 3ей минуте, это суммарная квардратичная ошибка?

  • @_AbUser
    @_AbUser Месяц назад

    Что прикольно, то это то, что начинать бы объяснение было бы нагляднее с конца.. ))))

  • @user-ws2gg2jh2z
    @user-ws2gg2jh2z 3 года назад +1

    можно на цифрах реальных посмотреть пример или же на в Numpy

    • @user-uy8zl7qd2e
      @user-uy8zl7qd2e  3 года назад

      Как раз про это будет следующее видео. Продолжение вот этого: ruclips.net/video/xMz7XSaqdRA/видео.html

  • @soundcloudlover
    @soundcloudlover 3 года назад +1

    скажите, пожалуйста, для чего нужна функция активации и нелинейность как таковая? спасибо

    • @nocomments_s
      @nocomments_s 3 года назад

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

    • @user-uy8zl7qd2e
      @user-uy8zl7qd2e  3 года назад +8

      Умножение на матрицу и прибавление вектора - это линейная операция (линейное преобразование). Так выглядел бы слой без функции активации. Два подряд линейных преобразования эквивалентны ОДНОМУ (какому-то другому) ЛИНЕЙНОМУ преобразованию. Чтоб такого не было, необходимо МЕЖДУ двумя линейными преобразованиями вставить НЕЛИНЕЙНОЕ преобразование (в нашем случае - функцию активации). Более формальный пример: представьте, что функция активации линейна (это функция вида F(x) = ax+c, то есть её график - прямая линия), или её совсем нет (a=1, c=0). Теперь, рассмотрим пару соседних слоёв нейросети: первый: h = F(Wx + b); второй: y = F(Vh + d). W и V - матрицы, b и d - вектора смещений. Если подставить одно в другое, получим y = F(V(F(Wx + b) + d). Если бы F не было, или если бы это была линейная функция [F(x) = ax+c], то можно было бы раскрыть скобки, привести подобные и получить, что y = Tx + s, где T - какая-то другая матрица, а s - какой-то другой вектор. Это значит, что два слоя эквивалентны некоторой однослойной нейросети. А однослойные сети могут работать только с очень простыми данными.

    • @poleg75
      @poleg75 2 года назад

      @@user-uy8zl7qd2e Отдельно стоит заметить, что линейная функция активации означает, что градиент постоянен и никак не связан с весом. Т.е. у линейной функции нет такой зависимости, что чем больше ошибка, тем больше градиент и тем быстрее спускаемся. А у нелинейной - есть.

    • @kuaranir2440
      @kuaranir2440 2 года назад

      Без функции активации нейронная сеть станет просто логистической регрессией

  • @kraych6333
    @kraych6333 3 года назад +8

    дожились

  • @MegaTroll
    @MegaTroll 3 года назад +3

    Ай, мозг сорвал

  • @tematikh
    @tematikh 2 года назад

    Моя нейронная сеть путает iris-versicolor и iris-virginica. Я использовал смещения, но это не помогло. Почему это могло произойти?

    • @murshig5370
      @murshig5370 2 года назад

      Она переобучилась

  • @RCCopterChannel
    @RCCopterChannel Год назад

    Ничего не понятно, но было очень интересно

  • @yourzorge
    @yourzorge 2 года назад +3

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

    • @alexeyyakovlev4348
      @alexeyyakovlev4348 2 года назад

      Даже эту теорию можно было подать проще, в инете есть это все в более простом виде. На уровне кода с описанием то же есть. На numpy это буквально 10 строк кода.

  • @mais_it2318
    @mais_it2318 2 года назад +1

    Извините, не понял что такое омега в функции E()

  • @AndyKybik
    @AndyKybik 2 года назад +1

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

  • @user-nc3xf4pp1p
    @user-nc3xf4pp1p 9 месяцев назад

    Не совсем понимаю фразу на 19:14 "функции активации нет", а потом все равно применяем softmax то есть она все таки есть? Если она действительно есть, то при обратном распространении dE/dt_2 = dE/dz * dz/dt_2 = (z - y) * (diag (S(t_2)) - S.T(t_2) * S(t_2)). Вторая скобка это производная softmax

    • @raskigames8470
      @raskigames8470 5 месяцев назад

      Это не функция активации, а, если так можно выразится, нормализация полученных данных для сравнения

  • @user-df6me8ol2h
    @user-df6me8ol2h 2 года назад

    нормально

  • @frozenplay1417
    @frozenplay1417 13 дней назад

    О, скьюб на столе!

  • @user-wi8xw9gk7y
    @user-wi8xw9gk7y Год назад

    Ултра мега хорош

  • @14types
    @14types 2 года назад

    Да уж, всё равно это всё поверхностное объяснение. Ищем градиент, а с чего вообще? И с чего вообще решили, что куча уравнений может вычислять то, что нам надо в реальной жизни. Блин, я учился на ВМК как раз на кафедре численных методов, где были курсы и по нейросетям, и по апроксимациям всяким в гильбертовых пространствах. Как жалко, что я не учился, а играл в Варкрафт. Но зато сейчас появилось желание всё это понять, хоть уже и возраст ближе к старому.

  • @art2contrast
    @art2contrast 11 месяцев назад

    Ставь лайк если ты тоже нихуя не понимаешь, но почему то тебе очень интересно!

  • @kuaranir2440
    @kuaranir2440 2 года назад

    Я так понимаю, при самом первом ПРЯМОМ прохождении графа мы берем абсолютно случайные веса?

  • @user-xv4wd3cz9x
    @user-xv4wd3cz9x 2 года назад

    В топ

  • @KlinovAS
    @KlinovAS 2 года назад

    Не знаю, смогу ли разобраться. Если формула с первого видео понятна, то здесь вообще ничего не понимаю. Тупо математика. Это тоже самое что в Википедии. Как мне с формулы вывести конкретно вес для нейронки после ошибки, я так и не понял. Попробую еще раз посмотреть. Может что-то упустил. Или хотя-бы на готовый код посмотреть, быстрей разберусь чем эти математические уравнения.

  • @user-oc3bw2ec7h
    @user-oc3bw2ec7h Год назад

    Так стоп)))
    Наверное я начал не с того места постигать нейро сети. так то я системный аналитик . и опыта написания кода у меня нет.
    Может прежде чем подходить к нейро сетям нужно(к примеру):
    1. Постичь основы статистики
    2. достаточно понимать Основы теории вероятностей
    3 . математические алгоритмы - классические
    ?
    или иное

  • @smartflex-sx8ix
    @smartflex-sx8ix Год назад

    Что такое вектор b

    • @user-sp7kj9ho6y
      @user-sp7kj9ho6y Год назад

      сдвиг на константу после умножения. в первом ролике вводится, вроде

  • @OnTheWayToTheDirection
    @OnTheWayToTheDirection Год назад

    16 мин 56 сек. Объясните, как вы ситуацию для самого правого слоя обобщили для всех остальных слоёв? Просто:
    1. Именно на этом самом правом слое мы не применяли функцию Relu, а значит обобщать ситуацию вроде нельзя...
    2. Чтобы обновить значения W и b на некотором k-ом слое вам получается надо знать y[k]? Тогда не совсем понимаю откуда взять y[k] на самом левом слое например...
    17мин 2сек, производная внутренней функции, внутренняя функция - это сумма. Производная от суммы = сумме производных, а почему у вас там просто е^tk...
    17 мин 23 сек, почему когда вы ввели эту переменную k и взяли производную, в знаменателе над е осталось j, а в числителе осталось k?!

  • @user-eo3cn8pb3u
    @user-eo3cn8pb3u 2 года назад

    Почему W1 W2 матрицы? Просто я думал что 1 нейрон это одно число, следовательно на 1 слой 1 вектор. Что отождествляют столбцы и строки матрицы? (да да даже на самое подробное объяснение что есть на ютубе найдутся те кому оно не понятно)

  • @kkordik
    @kkordik 2 года назад

    Ясно, в 10м классе это тяжело понять, но я пытаюсь)))

  • @yourzorge
    @yourzorge 2 года назад

    Прошу Вас использовать в следующих видео фреймворк PyTorch

  • @quenbyako
    @quenbyako 2 месяца назад

    4:37 "пусть откуда-то дано dE по dH в численном виде"
    5:48 "ну что давайте все это выводить по очереди"
    5:53 "при условии что dE по dH нам дан"
    Ты прикалываешься? Прикольчики любишь, да? Приколдесики пулять, шутеечки шутить? Я РАЗРАБОТЧИК С 7 ЛЕТНИМ СТАЖЕМ И Я ТЕБЯ НЕ ПОНИМАЮ, АЛО, МОЖНО БОЛЕЕ ПОНЯТНО?))))

  • @alexeyyakovlev4348
    @alexeyyakovlev4348 2 года назад +1

    Если вы хотите всех напугать или запутать начинайте все объяснять с дифференцирования…. На самом деле если отбросить все навороты математического языка то прямое и обратное распространение до смешного понятное и простое. Просто оно сложно и громоздко доя восприятия записывается на мат языке. Кому интересно можете поискать в интернете статьи или ролики где все то же самое рассказано боле простым языком. По факту все сводится к серии умножений матриц на вектора и вектора на вектор поэлементно.

  • @dim1979
    @dim1979 Год назад

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

  • @user-sl4jq9op9l
    @user-sl4jq9op9l Год назад

    Дмитрий, вот такой вопрос, нигде не могу найти ответ... Я математик, только начинаю изучать ML и NN.
    Почему вообще применяется такой многоиттерационный алгоритм? Почему, вместо backpropogation, - не вычисляется просто обратная матрица [W]+[B] линейно-алгебраическим способом, из уравнения [W][X1]+[B] = [Y1], где размерность пробной выборки из набора обучающих данных [Y1] равно размерности матрицы весов [W], чтобы уравнение имело однозначное решение? Потом, найдя решения [W1], [W2], [W3],... для разных случайный под-наборов обучающих данных, просто усреднить почленно w_ik всех [W1], [W2], [W3], т.о. получив максимально приближенное ко всем поднаборам решение ? Так не сработает, или просто нельзя выкидывать функции активации из архитектуры (их придется выкинуть для линейного решения уравнения) ?

  • @user-zy7ui3ix1z
    @user-zy7ui3ix1z Год назад

    На какой минуте ваш мозг вошёл в режим аварийного отключения?

  • @user-zz6dl9mj7h
    @user-zz6dl9mj7h Год назад

    А я думал сопромат это тяжело...

  • @darkelectro7044
    @darkelectro7044 11 месяцев назад

    ля, сколько формул, чтоб прийти к z-y

  • @sytyluipes
    @sytyluipes Год назад

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

  • @kmskmskms83
    @kmskmskms83 6 месяцев назад

    это надо нехило матанализ изучить предварительно чтоб хоть чтото понимать из происходящего. Мне понятны только ровно первые три минуты ролика. Дальше тёмный лес

  • @Fakster_Bakster
    @Fakster_Bakster 6 месяцев назад

    Это не изложение мысли, идеи, это просто чтение формул, которые вы подглядели где-то и перерисовали и прочитали. Так? А знаете как Ньютон сформулировал закон всемирного тяготения: "ф равно ж на м на м и на р с верхним индексом два".

    • @user-xf2oe6en4x
      @user-xf2oe6en4x 2 месяца назад

      Это чтение сценария видео. В нейросети без высшей математики не советую лезть

  • @user-ns3ei2hk8o
    @user-ns3ei2hk8o 3 года назад

    Уля ля

  • @Bru2009ia
    @Bru2009ia Год назад

    Tckb rbjvbenbj ELbfkbcm -ЕслиКиомиутио Удиаиось Тьфуты -аКиомутио -Ние Удиолиось -Тиооо... 1.33.с.

  • @mangod2411
    @mangod2411 Год назад

    •_• я ваще не понял, что такое d? Почему мы к d приписываем w, E, W, b, t? Почему вообще мы делим d... на d...? Полегче бы... А то смотрю, а там и видно только d.../d...= d.../d... + ... * ...
    Одни только d. Я потерял смысл слова градиент, когда в мире появились градиенты веса, t и еще чегото? Я слышал токо о просто градиенте.

  • @nikolaydd6219
    @nikolaydd6219 2 года назад

    Без визуального представления, ничего не понятно.

  • @adsf7869
    @adsf7869 6 месяцев назад

    Я понял что ничего не понял

  • @user-ii4fo8hm6d
    @user-ii4fo8hm6d 2 года назад

    Скажите!!!!Это я такой тупой 8-мом классе, что я почти не чего не понимаю

  • @_AbUser
    @_AbUser 11 дней назад

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

  • @Achmd
    @Achmd 2 года назад

    такие громоздкие вычисления лишь ради того, чтобы показать, что ошибка на нейроне равна выходному результату минус искомое значение (z-y), а ошибка на связи равна ошибке на нейроне, умноженной на соответствующий входной нейрон. Т.е. Е1=z1-y1, Ew11 = E1*x1
    ы

    • @denisyegorov5109
      @denisyegorov5109 Год назад

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

  • @Fakster_Bakster
    @Fakster_Bakster 6 месяцев назад

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

  • @user-sr6dn7os5f
    @user-sr6dn7os5f Год назад +7

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

    • @Fakster_Bakster
      @Fakster_Bakster 6 месяцев назад

      Потому что он всё видео говорил "х" в "ж", "п" на "л", "г" из "ж". Нехер делать таким деятелям на ютабах.

    • @spindle7554
      @spindle7554 6 месяцев назад +5

      потому что чтобы реально понять нейросети нужно понимать математику

    • @raskigames8470
      @raskigames8470 5 месяцев назад +4

      ​@@Fakster_Bakster Я ничего не понимаю в математике, но разжуйте мне достаточно сложную тему и в рот положите. Автор видео реально постарался и объяснил достаточно простым языком. Не поняли? Хоть попытайтесь сначала разобраться в основах матанала и аналитической геометрии, прежде чем писать этот бред)

    • @tilllindemann9794
      @tilllindemann9794 4 месяца назад +3

      ​@@Fakster_Baksterесли ты не разбираешься в базовой математике, это не значит, что автор плохо объясняет

    • @CanalNew1
      @CanalNew1 4 месяца назад +2

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

  • @Fakster_Bakster
    @Fakster_Bakster 6 месяцев назад

    "Е" по "а", "в" на "е", "ю" под "я", "х" в "ж". Это всё что я понял. А вы пробовали говорить по-русски?

  • @ezelzip2309
    @ezelzip2309 3 года назад +3

    Все равно всё очень сложно. Гуманитарий не понимает. Что за Д? И от куда она взялась? Почему приходится самому додумывать что такое W11 и W21? И где она располагается. Надо было прямо над линиями писать. Ведь школу закончили многие давно. И не понятно что вектор, это линия по диагонали связующая между входным данным и нейроном. Данная инфа подходит только для тех, кто хорошо знает матчасть, и технарям. А тем кто забыл математику именно функции, просто мозг дёргает от каждого слово, как током.

    • @TheBoxGameDrop
      @TheBoxGameDrop 3 года назад +1

      Ну да, много не понятного. Но это не вина автора. Садитесь и учите теорию, сам вот нагоняю. И если вы решили сесть за нейросети, то нужно понимать, что это занятие совсем не для гуманитария

    • @ezelzip2309
      @ezelzip2309 3 года назад

      @@TheBoxGameDrop нашел одно видео, очень четко разжёвано и понятно. Осталось только с обучением у его на канале найти. Суть в том, что бы разобраться, именно в начале. Потом все самому будет понятно, по логике, свои идеи реализовывать.

    • @TheBoxGameDrop
      @TheBoxGameDrop 3 года назад

      @@ezelzip2309 Да именно так, я тоже только учу нейросети, но как я понял, самое тяжелое в начале )

  • @defix_gamedev
    @defix_gamedev 3 месяца назад

    нихуя не понятно

  • @user-dt3ie2ct6c
    @user-dt3ie2ct6c 2 года назад +4

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

    • @gmmips
      @gmmips 2 года назад

      Я ещё на производной сломался

  • @blackswaneleven
    @blackswaneleven Год назад

    Прочитай правила перемножения матриц. Бред

  • @New-vk6ks
    @New-vk6ks 2 года назад +1

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