[DeepLearning | видео 2] Градиентный спуск: как учатся нейронные сети

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

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

  • @Демидов-д1ъ
    @Демидов-д1ъ 4 года назад +168

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

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

      на крайней случай можно включать такие видео в яндекс браузере. там нейронка их хорошо переводит :D

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

      ​@@Kenderosikпроприетарщина

  • @molotkovm
    @molotkovm 2 года назад +27

    Это потрясающе! Большое спасибо за такое объяснение и отдельное спасибо за инфографику! Титанический труд

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

      Это просто перевод, благодарности надо автору делать, а не переводчику

  • @Леонид-с5з
    @Леонид-с5з 8 месяцев назад +2

    1:57 алгоритм
    2:38 MNIST Database
    3:10
    4:00 вычисление функции ошибки (математическим языком - добавить квадрат разности между каждым "плохим" значением)
    4:56 функция ошибки
    5:19
    6:50
    7:04
    7:34 8:02 многомерный анализ
    8:24
    9:18
    10:06
    10:42 !
    11:27
    11:45 вычисл. градиента функции двух переменных
    12:10
    12:28

  • @mtopsib
    @mtopsib 4 года назад +12

    Впервые понял суть обучения, спасибо

  • @linkernick5379
    @linkernick5379 4 года назад +13

    Молодцы, большое спасибо переводчикам.

  • @Mrsashafr
    @Mrsashafr 4 года назад +18

    Шикарно, великолепно и доступно!

  • @paul.antares
    @paul.antares 4 года назад +23

    Ничего не понятно, но очень интересно. Зачем-то посмотрел оба видео)

  • @paveldukov
    @paveldukov 4 года назад +6

    Спасибо!🤝
    Вы самая крутая команда в этом направлении.

  • @retway3
    @retway3 5 месяцев назад +1

    Огромная благодарность за перевод

  • @DataScienceGuy
    @DataScienceGuy 4 года назад +27

    Лол, чисто случайно зашел проверить , а тут новое видео)

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

      Когда новое видео

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

      Джамбул на пути к Машинному обучение и нейронным сетим

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

    Очень полезно для новичка, спасибо!

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

      Новичок относительно чего? Я например нихрена не понял....

  • @ЮрийСвердлов-т7х
    @ЮрийСвердлов-т7х 10 месяцев назад

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

  • @jefffox8301
    @jefffox8301 4 года назад +46

    Видимо это видео оценили только гики математики и программирования, жаль что таких не много, но я благодарю вас за проделанную работу, good luck ^ω^

    • @Staryi-Sceptik
      @Staryi-Sceptik 4 года назад +2

      Разве производную не проходят в школе?

    • @ДмитрийКутюшкин
      @ДмитрийКутюшкин 2 года назад +5

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

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

      Для гиков это слишком тривиальное видео

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

      ​@yessenzhol8989я тоже ниxрена не понял

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

      @yessenzhol8989 надеюсь, что ответ будет уже неакутален, но все же. Дело в том, что нам нужна функция ошибки, чтобы мы(или сама нейросеть) могли оценить точность. Квадрат - оптимальное решение, так как если мы возьмем, например, 4 степень, то условное (1 - 0.7) = 0.3 (я взял случайную величину) превратится аж в 0.0081(0.3^4), что является низким отклонением, тогда как 0.09 на целый порядок больше. Так, в случае 4 степени, 0.7 считалось бы очень маленьким(условно) отклонением, а в случае 2 степени - средним.

  • @ОбычныйЛангуст
    @ОбычныйЛангуст Год назад +2

    Просто супер! Спасибо)

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

    Вот это видео у него (изначального автора) получилось гораздо мощнее первого вводного!

  • @darkfrei2
    @darkfrei2 4 года назад +5

    Это всегда интересно :)

  • @MrDarkwolk
    @MrDarkwolk 4 года назад +3

    офигеть какой крутой канал, автор ты крут=)

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

    Спасибо за перевод. Только хочу отметить неточность на 18:58: все же "accuracy curve" и "кривая доли правильных ответов" - это совсем не одно и то же по смыслу. Первое про точность (меньше - лучше), второе про успешость (больше - лучше). Резануло несоответствие картинки и звукоряда, подписи на графике заставили лезть в оригинал.

  • @danihov
    @danihov 3 года назад +13

    Объясните, пожалуйста, момент с обучением на неправильных данных.
    Как сеть, которая обучалась на неправильных данных в итоге может показать такой же результат, как и та, что на верных.
    Ведь в первом случае для нейросети вилка всегда будет львом. Каким образом нейросеть может понять, что это не лев. Если никто ей не сообщает верных ответов.
    Видимо я понял неправильно.
    Буду благодарен, если кто объяснит ..

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

      Могу путаться в терминах, но объясню как понял я. В первом случае они обучали сеть, выводя из нее данные в неструктурированном порядке. Например, в первой эпохе обучения они ввели в сеть картинку льва. Сеть выдала допустим вилку, но так как этот ответ не верен, мы корректируем ее работу функцией минимизации ошибки. Далее они изменили выходные данные, то есть изменили последний слой. Например на место, где результат был "вилка" она поставили "церковь". И далее начинается вторая эпоха обучения. Таким образом, сеть училась долго, но в итоге запомнила все объекты и стала выдавать нужный результат.
      А во втором случае они каждую эпоху не меняли последний слой, то есть появилась некая структура. И сеть обучалась гораздо быстрее.

  • @TDMLab
    @TDMLab 4 года назад +7

    Спасибо!)

  • @stanislavserov8622
    @stanislavserov8622 Год назад +4

    Я ничего не понял, но спасибо за полезное видео!

  • @DarkFTP
    @DarkFTP 4 года назад +6

    Спасибо!

  • @aidenstill7179
    @aidenstill7179 4 года назад +4

    Отличный контент!

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

    Как же автор хорошо

  • @rubiks7196
    @rubiks7196 4 года назад +1

    Ура наконец-то перевод

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

    Я ничего не понял. То есть чтобы узнать значения потерь нужно разметить вручную (!!) сотни правильных примеров?

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

    бозе мой, где вы раньше были..

  • @ЭльмираБулатова-в5ч
    @ЭльмираБулатова-в5ч 4 года назад +16

    Продолжай в том же духе! Я как раз пишу алгоритмы по нейросетям)

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

    6:12 допустим w в данном случае 2, "мы" спускаемся к 1, но это же не минимум? Минимум будет в -2. Как нам туда попасть, если придётся идти "вверх по горке" ???
    8:35 т.е. в этом случае, если бы минимум функции был не в (3;0), а в (0,5; -2) то пунктирная линия бы прошла "условно" почти "перпендикуляром к оси" от места поворота пунктирной линии?

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

      1.В тот-то и дело, что попасть туда - никак. Либо выбирать случайные точки и в них смотреть градиент(точка от 13 тысяч переменных, представьте, как сложно будет найти глобальный минимум в 13000-мерном пространстве.
      2. Нахождение минимума - это и есть нахождение этой линии, которая будет перпендикуляром.

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

      @@D0fka вот мне и непонятно каким образом это получается, грубо говоря это случайно получается. Если случайная точка взята с другой стороны "области" то получится что градиентом нас стянет в ближайшую "яму"?

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

      @@Veyron104 ну да, минимум, на который мы попадем, случаен. Просто это нецелесообразно и почти невыполнимо, найти глобальный минимум от такой функции. Мы просто придем к любому локальному минимуму, но нас это устраивает

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

    Спасибо вам

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

    А зачем квадрат разности тр🤔 чтобы не было отрицательных значений?

  • @maksum4062
    @maksum4062 3 года назад +4

    Пока для меня это сложно. Но со временем я вернусь. ДС МЛ НС я иду за вами

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

      Вопрос сквозь годы, ну как, вернулся?))

  • @constantinveltmann7196
    @constantinveltmann7196 4 года назад +3

    А что если запустить сеть в обратную сторону? Допустим дать ей на нейрон отвечающий за 1 единицу, а на остальные нули. Пройти по обратному пути и построить изображение из входных нейронов, что она покажет? Идеальная единица с точки зрения нейросети

    • @1Hanch
      @1Hanch 4 года назад +1

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

    • @1Hanch
      @1Hanch 4 года назад +1

      тут регуляризацию можно понять и много другое playground.tensorflow.org/

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

      Она покажет лишь 2 рисунка, поскольку может быть лишь 2 входа, 0 и 1

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

      @@endlessvd ничего, что там 10 выходных нейронов? то есть если инвертировать нейронку, будет так же 10 входных
      можно задать им строго единицу на один из этих нейронов, чтобы получить идельную цифру, а можно поиграться с десятичными значениями, чтобы получить 50/50 то ли 1 то ли два итд

    • @constantinveltmann7196
      @constantinveltmann7196 10 месяцев назад

      @hottabych137 фарш необратим. Математические операции обратимы

  • @pencil_12
    @pencil_12 4 года назад +3

    Как всегда топ

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

    super. ocen kruto.

  • @ДмитрийГруздев-и3и
    @ДмитрийГруздев-и3и 4 года назад +3

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

    • @YY-zw2ec
      @YY-zw2ec 4 года назад

      Наверное правильные = проверечные(valid data)

    • @kirillusenko
      @kirillusenko 4 года назад

      В процессе обучения показываются картинки с правильным ответом и сеть учится

    • @Staryi-Sceptik
      @Staryi-Sceptik 4 года назад +3

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

  • @ЕкатеринаКекштайте

    Я тупич, и то суть дошла, спасибо!

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

    И все же машина зазубривает, как и мы :)

  • @Azurelius
    @Azurelius 4 года назад +1

    Функция ошибки это функция потерь (loss function) ?

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

    4:05 к чему добавить?

  • @naturetechno6001
    @naturetechno6001 4 года назад +1

    Спасибо

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

    Почему в конце голос сменился?..

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

    Нарисовано красиво, но в конечном итоге взять и применить отсюда что-то не представляется возможным.
    Просто концепт объяснили красочно.

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

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

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

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

  • @vinsler
    @vinsler 4 года назад +1

    Нужно добавить значение ошибки, это квадрат разности.
    А откуда сеть узнает, что именно на рисунке, чтобы определить куда пихнуть 0, а куда 1 ?
    Это уже не самообучающаяся сеть, а обучаемая, причем на каждую картинку, не сеть определяет правильность, а человек.
    А на 5 000 000 картинок, задавать правильность, на это уйдет очень много времени.
    И хорошо, если это уже всем известная система, а если она ноу-хау, и там не 5 млн картинок, а 100 триллионов?

    • @barkalov
      @barkalov 4 года назад +9

      Есть "обучение с учителем", есть "обучение без учителя". Это разные подходы. Чтобы запилить подобную сеть "без учителя", нужно чтобы на входе и выходе сети было одно и тоже (768 пикселей-нейронов), а в середине сети, на скрытом слое - бутылочное горлышко из 10 нейронов. Тогда сеть будет вынуждена "пропихнуть" изображение каждой цифры через эти 10 нейронов, и восстановить/нарисовать цифру обратно на выходе. Для этого изображения цифр уже НЕ нужно предварительно размечать, сеть их классифицирует самостоятельно на том самом узком слое посередине. Функция ошибки в данном случае будет то, насколько выход сети похож на вход.
      Можно представить, что такая сеть пытается "заархивировать" изображение в 10 нейронах, а потом "разархивировать" обратно. Для этого она вынуждена будет их классифицировать. Самостоятельно. То есть, без учителя. Profit!

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

    Без музыки есть запись?

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

    Я посмотрел наверное с пару десятков видео про Nl и прочитал несколько десятков статей, но я до сих пор ниxpeна на понял как это работает.... 😢 Я пока сделал только один вывод - дадасапиенсы либо банально не умеют объяснять предмет для широких масс, либо сами не до конца понимают. Увы.

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

      @@ofc-s7h Логика в том, что если ты не умеешь объяснять (часто равно не знаешь предмет), то не нужно объяснять, ибо ты только запутываешь людей и тратишь их время. Сквозь тысячи видео/постов го*на очень сложно найти нормальные материалы. Теперь понятно?

    • @user-mu5cj4hv9l
      @user-mu5cj4hv9l 7 месяцев назад +1

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

  • @YY-zw2ec
    @YY-zw2ec 4 года назад +3

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

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

    Я все еще не понял как узнать что полученный результат верный / не верный ? С чем и как сравнивать ?

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

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

    • @Anna_Porosenok
      @Anna_Porosenok 10 месяцев назад

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

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

    А как создать функцию ошибки? Как программа должна понять ошиблась она или нет?

  • @andrewsed_uplisten2019
    @andrewsed_uplisten2019 4 года назад +7

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

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

    Ответ на вопрос в конце видео заключается в использовании сверточного слоя нейронов?

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

    Більше перекладів!

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

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

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

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

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

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

  • @Hengst.
    @Hengst. 4 года назад +3

    жаль, что версию для хлебушков не завезли)

    • @leonidvalentinovich5215
      @leonidvalentinovich5215 4 года назад

      Это она и есть ) Те, кто в универе учился, а не сидел смотря лекции Стендфорда :-)

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

    Если изменить разрешение пикселей то сеть заново перестраивать?

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

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

    • @ЕвгенийГалуза-ь5ч
      @ЕвгенийГалуза-ь5ч 2 года назад

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

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

      @@ЕвгенийГалуза-ь5ч это и так понятно, можно было об этом не писать.

    • @ЕвгенийГалуза-ь5ч
      @ЕвгенийГалуза-ь5ч 2 года назад

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

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

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

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

    Весь мир это градиентный спуск, а ты в ней функция, которая ищет правду

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

      Прям как твоя мамка

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

    3:48 бедная нейросеть за что с ней так строго

  • @stepan-klyukin
    @stepan-klyukin Год назад +1

    хэллоу ворлд! в мире нейронных сетей

  • @ИгорьМищенко-я6ъ

    нифига не понял, но очень интересно

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

    Для 15-летнего - это взрыв мозга

  • @Felix-og7pd
    @Felix-og7pd 2 года назад

    hidden layers - key

  • @barkalov
    @barkalov 4 года назад +1

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

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

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

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

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

  • @iliasmirnov2938
    @iliasmirnov2938 4 года назад +1

    Хотелось бы больше переводов...

  • @СоколрусскогокнязяВладимира

    Почему алгоритм все упрямо называют нейросетью? Какое-то новомодное поветрий. Хотите создать нейронную сеть - поступайте как нейроны, а не как алгоритм. Этакий нейронный алгоритм. Но для этого придется на физическом уровне создать сеть нейронов, основная особенность этой сети - она обрабатывает информацию одновременно в большом поле нейронов. А когда обработка идет в звеньях последовательно - это просто разветвленный алгоритм.

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

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

  • @Nemo-us6is
    @Nemo-us6is 3 года назад

    Ну все скоро я создам свого джарвиса будет по круче алиси и сири)

  • @KirillRomanenko-n6c
    @KirillRomanenko-n6c Год назад

    17:46

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

    784+1 нейрон = 785 на входе, один нейрон для смещения

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

      Sus нейрон 👀👀👀

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

    Синиормын

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

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

  • @РУМАТАЭсторский-ф6л

    вода

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

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

  • @iamdan8203
    @iamdan8203 4 года назад +4

    Кто бы ни читал этот комментарий, знай, что *ГОСПОДЬ ИИСУС ХРИСТОС ЛЮБИТ ТЕБЯ!*
    Whoever reads this comment, know that *LORD JESUS CHRIST LOVES YOU!*

  • @Ciber-FanSistems
    @Ciber-FanSistems 3 года назад +1

    нужно дописать!!! мало ходов !!! ПоЭтоу думает плохо!!!

  • @takhirgafarov3316
    @takhirgafarov3316 4 года назад +1

    Спасибо!

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

    Спасибо

  • @flmew8133
    @flmew8133 4 года назад +1

    Спасибо 🥰

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

    Спасибо