Тёмный

Нейросеть угадывает цифры С++ (Многослойный персептрон C++) 

HardMath
Подписаться 1,9 тыс.
Просмотров 184 тыс.
50% 1

В этом ролике напишем свою нейросеть, многослойный перцептрон Розенблата на C++ (изобретем велосипед). Разберем как она работает и обучается. Проанализируем обучение на датасете MNIST.
Надеюсь не утомил подсчётами градиентов, но это самая сложная и основная вещь.
Если есть какие-то вопросы по работе нейросети, то пишите в комментариях. Или любые пожелания:)
Ссылка на плейлист • Нейросети
Ссылка на опрос на тему следующего ролика vk.cc/c4VvtY
Мой Boosty: boosty.to/hardmath (там в последующем буду делится новостями, возможно, создам чат в дискорде или телеграмм).
Ссылка на исходники: disk.yandex.ru/d/6IfuhLmyLjdQWQ
ТаймКоды:
0:00 Вступление
0:26 теоретическая часть (как устроена)
4:05 функции активации
4:55 начинаем прогать (создаем класс NetWork и Matrix)
6:55 MNIST
8:40 модифицируем ф-ции активации
10:33 создаем класс ActivateFunction
12:05 класс NetWork
13:45 ф-ция ForwardFeed
17:28 Как считаем ошибку, градиентный спуск
20:48 Считаем градиенты
33:00 дописываем оставшиеся функции
35:42 source.cpp
38:25 Обучение нейросети
40:00 Выводы по обучению
40:19 перенос в Qt
42:30 Конец:)

Опубликовано:

 

