Простая нейросеть. Алгоритм обратного распространения ошибки | Нейросеть на пальцах

Поделиться
HTML-код
  • Опубликовано: 1 дек 2024

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

  • @Олексій-о3з
    @Олексій-о3з 10 месяцев назад +1

    Это действительно самый понятный гайд на всем Ютубе. Большое спасибо автору!

  • @ВалерийСоколов-т3о
    @ВалерийСоколов-т3о 2 года назад +11

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

  • @kataeff
    @kataeff Год назад +3

    Спасибо! Видео ОФИГЕННО полезно! Подобных видео на Ютуб полно, но все они копируют друг друга, при этом объясняют там так, что мои собственные нейроны сворачиваются в клубок. У Вас же всё понятно и доступно.

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

    Самое полезное видео что я видела, без воды и доступными языком!!!

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

    Очень долго искал нормальное объяснение обратного распространения и нашёл это видео. Незнаю почему другие не могут также понятно объяснять.

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

    Очень хорошо объяснил. Спасибо!

  • @cherkasA
    @cherkasA 2 года назад +4

    не знаю сработает ли, но такого подробного объяснения я еще не находил
    спасибо!

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

    самый понятный гайд на всем ютубе

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

    Лучшее объяснения я считаю.

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

    Я был на конференции математиков, и пытался им объяснить, что такое нейросеть, и как раз таки backprogation. Занял 5 место, потому что люди зацепились за слова по типу градиента, ФУНКЦИИ активации, доказывали что ЭТО НЕ ФОРМУЛА ГРАДИЕНТА, хотя все было разжевано, но был допущен к участию в более крупной конференции. Смотря ваше видео, у меня сложилось ощущение, что на этот раз я буду им рассказывать как на пальцах считать... Потому что буду объяснять как вы на видео...

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

    Боже мой это наверное уже десятый "о ну вот этот мужик вроде понятно обьясняет" но только наконец-то благодаря этому видео у меня все получилось! Спасибо огромное! Просто хотел реализацию на Golang сделать гибкую. Спасибо огромное!

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

    Самое самое толковое, подробное и понятно обьяснение, которое можно не только послушать и забыть а реально сделать любую свою конфигурацию и все будет работать. Большое спасибо. Я годами слушаю про эту нейросеть и меня волновал всегда вопрос. А как именно веса подбираются? Кто первый, кто второй? Как понять что поднимать или опускать и где именно, ведь есть много скрытых слоев... Также от себя отмечу (меня никто не понимает с моих знакомых), я считаю, что нейросеть вот эта "математическая" требует современной оптимизации. Здесь нет логики бинарной вообще. А должна быть логика как в шахматах, как в японской головоломке (с рисунком и цифрами). Я делал распознавание символов вообще по своему алгоритму не зная что придумали нейросеть. У меня работает обучение на много быстрей (за один проход выучил и применяем). И другой плюс в том, что я могу расширять аргументы, а нейросеть требует уже изменение в архитектуры (даже если один нейрон добавить), что приведет к полному длинному переобучению. Также моя модель если нет правильного результата то так и покажет что нет. А нейросеть угадывает дальше... Но у меня хуже обстановка если мы работаем с градиентом. Тут нейросеть покажет себя НАВЕРНОЕ лучше. Также свою модель я не усовершествовал. Сохраненные данные обучения занимают реально копейки и работает очень быстро. Другая моя программа распознает дубликаты музыки. Можна по разному поизвращаться - программа находит дубликат. Не может найти только если изменить темп. Третяя програмка должна была искать изображение, но я забросил. Единственное, что я искал по радиусу соседний пиксель, который отличался по контрасту и отрисововал грань. Тоже саме делает и нейросеть. В том отличии лишь, что ей нужно учиться, а у меня это уже фундамент. Вот по этому я уверен, что нейросеть та которая есть сейчас, это хайп из изобретения 80их годов. А реально никто ничего не хочет думать. По бинарным принятиям решения типа XOR/OR/AND... считаю что, легко можно было бы придумать специализируванную бинарнуйю "нейросеть", которая бы быстренько подобрала логику (не веса, а логику). Так как скрытый слой должен играет роль высшего приоритета. По вашему видео, я хоть понял что к чему в сети. Короче, если рандом на вход не подавать, то она не будет учиться. Раздолбит миллион машин сперва, а потом только научится рулить правильно влево/вправо. Считаю это абсурдно. Но если в симуляции, то пусть. Для кого-то главное результат. А из того что есть, результат впечетляет (в некоторых направлениях даже очень). НО, УВЕРЕН, могло бы быть в сотни раз лучше

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

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

    • @Домашка-и6в
      @Домашка-и6в  2 года назад +1

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

    • @johnpolak229
      @johnpolak229 6 месяцев назад +1

      Тоже ожидал, что автор скажет, что это типовая схема проходного выключателя.

  • @gentek7
    @gentek7 3 месяца назад +1

    Отлично ☝️

  • @DaOkay
    @DaOkay 4 месяца назад

    Просто лайк, спасибо большое

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

    Долго интересовала тема нейросетей, но проблема заключалась в том что мой мозг ни в никакую не воспринимал объяснения на более популярных видеорядах, казалось что эта тема - что то недостижимое для меня. После просмотра вашего видео я моментально смог понять что из себя представляет нейросеть и с чем ее едят (грубо говоря я искал любой простой и наглядный пример). Пример нейросети что был показан просто шикарно подходит для введения и начального понимания, благодаря нему я смог сделать свой первый и самый сложный шаг - понять механизм на самом примитивном уровне. Благодаря этому меньше чем за день после просмотра видеоряда у меня уже получилось реализовать свою собственную нейросеть без библиотек с нуля. Хоть она и до жути примитивна (определение циферки нарисованной на холсте 3x5), это все равно огромный прорыв. Первый шаг пройден, теперь дальнейшее развитие зависит только от меня, выражаю огромную благодарность автору за такую возможность.

  • @vladlmlrzadorozhnyy3164
    @vladlmlrzadorozhnyy3164 2 года назад +4

    Хорошее видео, продолжай, все понятно как и надо и без фраз типа ну дальше все ясно без объяснений. Попробу переложить на Си, почему то на Python у меня не все получается

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

    Интересные и понятные видео, отличная работа!!! Почему не продолжаете?

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

    Спасибо за ваш труд!!! Отличная подача материала!

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

    Все классно!

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

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

  • @ДмитрийМалякин-ж3ъ
    @ДмитрийМалякин-ж3ъ 9 месяцев назад

    Самое понятное объяснение

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

    Проходной выключатель решается только с помощью проводов, но мы не ищем легких путей🤣

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

    Почему "с помощью проводов не решается" (01:45)?) Нужно лишь два 3 контактных выключателя. Это, по сути, исключающая или))
    Спасибо за видео, было очень интересно!)

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

    И второе - эту задачу как раз элементарно можно решить не просто однослойным перцептроном, но даже всего ОДНИМ нейроном. Для этого достаточно в качестве функции активации поставить пороговую функцию с диапазоном, где 0 < x < 2.

    • @Домашка-и6в
      @Домашка-и6в  2 года назад +1

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

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

      @@Домашка-и6в Я постоянно встречаю это утверждение, а значит, люди просто не понимают, что можно и по-другому. А то, что люди не понимают как это все работает, создает огромное количество трудностей. Но они и не пытаются понять - просто рисуют нейросети пошире, а в фермы для расчетов вкладывают побольше.
      Это не разумный путь...
      Вот Вы пытаетесь другим объяснить обратное распространение ошибки, а сами то до сих пор не знаете - почему же нейронная сеть работает и какие механизмы к этому приводят. Для Вас это до сих пор черный ящик.
      Так мы ни к чему не придем...
      А было бы неплохо, чтобы люди еще и старались понять - что они делают и почему.

    • @Домашка-и6в
      @Домашка-и6в  2 года назад

      @@flamehowk Ну в одном же видео все не расскажешь! Этому видео так-то предшествовали ещё два других. А поскольку у людей нет особого интереса по данной теме, по крайней мере на моем канале, то пока взял паузу.

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

      @@Домашка-и6в Да никто этих знаний и не имеет. Все только копируют друг у друга структуру перцептрона и классический набор функций активации. Никому и в голову не приходит, что функция может быть пороговой, а не активирующей.
      Поэтому-то для мира глубокого обучения было открытием, что замена сигмоиды на ReLu, а вернее - просто удаление функции активации и добавление примитивного порога на нулевом значении, вдруг несказанно улучшило не только обучаемость нейронной сети, но и ее работу.
      Это называется - метод научного тыка. А понимания до сих пор ни у кого нет. Так что - было бы что рассказывать, давно бы рассказали.
      А что касается интереса к этой теме... дак что ж Вы удивляетесь, в нашем мире единицы думают, процента 2-3 тех, кто думает, что они думают, а в се остальные 97% - лучше умрут, чем будут думать. А Вы хотите у них вызвать интерес тонкостями обучения нейронных сетей.
      Вот слепить фигу из козьих отходов пищеварения или облить помоями какую-нибудь известную личность - вот это им зайдет... сотни тысяч просмотров гарантированы. А если сделать это еще и с талантом - то и миллионы.
      Так что если Вам нужна популярность или заработок, то Вы явно не о том снимаете ролики.

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

      @@Домашка-и6в
      Интерес у людей есть. А вот то, что людей таких не много с этим, конечно не поспоришь.
      Ты конечно, можешь считать, что это обычный ролик каких тысячи в сети. Но нет. У тебя всё доходчиво.
      Лайк. Подписка.

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

    Спасибо

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

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

  • @ИмяФамилия-ж4ж-д7й
    @ИмяФамилия-ж4ж-д7й 2 года назад +3

    Первый раз вижу такой сложный проходной выключатель )))

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

    На подумать. Задача с выключателями решается только с помощью проводов. Схема очень простая.

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

    супер!

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

    Это же проходной выключатель. Легко решается посредством проводов) логика простая

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

    лучший, у других слишком много вышмата

  • @ИванБухенко
    @ИванБухенко 2 года назад

    Полезно

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

    Будет продолжение?

    • @Домашка-и6в
      @Домашка-и6в  Год назад +1

      Хотелось бы надеется, что да, но очень сильно занят(((

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

    Отличное объяснение принципа работы нейронных сетей!!! Спасибо за видео. Подскажите что за программа нейросимулятор и где её можно найти?

    • @Домашка-и6в
      @Домашка-и6в  2 года назад +1

      Это неросимулятор Ясницкого Л.Н и Черепанова Ф.М. Попробуйте поискать на www.lbai.ru/ в лабораторном практикуме Nsim5sc.zip

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

      @@Домашка-и6в Благодарю!

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

      Спасибо большое!@@Домашка-и6в

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

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

    • @Домашка-и6в
      @Домашка-и6в  Год назад

      Так на выходных нейронах не надо считать сумму ошибок! Ошибка e = y - d, где y - это то что выдал нейрон, а d - то что на нем ожидалось. Сумма ошибок считается только на скрытых слоях.

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

      @@Домашка-и6в Получается на этих трех выходных будет своя ошибка?

    • @Домашка-и6в
      @Домашка-и6в  Год назад

      @@GennadiyBunin ну да, см. 10:04

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

    Понятно, вот только загвостка у меня долгое время с пониманием логики 3-х формул обратного распространения. Как их вообще получили?

    • @Домашка-и6в
      @Домашка-и6в  2 года назад +1

      Локальный градиент - это ошибка умноженная на производную от той или иной функции (f`(x)=f(x)*(1-f(x)) - производная сигмоидной функции). На этот счет очень много скучного материала в интернете... Я специально не стал его приводить. Советую посмотреть книги: Тарик Рашид "Создаем нейронную сеть" и Л.Н. Ясницкий "Искусственный интеллект", в них доступно объясняется как была получена формула обратного распространения ошибки.

    • @ДмитроСкляренко2012
      @ДмитроСкляренко2012 2 года назад

      @@Домашка-и6в а как реализовать нейронную сеть для прогнозирования временных рядов в Excel, например температуру окружающей среды на завтра?

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

    2-1 нейросеткой решается XOR

  • @АлександрВальвачев-я6ъ
    @АлександрВальвачев-я6ъ 11 месяцев назад

    Материал хороший, качество видео ужасное, жаль.

  • @Алексей-т6щ6п
    @Алексей-т6щ6п 2 года назад

    Ниуя не какого устройства не надо нужен 5жильный кабель и два выключателя на два положения№

  • @sergeyivzhenko4299
    @sergeyivzhenko4299 29 дней назад

    Жаль, что автор допускает неточности (путает, например, понятия итерации и эпохи), не пояснил вкратце, что b=0 для простоты объяснений, но о важности ненулевого байеса не сказал (что чревато фокусами при обучении). Но это к слову. А так, работа проделана большая - хотя бы красиво расставить геометрические фигуры совместно с цифровыми ячейками требует времени.
    Вспомнилось: "Коллектив большой, народ квалифицированный, работа проделана большая, у меня лично сомнений нет - это дело так не пойдёт!" :)

    • @Домашка-и6в
      @Домашка-и6в  29 дней назад

      @@sergeyivzhenko4299 Спасибо, за конструктивные замечания!

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

    Вероятно автор не внимательно изучил источники, многие из которых сообщают что проходной выключатель это очень простая схема состоящая только из одних проводов - stroisovety.org/wp-content/uploads/2014/07/proxodnoj-vyklyuchatel-03.jpg 🙂

    • @Домашка-и6в
      @Домашка-и6в  2 года назад +2

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

    • @ДмитроСкляренко2012
      @ДмитроСкляренко2012 2 года назад +1

      @@Домашка-и6в а как реализовать нейронную сеть для прогнозирования временных рядов в Excel, например температуру окружающей среды на завтра?