Нейронные сети за 10 минут
HTML-код
- Опубликовано: 14 сен 2019
- Что такое нейронные сети, и как они работают? Узнайте в этом видео!
Мы рассмотрим довольно простую нейросеть, но почти все принципы, о которых я расскажу, также применимы для построения и более сложных современных нейросетей.
Знакомиться с понятием нейронные сети мы будем на примере задачи классификации.
Вы узнаете, что такое нейрон, функция активации, нейронная сеть и многослойный перцептрон.
Вычисление в одном нейроне происходит следующим образом: вычисляется взвешенная сумма входных значений, прибавляется значение смещения (bias) и от получившейся суммы вычисляется функция активации. Важно, чтобы функция активации была нелинейной.
Выходы группы нейронов можно подать в другой нейрон, таким образом мы получим простую двухслойную нейронную сеть. Если нам нужно делать классификацию на N классов, то в последнем слое нужно поставить ровно N нейронов.
Такая архитектура называется полносвязная нейронная сеть или многослойный перцептрон.
В конце мы рассмотрим вычисление слоёв нейронной сети с точки зрения линейной алгебры - через умножение на матрицу весов и прибавления вектора смещения.
Меня зовут Дмитрий Коробченко, и на моём канале будет много чего интересного, так что подписывайтесь и нажимайте на колокольчик, чтобы ничего не пропустить: / @user-uy8zl7qd2e
#Нейросети #ГлубокоеОбучение #ДмитрийКоробченко #НейронныеСети #МашинноеОбучение #ИскусственныйИнтеллект
Рекомендуемый порядок просмотра:
1. Нейронные сети за 10 минут: ruclips.net/video/GT6imQDxqko/видео.html
2. Как обучить нейронную сеть: ruclips.net/video/uWd9nyn0ql8/видео.html
3. Нейронная сеть на Python с нуля: ruclips.net/video/xMz7XSaqdRA/видео.html
4. Обратное распространение ошибки: ruclips.net/video/bW4dKxtUFpg/видео.html
5. Обучение нейронной сети на Python: ruclips.net/video/bXGBeRzM87g/видео.html
Как можно связаться с Вами? Есть интересный вопрос) Спасибо)
@@yevhenlebedenko2049 никак.
Вот она... Магия линейной алгебры))))
Давно уже пришёл к выводу, что умение просто объяснить сложные вещи - это признак очень глубокого понимания предмета.
Подписался.
Есть шальная мысль попробовать в своей специальности (я биолог) - но понятно, что само оно не сделается, надо немало усилий приложить :)
Получилось?..
Золотые слова
Кста... я тоже биолог, но мне понятно. Больше того, я заканчивала 2 года назад курсы по С#, ООП и VS для себя.
Ну очень удивилась, насколько генетика сложнее программирования. Даже мемами немного троллила про совпадения обеих областей знаний.
Практика нужна. И, конечно, хороший проводник в знания.
@@ulakrist ну так и в программировании есть трудные задачи. Это некорректно их сравнивать, вы не встречались с более сложными задачами, как я вижу
@@rad9587 как и вы с генетикой. Но я так, как вы, не могу сказать, что "вижу", ибо это будет враньё)
Графика просто Вау, мужик, ждём видосов
Новое видео уже на подходе
Спасибо за видео, все кратко и по делу, раза 3 переслушивал, чтоб хорошо понять :)
Очень интересно. Пожалуйста, продолжайте!
Лучшее видео про введение в нейросети что я видел в рутубе, даже лучше чем 3Blue, имхо, продолжайте пожалуйста))
очень подробно и грамотно все объясняете. правда иногда нужно по 2-3 раза переслушать. лайк и ждем новых роликов. От себя прошу разобрать сверточные сети с 0. также как и этот пример
Это лучшее объяснение нейронных сетей, что я видел на просторах интернета. Спасибо!
Спасибо, решил посмотреть, а в статьях так написано что не поймёшь.
А ты всё рассказал быстро, чётко и доходчиво)
Шикос, благодарю за видео!!
Всем добра)
Очень круто и понятно! Спасибо!
Более понятного объяснения я еще не слышал) Лайк + подписка + респект!
спасибо, ждём дальше)
Вы первый кто интересно объясняет! Очень круто)))
Ну просто здорово. Я пенсионер мне 63 года. Когда то пробывал изучать линейную алгебру и забросил. А тут так интересно рассказывается. Я понял это математика. Но и не только. Хочу попробывать создать простейшую нейронную сеть естественно на Питон.
Спасибо за за очень понятное объяснение! Смотрел видео других ютуберов, так не чего и не понял... Посмотрел ваше видео, и всё хорошо усвоелось. Спасибо!
Было дело, а хотя я двигаюсь в одном русле
Поиск сложных закономерностей!
Как просто изложен смысл нейросети! Браво!
Спасибо огромное! Очень простое и понятное объяснение!
9:38 «остался лишь один вопрос»
Нет, осталось пару сотен вопросов после этого видео
Но видео было понятное, спасибо!
Будет серия роликов на тему, постараемся ответить на всё по максимуму
😂👍Спасибо за юмор! Но в моём случае это именно так.
Очень круто! Емко и по делу, с доходчивой анимацией! Лайк за проделанную работу ;)
Что для одного круто, для другого - элементарщина.. В этом и красота Жизни.
Попробуйте подкинуть сахар для муравья - почувствуйте себя "богом"
Спасибо за видео. Не ожидал, что пойму. Буду практиковаться)
не зря ждал видосы
Большое спасибо! Очень помогли!
Контент просто бомба!!!! 👍👍Дмитрий, я снимаю шляпу за такое видео. Спасибо вам большое и успехов вам 👏👏👏👏
Вы просто отличный и шикарный. Молодцы!
хочу больше информации, ты лучший
Очень помогло. Спасибо!
Меня всегда удивляют люди которые могут сложные вещи объяснить простыми слова! Лайк и подписка обязательно!
Димон, классное видео
Круто , всё понятно
Удивительно мало просмотров и лайков для столь качественного контента
Очень круто!
Спасибо. Любопытно узнать в вашем изложении про рекуррентные нейронные сети
Обязательно будет
Спасибо!
Красава мужик
чотко объясняешь
Очень хороший ролик
Я уверен канал стрельнет, буду здесь до миллиона
Хорошее видео
брат, не пропадай(
Новое видео уже на подходе
Вы нереально крут
Спасибо
Посоветуйте литературу пожалуйста? Что это за книжки у вас на столе такие интересные? Было бы очень интересно посмотреть разбор литературы от вас. Видео 🔥🔥🔥!!!
Почему так мало лайков? Супер же объясняет!
Потому, что для понимания его объяснений нужно иметь предварительный базис. А он мало у кого есть. Это видео не для новичков.
спасибо! очень доходчиво!
Как можно с вами связаться?
Дмитрий, спасибо за ролик! Подскажите пожалуйста, можно ли понимать W как какой то вероятностный процент, например да=100%, не знаю=50%, нет=0%???
Каковы Ваши прогнозы на развитие нейросетей в ближайшие годы? Меня интересует конкретный вопрос, могут ли они внезапно начать представлять опасность для человека? На каком-то этапе развития.
Нет не когда,не когда более,все что там сказано это математическая модель,не чего более она не не сет как влажные мечты математиков,которые решили прибрать к себе И.И(Искусственный интеллект). Но заверю вас,это модель их модель,только и может гонять числа,в абстрактном виде.И слава богу,это так не работает. Что касается самого ИИ то какую логику задать ему и задачи,так и будет. Но до нормальной работы,и решения сложных зада, ИИ еще очень далеко))
круто
Просто респект за видео ! Если вы тоже глянули сия видос благодаря Дроидер-лосось коммент))
Благодарю за качественную информацию!!! Графовые нейросети в принятии решений в психологии, медицине (электрической нестабильности сердца), салкивается в этом направлении?!
а как заставить нейронку сканировать любые детали с фото и отобразить их 3д форму например в блендере.
Подпишусь-ка я пожалуй, в 10 класс пошёл и решил проект по нейроным сетям забабахать, вот теперь буду их и изучать до "идеала"
Не плохо. Быстро. Понятно. Где-то я просел в скалярных произведениях векторов ) А где там вектора ?
Подскажите пожалуйста какой тип архитектуры используется для обучения сети при создании Deep Fake медиа
При создании глубоких поддельных носителей обычно используется архитектура генеративно-состязательной сети (GAN).
Дмитрий, я тут собираю машину для deep learning и уперся что к большинству северов более 4-х GPU не подключить по 16х шине. Есть выход - старые реки Nvidia Tesla S2050 для подключение 4-х карт на 2 слота 16х которые я разобрался как доработать для установки любых других GPU, но они ограничивают обмен с картами шиной 16х 2.0 и поверлимит в 225 Вт.
Выход - переход к кластерным системам с большим количеством узлов объединенных на 10 GBE каналах, у Делла есть хорошие платы серверных нод со встроенными парными 10 ГБе на меди. Но вот как раскидать единую сеть по узлам кластера и обеспечить ее взаимодействие? Есть аналоги библиотеки MPI кластерной но применительно в CUDA-deep learning? Или сеть может оставаться единой только в пределах одного узла с общим полем памяти и CPU-GPU и на кластерные узлы разделяться не может?
Существует несколько подходов к развертыванию системы глубокого обучения в кластере. Один из подходов заключается в использовании среды распределенных вычислений, такой как Apache Spark, которая позволяет легко распределять рабочие нагрузки между несколькими узлами. Другой подход заключается в использовании распределенной среды глубокого обучения, такой как Horovod или Pytorch. Эти платформы предоставляют API для распределенного глубокого обучения, что позволяет легко распределять рабочую нагрузку между несколькими узлами. Кроме того, вы можете использовать стратегию развертывания на основе контейнеров, такую как Kubernetes, которая позволяет запускать несколько экземпляров модели глубокого обучения на нескольких узлах. Наконец, если ваша модель глубокого обучения достаточно велика, вы можете разделить ее на несколько подмоделей, каждую из которых можно запустить на другом узле.
подскажи пожалуйста,какую первую нейронную сеть можно создать для тренировки (я начинающий в этом деле),сам смотрю в сторону аппроксимации функций
Аппроксимация функций -- хороший пример для простой задачи регрессии. Если говорить о задаче классификации, то вот довольно простой пример: ruclips.net/video/xMz7XSaqdRA/видео.html
Асалам Алейкум, здравствуйте. посоветуйте пожалуйста где обучиться .Есть университет Искусственного интеллекта о котором слышал , обучение стоит денег, но сфера такая что от наставников многое зависит .. Заранее благодарю.
А когда следующее видео? Про то как обучать и брать w и b? :)
Новое видео уже на подходе
Может ли нейронная сеть решить такую задачу ?
Известно, что товары в поисковой выдаче на Вайлберриз ранжируются по показателю R = x1v1 + x2v2 + x3v3, где x1 - рейтинг товара, x2 - количество продаж за неделю, x3 - остаток на складе, а v - это соответственно веса каждого их показателей. Показатель R также известен. Как зная R, x1, x2 и x3 каждого товара из результатов выдачи вычислить веса ?
А ты хорош.Так и до скайнета не долго)
Очень интересно, но непонятно😁
все так было понятно , пока резко тема не переключилась на линейную алгебру
Всё понятно но есть 1 вопрос что такое вектор смещения как то непонял
Можно и попроще, хотя + за попытку)
Про функцию активации пожалуйста поподробнее. Почему она важна? Хочу три кейса разных функций, чтобы почувствовать разницу..
Будет отдельный ролик про функции активации (какие бывают, чем отличаются, какие зачем нужны). Но коротко отвечу про важность НЕЛИНЕЙНОЙ функции активации вообще.
Умножение на матрицу и прибавление вектора - это линейная операция (линейное преобразование). Так выглядел бы слой без функции активации. Два подряд линейных преобразования эквивалентны ОДНОМУ (какому-то другому) ЛИНЕЙНОМУ преобразованию. Чтоб такого не было, необходимо МЕЖДУ двумя линейными преобразованиями вставить НЕЛИНЕЙНОЕ преобразование (в нашем случае - функцию активации). Более формальный пример: представьте, что функция активации линейна (это функция вида F(x) = ax+c, то есть её график - прямая линия), или её совсем нет (a=1, c=0). Теперь, рассмотрим пару соседних слоёв нейросети: первый: h = F(Wx + b); второй: y = F(Vh + d). W и V - матрицы, b и d - вектора смещений. Если подставить одно в другое, получим y = F(V(F(Wx + b) + d). Если бы F не было, или если бы это была линейная функция [F(x) = ax+c], то можно было бы раскрыть скобки, привести подобные и получить, что y = Tx + s, где T - какая-то другая матрица, а s - какой-то другой вектор. Это значит, что два слоя эквивалентны некоторой однослойной нейросети. А однослойные сети могут работать только с очень простыми данными.
@@user-uy8zl7qd2e спасибо за разъяснение.
Я слышал, что важны для обучения такие разделы, как: линейная алгебра и теория вероятностей. Но так и не понял, зачем они нужны. Особенно про линейную алгебру
Тензоры, матрицы, векторы, матричные и тензорные операции -- это всё линейная алгебра и это всё используется в нейросетях. А теория вероятностей и статистика имеет большое пересечение с машинным обучением.
6:31 почему вектор W со знаком транспонирования?
Вектор W используется в матричных операциях, таких как умножение матриц и умножение вектор-матрицы, где требуется транспонирование вектора. Например, векторно-матричное умножение wT A будет транспонировать w, умножая каждый элемент w на каждый столбец в A, чтобы получить новый вектор. Транспонирование необходимо для того, чтобы произведение двух матриц было правильно определено и давало правильный результат. Кроме того, транспонирование вектора можно использовать для лучшего понимания структуры данных в векторе.
А можно видео прям конкретно с примером? :) Чтобы были цифры, а не буквы
И можно строить НСеть с вещественными и со словами? Например, на вход подаются и числа, и слова (болен/не болен) допустим
Более конкретный пример: ruclips.net/video/xMz7XSaqdRA/видео.html
что такое softmax?
Жестикуляция как раньше в новостях))
А если нейросети нужно анализировать текстовые входные переменные, с ними что делать? Как-то преобразовывать в числовые?
Чтобы преобразовать входные текстовые переменные в числа для нейронной сети, вы можете использовать однократное кодирование. Горячее кодирование - это процесс, в котором каждое слово во входном тексте заменяется вектором из нулей и единиц. Каждому слову дан уникальный вектор, и позиция 1 в векторе соответствует слову. Это позволяет нейронной сети понимать ввод текста как числовой ввод, что позволяет ей анализировать и обрабатывать его.
А можно было показать это видео до того как подписался на интенсив?
Хотела бы написать, что ничего не поняла, но поняла, что все сложно...
Вин знав про игру в кальмара за раньше 0:31
Про смещение не понял bias. Что это за параметр и зачем он в формулу вводится?
Это параметр смещения, а параметр смещения - это числовое значение, добавляемое к входным данным нейронной сети. Он используется для того, чтобы выходные данные модели всегда находились в желаемом диапазоне. Обычно для него устанавливается небольшое положительное или отрицательное значение, что помогает предотвратить слишком большое или слишком маленькое значение выходных данных модели. Параметр смещения помогает гарантировать, что выходные данные модели всегда находятся в желаемом диапазоне, и его можно настроить для оптимизации точности модели.
Основной алгоритм нейронных сетей-это принцип динамичного сравнения, чем больше показателей для сравнения, тем шире спектр применения анализируемого показателя.
Классно, но можно лучше. Я едва помню что такое матрицы, вектора, ... Для не студента тяжеловато.
Больше понял интуитивно, с точки зрения логики, чем терминов.
что такое веса...?
Как ни странно, видео получилось очень даже интересным и в какой-то степени даже более понятным, нежели то, что видел ранее.
Но тем не менее, хотелось бы больше примеров, реальных примеров на каком-то языке программирование. А что ещё более важно: было бы круто, если бы эти примеры были пошаговые.
p.s. канал заброшен? :(
канал жив, новые видео с примерами на Python уже на канале
Ничего не понял но очень интересно )
Чувак, а можно без заумных терминов и самосабой разумеющихся костылей, ведь все просто если не усложнять.
Сначала достаточно показать самое противное действие, потом еще пару и в результате задачка решена. Потом добавив пару улучшение - получаем искомый результат.
Но на видео все идет с перескоком и с заумностями....
6:35 пауза, закрыть видео, закрыть вкладку, закрыть браузер, выключить пк, выбросить пк на помойку
Надо глубоко изучать математику
на самом деле нет. я даааааалеко не математик, но тем не менее, хоть и не полностью, но понял суть. для того, чтобы понять то, о чем говорится в видео, быть математиком не обязательно. по сути нам на пальцах разложили базовый принцип(формулу, если угодно) работы нейросети, нужно лишь верно все сопоставить и наслаждаться результатом
4:30 мне кажется это трехслойная сеть :D
Классное видео, но не очень понятно, зачем нужна нелинейная функция на каждом нейроне
где брать веса?
Это обучение, поэтому генерируются, потому что никто не знает, какое число необходимо, чтобы обучить нейронную сеть.
"нихуя не понял :) но очень интересно"
лично мне было бы намного понятнее если бы мне пошагово показали вначале как обучается самый простой вид сети. главное - пошагово - то есть какая именно циферка берется и на что умножается и в каком виде хранятся эти данные. а затем уже - как эти данные использует нейросеть - пошагово - какая циферка берется, с какой перемножается.
образно говоря на вопрос "как доехать на машине от дома до магазина" вы ответили "ну там налево, тут направо и там парковка", а мне надо - вышел из подъезда, нашел ключ в кармане, нажал кнопку "открыть машину", открыл дверь, сел, закрыл дверь, вставил ключ в замок зажигания, завел, нажал и держишь тормоз, переключил коробку в D, отжал тормоз - машина покатилась, крутишь руль, смотришь чтобы спереди не было препятствий, поворот руля вправо = поворот машины вправо, затем руль надо возвращать в начальное положение для того чтобы машина ехала прямо. и т.д.
понимаете? вы объяснили для тех кто уже много лет водит машину, а мне надо чтобы вы объяснили для тех кто ни разу не садился за руль машины.
при этом я программист уже 15 лет как и все равно такое объяснение мне видится как набор фраз "ну там веса и перемножается один нейрон на другой, ну понял?" из чего ничего не понятно как именно одна циферка на входе преобразуется в циферку на выходе.
вот берем число 2 - оно в первом нейроне, дальше на что конкретно оно перемножается и почему? нужен полный путь который проходит это число.
типа - "2 умножается на 3 - это вес коннекта к первому нейрону первого слоя. 3 берется оттудато и потому то. 3 затем перемножается на то-то и идет на выход и там получаем например 10". вобщем нужны не иксы игрики биасы и сложные схемы всего этого а объяснение реального пути числа в простых ЧИСЛАХ. 2*3*5=25 и объяснение каждого числа и каждого знака
Спасибо за отзыв! Такие видео тоже будут.
@@user-uy8zl7qd2e Ждем-с, было бы полезно
Вот мы и встретились... Задача, которая интересна, но для которой нужна математика...
Одни хвалебные комментарии.. а никто не заметил, что автор не сказал, что именно является нейроном в искусственной нейронной сети? Или все это знают? Мне вот именно это интересно. Объяснять надо начинать от самого основного.
Так, одно я понял точно - зря прогуливал пары по линейной алгебре
Это все теория. Нужно показать на примере! А то одни формулы).
Буль буль буль буль буль .... это мои мозги вскипели
а если нейросеть-генератор?
У тебя новый формат? Когда новые видео?)
Новый формат: образовательно-развлекательный. Более резвый, чем часовые лекции. Новые эпизоды уже в работе.
Всё отлично, только не понял чему ровны весы(
Веса получаем во время обучения: ruclips.net/video/uWd9nyn0ql8/видео.html
Веса в нейронной сети можно получить несколькими способами. Один из методов заключается в случайной инициализации весов небольшими значениями в начале обучения. Другой метод заключается в использовании предварительно обученной модели, в которой используются веса, уже обученные на большом наборе данных. Также можно использовать алгоритм инициализации весов, такой как Xavier или He et al., для инициализации весов. Наконец, можно использовать алгоритм оптимизации, такой как обратное распространение ошибки или стохастический градиентный спуск, для обучения весов, но обычно все генерируется.
разве b не должно иметь три строки а не четыре на 7:13?
Нет, именно четыре. Количество значений в векторе смещений такое же, как и количество нейронов (у нас 4 нейрона). А если через алгебру, вектор x (размерность 3) умножается на матрицу W (4x3) -> получается промежуточный вектор размерности 4, и уже к нему прибавляется вектор b (тоже размерность 4)
здравствуйте программисты из мгсу
10 минут видео заменят вам 3 месяца яндекс практикума
Хлоп хлоп лоп
почему функцию активации на выходе из последнего слоя применять нет смысла?
Объяснение для тех, кто уже знает. А кто не знает, ничего не поймет. Тут как мем, где сову нарисовать.
Вопросов, на самом деле много. Но вот главный у меня это "почему это работает?" Т.е. какие вообще есть математические предпосылки, что это должно работать, а не давать всякую ерунду. Есть ли какая-нибудь научная литература на этот счет? Можно и на английском