автор забыл объяснить что делает нейросеть, автор забыл объяснить почему у него в значениях весов спрятался ноль, почему он использует сигмоиду, и как она работает. Итог: люди, понимающие нейросети, не обратили внимание на ошибки, а люди, не понимающие нейросети, или подумали, что ошибок нет или повесились
не хватает обратного распространения ошибки из-за чего просто нет обучения нейросети видео как пример для понимания прохождения одного цикла по узлам нейросети - годится
Можно было функцию написать в одну строку и вместо создания переменной outputs зразу выводить результат, а также создание переменных можно было записать таким образом - inputs, weights = ... И получилось бы 4 строки.
хехе! да этож однослойный персептрон Розенблата - у него тоже "всё работало" (причём правда было круто!), пока вдруг "внезапно" не попалась линейно НЕразделяемая задача :-D и... собсно всё "затухло" на годы, все ждали теорему Минского и слои, а также "обратное распространение ошибки" для обучения. правда основная ценность данного видео - это как раз таки показать как компьютер моделирует нейросетку простую изнутри, ну то есть что там тупо массивы и функция (активации), а не "магическая магия" :-)
Что за число на выходе, зачем оно нужно, какая реальная задача решалась, причём тут нейроны если нет пересчёта и вообще повторов и мини\макса, просто линейная формула, я ничего не понял, вы орнёте...
Суть в том, чтобы программа выдавала первый элемент входных данных(из массива [1, 0, 1] - это 1, из массива [0, 1, 1] - это 0, и т.д.) так вот ответ(случайное число в итоге) - это и есть ответ(он либо приближен к 1, значит 1, либо приближен к 0, значит 0)
Понятно. Единственное, к чему не могу не придраться - неверно записано произведение матриц. Матрицы можно перемножить, если число строк первой равно числу столбцов второй. Вы записываете в аргумент экспоненты произведение двух матриц с одной строкой и тремя столбцами. Это неправильно. Нужно транспонировать первую матрицу. Тогда все будет ок.
Замечательный разбор! Подскажите, пожалуйста, откуда во второй программе взяли формулу adjustment=np. dot(training_inputs. T, err *outputs* (1-outputs)). Интересна вторая часть (training_outputs-outputs)* *outputs(1-outputs) . Искал в функциях потерь и логистической функции ошибки. Спасибо
А каким образом перемножая два массива по три числа получили одно число "Х"? Разве перемножая массив мы не получим такое же количество элементов как и изначально? PS. Забавляют комментарии по типу "я все понял", которые на самом деле ничего не поняли.
по идее на выходной нейрон подаётся сумма трёх входных значений. Так как при умножении массивов мы получили значения [0,0,-5], а exp(0)=1 и при расчёте функции активации получается, что нам нужно 1 поделить на 0, а математика нам запрещает это делать, я так понял, что эти значения игнорируются и остаётся только "-5". Либо, если функция активации рассчитывает уже после сложения значений массива, мы в любом случае получаем "-5". Посчитай всё вручную и вопросы отпадут.
@@TheMRARSONES Да блять напиши функцию, меняй входные данные, она тоже умеет считать по формуле... ЛОЛ Автор привёл в пример какую-то хуйню У него Нейрон и синопсы - это те же самые переменные, которые можно использовать в математической функции и считать по формуле...
По моему скромному мнению, это называется филосовский вопрос. Я понимаю чем вы расстроены. Можно было бы написать на ассемблере без библиотек. Строк кода было бы очень много и вероятно это был бы целый бесполезный видеокурс. Можно было ещё сначала написать драйвера для клавиатуры, чтобы написать код на ассемблере. А можно и вовсе сначала с нуля изобрести компьютер. Учитывая ограниченные возможности человека - слишком сложно и долго. Учитывая что это всё уже сделано и доступно - бессмысленно. Получается остаётся один логичный вариант для человечества: брать лучшие готовые достижения и библиотеки и создать на их базе нечто новое и ещё более высокоуровневое.
TheMRARSONES из крайности в крайность. Ваш код это фасад, и к сабжу отношение имеет только 3 строчки с параметрами и вызовом функции. Получается тогда нейросеть в 3 строчки? :) сколько строчек в либе скажите, если не секрет? Ведь это именно то что является кодом нейросети, а не то что на видео.
@@keradan , из библиотеки используется только две базовые функции: Функция np.dot() вычисляет скалярное произведение двух любых массивов и функция np.array(), которая создает эти массивы. Это две классические математические процедуры. Те 7 строк, оперируя ими, составляют именно нейросеть. А значит это не фасад а нейросеть в 7 строк даже с фасадом в комплекте?
Если поставить входных нейронов раз так в 200 больше , а на выходе сделать всего 2,то можно сделать нейронку по определению настроения по нарисованному смайлику, входные нейрноы - пиксели
@@TheMRARSONES всм как человек? и тут перцептрон без скрытых слоёв по моему, а для исключающего или надо 1 скрытый слой как минимум и связи 10, 0, -5 что они дают?(особенно средняя, оно вроде же не влияет на ответ, как и средний вход)
Я понял. Спасибо! Хотя, искал как приготовить котлеты
ну что? приготовил?
а с чем они были кста?
@@OsakuMasatoshi с курицей)
@@mrFAKTORify и как? вкусно получилось?
@@OsakuMasatoshi походу сдох
@@Delhat-z9q помянем
Кто хочет пример посложнее?
Интересна самая маленькая сеть для классификации объектов на картинках
Го, хуле.))
может скажите как эту нейросеть использовать ?
+
Неужели на 8 строк?
автор забыл объяснить что делает нейросеть, автор забыл объяснить почему у него в значениях весов спрятался ноль, почему он использует сигмоиду, и как она работает. Итог: люди, понимающие нейросети, не обратили внимание на ошибки, а люди, не понимающие нейросети, или подумали, что ошибок нет или повесились
Супер! Подробно, коротко и ясно. А теперь точно так же про обучение плииз!!!))))
в обучении у тебя есть входные данные и ответ. А веса он пробует подобрать сам так, что бы из входных данных сделать значение близкое к ответу
@@LLlblKAPHO 2 тебе за объяснение
Вот если честно, это лучшее что я нашёл! Продолжай делать и усложнять сеть, развивая её. Подписался!
Наконец-то, после стольких лет я нашел видео ролик, где все: расписано, показанно, рассказано и объяснено!?
Спасибо большое автору канала😇
Большое спасибо, пересмотрел кучу видео и не понял, а посмотрел это видео и все понятно
Боже чел где ты был всё это время, единственное видео с хорошим объяснением, спасибо большое!
не хватает обратного распространения ошибки из-за чего просто нет обучения нейросети
видео как пример для понимания прохождения одного цикла по узлам нейросети - годится
О, это просто охуительно. Как человек науки вам говорю.
Единственный адекват. Ты где был когда я все пытался это понять 5 лет назад
Можно было функцию написать в одну строку и вместо создания переменной 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]))))
Немного с мемными вставками перебор как по мне) В целом круто интересно было посмотреть. Да можно по сложнее пример :)
Сижу и думаю, где я видел эту сеть, (у Хауди), точно такая же, но тут хоть объяснили в чем суть
Прекрасное изложение! С активацией юмором - ваааще класс!
Очень хорошая идея подачи информации, я про сноску кода внизу экрана, в то время когда «теория» описывается ручкой на бумаге!
На будущее: отключаем автофокусировку камеры)
Да
хехе! да этож однослойный персептрон Розенблата - у него тоже "всё работало" (причём правда было круто!), пока вдруг "внезапно" не попалась линейно НЕразделяемая задача :-D
и... собсно всё "затухло" на годы, все ждали теорему Минского и слои, а также "обратное распространение ошибки" для обучения.
правда основная ценность данного видео - это как раз таки показать как компьютер моделирует нейросетку простую изнутри, ну то есть что там тупо массивы и функция (активации), а не "магическая магия" :-)
Что за число на выходе, зачем оно нужно, какая реальная задача решалась, причём тут нейроны если нет пересчёта и вообще повторов и мини\макса, просто линейная формула, я ничего не понял, вы орнёте...
Суть в том, чтобы программа выдавала первый элемент входных данных(из массива [1, 0, 1] - это 1, из массива [0, 1, 1] - это 0, и т.д.)
так вот ответ(случайное число в итоге) - это и есть ответ(он либо приближен к 1, значит 1, либо приближен к 0, значит 0)
@@DimPyProg Спасибо.
@@DimPyProg тогда бы вес второй должен был быть отрицательный, а он участвует со средней значимостью
Понятно. Единственное, к чему не могу не придраться - неверно записано произведение матриц. Матрицы можно перемножить, если число строк первой равно числу столбцов второй. Вы записываете в аргумент экспоненты произведение двух матриц с одной строкой и тремя столбцами. Это неправильно. Нужно транспонировать первую матрицу. Тогда все будет ок.
А мне суслик понравился , АААААААААА🤣🤣🤣🤣🤣!!!!!
Как всегда, строки деления не хватило, пришлось продлить)))
Спасибо за самое понятное видео по нейросети!
Любой ютубер, когда длина видео не достаточна для монетизации:
наверное)
а то я про свои программы в 100+ строк на java за 5 минут расказываю)
(может взять на заметку видос?)
А как можно сделать несколько выходов?
Требую ещё одно видео про обучение!!!!!!
для однослойной сети? градиентный спуск в помощь! ;-)
Самое интересное то, что этот код можно уместить в две строчки
js программисты:
🗿
самое интересное, что этот код вообще не нужно никуда размещать
Не особо понимаю, что происходит, слишком рано лезу в эту тему, но себе отложил) на будущее
Спасибо. А как обучить сеть?
Лично для меня бесполезно но снимаешь хорошо молодец
Почему f(x) = 1.0 / (1.0 - exp(-x)); на листочке? Опечатка? Должно быть f(x) = 1.0 / (1.0 + exp(-x));
Спасибо за видео.
Да, верно, очепятка, Спасибо)
Дьявол кроется в деталях.
@@TheMRARSONES Я подумал это метарофл
Я действительно понял. Уважаемый, автор, а по Тарифу Рашиду разбор можете устроить?
Прикольно, уловил суть синапсов и суть весов
следующая тема неплохо как определять вес связей
Замечательный разбор!
Подскажите, пожалуйста, откуда во второй программе взяли формулу adjustment=np. dot(training_inputs. T, err *outputs*
(1-outputs)). Интересна вторая часть (training_outputs-outputs)* *outputs(1-outputs) . Искал в функциях потерь и логистической функции ошибки.
Спасибо
А каким образом перемножая два массива по три числа получили одно число "Х"? Разве перемножая массив мы не получим такое же количество элементов как и изначально?
PS. Забавляют комментарии по типу "я все понял", которые на самом деле ничего не поняли.
по идее на выходной нейрон подаётся сумма трёх входных значений. Так как при умножении массивов мы получили значения [0,0,-5], а exp(0)=1 и при расчёте функции активации получается, что нам нужно 1 поделить на 0, а математика нам запрещает это делать, я так понял, что эти значения игнорируются и остаётся только "-5". Либо, если функция активации рассчитывает уже после сложения значений массива, мы в любом случае получаем "-5". Посчитай всё вручную и вопросы отпадут.
А откуда мы берём веса?
Уже готовые. В следующем видео планировалось добавить обучение что получить эти самые значения
@@TheMRARSONES а можете объяснить на пальцах, откуда их брать?
веса нормализовывать уже не модно?
Спасибо!!
добавь обратное распространение ошибки и расскажи плез
если он добавит обратное распространение ошибки, то придётся обучающую выборку делать)
Мне надо было математику учить в школе 😅
Мне тоже. Нужную тему математики про умножение матриц можно понять за пол часа по видеоурокам
@@TheMRARSONES Я за этот год уже понял как это работает, спасибо.!
посмотрел видео,классно но я себя чувствую как на 3:20 минуте ! :)
keras в помощь, господа))))
Это суммирование весов
Это конечно интересно но что с этим делать?
у меня тот же вопрос
Привет! Почему-то import numpy as np не работает
"pip install numpy" в коммандной строке должен помочь
Да, не установлена библеотека
А почему веса равны 10,0,-5 ?
Это уже обученные веса. Процесс обучения предполагался отдельным видео
Вот только какой смысл этой сети? Чем она полезна
Вот эта например умеет вычислять XOR
@@TheMRARSONES ор
@@TheMRARSONES
Да блять напиши функцию, меняй входные данные, она тоже умеет считать по формуле... ЛОЛ
Автор привёл в пример какую-то хуйню
У него Нейрон и синопсы - это те же самые переменные, которые можно использовать в математической функции и считать по формуле...
а где обучение?)))
Давай новые видео
Снимаешь топ 😁
Пожалуйста
Не откуда смотреть на это объяснение
Я не вышмат но Я хоть что то понял
мне такого под видео ещё не писали(
*плак*
Так вот как оно делается! Только я не понял что это и для чего это? А так, всё понятно, но не мне!
Искуственный интелект может менять напряжение в сети ?
В нейронной?
В перцептроне
@@stepazubkov47 у меня повышается, когда думаю как ответить на вопрос
чет не понял, а что ты подсчитал? формулу ради формулы?)
Логическая операция силами перцептрона ради вас и нас
что?
это просто калькулятор, не больше, оно просто выполнило два вычисления, как это связано с нейросетями?
Теперь вы знаете что это не магия а просто способ вычисления
@@TheMRARSONES обучаемые нейросети немного не так работают
Нечего не понял, но было интересно
наконец то я хоть что то понял :)
Автор. класно. Но чего забросил тему нейросетей?(
Думая Автор сам не понял, зачем он это писал.
Следующая его тема, "Как собрать пирамидку с цветными кольцами"
я могу написать нейросеть в 1 строку, которая сможет делать не меньше этой(а может и больше)
Жесть ты крутой, импортируешь библиотеки и юзаешь в 1 строку, ваау
@@bocik2854 я библиотеки для нейросетей не ставил так то-_- и с чего ты взял, что я что то импортирую?
@@Champion81 ну а как иначе написать НН в 1 строку?)))
@@bocik2854 руками
@@bocik2854 лан потом сделаю и может видос с демонстрацией залью
Ага 7 строк.. можно и еще меньше сделать, вот только сколько строк в самой либе то?
Кликбейт это называется..
@@keradan Обещанные 7 рабочих строк предоставил, значит не кликбейт?
По моему скромному мнению, это называется филосовский вопрос. Я понимаю чем вы расстроены. Можно было бы написать на ассемблере без библиотек. Строк кода было бы очень много и вероятно это был бы целый бесполезный видеокурс. Можно было ещё сначала написать драйвера для клавиатуры, чтобы написать код на ассемблере. А можно и вовсе сначала с нуля изобрести компьютер. Учитывая ограниченные возможности человека - слишком сложно и долго. Учитывая что это всё уже сделано и доступно - бессмысленно. Получается остаётся один логичный вариант для человечества: брать лучшие готовые достижения и библиотеки и создать на их базе нечто новое и ещё более высокоуровневое.
TheMRARSONES из крайности в крайность. Ваш код это фасад, и к сабжу отношение имеет только 3 строчки с параметрами и вызовом функции. Получается тогда нейросеть в 3 строчки? :) сколько строчек в либе скажите, если не секрет? Ведь это именно то что является кодом нейросети, а не то что на видео.
@@keradan , из библиотеки используется только две базовые функции: Функция np.dot() вычисляет скалярное произведение двух любых массивов и функция np.array(), которая создает эти массивы. Это две классические математические процедуры. Те 7 строк, оперируя ими, составляют именно нейросеть. А значит это не фасад а нейросеть в 7 строк даже с фасадом в комплекте?
явахуи
А можно неиронку написать с нуля, а не библиотеку юзать?
Что подразумевается под нулём? Библиотека только умножает две матрицы. Вы же знаете как умножать матрицы?
дружище, ты же вообще не понимаешь о чем говоришь (на момент создания видео). жаль тех кто принял это видео за что-то полезное.
Что, это такое!? Для чего это можно применить, это же шляпа!
Если поставить входных нейронов раз так в 200 больше , а на выходе сделать всего 2,то можно сделать нейронку по определению настроения по нарисованному смайлику, входные нейрноы - пиксели
Я забыл сказать, что она решает задачу XOR, но не так как калькулятор, а скорее как человек
@@TheMRARSONES всм как человек?
и тут перцептрон без скрытых слоёв по моему, а для исключающего или надо 1 скрытый слой как минимум
и связи 10, 0, -5 что они дают?(особенно средняя, оно вроде же не влияет на ответ, как и средний вход)
них.. не понял
что это спасибо я ничего не понял что это зачем я это смотрю эм???
орнул
ни чё не понял
тем временем я: всё и так более менее знал
Ерунда.
Смотреть невозможно!!! Камера трясётся, что за ужас
Вопрос один, как идёт перемножение матриц(синапсов и т.д.) есть ли там усреднение... , математика волнуить.