Эти все видео были сделаны нейросетью 100% схазххсза, это слишком круто
@СарматПересветов2 ай бұрын
за исключение описанных недочетов, урок Вы очень хорошо обьясняете, большое спасибо!
@zealot43253 ай бұрын
Очень толковый и хорошо подготовленный урок. Спасибо Вам!
@kvarze4 жыл бұрын
У вас явно талант преподавания. Еще раз огромное спасибо за возможность бесплатно смотреть ваши уроки. А вам желаю, чтобы ваши труды окупились)
@selfedu_rus4 жыл бұрын
Спасибо большое! )
@danielchsh80544 жыл бұрын
@@selfedu_rus Сколько я различных материалов пересмотрел... Вы объяснили все просто и понятно! Спасибо огромное! Надо добавить вам номер карты, куда на кофе присылать))
@selfedu_rus4 жыл бұрын
@@danielchsh8054 Спасибо, смотрите в описании канала )) Кофе люблю )
@andreyfedorenko1912 жыл бұрын
@@selfedu_rus извините, а какие книги посоветуете по нейронной сети не для начинающих. Ну то есть для людей, которые понимают принцип работы и создавали свои нейронные сети, например распознание цифр
@andreyfedorenko1912 жыл бұрын
И есть ли у вас собственный курс по нейронным сетям
@АнастасияМ-ф2п9м3 жыл бұрын
Очень ясная и четкая речь, без слов "паразитов". Слушается великолепно!
@ПриманкаТВ-о6ш3 жыл бұрын
Это нереально ценная информация доступная для любого . Спасибо большое!!
@dubinin_s4 жыл бұрын
Огромное спасибо за видео. Отдельное спасибо за подкрепление материала математическими формулами. Пересмотрел десятки часов видео, везде достаточно абстрактно объясняли почему применяют функцию активации ReLu или softmax, а чаще всего вообще не объясняли. Благодаря Вам стало намного понятнее.
@АндрейМельников-р7ч2 жыл бұрын
Контент огонь. Очень понравилось, что помимо стандартного набора информации, детальнее рассказываешь, что где используется и почему так.
@sugarsugar97013 жыл бұрын
Благодаря вашим видео учёба превратилась в отдых !
@Dmitrii-Zhinzhilov Жыл бұрын
Большое благодарю! С вами учёба становится увлекательным путешествием в мир знаний. 🔥👍
@АлексейБаринов-ь5н2 жыл бұрын
Спасибо большое! Качество роликов 10/10
@3525563 жыл бұрын
Я долго искал курс по НС как на русском, так и на английском и этот курс лучший! Огромное спасибо автору
@maksutaatuskam8603 жыл бұрын
Классный курс ! Так держать.
@pboffic2 жыл бұрын
Спасибо за уроки !
@rpuropu3 жыл бұрын
И вот, прошло две недели моего обучения, и я снова возращаюсь к вашим видео, как к мантре) Право, хорошая отправная точка. Хочу уточнить одно обстоятельство: бинарная кроссэнтропия не подходит для определения двух классов. Тут логическая ошибка - она подходит для определения наличия или отсутствия одного класса, если так можно выразиться. А если нам нужно проклассифицирновать кошку или собаку, то это уже будет категорилаьная кроссэнтропия и уже как раз с активацией софтмакс. Для бинарной выбирают сигмоид. Делюсь опытом, так сказать) Кстати, модель даже не скомпилируется, если захотеть получить на выходе два класса Dense(2) (кошки и собаки) с бинарной кроссэнтропией. PS осмелюсь предложить идею продолжения этого курса в областьв отдельный - Transfer Learning. Как состыковывать между собой различные предобученные модели различными слоями. С сохранением эпох на всевозможных этапах обучения. А так же: заморозки слоёв, собственные модели предобучения, существующие модели предобучения (например VGG), тонкая настройка - двумя словами.
@Dreig Жыл бұрын
Простите за ответ спустя год, но правильно ли я понял, что, если задача стоит, например, распознать, кошка на картинке, или нет, то это бинарная кроссэнтропия, а если задача определить, является ли это кошкой, или же собакой, то это уже категориальная кроссэнтропия? Т.е для бинарной кроссэнтропии (кошка или нет || собака или нет) нужен 1 выходной нейрон с функцией активации сигмоид?
@rpuropu Жыл бұрын
@@Dreig, офигеть.. я сам себя прочитал сейчас и удивляюсь, где я таких слов нахватался) я сейчас дата инженер и занимаюсь ЕТЛ, это всё я уже почти не помню, сорри. Но вот свой вывод я помню по этому вопросу, что там именно бинарная кроссэнтропия должна быть).. а сколько там нейронов - извините, не вспомню
@АртурЗарипов-ю9п Жыл бұрын
Большое спасибо!
@КостянтинБєсєдін3 жыл бұрын
Супер !!!
@rpuropu3 жыл бұрын
и действительно "+6" по возрасту подходит)
@АртиКалмыков Жыл бұрын
не особо, мне 16, но без знаний о производных и первообразных я с трудом понимаю что-то
@DANFLIPPER Жыл бұрын
@@АртиКалмыковмне 5 лет все наизи панимаю с первово праасмотра
@boost_45611 ай бұрын
@@АртиКалмыков в Keras все функции уже реализованы. Не обязательно досконально понимать как они работают, достаточно разобраться в каких случаях их можно применять
@zoryana76033 ай бұрын
@@АртиКалмыков не переживайте думаю +6 это просто подбадривающее будьте уверены этот материал рассчитан на людей которые не первый раз высшую математику и пайтон видят поэтому в вашем юном возрасте нормально иметь вопросы но могу точно сказать что после курса вышмата все прийдет в норму
@krasnokutsky-denis3 жыл бұрын
спасибо большое
@TechRizzard Жыл бұрын
🔥🔥🔥🔥🔥🔥
@rpuropu3 жыл бұрын
я тут комментирую, может повлияю на индекс вовлечённости)
@ВикторЧеботарь-з2в Жыл бұрын
спасибо за урок
@user-oy7vn6mk1t3 жыл бұрын
Не ну это очень жостко. Первые три урока я делал похожие задачи для практики и все понял, автор очень классно объясняет, но как только пошли формулы я всё. Сам в 10-ом классе учусь и ничерта не понимаю.
@selfedu_rus3 жыл бұрын
Да, нейросети - это серьезная математика. Если хотите детально в этом разбираться, то математику нужно знать хорошо, а школьную - просто отлично. Без этого тут никак )
@alicenNorwood2 жыл бұрын
Ну вот и готов мой диплом можно сказать...
@YbisZX8 ай бұрын
@selfedu_rus 16:32 Поясните про функцию потерь hinge. Ее производная просто -yi. Она не становится нулевой при di=yi. Она вообще не показывает направление градиента в отличие от остальных... Например при di=yi=-1 ответ правильный, градиент должен быть 0й, а по производной получается -1
@YbisZX8 ай бұрын
Сам разобрался. :) Это как hinge loss в линейном классификаторе. Он обрубается по совпадению классов (di*yi) дальше +1. Производная кусочная: (di*yi
@СарматПересветов2 ай бұрын
я еще не совсем разобрался, на 16.34, по логике критерий качества ХИНДЖ можно использовать для задач только бинарной классификации а не многоклассовой классификации..... а иначе получается какаято ерунда. так как di*yi в функции max(1 - di*yi ; 0) может принимать только два занчения 0 и 2 только если у нас есть всего два класса +1 и -1. А если у нас много классов, например 3, то данная логика не подойдет. CatGPT говорит примерно тоже что и я.
@СарматПересветов2 ай бұрын
Напрашивается хороший вопрос, а как нам найти локальный градиент для функции softmax?? Конечно же по логике мы будем искать локальный градиент даже для последнего слоя по линейной функции, но всеже хотелосьбы уточнить этот момент.
@selfedu_rusАй бұрын
берется производная по каждому выходу и далее они распространяются обратно по сети
@Dreamcatcher_Lvl_ Жыл бұрын
Здравствуйте, спасибо большое за все эти видео. Наверное это лучший курс во всём ютуб по нейросетям. Не хватает разве что более полного курса по эволюционным сетям и обучение с подключением. Конечно это можно найти в ютуб, но хотелось бы пройти именно ваш курс. Но очень сильно не хватает одного, я не нашел видео про Bias, как его имплементровать, в каких случаях, как корректировать биас и т.д. а если в двух словах по сути можно воспринимать Bias как нейрон с 1 на входе и весом, значением самого биас, и корректировать также через delta*weight*1 ?
@virn_17 Жыл бұрын
Здравствуйте! Этого курса хватит что бы знать все основные понятия нейросетей как они работают. Или это капля в море?
@selfedu_rus Жыл бұрын
капля в море )
@dubinin_s2 жыл бұрын
Подскажите, о чем говорит следующая ситуация. При обучении сверточной НС на выходе почти сразу получаешь [0.33, 0.33, 0,34], val_loss снижается, метрика "accuracy" замерзает на 0.3220, изменение опримизатора и функции потерь никчему не приводит. Мне интересно как это можно объяснить и побороть.
@selfedu_rus2 жыл бұрын
accuracy 0,33 = 1/3 и у вас три выхода, т.е. все они оказываются равновероятными при подаче на вход какого-либо образа, т.е. сеть вообще не обучена, скорее всего идет несоответствие входных образов и выходных целевых переменных
@dubinin_s2 жыл бұрын
@@selfedu_rus Вы правы, сменил классификацию на регрессию и все получилось)) А, вообще, такой эффект может наблюдатся если сеть маленькая и ей просто не удается выявить нужные признаки и поэтому не находит ничего лучшего как сойтись к такому результату?
@selfedu_rus2 жыл бұрын
@@dubinin_s ну это если совсем маленькая, все же здесь всего три выходных класса и даже небольшая сеть должна показывать хоть что то разумное, чем простое угадывание
@vitalyvistovsky86612 жыл бұрын
16:54 Почему произведение dy равно 1, если они равны и -1 если не равны?
@DubrovinAlexander2 жыл бұрын
Добрый вечер! Время 3:21. Почему значение градиента для n-го слоя будет равен 1/2*n? Ведь максимальное значения градиента для одного слоя равно 1/4, для двух слоев их произведение 1/4*1/4=1/16 и это не равно 1/2*n
@texadmin47492 жыл бұрын
У меня вопрос, нейронная сеть при обучении просто минимизирует ошибку, или минимизирует ошибку выбранного критерия качества, т.е. будет ли нейронная сеть обучена по другому при равных начальных условиях, но разном выбранном критерии качества? Спасибо
@selfedu_rus2 жыл бұрын
если начальные условия одни и те же, но показатель качества разный, то и ход обучения пойдет по другому треку
@pasha55842 жыл бұрын
Вопрос к автору. Я правильно понимаю, что при алгоритме обучения rprop не требуется дифференцируемость активационной функции и можно использовать просто пороговую?
@selfedu_rus2 жыл бұрын
нет, метод back propagation лишь показывает как эффективно вычислять градиенты для пересчета весов, но градиенты (производные) считать все равно нужно (если правильно понял вопрос)
@pasha55842 жыл бұрын
@@selfedu_rus С backprop всё понятно. Но насколько помню ещё с лекций начала 2000х для ускорения сходимости обучения используют либо добавление 'моментов инерции' для обратного распространения либо использования алгоритма rprop. Если правильно понимаю суть этого алгоритма, то там используется только знак производной.
@selfedu_rus2 жыл бұрын
@@pasha5584 я знаю только rmsprop созвучный с тем, что пишете, но там тоже производные
@pasha55842 жыл бұрын
@@selfedu_rus Вот тут англоязычный объясняет kzbin.info/www/bejne/eaqVmGyVnbdga7s&ab_channel=RyanHarris Как я понял от производной берут только знак, а приращение фиксированное пока уменьшается ошибка. Когда проскочили минимум, то приращение делят пополам
@selfedu_rus2 жыл бұрын
@@pasha5584 ну это очень грубый градиент и все, в общем случае лучше производную брать
@user-oz9rf6fm1w3 жыл бұрын
Спасибо большое за видео, но можно вопрос, почему при использовании ReLu в больших полносвязных сетях не происходит переполнения весов на начальных слоях? Ведь градиент каждого нейрона равен сумме градиентов следующего слоя * на веса * производную, отсюда следует, что с каждым последующим слоем градиент должен расти и привести в результате к переполнению весов. Но когда я пробую смоделировать это, то получаю совсем небольшие веса на первых слоях. Ничего не понимаю, как это работает.
@selfedu_rus3 жыл бұрын
Вопрос очень хороший! Нужно иметь в виду, что мы берем производную не по функциям активации, а по функции потерь. И здесь у нас будет получаться формула, в которой фигурируют положительные и отрицательные значения в сумме. Подробная хорошая математика приведена в книге "Саймон Хайкин. Нейронные сети (полный курс) 2-е издание, страница 225 - начало алгоритма back propagation.
@Abobya228 Жыл бұрын
Здравствуйте, вопрос такой: есть формула Σ и над ней и сзади неё (1/N) есть буква N. Скажите пожалуйста, откуда брать N и что это.
@selfedu_rus Жыл бұрын
Это число выходов НС
@Abobya228 Жыл бұрын
@@selfedu_rus спасибо :D
@Abobya228 Жыл бұрын
@@selfedu_rus получается, для всех выходов вычисляется 1 ошибка?
@PhyzmatClass6 ай бұрын
Не совсем понял чем страшны большие ошибки? чем они хуже маленьких?
@AxwelHD3 жыл бұрын
Здравствуйте, хотел уточнить, чтобы представлять целостную картину. E - это значение полученной ошибки, так? В 5 уроке мы затрагивали зависимость показателя качества Q от итераций по эпохам. При увеличении эпох уменьшалось Q. Вопрос: Q и E это одно и то же или между ними есть какая-то разница? Если есть объясните, пожалуйста, в чем же.
@selfedu_rus3 жыл бұрын
Это одно и то же: Q=E
@RikiNaxx4 жыл бұрын
продолжай пожалуйста
@zerotohero266 ай бұрын
11:10 насколько я понимаю, должен быть множитель 1/N вместо 1/2
@KulibinNeDaVinci6 ай бұрын
Зачем в softmax экспоненты? Просто каждое на сумму делить нельзя? Тоже ведь будет от 0 до 1.
@zoepetrovskaya17724 жыл бұрын
в формуле среднего абсолютного процента ошибок max(|yi|, эпсилон) , эпсилон - это погрешность?
@selfedu_rus4 жыл бұрын
нет, это очень маленькая положительная величина, исключающая деление на ноль
@zoepetrovskaya17724 жыл бұрын
@@selfedu_rus , спасибо, понятно.
@PhyzmatClass6 ай бұрын
А нельзя логистическую функцию подправить так чтобы её производная стала близка к единице? Например простым домножением на постоянный коэффициент.
@TheAlexaed3 жыл бұрын
На 11 минуте может нужно умножение на 1/N?
@selfedu_rus3 жыл бұрын
нет, 1/2 - этот множитель сокращает двойку при вычислении производной, а вообще он не имеет большого значения, можно и просто 1 записать - это все для удобства расчетов и не более
@olegkomlev Жыл бұрын
Думаю да, нужно именно 1/N , а не 1/2, тогда и получится "Средняя квадратичная ошибка (Mean Squared Error, MSE)". Например, если di и yi в диапазоне [0,1], то MSE будет в диапазоне от 0 (совсем нет ошибок), до 1 (сплошные ошибки). Т.е. Е - это доля ошибок. И этот критерий не зависит от N. Но именно, если делим на N, а если делим на 2, то получается, что критерий зависит от числа выходов.
@ДаниилГригорьев-о6ы4 жыл бұрын
Я правильно понимаю, если у меня классификация тех же цифр от 0 до 9, но 90% ответов это 0, то такая сеть неспособна научиться распознавать?
@selfedu_rus4 жыл бұрын
она обучится, но скорее всего плохо, так как будет перекос в сторону нулей. Она заведомо будет делать меньше ошибок, если хорошо распознает нули, а другие цифры не очень ))
@ДаниилГригорьев-о6ы4 жыл бұрын
@@selfedu_rus ну вот у меня такое распределение результат, количество 0 3191 2 132 4 82 1 41 3 38 в качестве критерия качества используется категориальная кросс энтропия. меняю batch от 1 до 500, альфа коефицент от 10 до 1e-08, но обучения всегда останавливается на train_error: 293/ 3484. 293 - это все ответы отличные от 0 Даже запоминания данных не происходит. Про цифры это была аналогия)
@selfedu_rus4 жыл бұрын
@@ДаниилГригорьев-о6ы размер батча должен быть кратен всей длине выборки, остальные параметры здесь не влияют на ошибку, ну а детальнее - это уже надо смотреть...
@ДаниилГригорьев-о6ы4 жыл бұрын
@@selfedu_rus спасибо!)
@ПриманкаТВ-о6ш3 жыл бұрын
А сама нейронная сеть не может сказать , какой алгоритм лучше? )
@selfedu_rus3 жыл бұрын
Пока еще нет качественных НС, которые создают другие НС
@torbokovsanat3 жыл бұрын
+
@ОльгаКириленко-р2ж3 жыл бұрын
В формулах N это что?
@selfedu_rus3 жыл бұрын
число входов на нейроне
@YbisZX8 ай бұрын
@@selfedu_rusНет же! N - это число объектов выборки. И кстати, в формулах показателей качества должна быть сумма функций потерь по выходным нейронам, а уже потом среднее по выборке (минибатчу).
@YbisZX8 ай бұрын
@@selfedu_rusИ кстати, на 17:35 как в бинарная кросс-энтропия может применяться к классам {+1-1}. Как логарифм от -1 брать?