НЕЙРОСЕТЬ В 7 СТРОК - ВЫ ОРНЁТЕ

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

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

  • @mrFAKTORify
    @mrFAKTORify 3 года назад +293

    Я понял. Спасибо! Хотя, искал как приготовить котлеты

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

      ну что? приготовил?
      а с чем они были кста?

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

      @@OsakuMasatoshi с курицей)

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

      @@mrFAKTORify и как? вкусно получилось?

    • @Delhat-z9q
      @Delhat-z9q 2 года назад +3

      @@OsakuMasatoshi походу сдох

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

      @@Delhat-z9q помянем

  • @TheMRARSONES
    @TheMRARSONES  4 года назад +65

    Кто хочет пример посложнее?

    • @МечиславПугавко
      @МечиславПугавко 4 года назад +2

      Интересна самая маленькая сеть для классификации объектов на картинках

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

      Го, хуле.))

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

      может скажите как эту нейросеть использовать ?

    • @77Fealin
      @77Fealin 3 года назад

      +

    • @Алг-ж3д
      @Алг-ж3д 3 года назад +4

      Неужели на 8 строк?

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

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

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

    Супер! Подробно, коротко и ясно. А теперь точно так же про обучение плииз!!!))))

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

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

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

      @@LLlblKAPHO 2 тебе за объяснение

  • @geekoff_tutorials
    @geekoff_tutorials 9 дней назад

    Вот если честно, это лучшее что я нашёл! Продолжай делать и усложнять сеть, развивая её. Подписался!

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

    Наконец-то, после стольких лет я нашел видео ролик, где все: расписано, показанно, рассказано и объяснено!?
    Спасибо большое автору канала😇

  • @джоджофаг-п1м
    @джоджофаг-п1м 3 года назад +7

    Большое спасибо, пересмотрел кучу видео и не понял, а посмотрел это видео и все понятно

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

    Боже чел где ты был всё это время, единственное видео с хорошим объяснением, спасибо большое!

  • @OleksandrNechai
    @OleksandrNechai 3 года назад +17

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

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

    О, это просто охуительно. Как человек науки вам говорю.

  • @БаллРабот
    @БаллРабот 9 месяцев назад

    Единственный адекват. Ты где был когда я все пытался это понять 5 лет назад

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

    Можно было функцию написать в одну строку и вместо создания переменной outputs зразу выводить результат, а также создание переменных можно было записать таким образом - inputs, weights = ... И получилось бы 4 строки.

    • @АлександрКреденец
      @АлександрКреденец Год назад

      Можно вообще в 3:
      1)import numpy as np
      2)def sigmoid(x): return 1/(1+no.exp(-x))
      3)print(sigmoid(np.dot(np.array([0,0,1]), np.array([10,0,-5]))))

  • @k1ndplay
    @k1ndplay 4 года назад +22

    Немного с мемными вставками перебор как по мне) В целом круто интересно было посмотреть. Да можно по сложнее пример :)

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

    Сижу и думаю, где я видел эту сеть, (у Хауди), точно такая же, но тут хоть объяснили в чем суть

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

    Прекрасное изложение! С активацией юмором - ваааще класс!

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

    Очень хорошая идея подачи информации, я про сноску кода внизу экрана, в то время когда «теория» описывается ручкой на бумаге!

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

    На будущее: отключаем автофокусировку камеры)

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

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

  • @redimer-l9r
    @redimer-l9r 3 года назад +12

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

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

      Суть в том, чтобы программа выдавала первый элемент входных данных(из массива [1, 0, 1] - это 1, из массива [0, 1, 1] - это 0, и т.д.)
      так вот ответ(случайное число в итоге) - это и есть ответ(он либо приближен к 1, значит 1, либо приближен к 0, значит 0)

    • @redimer-l9r
      @redimer-l9r 3 года назад

      @@DimPyProg Спасибо.

    • @КириллЗахаров-ы4б
      @КириллЗахаров-ы4б 3 года назад

      @@DimPyProg тогда бы вес второй должен был быть отрицательный, а он участвует со средней значимостью

  • @ДмитрийКиреев-п1в
    @ДмитрийКиреев-п1в 3 года назад +2

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

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

    А мне суслик понравился , АААААААААА🤣🤣🤣🤣🤣!!!!!

  • @ЕгоркаКамушкин
    @ЕгоркаКамушкин 3 года назад +7

    Как всегда, строки деления не хватило, пришлось продлить)))

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

    Спасибо за самое понятное видео по нейросети!

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

    Любой ютубер, когда длина видео не достаточна для монетизации:

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

      наверное)
      а то я про свои программы в 100+ строк на java за 5 минут расказываю)
      (может взять на заметку видос?)

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

    А как можно сделать несколько выходов?

  • @Мансур-с7т
    @Мансур-с7т 3 года назад +5

    Требую ещё одно видео про обучение!!!!!!

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

      для однослойной сети? градиентный спуск в помощь! ;-)

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

    Самое интересное то, что этот код можно уместить в две строчки

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

      js программисты:
      🗿

    • @i.teymur
      @i.teymur 2 года назад

      самое интересное, что этот код вообще не нужно никуда размещать

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

    Не особо понимаю, что происходит, слишком рано лезу в эту тему, но себе отложил) на будущее

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

    Спасибо. А как обучить сеть?

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

    Лично для меня бесполезно но снимаешь хорошо молодец

  • @ОрландоОрсо
    @ОрландоОрсо 3 года назад +3

    Почему f(x) = 1.0 / (1.0 - exp(-x)); на листочке? Опечатка? Должно быть f(x) = 1.0 / (1.0 + exp(-x));
    Спасибо за видео.

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

      Да, верно, очепятка, Спасибо)

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

      Дьявол кроется в деталях.

    • @An-mt7ed
      @An-mt7ed 2 года назад

      @@TheMRARSONES Я подумал это метарофл

  • @ГошаАкопян-ч8ш
    @ГошаАкопян-ч8ш 2 года назад

    Я действительно понял. Уважаемый, автор, а по Тарифу Рашиду разбор можете устроить?

  • @АртемПодолько-ю2н
    @АртемПодолько-ю2н 2 года назад

    Прикольно, уловил суть синапсов и суть весов

  • @Тудисюди-э7з
    @Тудисюди-э7з 2 года назад

    следующая тема неплохо как определять вес связей

  • @МихаилМосолов-ш5л
    @МихаилМосолов-ш5л 3 года назад +1

    Замечательный разбор!
    Подскажите, пожалуйста, откуда во второй программе взяли формулу adjustment=np. dot(training_inputs. T, err *outputs*
    (1-outputs)). Интересна вторая часть (training_outputs-outputs)* *outputs(1-outputs) . Искал в функциях потерь и логистической функции ошибки.
    Спасибо

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

    А каким образом перемножая два массива по три числа получили одно число "Х"? Разве перемножая массив мы не получим такое же количество элементов как и изначально?
    PS. Забавляют комментарии по типу "я все понял", которые на самом деле ничего не поняли.

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

      по идее на выходной нейрон подаётся сумма трёх входных значений. Так как при умножении массивов мы получили значения [0,0,-5], а exp(0)=1 и при расчёте функции активации получается, что нам нужно 1 поделить на 0, а математика нам запрещает это делать, я так понял, что эти значения игнорируются и остаётся только "-5". Либо, если функция активации рассчитывает уже после сложения значений массива, мы в любом случае получаем "-5". Посчитай всё вручную и вопросы отпадут.

  • @АндрейРадченко-р4л
    @АндрейРадченко-р4л 2 года назад

    А откуда мы берём веса?

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

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

    • @АндрейРадченко-р4л
      @АндрейРадченко-р4л 2 года назад

      @@TheMRARSONES а можете объяснить на пальцах, откуда их брать?

  • @ばからか
    @ばからか 3 года назад

    веса нормализовывать уже не модно?

  • @ЛераБ-и8ц
    @ЛераБ-и8ц 2 года назад

    Спасибо!!

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

    добавь обратное распространение ошибки и расскажи плез

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

      если он добавит обратное распространение ошибки, то придётся обучающую выборку делать)

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

    Мне надо было математику учить в школе 😅

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

      Мне тоже. Нужную тему математики про умножение матриц можно понять за пол часа по видеоурокам

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

      @@TheMRARSONES Я за этот год уже понял как это работает, спасибо.!

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

    посмотрел видео,классно но я себя чувствую как на 3:20 минуте ! :)

  • @НиколайМарков-ц1е
    @НиколайМарков-ц1е 3 года назад

    keras в помощь, господа))))

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

    Это суммирование весов

  • @Krpr-bk6mo
    @Krpr-bk6mo 3 года назад

    Это конечно интересно но что с этим делать?

    • @all-536
      @all-536 2 года назад

      у меня тот же вопрос

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

    Привет! Почему-то import numpy as np не работает

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

      "pip install numpy" в коммандной строке должен помочь

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

      Да, не установлена библеотека

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

    А почему веса равны 10,0,-5 ?

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

      Это уже обученные веса. Процесс обучения предполагался отдельным видео

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

    Вот только какой смысл этой сети? Чем она полезна

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

      Вот эта например умеет вычислять XOR

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

      @@TheMRARSONES ор

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

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

  • @1234mifa
    @1234mifa 2 года назад

    а где обучение?)))

  • @3310-s4u
    @3310-s4u 4 года назад +2

    Давай новые видео
    Снимаешь топ 😁

    • @3310-s4u
      @3310-s4u 4 года назад +2

      Пожалуйста

    • @3310-s4u
      @3310-s4u 4 года назад +2

      Не откуда смотреть на это объяснение

    • @3310-s4u
      @3310-s4u 4 года назад +2

      Я не вышмат но Я хоть что то понял

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

      мне такого под видео ещё не писали(
      *плак*

  • @ПетяПупкин-д1й
    @ПетяПупкин-д1й 2 года назад

    Так вот как оно делается! Только я не понял что это и для чего это? А так, всё понятно, но не мне!

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

    Искуственный интелект может менять напряжение в сети ?

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

      В нейронной?

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

      В перцептроне

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

      @@stepazubkov47 у меня повышается, когда думаю как ответить на вопрос

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

    чет не понял, а что ты подсчитал? формулу ради формулы?)

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

      Логическая операция силами перцептрона ради вас и нас

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

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

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

      Теперь вы знаете что это не магия а просто способ вычисления

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

      @@TheMRARSONES обучаемые нейросети немного не так работают

  • @front-rud
    @front-rud 2 года назад

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

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

    наконец то я хоть что то понял :)

  • @Тудисюди-э7з
    @Тудисюди-э7з 4 года назад +1

    Автор. класно. Но чего забросил тему нейросетей?(

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

      Думая Автор сам не понял, зачем он это писал.
      Следующая его тема, "Как собрать пирамидку с цветными кольцами"

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

    я могу написать нейросеть в 1 строку, которая сможет делать не меньше этой(а может и больше)

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

      Жесть ты крутой, импортируешь библиотеки и юзаешь в 1 строку, ваау

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

      @@bocik2854 я библиотеки для нейросетей не ставил так то-_- и с чего ты взял, что я что то импортирую?

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

      @@Champion81 ну а как иначе написать НН в 1 строку?)))

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

      @@bocik2854 руками

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

      @@bocik2854 лан потом сделаю и может видос с демонстрацией залью

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

    Ага 7 строк.. можно и еще меньше сделать, вот только сколько строк в самой либе то?

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

      Кликбейт это называется..

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

      @@keradan Обещанные 7 рабочих строк предоставил, значит не кликбейт?

    • @TheMRARSONES
      @TheMRARSONES  4 года назад +8

      По моему скромному мнению, это называется филосовский вопрос. Я понимаю чем вы расстроены. Можно было бы написать на ассемблере без библиотек. Строк кода было бы очень много и вероятно это был бы целый бесполезный видеокурс. Можно было ещё сначала написать драйвера для клавиатуры, чтобы написать код на ассемблере. А можно и вовсе сначала с нуля изобрести компьютер. Учитывая ограниченные возможности человека - слишком сложно и долго. Учитывая что это всё уже сделано и доступно - бессмысленно. Получается остаётся один логичный вариант для человечества: брать лучшие готовые достижения и библиотеки и создать на их базе нечто новое и ещё более высокоуровневое.

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

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

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

      @@keradan , из библиотеки используется только две базовые функции: Функция np.dot() вычисляет скалярное произведение двух любых массивов и функция np.array(), которая создает эти массивы. Это две классические математические процедуры. Те 7 строк, оперируя ими, составляют именно нейросеть. А значит это не фасад а нейросеть в 7 строк даже с фасадом в комплекте?

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

    явахуи

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

    А можно неиронку написать с нуля, а не библиотеку юзать?

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

      Что подразумевается под нулём? Библиотека только умножает две матрицы. Вы же знаете как умножать матрицы?

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

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

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

    Что, это такое!? Для чего это можно применить, это же шляпа!

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

      Если поставить входных нейронов раз так в 200 больше , а на выходе сделать всего 2,то можно сделать нейронку по определению настроения по нарисованному смайлику, входные нейрноы - пиксели

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

      Я забыл сказать, что она решает задачу XOR, но не так как калькулятор, а скорее как человек

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

      @@TheMRARSONES всм как человек?
      и тут перцептрон без скрытых слоёв по моему, а для исключающего или надо 1 скрытый слой как минимум
      и связи 10, 0, -5 что они дают?(особенно средняя, оно вроде же не влияет на ответ, как и средний вход)

  • @Æfsænti
    @Æfsænti 3 года назад

    них.. не понял

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

    что это спасибо я ничего не понял что это зачем я это смотрю эм???

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

    орнул

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

    ни чё не понял

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

      тем временем я: всё и так более менее знал

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

    Ерунда.

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

    Смотреть невозможно!!! Камера трясётся, что за ужас

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

    Вопрос один, как идёт перемножение матриц(синапсов и т.д.) есть ли там усреднение... , математика волнуить.