НЕЙРОСЕТИ - самое понятное объяснение + пишем нейросеть с нуля.

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

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

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

    ------------------- ССЫЛКА НА РЕПОЗИТОРИЙ GITHUB ---------------------------
    github.com/Nikita-bunikido/Perceptron

  • @MathewKptge
    @MathewKptge Год назад +342

    "Я обязательно поступлю на бюджет!"
    - твои конкуренты:

  • @alextop4217
    @alextop4217 11 месяцев назад +52

    Как приятно слышать грамотные и понятные объяснения, а видеть код на "C" особенно приятно.
    Спасибо!

    • @IT_Shkolnik
      @IT_Shkolnik  11 месяцев назад +4

      Спасибо большое. Да, мой любимый ЯП

    • @_1mrscool11_9
      @_1mrscool11_9 7 месяцев назад

      только начинаю смотреть, особенно рад слышать что видео будет на языке "С", так как мне необходимо создать нейросеть на "С++" так что схожести языков будут наруку

  • @s0faRy
    @s0faRy 2 года назад +50

    Такой молодой и шарящий, приятно видеть, продолжай в том же духе парень, у тебя большое будущее!

    • @IT_Shkolnik
      @IT_Shkolnik  Год назад +5

      Спасибо большое за поддержку!

  • @silkasoft1
    @silkasoft1 7 месяцев назад +16

    Парень, это одно из самых лучших пояснений работы нейронки. Респетище!

  • @sergiooos9103
    @sergiooos9103 2 года назад +30

    Только видео включил, сразу лайк. Видно, что реально школьник и уже пытается как то продвигаться, красава!

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

    Ты большой молодец! Я видел кучу подобных видео, но твое самое доходчивое!

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

      Рад что смог понятно объяснить, спасибо вам!

  • @WAVESOFLIFEFUL
    @WAVESOFLIFEFUL Год назад +11

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

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

      Спасибо за поддержку! Я рад, что моё видео вам понравилось

  • @litrpiv4ansky872
    @litrpiv4ansky872 Год назад +9

    Благодарю за столь простое объяснение🙏
    Ты молодец 👍

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

      Спасибо! Рад, что понятно объяснил. Успехов в дальнейшем изучении темы

  • @manul74
    @manul74 3 года назад +92

    Какой умный пацан.

    • @IT_Shkolnik
      @IT_Shkolnik  3 года назад +6

      Спасибо за поддержку!

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

      @@IT_Shkolnik ты очень умен!!!

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

      Знания ≠ Ум

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

      ​@@kepka55а сам что душнила

    • @максфабрегас
      @максфабрегас Год назад +3

      Будущий Цукерберг, видно же что инопланетянин, он ниразу не моргнул

  • @kzrvv8331
    @kzrvv8331 2 года назад +128

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

    • @IT_Shkolnik
      @IT_Shkolnik  Год назад +14

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

    • @МаксимПонкращенко-о7л
      @МаксимПонкращенко-о7л Год назад

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

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

      Ну вот тут двоякий вопрос.
      Те, кто учился в молодости завидует тем, кто пинал ...
      А те, кто пинал ... завидует тем, кто учился в это время

    • @wall-wrecker-my6ss
      @wall-wrecker-my6ss Год назад

      Чел, ну походу ты бездарь или лодырь или и то и то, если не можешь вкатиться в эту шляпу. Нужен максимум год, чтобы +- отдуплять что-то. Знаком лично с людьми, которые и в 25 и в 30 успешно становились разработчиками. Ты сам создал себе какие-то рамки в виде возраста и времени, которые тебе мешают развиваться.

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

      Ну зависит што... явно тебе и сичас ненадо ето, мб гдето код написать для бота, но ето чисто увлечение.

  • @chrisn.6760
    @chrisn.6760 Год назад +1

    Спасибо за пример. Наконец-то умный человек нашёлся, который объяснил на примере а не теории.

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

      Тут надо держать баланс теория-практика. Спасибо!

  • @madeezz2679
    @madeezz2679 8 месяцев назад +87

    Тот самый момент, когда какой то школьник объясняет лучше специалистов в этой сфере

    • @raznok1887
      @raznok1887 4 месяца назад +1

      Суть глаголешь)

  • @Votruh
    @Votruh 11 месяцев назад +1

    Оставлю в поддержку Никиты, коммент для алгоритмов ютуба ) Круто молодец, тебя ждет большое будущее, не забрасывай!

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

    Мегахорош. Я наконец-то хоть начал понимать, что это такое и с чем кодить.

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

      Рад, что я смог вам помочь. Продолжайте разбираться в теме, она очень интересная

  • @ОлегПетров-е8ъ
    @ОлегПетров-е8ъ Год назад +3

    Очень приятно было смотреть твоё видео! Все сложные для меня вещи, объяснил просто и понятно. Спасибо! Желаю тебе успеха во всех твоих делах!

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

      Я очень рад что смог доходчиво объяснить. Спасибо большое!

  • @МэрилинЛоган
    @МэрилинЛоган Год назад +27

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

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

      Спасибо за совет, рад что помог понять вам тему :)

    • @РустамБухара-в6в
      @РустамБухара-в6в Год назад +2

      Будучи глубоким дедушкой, смотрю его на скорости 0.75) с повторами и неоднократными.

    • @164neil
      @164neil Год назад

      Скорость видео можно настроить самостоятельно

    • @n101-e9k
      @n101-e9k Год назад

      зайца сосни

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

      медленно, имеется ввиду не медленно по скорости, а более развернуто, наглядно, с примерами из жизни, приводя больше ассоциаций @@164neil

  • @horoshiyvibor
    @horoshiyvibor Год назад +5

    Блин, красава чувак, очень впечатляет твой уровень компетенции относительно твоего возраста!

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

      Большое спасибо!

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

    Ну что могу сказать? Браво! Особенно порадовало желание разобраться в велосипеде) Какой деликатный камень в огород Пайтона в комментарии. Есть правда один нюанс, который портит всю картину. Обучение обратным распространением подразумевает взятие производной от функции активации, не увидел в коде.

  • @Степан-к6щ6г
    @Степан-к6щ6г Год назад +3

    Я офигел! Спасибо за понятное объяснение. Много по теме смотрел, а нормально объяснил только ты.

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

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

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

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

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

      Объяснил как сам понял, наверное. Спасибо

  • @g_host
    @g_host 3 года назад +6

    Как же не хватало таких видео на старте обучения. Автор большой молодец👍

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

      Спасибо большое!

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

      не стоит смотреть такие видосы на старте обучение, ибо парень делает просто контент, к сожалению информативность близка к нулю

    • @РустамБухара-в6в
      @РустамБухара-в6в Год назад

      @@stepaside6284 Каждому, - свое.

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

      @@stepaside6284 конкретно здесь я делал акцент больше на понимании материала

  • @Руслан-б9о
    @Руслан-б9о 6 месяцев назад

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

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

    Большое спасибо. Получилось действительно простое и понятное объяснение.

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

    Спасибо наконец та нашёл понятное видео для старта моего проекта

  • @РоманКокорин-т2ш

    Молодчик. Он на шаг выше в обучении, которое понятно, чем специализированные школы

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

      Спасибо большое. Не сказал бы, просто разобрался в теме и решил объяснить

  • @davidikus29
    @davidikus29 Год назад +8

    80% преподов так качественно не разжовывают информацию

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

      Я здесь постарался совместить все что знаю о теме и рассказать это так, чтобы было понятно практически любому :)

  • @stakemograine266
    @stakemograine266 7 месяцев назад +5

    10-я строчка кода: return (a 0;
    20-я строка кода, вернее вся функция train.
    int* привести к double * - это, конечно, сильно (я уж молчу про небезопасно), не проще ли тогда изначально объявить массив data как double? Ну это же удобнее. Т.е. просто объявляем нашу функцию void train(double data[4][3], int exp[4), и в main'e объявляем double trainingdata[4][3], и все, и не нужно есть кактус.
    33-я строчка: int expresults[4] = {0, 0, 1}; - это тоже сильно.
    к тому же, вроде как у нас была таблица
    1,0,1 = 1
    0,0,1 = 0
    1,1,1 = 1
    1,0,0 = 1
    0,1,0 = 0
    а в итоге мы почему-то используем таблицу
    0,0,1 = 0
    0,1,1 = 0
    1,0,1 = 1
    0,1,0 = ? (0 по дефолту, но это не точно)
    да, у нас массив из 4 элементов инициируется только 3-мя значениями, так что на месте последнего элемента у нас по чистой случайности правильный 0, просто повезло, так что берем и смело переписываем:
    double trainingdata[4][3] = { {1,0,1}, {0,0,1}, {1,1,1}, {1,0,0} };
    int i, expresults[4] = {1,0,1,1};
    /* .... */
    double newdata[] = {1,1,0};
    И, кстати, да, а для чего у нас тут windows.h? Мы ничего из него не используем, но зачем-то инклудим. Зачем?
    З.Ы. fmod( rand()%100000000 * 0.1, 1.05 ) ... ну-у-у-у.... ээ-это-о-о-о... а не проще ли w[i] = rand() % 11 / 10.0;
    Не? Никак? Низя? Работать не будет? Точно?
    Да и в целом, у нас на входе 3 животинки, а на выходе только 2 (либо 0, либо 1). Эх, жизнь не справедлива. Кто-то определенно не дополз до финиша. Либо задача составлена некорректно.
    В общем, еще есть куда расти. Успехов. :)

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

      Based.

    • @Тест_ТВ
      @Тест_ТВ 2 месяца назад

      интересно сколько тебе лет гений?

  • @даниилбенделеев
    @даниилбенделеев 3 года назад +72

    Все же нейросети гораздо сложнее, чем объяснение за 15 минут) Мне на своем курсе удавалось рассказать за 5-7 пар, причем это 2-3 курсу в вузе)). Там на самом деле куча математики и формул. Так что, если реально хотите понимать как устроены и почему работают нейронки, вам придется учить все с нуля. Иначе это просто нереально (по себе знаю). А так, попытка неплохая) Причем больше удивился тому, что пишешь на C. Все таки нечасто увидишь столь молодых людей на C/++. Это к моменту о том, что люди знакомясь с программированием считают знание нескольких строк кода на питоне - "программированием". В общем удачи в продвижении))

    • @IT_Shkolnik
      @IT_Shkolnik  3 года назад +18

      Вау! Я удивлён что меня смотрят преподаватели. Спасибо большое вам за комментарий, они очень сильно мотивируют снимать подобный контент дальше. Я конечно знал что там куча формул и все такое, но целью видео было ввести в курс дела, и я когда его делал сам недавно познакомился с этой темой. Это обширная и интересная тема, но пока я изучаю углубленно лишь язык С. Он занимает отдельное место в моем сердечке :з Синтаксис языка просто идеален, и тут даже придраться не к чему в отличии от того же Паскаля или Алгола. Мне кажется что человек в любом возрасте может использовать инструмент, если знает как. Вы верно подметили про подростков, считающих что несколько строк на питоне это "программирование". Действительно жаль что молодое поколение во всем выбирает лёгкий путь. И да я вообще не люблю питон, у меня аллергия на интерпретаторы, высокий уровень, и динамическую типизацию. Ещё раз спасибо за коммент, так ролики чаще попадают в реки))

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

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

    • @IT_Shkolnik
      @IT_Shkolnik  3 года назад +19

      @@rxrx0255 вообще на С можно написать всё что угодно - от ОС до нейросетей. Но я сталкивался с проблемой такой же как вы, что в большинстве материалов по машинному обучению приводят в пример код на питоне. Я кажется могу объяснять - всё дело в простоте. Вы можете писать нейросети на чем угодно - даже на чистом ассемблере, но вы хотите сосредоточится на самом алгоритме и его реализации, а не на том как работает процессор, и какие регистры можно использовать на запись. Питон - полностью абстрагирует программиста от работы с аппаратной частью - вы излагайте что надо делать машине простым английским языком. Это и есть разница между высокоуровневым и низкоуровневым программированием. А что касается преимуществ С/С++ в данной сфере (ИИ) то они быстрые по своей природе, и ваша нейросеть будет работать быстрее чем на питоне. Правда стоит вопрос - а сможете ли вы её написать на чистом С? Ну там указатели, адреса, malloc, и так далее что отвлекает от алгоритма. Я сам с этим сталкивался, но не в коем случае не хочу переходить на питон, каких бы трудностей мне это не стоило, т.к. я не фанат высокого уровня, и скорость выполнения для меня важнее чем скорость написания кода и отладки ошибок - это ли не есть программирование? Итого могу сказать что питон прост для восприятия, и помогает концентрироваться на математике, поэтому и приводятся примеры именно на нем. Если бы я писал книгу по нейросетям я бы мог написать что то такое на С:
      uint32_t *weights = (int*)calloc(3U, sizeof(uint32_t));

      free((void*)weights);
      Но не думаю, что все бы это поняли, ведь тут в отличии от питона надо хоть чуть чуть понимать из чего состоит С. И да Python можно в значительной мере ускорить с помощью JIT компилятора NumPy. Но он никогда не обойдёт по скорости вычислений чистый С, это невозможно физически. Я вот недавно учавствовал в олимпиаде ВСОШ по программированию, и вот там С меня подвёл тем что писать долго - продумывать надо. Но вы не волнуйтесь - все питонисты провалили тест на время выполнения XD

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

      @You Tube Это целых 9

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

      @You Tube узколобо

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

    Это было здорово! Просто и понятно🫶🏼 Лайк, подписка👍🏼 Посмотрю остальные видео!

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

    отличный выпуск.продолжай.буду смотреть каждое твоё видео.класс.

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

      Спасибо, правда пока не знаю что снимать, и времени особо не хватает

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

    Падает самооценка, когда тебя смотрю. А заодно появляется мотивация

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

      Спасибо за комментарий. Никогда не останавливайся, двигайся только вперёд. Я в тебя верю!

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

      @@IT_Shkolnik спасибо!

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

    Урок интересный, объяснения понятны. Продолжайте!

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

      Спасибо за комментарий, рад что вам понравилось :)

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

    достаточно простым языком объяснил, ты заслуживаешь больше подписчиков!

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

      Спасибо большое!

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

      не заслуживает, заслуживает Сергей Балакирев

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

    Крутое и полезное видео) Благодарю!

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

    Ты очень умный парень!!! Я рад,что такие,как ты люди существует

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

      Спасибо, да я сам ещё учусь )

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

    Парень, да Вы реально крут!!! Спасибо. Особенно за ясность в изложении..

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

      Спасибо! Я рад что вам помогло моё объяснение :)

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

    12:00 Почему инициализируем expresults[4] = {0, 0, 1}. Нужно же expresults[4] = {0, 0, 1, 0}, верно я понимаю?

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

      Спасибо за вашу внимательность, это писали уже раньше, в описании исправил

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

    Чувак спасибо, мне 15, у тебя единственное нормальное объяснение из тех что я нашёл, теперь буду идти дальше и разбираться с LLM)

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

      Что это такое “LLM”?!?!

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

      Рад что смог понятно объяснить!

  • @РоссийскаяФедерация-с9и

    Респект! Дорогу осилит идущий!

  • @oldjohn1503
    @oldjohn1503 Месяц назад +1

    Вот тебе и школота, блин!)) Красава, парень!)

  • @НаириМкртчян-х1э
    @НаириМкртчян-х1э 8 месяцев назад +2

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

  • @FakeFake-x5o
    @FakeFake-x5o 2 месяца назад

    подписка, все структурно рассказал 👍

  • @fish9370
    @fish9370 3 года назад +6

    Ну не плохо, давай следующий урок

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

      Спасибо, рад что вам понравилось! Я сейчас работаю над новым интересным роликом.

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

    ты гений делаешь качественный контент молодец😄

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

    Реально, вообще кайф!! Есть тг канал? Заведи пожалуйста. Я часов 10 потратил на исследование темы нейросетей (математика на высоком уровне, в программировании 3 года опыта) и нифига не понял. А тут абсолютно понятно. Очень хочу тг канал

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

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

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

      Да, правильно. Но это легко сделать. Самый простой способ - записать массив весов в двоичном виде в файл. А при запуске сети не тренировать её заново, а просто загрузить веса из файла

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

    Просто лучший!

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

      Большое спасибо!!

  • @n-em3gt
    @n-em3gt Год назад +1

    А во втором уравнении, где к текущему весу умножается произведение цены ошибки на скорость и вход, что за вход, зачем он нужен?

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

      тоже не понял этого, нашли ответ?

    • @n-em3gt
      @n-em3gt Год назад

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

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

      Вход из данных, которые подаются на обучение

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

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

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

      Спасибо за подробный комментарий. Мне самому было не легко разобраться в столь интересной, но запутанной теме. Да я действительно старался объяснить всё понятным языком, но думаю что людям не знакомым с программированием как правило не слишком легко даётся подобный материал.
      Я сам новичок в данном деле (машинное обучение и нейросети), но всё же как понял решил объяснить другим людям, ведь кто знает, сколько людей посмотрят это видео, и оно наставит их на правильный путь, или как минимум вызовет мотивацию для дальнейшего обучения. Естественно к этой теме я ещё вернусь, но думаю точно не сейчас. Я готовлю новый ролик. Он будет по языку С, но не связан с написанием ИИ. Но потом планирую написать более сложную нейросеть, которая соответственно справляется с более сложными задачами.

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

    Молодец, продолжай дальше про нейросети, классно и понятно обьясняешь. Но еще много чего можно рассказать, ai изображения, ai видео, ai голос, ai сложные задачи, программирование с помошью нейросети и т.п.

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

      Спасибо!! Это да, но я ставил цель именно разобраться с основами

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

    Привет, не так давно наткнулся на твой канал, желаю успехов тебе! Хотелось бы видеть побольше видео связанных с ИИ, довольно популярная тема. Сам недавно увлекся этим, сейчас пытаюсь выбрать язык для написания ИИ, выбор пал между с/с++ и питоном. Говорят питон лучше подходит, но лично мне больше по душе с/с++, особенно в плане синтаксиса

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

      Привет, спасибо за комментарий! Конечно в плане синтаксиса с/с++ мне тоже больше нравятся. Но питонисты говорят что у них есть много библиотек и модулей, которые специализируются на создании различного рода нейронок. А на с/с++ это придётся писать с нуля, что мне кажется гораздо интереснее + даст углубленное понимание того как это работает, нежели просто поочередный запуск функций из библиотек

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

    реально вундеркинд😍

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

    Нейросеть должна выдавать 1 или 0 в зависимости от того, что стоит в 0 индексе массива, так ? Просто получается что код неправильный, так как выдает 1 даже если в 0 индексе стоит 0, но в 1 и 2 стоят единицы.

  • @АсельАртыкбаева-и1в
    @АсельАртыкбаева-и1в 8 месяцев назад +1

    Благодарю!!!

  • @Sol-En
    @Sol-En 2 года назад +2

    Вдохновляющее видео !

  • @ЕленаМакарова-я2о6м

    Умничка! Просмотрела 2 раза. 😊

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

      Я рад что вам понравилось моё объяснение)

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

    13:49 В main в первой строке инициализации идет 4 определения входных параметров trainingdata, но тут же для них определяется массив всего из трех ожидающихся значений expresults. Тут же несоотвествие. Функция train вернет ошибку index out bounds, вероятно

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

      Вы правильно заметили. Я уже писал в описании, что последний элемент expresults должен был быть проинициализирован нулём, а не опущен как на видео. И это действительно ошибка, ведь в соответствии со стандартом языка C ( ANSI ) - автоматические и регистровые переменные НЕ будут инициализироваться нулём при их определении. А массив expresults здесь как раз автоматическая переменная.
      Также, если вы знакомы с языком С, то знайте что в С нет никаких проверок на границы массива. Мы спокойно можем записать данные по любому адресу, и исключений на уровне программы не будет. Другое дело - ОС завершит наш процесс и кинет нам SIGSEGV в ответ на наши действия.

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

    Всё хорошо, но в цикле for у функции RightProp, вместо граничного числа 3, лучше поставить вот ту константу _weights. В main тоже надо бы избавиться от 3

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

      Верное замечание!

  • @lancylancy8219
    @lancylancy8219 9 месяцев назад +1

    А во входе может быть также число от 0 до 1?
    Попробовал набор данных
    int[][] trainInput = new int[][]
    {
    new int[] { 5, 0, 1 },
    new int[] { 5, 1, 1 },
    new int[] { 0, 0, 1 },
    new int[] { 5, 1, 0 },
    };
    int[] trainOutput = new int[] {0, 0, 1, 0};
    при попытке получить ответ от { 5, 0, 1 } получаю 1,
    при попытке получить ответ от { 0, 0, 1 } получаю 1,
    при попытке получить ответ от { 5, 1, 1 } получаю 1,

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

    В программе есть существенная ошибка: при приведении указателя к double. От этого значение памяти по указателю не приводится к даблу, оно остаётся таким же как было, а у дабла совершенно другой формат! И соответственно на вход функции RightProt поступают совершенно некорректные значения. Приводить к даблу надо значения, а не указатель.

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

    эмм. передача int массива в right_props через double* каст, приведёт к тому, что массив inputs будет хранить неправильно интерпретируемые данные. код не рабочий получается

    • @stakemograine266
      @stakemograine266 7 месяцев назад

      И это далеко не все его проблемы. :) По факту код вообще не рабочий.

  • @vladislavmirkos4050
    @vladislavmirkos4050 10 месяцев назад +4

    Я себе нормальных айтишников не могу найти, а они еще в школе учатся)

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

    Молодец, так держать!

  • @stalker32041
    @stalker32041 7 месяцев назад

    6:31 - всё немного не так. Допустим у нас есть лыжник, он упал на гору, ему нужно спуститься в самый низ. горы имеют локальный и глобальный минимум. В его распоряжении есть джетпак, который ускоряет его движение на константу LR, что позволяет проезжать локальные минимумы и даёт шанс попасть в САМУЮ низкую точку. Но мы не знаем, где будет такая точка и какое ускорение нам потребуется для её достижения, поэтому скорость обучения надо подбирать.

    • @mason228x
      @mason228x 7 месяцев назад

      Ваще пофиг

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

    Массив expresults[4] длинной 4 инициализирован массивом из 3 значений. Теперь думаем какую ошибку он получил в функции train(). Картинка на 2:10 содержит одну матрицу, training data[4][3] содержит другие значения. Ты сколько записывал это видео?

  • @НатальяМигненко
    @НатальяМигненко Год назад +2

    Автор крут!

  • @DeadRabbitCanDance
    @DeadRabbitCanDance Месяц назад

    Этот парень понимает в искусственном интеллекте больше чем Гурулёв! ;-)
    Молодец! Так держать!
    Мне всегда вспоминается Ералаш, начинающийся словами "Дети наша опора! Им жить и работать в двадцать первом веке!"
    ruclips.net/video/fwpsL3E_U9g/видео.htmlsi=CC0b9sJlkgjvJuC2&t=15

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

    Красавчик!!!! продолжай!!!!

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

      Спасибо, обязательно!

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

    Моё почтение

  • @АркадийНалимов-р1э
    @АркадийНалимов-р1э 5 месяцев назад +1

    Школьник? Да ты Мужчина, братец, спасибо!

  • @ГлебГромов-е8я
    @ГлебГромов-е8я 2 года назад +4

    Парень ты молодец вообще! Спасибо за интересный ролик! С меня подписка и лайк!
    Делай пожалуйста побольше роликов по этой теме!

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

      Спасибо вам! Ролики будут

  • @НарекАкобян-л5у
    @НарекАкобян-л5у 8 месяцев назад

    Здравствуйте, поставил другие примеры не работает, если зависимым параметров является не первый параметр, а второй или третий

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

    А как ты сам учил это все, какие книги / видео использовал?

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

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

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

    Новый winderton на замену растёт 😊

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

      За Winderton'а респект)

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

    Очень интересно, но не хрена не просто! Надо знать язык программирования, понимать «элементарные» правила анализа и т.д. Но, парень молодец!

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

      И то верно, хоть какая-то база всё же нужна, но я постарался объяснить некоторые моменты и оттуда тоже. Спасибо!

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

    Очень классный ролик, респект. Объясняешь лучше взрослых)

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

      Спасибо! Не сказал бы что лучше, но старался, и так классно получилось)

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

    Давать информацию с такой скоростью, все равно что пытаться прочесть сказку о царе Салтане за 10 -20 минут-через пять минут перестанешь воспринимать информацию

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

      для тебя добавили кнопочку паузы в плеере

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

    Ай молодец)

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

    Это конечно классно что всем всё в видео понятно, но я уже зная как работает нейросеть и написав несколько своих, не могу понять что в этом ролике объясняется

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

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

    • @MairanYT
      @MairanYT 11 месяцев назад +1

      @@IT_Shkolnik , нет, я создавал свои собственные библиотеки)

  • @kryptodogs
    @kryptodogs 11 месяцев назад +2

    Я считал себя умным для своего возраста, но он... он меня пугает😂

  • @axeus1382
    @axeus1382 Месяц назад

    ITSchüler😂👍 красава. С меня подписон.

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

    Код немного странный. Например, weights лучше объявлять не как define, а как const int. И непонятно, зачем ты её объявил, если потом вместо неё при проверках использовал её значение (3). Очевидно, объявлять значение весов как переменную стоит только в случае, если изменение данной переменной изменит количество весов.

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

    Наш перцептрон должен делать тоже самое что сейчас делал ваш мозг😂😂😂😂

  • @ПриветМир777
    @ПриветМир777 Год назад +2

    С первой секунды подумал, что сейчас будет что то из рубрики- сегодня мы поговорим о бравл старс)) но блин, мое почтение, крутой) мы в твоем возрасте палкой крапиву пизд.и)) давай юный Бил Гейтс, покажи им всем)

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

      Нейронная сеть : реализация в бравл старс :) Спасибо!

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

    Развития вашему каналу🔥🔥🔥

  • @justboy4743
    @justboy4743 3 года назад +12

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

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

      Кто сказал, что забросил, нет конечно)
      Скоро продолжу делать видосы, просто недостаток времени и технические трудности внесли свой вклад в частоту выхода роликов

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

      @@IT_Shkolnikпросто я это к тому, что твой контент вызывает уважение, сам с недавних пор решил вкатиться в изучении ИИ, и нашёл твой ролик весьма интересным.

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

      @@justboy4743 рад это слышать!

  • @Леонид-б5е
    @Леонид-б5е Год назад +1

    Крут

  • @timur.shhhhh
    @timur.shhhhh Год назад

    Какие ещё типы нейронок существуют? И чем они отличаются? Например, если мы получаем описания животного и надо поделить на группы, пример: вид, цвет, имеет ли хвост, клюв и тд.

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

      Это за рамками простой нейросети, и я если честно не знаю

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

    Никита, продолжай так-же, ты лучший канал по программированию с офигенной подачей

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

      Спасибо большое за отзыв! Обязательно буду продолжать, новый ролик уже на подходе )

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

      занудная торопливая подача

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

      @@alexandrosipov4186 Постараюсь улучшить качество

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

    спасибо за С

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

      Всегда пожалуйста! Мой любимый ЯП, поэтому и на C

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

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

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

      Спасибо за советы! Пробовать что-то новое всегда полезно и интересно

  • @Oracule-bh5vy
    @Oracule-bh5vy 3 года назад +1

    Для понимания темы необходимо иметь базовые знания в программировании. Стоит отметить что в этом видео гораздо более приземистo и понятно объясненa суть. Насколько это возможно конечно. Спасибо за старание, очень полезнo и познавательнo!
    И ни в коем случае не переставай записывать ролики В подобном формате.

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

      Огромное спасибо за поддержку!

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

    Спросил у Got чата, ставить лайк или нет этому видосу .. Чат сказал дизлайк поставить.. Думаю нейросеть не любит конкурентов!😂😅😂.. я принял соломоново решение -просто написать коммент под видео😮😅😂

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

      Вы всё правильно сделали, поздравляю!

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

    Молодец !

  • @трольКозырь
    @трольКозырь 3 года назад +1

    Красава!у тебя будет отличное будущее продолжай!!создай своё сообщество и команду! а дальше компания деньги и яндекс в опу)

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

      Спасибо, обязательно

    • @трольКозырь
      @трольКозырь 3 года назад

      Напиши свой сайт и создай сообщества во всех социальных сетях! Дальше ты уже сам поймёшь что тебе делать и это естественно тебе надо будет автоматизировать! Удачи Мужик!!

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

    Хорош. Не забрасывай развивать свой мозг. Со временем если перестанешь этого делать - начнется деградация и вернуться к тому что было будет тяжело, особенно мышление. Мозгу свойственно забывать то что не используешь. Кажется мозг стирает то что не используешь ровно так же как и обучается)

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

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

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

    Привет, молодец, желаю тебе миллион подписчиков на канал! Именно такие как ты должны быть в топе, а не трясущие жопами человекоподобные существа 😉

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

      Спасибо огромное!! К сожалению, мир несправедлив хаха

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

    Круто! Продолжай

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

    3:34 0.33 *0.1 = 0.033 не 0.0033