5 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 171   
@hardmath9340
@hardmath9340 2 года назад
Ссылка на опрос на тему следующего ролика vk.cc/c7ocUm
@God_Programmer
@God_Programmer 2 года назад
Зачем делать нейронную сеть когда данные итак уже заранее сохранены в файл. Анализ можно делать и без нейронной сети…, банальным подсчетом и сравнении оригинала и сохранёнными данными…
@hardmath9340
@hardmath9340 2 года назад
@@God_Programmer Вся суть в ускорении распознавания, нейросеть делает предсказание за доли секунды. А ваше предложение: "банальным подсчетом и сравнении оригинала и сохранёнными данными" будет происходить отнюдь не быстро, хотя, определенно точность будет выше. Приходится чем-то жертвовать Либо скоростью работы, либо точностью)
@God_Programmer
@God_Programmer 2 года назад
@@hardmath9340 спасибо за разьяснение...
@God_Programmer
@God_Programmer 2 года назад
@@hardmath9340 Вот у меня проблема, я не могу понять, как построить простую нейронную сеть по распознаванию типов по цвету к примеру, круглешков на плоскости, используя только входные данные X и Y, я думаю, что надо водит цвет этих кругляков, но, как и куда если только два входа? Можешь на с# сделать пример...
@hardmath9340
@hardmath9340 2 года назад
@@God_Programmer Если картинка RGB, то ее можно подать как трехмерный массив на вход в нейросеть (конечно предварительно преобразовать его в одномерный вектор). Для таких задач больше всего подходит сверточная нейронная сеть. За c# я не шарю)
@kirills7837
@kirills7837 2 года назад
Удивительно как идея нейроной сети простая и как много в ней много математики.
@ind1fferent96
@ind1fferent96 2 года назад
Ну много да много много как много в ней много, в ней много математики
@endlessvd
@endlessvd Год назад
Нейросеть, это сплошная линейная алгебра
@igorseledtsov7345
@igorseledtsov7345 9 месяцев назад
да нет там никакой математики
@Vlad_4572
@Vlad_4572 7 месяцев назад
​@@igorseledtsov7345, напиши код не используя формулы
@exception05
@exception05 5 месяцев назад
К счастью там не так много математики, как .. в математике.
@gamerokplay5203
@gamerokplay5203 2 года назад
Топовый контент. Информативно и без "воды".
@TizZy_228
@TizZy_228 2 года назад
Ты красавчик! Большое уважение к тебе:) Желаю твоему каналу развития и процветания, не забрасывай это дело, у тебя очень хорошо выходит:D
@mshkfrede2571
@mshkfrede2571 2 года назад
Спасибо за видео. Мне 14 лет и я давно хотел понять как устроены нейросети, но мозг не мог осознать как работает обучение, долго искал информацию по нейросетям, потом купил книгу и понял, здесь ты тоже все довольно подробно объяснил. Я лично знал только про сигмоиду и не знал что существуют другие методы такие как тангенс так что спасибо за просвещение)
@user-to3dd5uz4u
@user-to3dd5uz4u Год назад
Лучшее видео по MLP, вся математика дана, весь код дан, шикарно!
@user-wg4nb7ly2p
@user-wg4nb7ly2p 2 года назад
Спасибо. Было интересно смотреть. Я не программист и мне это не понадобится скорее всего. Но ты очень круто объясняешь материал. Те, кто намерено искал материал точно должны быть довольны. Логику-то видно даже с моей нехваткой знаний в программировании.
@hardmath9340
@hardmath9340 2 года назад
Спасибо, рад, что понравилось:)
@si7-agent
@si7-agent 2 года назад
А я программист... И мне бы это понадобилось полгода назад, когда был курс нейронных сетей XD А так очень круто и интересно
@dkkiroff
@dkkiroff 2 года назад
Пожалуйста. Был рад, что всё понятно☺
@igorodnogulov2395
@igorodnogulov2395 Год назад
а здесь и ненадо быть программистом,достаточно быть нейрохирургом
@JluMoSHa
@JluMoSHa 2 года назад
Очень информативно и качественно изложен материал, отдельное спасибо за вывод формул) Есть ли возможность рассказать про различные алгоритмы оптимизации градиентного спуска? Хотя бы NAdam или алгоритм Нестерова
@hardmath9340
@hardmath9340 2 года назад
Спасибо, рад, что понравилось:) Думал над этим) Планирую как раз про это видео сделать.
@SofaSofa-fw2bz
@SofaSofa-fw2bz 2 года назад
@@hardmath9340 пожалуйста, покажи как ты преборазовал MNIST в txt? Хочу также с ELMNIST сделать
@rekimchuk
@rekimchuk 2 года назад
@@SofaSofa-fw2bz могу помочь с этим если все еще нужно. тоже искал как это сделать . через питон можно нормально всё преобразовать только вот займёт уйму времени ибо там файл в финале на 4гб будет
@user-fy2vm4ry4y
@user-fy2vm4ry4y 2 года назад
спасибо автор, я прям в айти вкатился
@Arwester
@Arwester 2 года назад
Если ты не разработчик, то ты тут ничего не поймёшь, но это все равно интересно
@carnagic2944
@carnagic2944 2 года назад
Школота 11 класс поймёт некие моменты
@glm8345
@glm8345 2 года назад
@@carnagic2944 школота 11 класс поймёт все моменты, кроме конечно гиперболического тангенса, хз почему автор его назвал обычным тангенсом, как ножом по стеклу.
@tipozeys7529
@tipozeys7529 2 года назад
-
@TurboGamasek228
@TurboGamasek228 Месяц назад
@@glm8345 а че там в нем понимать то
@unlimited-007
@unlimited-007 11 месяцев назад
Классное видео, прям которое я искал, не подскажешь только одну вещь, какие книги ты читал, я имею ввиду именно по нейронным сетям и искусственному интеллекту в целом
@rekimchuk
@rekimchuk 2 года назад
я посмотрел видео, поставил лайк, оставил на потом что бы еще раз посмотреть еще раз ибо возможно по этой идеи(нейросети) сделаю проект по информатике для конца школы (у нас такое в румынии есть, ы ) . прошло часов 10, я решил посмотреть еще раз но сначала решил пройтись по комментариям, у всех 0-1 лайк, посмотрел на кол-во подписчиков и удивился. я то думал тут 1-10к подписоты . видео мне попало рандомно ибо я ничего про программирование или про нейросети не искал в последнее время. что могу сказать, удачи в развитии канала , а я посмотрю еще видосики с твоего канала, ах да, еще и подпишусь update: посмотрел на видео с твоего канала и понял что ютюб мне подсунул единственное твоё длинное видео, мды что то страненько update2: посмотрел теги на этом видео и у меня вопрос, почему ты не используешь теги? это довольно сильно помогает в поиске первой аудитории
@hardmath9340
@hardmath9340 2 года назад
Спасибо, да про теги что-то я совсем забыл:) Удачи тебе в учебе!)
@Vlad_4572
@Vlad_4572 7 месяцев назад
Я все не могу понять, почему пользователи ютуба постоянно удивляются алгоритмам рекомендаций? Вы что, реально думаете, что должно быть всё тупо? Смотришь кошечек и тебе кроме кошечек ничего не предлагают? Что ж вы такие ограниченные???
@rekimchuk
@rekimchuk 7 месяцев назад
@@Vlad_4572 предложи он это видео человеку который никогда в жизни не занимался программированием человек бы проигнорировал видео. А я как человек который занимается этом но в то время ничего такого не искал не в Гугле не в Ютюбе удивился что подкинули такую годноту
@monik9592
@monik9592 2 года назад
Прорыв в обходе капчи)
@ps5games821
@ps5games821 Год назад
Сделай пожалуйста еще таких крутых роликов на с++
@feriplatinum9170
@feriplatinum9170 2 года назад
Теперь я понял, что я ничего не понял)
@user-tp1qn2wt6t
@user-tp1qn2wt6t 2 года назад
обычно второй индекс отвечает за следующий слой, возможно вы оговорились) 1:19
@higiro9333
@higiro9333 2 года назад
как выбрать количество ассоциативных слоев и количество нейронов в них?
@roazanas
@roazanas 2 года назад
Эх, дружище, где ж ты был 2 года назад, когда я исследовательскую по нейронкам писал?
@hardmath9340
@hardmath9340 2 года назад
Сори:)
@user-zv9zr4xh8r
@user-zv9zr4xh8r 2 года назад
Может я ошибаюсь, но у тебя функции в double useDer() такие же как в use() ,а должны быть как в void useDer()(Спасибо за видео )
@pavloveeee
@pavloveeee Год назад
Где можно взять этот код и протестить? Интересно просто)
@rednik9368
@rednik9368 2 года назад
Видос огонь, но меня все время напригало отсутвте строшки using namespace std;
@somedyoung
@somedyoung 6 месяцев назад
подскажите пожалуйста как привести данные mnist к такому виду как на видео (цифры от 0 до 1 в текстовом файле)
@unlimited-007
@unlimited-007 10 месяцев назад
Добрый день. Ну начну с того что реально классное видео. Сейчас начал сам постигать нейронные сети, не подскажете такой дилетантский вопрос, по сути эту нейронную сеть можно обучить на любых данных,, под любые цели. Короче разница только в обучающей выборке?
@hardmath9340
@hardmath9340 10 месяцев назад
Добрый. Да, все верно, разница будет только в архитектуре, ну и конечно же в обучающих данных. Спасибо)
@unlimited-007
@unlimited-007 10 месяцев назад
@@hardmath9340 Ну под архитектурой вы понимаете, сколько входных нейронов будет и сколько выходных? Если так, то спасибо и еще не бросайте канал, на ютубе и так мало осталось годного контента про программированию)))
@hardmath9340
@hardmath9340 10 месяцев назад
@@unlimited-007 Да, количество скрытых слоев и число нейронов в них, на входном и на выходном слою. Да, пока мотивации нету снимать ничего)
@unlimited-007
@unlimited-007 10 месяцев назад
@@hardmath9340 Спасибо, не знаю смогу заинтересовать но я сейчас ещё почитываю про DirectX 12 и Vulkan SDK, тоже много интересного))
@user-xt9dx6rj9q
@user-xt9dx6rj9q 2 года назад
можешь снять видео как интегрировать qt в Visual studio 2022?
@hardmath9340
@hardmath9340 2 года назад
Интегратора для VS 2022 еще нет, только до 19
@mikhailvsevolodov7022
@mikhailvsevolodov7022 2 года назад
Шикарно
@relaxionmusic7226
@relaxionmusic7226 2 года назад
Вот у вас нейросеть угадывает цифры, а моя нейронка может общаться с человеком если ее научить на примере диалогов
@ra7even903
@ra7even903 2 года назад
инновация
@alexeykargojarvinen5273
@alexeykargojarvinen5273 2 года назад
та же хрень, вид сбоку… только вместо весов на пикселы изображения, используются коэффициенты на различные фразы.. только вот нужно помимо еще семантику прикрутить и лексический анализатор и да.. это проще решить через графы, а не через нейронки. или ты про свое серое вещество в черепухе?!
@foksi_play2287
@foksi_play2287 2 года назад
А как песня называется на 0:18?
@baluff5481
@baluff5481 2 года назад
Не чего не понял но интересно 😂
@tujh552
@tujh552 Год назад
спасибо
@830-2
@830-2 2 года назад
афигеть) умнеёший
@FunnY35999
@FunnY35999 2 года назад
Круто😂😂😂
@andrewkot5212
@andrewkot5212 2 года назад
Расскажи как добавить SIMD инструкции
@hardmath9340
@hardmath9340 2 года назад
Пока таким не занимался)
@rekimchuk
@rekimchuk 2 года назад
привет. я попытался использовать твой код на codeblocks и у меня вопрос. ты использовал в ActivationFunction функцию exp() но библиотеку не использовал. по этому я добавил в кодблоксе библиотеку cmath но когда пытаюсь использовать thx у меня процент угадывания всегда идёт к 9.02778 и остаётся на этом числе. процент может начаться с 11 и идти к 9.02778 или же начать с 7 и идти к 9.02778. где я накосячил ? *update при изменении библиотеки с cmath на tgmath то число уже стремиться к 9.86378
@hardmath9340
@hardmath9340 2 года назад
Попробуй подключить math.h. Но косяков в стандартных библиотеках быть не должно, скорее всего, ты что-то неправильно делаешь)
@rekimchuk
@rekimchuk 2 года назад
@@hardmath9340 я просто скопировал весь код. и добавил source в main и остальные по классам раскидал.была ошибка в трёх файлах ибо были exp() и я добавил cmath , но спасибо, попробую просто math.h . а также была проблема с time() пришлось добавить библиотеку ctime(если не ошибаюсь) а так я ничего не менял
@rekimchuk
@rekimchuk 2 года назад
@@hardmath9340 math.h также не помогло. даёт то же значение что и cmath
@hardmath9340
@hardmath9340 2 года назад
@@rekimchuk Хмм, странноо)
@SofaSofa-fw2bz
@SofaSofa-fw2bz 2 года назад
А покажи пожалуйста, как ты превратил MNIST в txt?
@fromnothing3016
@fromnothing3016 2 года назад
разобрался?
@user-lt1we3wh7n
@user-lt1we3wh7n Год назад
@@fromnothing3016 razobralis?
@Polinaaa__
@Polinaaa__ 2 года назад
Добрый день, подскажите, пожалуйста,в чем может быть ошибка.После выбора функции выскакивает runtime,abort() has been called
@hardmath9340
@hardmath9340 2 года назад
Добрый день, попробуйте пройтись откладчиком:) Так я не могу сказать.
@mar_shevs
@mar_shevs 2 года назад
На таких как ты держится весь мир)
@hardmath9340
@hardmath9340 2 года назад
?)
@mar_shevs
@mar_shevs 2 года назад
@@hardmath9340 в хорошем смысле. Спасибо что рассказываешь о таких вещах!
@hardmath9340
@hardmath9340 2 года назад
@@mar_shevs Не за что) Рад, что помог.
@thehaskbit
@thehaskbit 2 года назад
хоспаде, что я только что увидел....
@WannaSleap
@WannaSleap 2 года назад
зачем я это смотрю в час ночи я же даже не интересуюсь С++
@hackzem07
@hackzem07 2 года назад
Супер
@aslanibnislam
@aslanibnislam Месяц назад
лучший
@illsonr6s887
@illsonr6s887 2 года назад
как же я люблю qt
@hardmath9340
@hardmath9340 2 года назад
Вещь хорошая:) Жаль, что графики удобнее рисовать с помощью matplotlib, а в Qt для этого есть только QChart и QCustomPlot, но я бы не сказал, что они удобны и плюс непонятно как отрисовывать графики в 3D. Только наверное писать самому с OpenGL.
@alexeykargojarvinen5273
@alexeykargojarvinen5273 2 года назад
@@hardmath9340 Unity…
@paymer2761
@paymer2761 2 года назад
сколько скрытых слоев в твоей проге?
@hardmath9340
@hardmath9340 2 года назад
Я использовал 1 скрытый слой, а так архитектура может быть любая.
@hoi4_master
@hoi4_master 2 года назад
теперь нейросеть умеет решать капчи
@alexeykargojarvinen5273
@alexeykargojarvinen5273 2 года назад
не умеет.
@MrZorik-pn7rf
@MrZorik-pn7rf 2 года назад
Скажите трек пожалуйста
@sliver4004
@sliver4004 2 года назад
а го врач напишет там свою цифру!
@KabanOfKaliningrad
@KabanOfKaliningrad 2 года назад
Тем временем создатели капчи…
@vladimirsevastyanov8349
@vladimirsevastyanov8349 2 года назад
Исходники пустые, h и source нет ничего, пожалуйста, исправь это, хочется посмотреть и разобраться
@hardmath9340
@hardmath9340 2 года назад
Почему пустое? Там все есть: Заходите в папку NetWorkForVideoOne и еще раз туда же там будут все h и cpp файлы. А вообще можно просто открыть сам проект NetWorkForVideoOne.sin, для этого я его и скинул целиком.
@Zyablik.00l
@Zyablik.00l Год назад
Да уж, это уже сложновато
@user-mj5hb4xg1v
@user-mj5hb4xg1v Год назад
А сколько времени заняло обучение?
@hardmath9340
@hardmath9340 Год назад
12 минут
@user-mj5hb4xg1v
@user-mj5hb4xg1v Год назад
@@hardmath9340 я пишу нейронную сеть для распознания английских букв, для тренировки 88800 примеров, эпохи поставил 5, слоев 3, жду уже второй час, может что-то не то делаю, но логика как на вашем видео
@hardmath9340
@hardmath9340 Год назад
@@user-mj5hb4xg1v Не знаю, это нужно на код смотреть...
@endlessvd
@endlessvd Год назад
​@@user-mj5hb4xg1vспроси у gpt 4 😅
@Vlad_4572
@Vlad_4572 7 месяцев назад
В итоге, без знаний высшей математики хрен что поймёшь.
@user-ro4uh8ci2r
@user-ro4uh8ci2r 2 года назад
Я типо понял что я не робот
@Kveln
@Kveln 2 года назад
Ето моя домашка
@user-mb7sd2nb2n
@user-mb7sd2nb2n 2 года назад
с научной точки зрения, реализовано норм, спасибо, но на питоне уже куча готовых библиотек, которые достаточно подключить и будет все работать быстрее
@AndrewPstvt
@AndrewPstvt 2 года назад
Нет. Не будет работать быстрее. Все подключаемые к питону готовые сети как раз и написаны на c или c++.
@shiko3780
@shiko3780 2 года назад
Питон сам по себе медленный.
@alexeykargojarvinen5273
@alexeykargojarvinen5273 2 года назад
интерпретатор Питона использующий скомпилированные библиотеки Си++, быстрее?!)))) чувак, не позорься!
@user-mb7sd2nb2n
@user-mb7sd2nb2n 2 года назад
@@alexeykargojarvinen5273 чел ты конечно клоун, но тогда покажи мне примеры
@alexeykargojarvinen5273
@alexeykargojarvinen5273 2 года назад
@@user-mb7sd2nb2n примеры чего?! Питоновских библиотек запиленных на плюсах?! TensorFlow.. Питон интерпретируемая хрень, враппер над библиотеками написанными на нормальных языках! Этот скриптоязык нужен для быстрого вваливания в написание скриптов джунами. Я с умилением на собеседованиях наблюдаю за реакцией питонщиков, на вопрос - Что такое указатель?! Молчу уже про Кучу и стек функции, а уж критические секции, мутексы, семафоры в потоках, вообще вызывают у питонщика кровавые слезы из глаз! В такие моменты Клоунами выглядят они!
@fedorlaputin9119
@fedorlaputin9119 2 года назад
А где вы очищаете память всех этих массивов?
@hardmath9340
@hardmath9340 2 года назад
Да, спасибо, что сказали, это нужно исправить:)
@hardmath9340
@hardmath9340 2 года назад
Но память во время обучения не растет, значит это будет проблемой только, если вы будете куда-то ее интегрировать или создавать много нейросетей. Но очищать все же нужно
@fedorlaputin9119
@fedorlaputin9119 2 года назад
@@hardmath9340а почему бы не использовать векторы и умные указатели?
@hardmath9340
@hardmath9340 2 года назад
@@fedorlaputin9119 С контейнерами тоже нужно думать об очистке памяти плюс я их использовал раньше и обучение нейросети сети длилось где-то в 1,5 раза больше, чем напрямую работа с памятью, а вот умные указатели мне кажется здесь хорошую подойдут, правда я их никогда не использовал, нужно побольше о них почитать:)
@fedorlaputin9119
@fedorlaputin9119 2 года назад
@@hardmath9340 ну я говорю о тандеме умных указатей и готовых контейнеров, там много разных видов умных указателей, так что я думаю можно подобрать, чтобы обучение не шло в 1.5 раза дольше
@Geogarti
@Geogarti 2 года назад
Очень информативно, но для непросвещённых будет вообще непонятно, так как видео наполнено формулировками. А чего я прикопался, всё таки основная аудитория здесь ПРОСВЕЩЁННЫЕ в эту сферу люди
@Geogarti
@Geogarti 2 года назад
Теперь понятно как работают такие корпорации как Яндекс. Я имею ввиду их распознавание по фото Теперь даже почерки распознают их нейросети
@user-wk2iq9xp2r
@user-wk2iq9xp2r 2 года назад
Эх, а мой уровень на С++ это std::cout
@hardmath9340
@hardmath9340 2 года назад
Зато есть над чем работать)
@monik9592
@monik9592 2 года назад
Самое главное в коде это ";"
@user-qq4vn4xq9l
@user-qq4vn4xq9l Год назад
очень странная формула для подсчета ошибки ответа, у нас же функция sum((d_i - y_i)^2) откуда у тебя там производные вылазят
@trytoez
@trytoez 2 года назад
Можно код на Pythone 3.5?
@hardmath9340
@hardmath9340 2 года назад
Думаю, сделаю видео с нейросетью на Python.
@trytoez
@trytoez 2 года назад
@@hardmath9340 спс
@virtue1337
@virtue1337 2 года назад
Крутая идея на питоне сделать! Не знаю толком плюсы и лень среду разработки качать
@rekimchuk
@rekimchuk 2 года назад
видео с питоном уево туча. а также разных кодов в свободном доступе. не понимаю зачем еще одно видео. вот про с++ да, почти ничего нема
@mister_hevi
@mister_hevi 2 года назад
Я один нихера не понимаю?
@hardmath9340
@hardmath9340 2 года назад
Что было не понятно?
@strodion2105
@strodion2105 2 года назад
В видео все понятно. Но как чтобы понять книгу, ее нужно перечитать несколько раз. Можно анализировать видео несколько раз, в итоге все понятно станет.
@user-ip2kf9bm4y
@user-ip2kf9bm4y 2 года назад
Забыта, делай про другую прогу
@igorseledtsov7345
@igorseledtsov7345 9 месяцев назад
Простите а где тут перцеептрон то? не любая нейтронная сеть это перцептрон...
@tipozeys7529
@tipozeys7529 2 года назад
Воид это саааааамый костыльный метод-_- не осуждаю, но осуждаю
@winhonrgb
@winhonrgb 2 года назад
13:30 Нет это уже слишком(субтитры)
@user-qq4vn4xq9l
@user-qq4vn4xq9l Год назад
Ну математика бэкпропогейшн тут так себе он показал и преподнес, те кто знают те поймут что это динамическое программирование по факту и дифференциалы тут считаются как раз эти дп, вот и все , реализовуется это все без матриц а просто формулами vectordif(this->size[n - 1]); for (int i = 0; i < this->size[n - 1]; ++i) { if (i != exp) { dif[i] = -this->neuron_pow[n - 1][i]; } else { dif[i] = 1 - this->neuron_pow[n - 1][i]; } dif[i] *= Function::use_Der_ReLu(s[1][i]); } vectordd(this->size[1], 0); for (int j = 0; j < this->size[1]; ++j) { for (int k = 0; k < this->size[n - 1]; ++k) { dd[j] += dif[k] * this->m[1][k][j]; } dd[j] *= Function::use_Der_ReLu(s[0][j]); } for (int i = 0; i < this->size[1]; ++i) { b[0][i] = b[0][i] + 2.0 * lr * dd[i]; } for (int i = 0; i < this->size[0]; ++i) { for (int j = 0; j < this->size[1]; ++j) { this->m[0][j][i] = this->m[0][j][i] + 2.0 * lr * this->neuron_pow[0][i] * dd[j]; } } for (int i = 0; i < this->size[1]; ++i) { for (int j = 0; j < this->size[2]; ++j) { this->m[1][j][i] = this->m[1][j][i] + 2.0 * lr * this->neuron_pow[1][i] * dif[j]; } } for (int i = 0; i < this->size[2]; ++i) { b[1][i] = b[1][i] + 2.0 * lr * dif[i]; }
@cmpecctv
@cmpecctv 2 года назад
Наркомания какая то)))
@-dedinside
@-dedinside 2 года назад
Че
@jiwonlee2330
@jiwonlee2330 2 года назад
이거 뭔데 계속 뜨는 거여??... 퍼셉트론인가? 인공신경망 같은디
@oxyd8d
@oxyd8d 2 года назад
чё
@Eremitis
@Eremitis 2 года назад
Скоро капча будет абсолютно бесполезна)))
@hardmath9340
@hardmath9340 2 года назад
Да уже давно, есть же rucaptcha:)
@lollopin3362
@lollopin3362 2 года назад
@@hardmath9340 скорее всего он про такие решения как xevil
@alexeykargojarvinen5273
@alexeykargojarvinen5273 2 года назад
@@hardmath9340 в бэке которой сидят индусы..))) нуда, нуда!
@daster2227
@daster2227 2 года назад
Нуууу нейросеть не угадывает а просто повторяет цыфры
@comachine
@comachine Год назад
именно угадывает
@archyt88
@archyt88 2 года назад
Это видео сверху и до низу пропитано абсолютной глупостью. Человек вставляет себе палки в колеса на ровном месте. Дружище, мнист решается за 4-7 минут включая обучения, ты это все упер в 42 минуты. Для того чтобы делать нейросети не нужно их писать с 0, тем более на С++. Я понимаю легко сделать нейросеть решающую мнист, но ты попробуй вот так с 0 напиши бертовскую модель или уже устаревший алекс нет? Сколько у тебя уйдет? Месяц - три? Я молчу про gpt-2 & gpt-3. Какой смысл себе усложнять жизнь и разрабатывать что то, что разработано и решено до тебя? Что за клоунада? Задача современных фреймворков и нейросетей которые по их средствам создаются в том, чтобы по кирпичкам строить свою модель, а не писать однотипный повторяющийся код из проекта в проект. Люди десятилетиями их пишут чтобы упростить себе и другим жизнь, чтобы ускорить разработку. Но всегда найдется уникум который решит что умнее всех и напишет нейросеть самую простую с 0, думая что умнее всех. Не глупо ли так попусту расходовать время и неуважить труд тысяч людей?
@hardmath9340
@hardmath9340 2 года назад
Какая глупость и о чем вообще речь? Видео растянулось на 42 минуты, потому что я объяснял структуру и работу нейронной сети, рассказывал о mnistе и т.д. Нейросеть может "решать" не только mnist, я взял этот датасет в качестве примера. В любых курсах по нейросетям всегда пишут нейросеть с нуля в основном на Python, чтобы показать как она устроена и работает, а после уже переходят к готовым решениям. Т.к на Pythone есть много роликов, то я решил взять C++. Время на написание кода я потратил максимум 3-4 дня, не считаю это попусту потраченным временем, для меня это было интересно и я лучше разобрался как работает и обучается нейросеть. А труд других людей я уважаю, поэтому в следующих роликах будет нейросеть с использованиям готовых библиотек.
@VladisLove-tg5is
@VladisLove-tg5is 2 года назад
Прежде чем что-то изучать, надо посмотреть и попробовать как это устроено изнутри, написать с нуля самому, тогда придет настоящее понимание и осознание...
@archyt88
@archyt88 2 года назад
@@VladisLove-tg5is написав перцептрон решающий мнист ты ничему не научишься, тем более в ML
@VladisLove-tg5is
@VladisLove-tg5is 2 года назад
@@archyt88 а что не так с мнист?
@archyt88
@archyt88 2 года назад
@@VladisLove-tg5is с ним всё так, просто это элементарная задача. Решив её написав код с нуля, ничему полезному человек не научится. В ML надо бежать за прогрессом, изучая всё новое, а не воротить перцептрон изобретенный в 70-ые и mnist решенный вроде как в 98 - 2004
@nokz2326
@nokz2326 2 года назад
чё
Далее
Final increíble 😱
00:39
Просмотров 29 млн
C++ Разработчик учит Python
28:01
Просмотров 482 тыс.
Математик и черт
20:30
Просмотров 1,6 млн