0:00 Повторение предыдущей лекции 2:42 Нейронная сеть. Биологическое вдохновление 14:24 Искусственный нейрон. Геометрическое обьяснение/понимание 17:50 Вопросы 20:55 Тренировка, Градиентный спуск 27:57 Softmax 32:00 Вопросы 34:54 Maximum likelihood 41:36 Регуляризация 44:44 Вопросы 45:58 Продолжение градиентного спуска 51:47 Вопросы 53:51 Стохастический градиентный спуск 57:20 Вопросы 1:03:36 Многослойные сети 1:08:25 Вопросы 1:10:00 Градиент для вычислительного графа с помощью backpropagation 1:22:59 Общая схема вычисления градиента 1:26:08 Уточнение/Подводя итог 1:28:25 Вопросы
В моём случае не воспринимается, как "на пальцах". Если первую половину задания 1.2 ещё осилил, то во второй уже напрочь перестал понимать, что и почему надо делать. Похоже на известный мем по рисованию совы: рисуем два овала - с этим справился - дальше рисуем оставшуюся часть совы - тут, увы.
Интересные лекции, так держать и спасибо. Немного камментов: слегка напрягает спутанная размерность векторов (b and all that goes after b), хотелось бы, чтобы было описание на каком пространстве действует каждая функция, к примеру L действует из R в такой-то степени в [0, 1], что является параметрами (w, b), что коэфициентами (каждая точка из тестового датасета)
Никак не могу удержаться от вопроса/комментария, хотя смотрю уже сильно позже самой лекции и основного потока. Там в самом начале, когда считается количество параметров сетки, которые надо пересчитывать, приводится выражение 10*3072 + 3072. Правда ли, что должно быть 10*3072 + 10?
Здравствуйте. Пытаюсь сделать задание по лекции. Решений вроде бы нет в сети. Споткнулся на этом этапе: # TODO Implement combined function or softmax and cross entropy and produces gradient loss, grad = linear_classifer.softmax_with_cross_entropy(np.array([1, 0, 0]), 1) check_gradient(lambda x: linear_classifer.softmax_with_cross_entropy(x, 1), np.array([1, 0, 0], np.float_)) Нет ли тут ошибки? В данном случае check_gradient всегда проверяет численное значение градиента для компонента с target_index = 1. Но функция check_gradient ничего не знает о target_index и сравнивает численное значение этого градиента с аналитическими значениями градиента и по другим компонентам. И получается, что проверка всегда будет выдавать Gradients are different, если только target_index не равен номеру проверяемого компонента. Не нужно ли функции check_gradient передавать target_index напрямую, чтобы сравнивать только соответствующие значения градиентов? Или я не понял и сделал неправильно.
Спасибо за материал! Возможно ли выложить решения по задачам (коды функций, которые требуется разработать, с комментариями) для тех кто не достаточно хорошо знаком с python. А то получается, что вместо задания на понимание материал приходится копаться и изучать python. Еще раз спасибо за прекрасную подачу материала
Спасибо, очень интересная лекция. Но у меня так и остался вопрос откуда взялась многомерность у функции, разве она не выражает зависимость ошибки от веса. Я понимаю, что много параметров но много параметров чего?Или же мы за один проход рассматриваем сразу несколько примеров и это и образует многомерность?
Что-то не то с презентацией - LibreOffice (на Arch) вылетает, а GoogleDoc показывает без аннотаций и половины подписей. Ссылки все на месте, уже хорошо ))). Возможно, стоит выкладывать и pdf, - если не сложно?
А вы посмотрите как формулы для кросэнтропии записаны и почитайте как она более менее внятно выводится (towardsdatascience.com/intuitive-explanation-of-cross-entropy-5d45fc9fd240). Я тоже не стави дизлайк ;)
В реальной нервной системе большую роль играют отношения соседства между клетками. Разворачивая кубик в линейную последовательность, мы выбрасываем эту информацию, что плохо влияет на результат работы. (до конца пока не досмотрел)
Ну, как я говорил в начале - не надо воспринимать аналогии между реальными нейронами и обсуждаемыми. Но про использование пространственной близости мы поговорим, когда будем обсуждать сверточные нейронные сети (CNN).
В биологических нейронах механизма обратного распространения как основы адаптации(обучения) не обнаружено и потенциал активации распостраняется не линейно, а скачками (spikes). Персептрон - скорее схемотехника, вдохновленная биологией (the electrical engineering concept that's loosely inspired by neuroanatomy). Существует и развивается школа мысли нейроморфных сетей на спайковых чипах (Intel Nervana). Это параллельная вселенная относительна мира многослойного персептрона и свертки им. товарищей ЛеКуна-Хинтона. В сверточных сетях локальные взаимодействиях между соседними узлами имеют значение, что визуализует Activation Atlas distill.pub/2019/activation-atlas
@@iLDagger полностью согласен. Обратного распространения ошибки в реальной нервной системе нет, так же как и нет природного аналога турбовентиляторного двигателя, что не мешает его успешно использовать. Я написал тот коммент потому, что считаю важным упомянуть о потере информации при reshape массива. Про детали реализации спайковых ИНС не знаю, но если они могут синхронизировать и рассинхронизировать свою активность, это может приблизить нас к искусственному сознанию (к одной из его форм).
@@sim0nsays Запутан маркетинг Интел - en.wikichip.org/wiki/intel/loihi is a neuromorphic chip for spiking neural networks www.intel.com/content/www/us/en/research/neuromorphic-computing.html Nowadays your regularised CNNs and RNNs aren't that cool - they're part of everyday production stack. The bleeding edge of research looks rather spiky!
полезно периодически пересматривать. что и делаю) какие-то детали не сразу запоминаются. спасибо за видео!
0:00 Повторение предыдущей лекции
2:42 Нейронная сеть. Биологическое вдохновление
14:24 Искусственный нейрон. Геометрическое обьяснение/понимание
17:50 Вопросы
20:55 Тренировка, Градиентный спуск
27:57 Softmax
32:00 Вопросы
34:54 Maximum likelihood
41:36 Регуляризация
44:44 Вопросы
45:58 Продолжение градиентного спуска
51:47 Вопросы
53:51 Стохастический градиентный спуск
57:20 Вопросы
1:03:36 Многослойные сети
1:08:25 Вопросы
1:10:00 Градиент для вычислительного графа с помощью backpropagation
1:22:59 Общая схема вычисления градиента
1:26:08 Уточнение/Подводя итог
1:28:25 Вопросы
Спасибо за лекцию, было интересно!
придётся всё же посмотреть будет пару раз этот урок
В моём случае не воспринимается, как "на пальцах". Если первую половину задания 1.2 ещё осилил, то во второй уже напрочь перестал понимать, что и почему надо делать. Похоже на известный мем по рисованию совы: рисуем два овала - с этим справился - дальше рисуем оставшуюся часть совы - тут, увы.
Шикарная подача! Спасибо! Многие вещи прояснил для себя!
Это надо основательно в голове переварить.. Вроде все понятно, но главое чтобы завтра все не рассыпалось.
Интересные лекции, так держать и спасибо. Немного камментов: слегка напрягает спутанная размерность векторов (b and all that goes after b), хотелось бы, чтобы было описание на каком пространстве действует каждая функция, к примеру L действует из R в такой-то степени в [0, 1], что является параметрами (w, b), что коэфициентами (каждая точка из тестового датасета)
Спасибо! Рад, что вас нашёл - буду делиться с друзьями
Никак не могу удержаться от вопроса/комментария, хотя смотрю уже сильно позже самой лекции и основного потока. Там в самом начале, когда считается количество параметров сетки, которые надо пересчитывать, приводится выражение 10*3072 + 3072. Правда ли, что должно быть 10*3072 + 10?
Ой, да, конечно 10*3072 + 10 - спасибо!
Просто офигенная лекция и лектор крутой.
Здравствуйте.
Пытаюсь сделать задание по лекции. Решений вроде бы нет в сети. Споткнулся на этом этапе:
# TODO Implement combined function or softmax and cross entropy and produces gradient
loss, grad = linear_classifer.softmax_with_cross_entropy(np.array([1, 0, 0]), 1)
check_gradient(lambda x: linear_classifer.softmax_with_cross_entropy(x, 1), np.array([1, 0, 0], np.float_))
Нет ли тут ошибки? В данном случае check_gradient всегда проверяет численное значение градиента для компонента с target_index = 1.
Но функция check_gradient ничего не знает о target_index и сравнивает численное значение этого градиента с аналитическими значениями градиента и по другим компонентам. И получается, что проверка всегда будет выдавать Gradients are different, если только target_index не равен номеру проверяемого компонента. Не нужно ли функции check_gradient передавать target_index напрямую, чтобы сравнивать только соответствующие значения градиентов?
Или я не понял и сделал неправильно.
С 3го раза осилил, благодарю!
Чувак, ты крут! Спасибо за видео, я также сделал нехеровый рекавери в своей башке по матанализу, буду советовать твои видео знакомым
Спасибо за материал! Возможно ли выложить решения по задачам (коды функций, которые требуется разработать, с комментариями) для тех кто не достаточно хорошо знаком с python. А то получается, что вместо задания на понимание материал приходится копаться и изучать python. Еще раз спасибо за прекрасную подачу материала
Чувствую себя королем Вселенной
+
Спасибо, отличная лекция.
не берут в том видосе производную(
Супер, благодарю
Добавьте, пожалуйста, временные отметки было бы очень полезно!
Спасибо, очень интересная лекция. Но у меня так и остался вопрос откуда взялась многомерность у функции, разве она не выражает зависимость ошибки от веса. Я понимаю, что много параметров но много параметров чего?Или же мы за один проход рассматриваем сразу несколько примеров и это и образует многомерность?
Каждый вес (параметр) - одно измерение. Каждый вес редактируется.
Что-то не то с презентацией - LibreOffice (на Arch) вылетает, а GoogleDoc показывает без аннотаций и половины подписей. Ссылки все на месте, уже хорошо ))). Возможно, стоит выкладывать и pdf, - если не сложно?
Сконвертировал в pdf
@@sim0nsays Спасибо, Семён! Всё работает, ссылки тоже. Спасибо!
Благодарю душевно
Поясните, почему в кач-ве нелинейности берётся ReLU? Ведь это по сути просто линия y=x. Излом в 0 даёт нелинейность?
Да, именно так. Оказывается, что этого достаточно
Честно говоря из лекции так и не понял, почему сразу не приклеить b к W и рассматривать вместе
😍😍😍 крутой урок
Спасибо
Спасибо!
Как на уроке матана - понятно, понятно и ррраз и ничего не понятно
Чтобы до конца раскурить что делалось в трансляции, пришлось посмотреть еще раз. Но за то теперь все ясно :)
Сломал мозг.
салам из 2021!
Интересно, а кто ставит дизлайки, те высказываются в комментариях? Что конкретно им не понравилось?
Вам не пофиг на эти дизлайки? Чуваки не осилили, им стало стыдно)
Меня выбесил непонятный b) Но диз не ставил.
А вы посмотрите как формулы для кросэнтропии записаны и почитайте как она более менее внятно выводится (towardsdatascience.com/intuitive-explanation-of-cross-entropy-5d45fc9fd240). Я тоже не стави дизлайк ;)
В реальной нервной системе большую роль играют отношения соседства между клетками. Разворачивая кубик в линейную последовательность, мы выбрасываем эту информацию, что плохо влияет на результат работы. (до конца пока не досмотрел)
Ну, как я говорил в начале - не надо воспринимать аналогии между реальными нейронами и обсуждаемыми. Но про использование пространственной близости мы поговорим, когда будем обсуждать сверточные нейронные сети (CNN).
В биологических нейронах механизма обратного распространения как основы адаптации(обучения) не обнаружено и потенциал активации распостраняется не линейно, а скачками (spikes).
Персептрон - скорее схемотехника, вдохновленная биологией (the electrical engineering concept that's loosely inspired by neuroanatomy).
Существует и развивается школа мысли нейроморфных сетей на спайковых чипах (Intel Nervana). Это параллельная вселенная относительна мира многослойного персептрона и свертки им. товарищей ЛеКуна-Хинтона.
В сверточных сетях локальные взаимодействиях между соседними узлами имеют значение, что визуализует Activation Atlas
distill.pub/2019/activation-atlas
@@iLDagger полностью согласен. Обратного распространения ошибки в реальной нервной системе нет, так же как и нет природного аналога турбовентиляторного двигателя, что не мешает его успешно использовать. Я написал тот коммент потому, что считаю важным упомянуть о потере информации при reshape массива. Про детали реализации спайковых ИНС не знаю, но если они могут синхронизировать и рассинхронизировать свою активность, это может приблизить нас к искусственному сознанию (к одной из его форм).
@@iLDagger Все так, только Intel Nervana это решение для обычных нейросетей, не альтернативных
@@sim0nsays Запутан маркетинг Интел - en.wikichip.org/wiki/intel/loihi is a neuromorphic chip for spiking neural networks
www.intel.com/content/www/us/en/research/neuromorphic-computing.html
Nowadays your regularised CNNs and RNNs aren't that cool - they're part of everyday production stack. The bleeding edge of research looks rather spiky!
СПАСИБО!