- Видео 98
- Просмотров 140 226
Alexander D'yakonov
Добавлен 16 май 2012
Дополнение к блогу dyakonov.org и телеграм-каналу t.me/smalldatascience
Публикуются авторские курсы, лекции, заседания семинара, разбор задач анализа данных и многое другое.
Основные темы:
машинное (machine learning) и
глубокое обучение (deep learning)
анализ данных (data mining)
наука о данных (data science)
ИИ (artificial intelligence)
математика (math)
Публикуются авторские курсы, лекции, заседания семинара, разбор задач анализа данных и многое другое.
Основные темы:
машинное (machine learning) и
глубокое обучение (deep learning)
анализ данных (data mining)
наука о данных (data science)
ИИ (artificial intelligence)
математика (math)
DL2022: Генеративные модели: итоги (часть 2)
Курс "Глубокое обучение (Deep Learning)"
страница курса: github.com/Dyakonov/DL
автор курса: Александр Дьяконов (dyakonov.org/)
В этой лекции...
StyleGAN - перенос стиля. StyleGAN2: избавление от артефактов. FSGAN - замена лиц. VAE + GAN. Adversarial Autoencoders (AAE). Wasserstein Auto-Encoders. GAN приложения: редактирование. GAN приложения: DCGAN / суперразрешение. GAN приложения: изменение позы.
страница курса: github.com/Dyakonov/DL
автор курса: Александр Дьяконов (dyakonov.org/)
В этой лекции...
StyleGAN - перенос стиля. StyleGAN2: избавление от артефактов. FSGAN - замена лиц. VAE + GAN. Adversarial Autoencoders (AAE). Wasserstein Auto-Encoders. GAN приложения: редактирование. GAN приложения: DCGAN / суперразрешение. GAN приложения: изменение позы.
Просмотров: 522
Видео
DL2022: Генеративные модели: итоги (часть 1)
Просмотров 411Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Conditional GANs: Text-to-Image Synthesis. StackGAN: описание 2 изображение. Задача трансляции изображений. MUNIT: идея пространств контента и стиля. Instance Normalization. FUNIT (NVIDIA, 2019). Немного про перенос стиля: AdaIN. StyleGAN - перенос стиля.
DL2022: Генеративные состязательные сети - лекция 2, часть 2
Просмотров 297Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... BiGAN (Bidirectional). BigGAN: Генерация изображений / интерполяция. BigBiGAN = BiGAN BigGAN. SAGAN (Self-Attention Generative Adversarial Networks). Semi-supervised GAN (SGAN). AC-GAN: auxiliary classifier GAN. CAN: Creative Adversarial Networks. ProG...
DL2022: Генеративные состязательные сети - лекция 2, часть 1
Просмотров 366Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Deep Convolutional Generative Adversarial Networks (DCGAN). Условные состязательные сети (сGAN). Pix2pix c условными состязательными сетями (сGAN). pix2pixHD. Проблема отсутствия выборки - CycleGAN. Аугментированная циклическая GAN (Augmented CycleGAN.
DL2022: Генеративные состязательные сети, часть 1
Просмотров 953Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Генератор и дискриминатор Что могут GAN Adversarial idea GAN: обучение - min-max-игра Настройка GAN, советы по настройке GAN Нестабильность «non-saturating game» GAN: первые примеры Обучение GAN: проблемы на практике Least Square GAN (LSGAN) Hinge loss...
DL2022: Вариационный автокодировщик, часть 1
Просмотров 829Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Генеративная модель. Variational Autoencoders (VAE). Variational Bayesian Inference. Reparametrizaton trick. Векторная арифметика. Conditional VAE (CVAE). Ladder Variational Autoencoders. Bidirectional-Inference Variational Autoencoder (BIVA). Vector Q...
DL2022: Обучение без учителя, часть 2
Просмотров 348Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Авторегрессионные модели. Masked Autoencoder for Distribution Estimation (MADE). Masked Temporal (1D) Convolution. Masked Spatial (2D) Convolution: PixelCNN, PIXELCNN , PixelSNAIL, PixelRNN. Masked Attention Convolution. Поток (Glow): real NVP, Glow. А...
DL2022: Обучение без учителя, часть 1
Просмотров 554Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Автокодировщики (Auto-encoders). Глубокие автокодировщики. Denoising Autoencoder. Сокращающие автокодировщики - Contractive Autoencoders (CAE). Предобучение с помощью автокодировщика (раньше так делали). Sparse Coding. Context Encoders. Использование R...
DL2022: Самообучение (Self-Supervision), часть 1
Просмотров 583Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Self-Supervised Learning pretext task downstream task Что такое предствление Predicting (spatial) context Predicting image rotation Exemplar Головоломка (Jigsaw) Кластеризация (DeepCluster) Контекстные кодировщики (Context Encoder) / image inpainting Р...
DL2022: Сегментация изображений
Просмотров 1,1 тыс.Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Семантическая сегментация. Elastic Transform. Классические методы сегментации. Полностью свёрточная сеть - Fully Convolutional Network (FCN). FCN: восстановление изображения, обратные операции. U-Net. «Тирамису» = DenseNet U-Net. TernausNet. PSP-Net = ...
DL2022: Детектирование объектов на изображениях (часть 2)
Просмотров 597Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Feature Pyramid Networks (FPN). Детектирование объектов: R-FCN. FCOS: Fully Convolutional One-Stage Object Detection.
DL2022: Детектирование объектов на изображениях (часть 1)
Просмотров 1,4 тыс.Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Задачи с изображениями: Классификация, Локализация, Детектирование, Сегментация, Преобразование изображений, Восстановление объектов. Классификация изображений - почему нетривиальная задача, решение, проблемы. Детектирование объектов: R-CNN, Spatial Py...
DL2022: Pytorch (часть 2)
Просмотров 832Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Тензоры. Предобработка данных, нейросети
DL2022: Pytorch (часть 1)
Просмотров 1,5 тыс.Год назад
Курс "Глубокое обучение (Deep Learning)" страница курса: github.com/Dyakonov/DL автор курса: Александр Дьяконов (dyakonov.org/) В этой лекции... Тензоры. Предобработка данных, нейросети
SEM2021: Медведев Алексей "MultiSage: Empowering GCN with Contextualized Multi-Embeddings ..."
Просмотров 3732 года назад
22.12.2021 доклад про использование графовых нейронных сетей для item2item-рекомендаций докладчик: Медведев Алексей (аспирант ВМК МГУ) слайды: github.com/Dyakonov/MSU/blob/master/SEMINARS/20211222_MedvedevA_MultiSage.pdf руководитель семинара: Дьяконов Александр (dyakonov.org/ag/)
SEM2021: Михеев Борис "Generalized Anomaly Detection"
Просмотров 8952 года назад
SEM2021: Михеев Борис "Generalized Anomaly Detection"
DL2022: Трансформеры++ (Эффективные трансформеры)
Просмотров 1,4 тыс.2 года назад
DL2022: Трансформеры (Эффективные трансформеры)
DL2022: Генерация текстов (NLG, часть 1)
Просмотров 9792 года назад
DL2022: Генерация текстов (NLG, часть 1)
DL2022: Векторные представления слов и текстов (часть 2)
Просмотров 1,1 тыс.2 года назад
DL2022: Векторные представления слов и текстов (часть 2)
DL2022: Векторные представления слов и текстов (часть 1)
Просмотров 1,6 тыс.2 года назад
DL2022: Векторные представления слов и текстов (часть 1)
DL2022: Рекуррентные нейросети (часть 2)
Просмотров 8132 года назад
DL2022: Рекуррентные нейросети (часть 2)
DL2022: Рекуррентные нейросети (часть 1)
Просмотров 2 тыс.2 года назад
DL2022: Рекуррентные нейросети (часть 1)
DL2022: Визуализация нейронных сетей и генерация изображений (часть 2)
Просмотров 8192 года назад
DL2022: Визуализация нейронных сетей и генерация изображений (часть 2)
DL2022: Визуализация нейронных сетей и генерация изображений (часть 1)
Просмотров 1,2 тыс.2 года назад
DL2022: Визуализация нейронных сетей и генерация изображений (часть 1)
На 39:00 говорим про метод, где можно было понять куда идёт график, что этот ща метод? Можете более подробно пояснить?
Мне кажется вариант с возможными применениями машинного обучения можно было сократить, слишком много времени ему уделили в текущей лекции на мой взгляд)
Александр Геннадьевич, здравствуйте! Пример приведенный на слайде 89, где Т5 генерит для пропуска какое-то количество слов кажется понятным и объяснимым, ведь модель именно этому и обучалась - восстанавливать пропуски. Но совсем не понятно для слайда 78 - как модель для предложения "translate English to German: That is good" переводит его на немецкий? Т.е. она (1) понимает команду (2) умеет переводить (3) переводит только часть, указанную после двоеточия. Как это возможно? Или на слайде 78 показаны результаты работы модели, если ее обучить на соответствующих задачах: перевод, реферирование и т.д.?
Александр Геннадьевич, подскажите, пожалуйста, почему на слайде 19 вероятность считается по указанной формуле? По идее, нам нужна оценка вероятности слова_контекста при условии слова_цели, которую мы должны оценить из тренировочных данных. И тут не совсем понятно, как это коррелирует софтмаксом скалярного произведения эмбедингов.
Нашёл простое визуализированное объяснение, в виде графических абстракций, на канале "Google for Developers" Название: A.I. Experiments: Visualizing High-Dimensional Space Если не удалят - ссылка будет в комментарии ниже. Я смотрел через яндекс браузер с переводчиком.
A.I. Experiments: Visualizing High-Dimensional Space ruclips.net/video/wvsE8jm1GzE/видео.html&ab_channel=GoogleforDevelopers
Спасибо большое за объяснения ) почувствовал себя умственно отсталым По сравнению с вашим уровнем развития в этой области, так и есть. Думаю тут стыдиться нечего. Наверное без знаний математики бессмысленно пытаться понять устройство LLM на примерах и упрощённых аналогиях? Всгего то пытался понять, как это "слова" шифруются в числа, и кодируются в векторные "ембединги" в пространствах и измерениях с сотнями координатных осей. Это за пределами моего понимания евклидовой геометрии. И всё через формулы, формулы и ещё раз формулы... Никакого понимания, как это шестисотмерное пространство вообразить, и какие там координатные оси...
Здравствуйте, на 49:07 Вы говорите, что мы подаем в нейронку слова, но откуда мы получаем векторное представление для того, чтобы передать его в модель. Из того же самого ворд ту века, с которым мы потом конкатим эмбеддинг? И используем ли мы какую-то аугментацию для ворд-ту-века? Условно в русском языке можно попробовать поварьировать падеж или множественное/единственное число?
Там на картинке - используется Glove-представление слов.
По задаче Прогнозирования визитов покупателей хотел добавить комментарий - неделя же циклична, потому считать вероятность для ПН как дня первого прихода как p1 может дать не лучший результат. Ведь за начало недели можно условно принять и ВС, и ПТ и другой день, тогда и все распределения вероятностей станут другими.
На 54:30 я говорю, что 1й день - это первый день после того, как заканчивается наша обучающая выборка. Это может быть любой день недели. Но для простоты я буду дальше говорить понедельник, вторник и т.д. Чтобы не говорить "первый день теста", "второй день теста" и т.д.
@@alexanderdyakonov8305 прошу прощения, упустил этот момент
wish I know Russian...
Александр Геннадьевич! Большое вам спасибо за ваши лекции! Мне было очень интересно и очень познавательно! Спасибо за возможность учиться у вас)
Пожалуйста. Рад, что пригодилось и понравилось! И спасибо за вопросы (сейчас ответил на те, что раньше не успел).
Александр Геннадьевич, подскажите, пожалуйста, по слайду 13: для чего нам нужно второе слагаемое в первой оптимизации? Почему бы не убрать его и просто оставить: (1) max[E logD(x)] (2) max[E log(D(G(z))]?
Так это для того, чтобы дескриминатор фейки правильно классифицировал
Александр Геннадьевич, добрый день! Можете, пожалуйста, пояснить слайд 72. У нас есть случайная величина x, мы нашли функцию f, которая отображает “x” в “z” ( уже имеет удобное для нас распределение, например, нормальное). Но как мы получили формулу: p_x = p_z|det df/dx|?
Это просто формула замены переменной. Например, в одномерном случае: lms2.sseu.ru/courses/eresmat/course1/razd5z1/par5_5z1.htm
Александр Геннадьевич, попробую уточнить свой вопрос. У нас есть z=f(x), p(z) - плотность распределения z, интеграл обозначу []. Тогда получим: [p(z)dz] = [p(f(x))df/dx]. Поскольку f - многомерная функция, а х - вектор, то рождается якобиан. Какие у меня появляются вопросы: в моих вычислениях все находится под знаком интеграла, а на слайде (1) без интеграла (2) слева p(x), а не p(z) как у меня (3) справа не якобиан, а модуль детерминанта якобиана. Как это получилось?
@@andreib8871 Там на самом деле должен быть модуль. Вот например вывод формулы: matan.math.msu.su/files/zorich/2%20Uchebnye%20materialy/8%20Lecture%20Zamena%20peremennykh.pdf
Александр Геннадьевич, здравствуйте! Возник вопрос по слайду 48. Авторы обучили контекстный кодировщик, а как они его сравнивают по категории «Detection»? Ведь для работы детектора нужна другая архитектура, лоссы. Для классификации более понятно - можно заморозить веса кодировщика, добавить линейный слой и обучить его. А вот для детекции и сегментации не совсем понятно.
Здравствуйте! Они использовали в Fast R-CNN свой предобученный кодировщик, а дальше уже на стандартной архитектуре дообучались детектированию. arxiv.org/pdf/1604.07379.pdf
Прикладные Интересные Задачи Дата-Анализа
Но тогда и 4к должно быть меньше, т к если будет 2 или 3 то это сдвинет в центр распределение
Александр Геннадьевич, здравствуйте! Прослушивая слайд 77, решил сделать эксперимент - 4 реализации одной и той же сети : (1) сеть с nn.Parameter (2) cеть без nn.Parameter (тензоры с градиентом) (3) cеть без nn.Parameter (тензоры без градиента) (4) сеть с nn.Linear. Далее сделал одинаковую инициализацию всех сетей. ForwardPass: для всех 4х сетей совпал. Backward pass: для сети (3) упал с ошибкой. Градиенты сети 1 и 4 совпали, а вот у сети 2 получились иные значения градиента ...
ForwardPass: конечно, у Вас формула одинаковая Backward pass: (3) - Pytorch не считает градиенты для этих параметров, т.к. Вы не сказали ему это делать Там надо ещё, чтобы инициализация совпадала этих параметров, а то и прямой проход будет разным
Очень интересно! Огромное спасибо! ❤
Александр Геннадьевич, добрый день! Вопрос возник по слайду 45. Я правильно понимаю, что при обучении сети GPT2 как раз использовался язык MQAN? Этот набор «команд» при обучении был ограничен? Сложно представляется, как модель смогла научиться отвечать на любой вопрос …
Нет, как раз не был... поверить действительно сложно, но она и не научилась идеально отвечать. Скажем, сколько будет 2*2 - отвечала, а 3*12 - ошибалась. Вот уже потом GPT3 тьюнили "под надзором людей": arxiv.org/pdf/2203.02155.pdf И она уже очень неплохо отвечала!
На 49:15 говорится, что усреднение весов моделей почти всегда не работает Сейчас появилась парадигма Model Soup, которая показывает, что очень даже работает (хотя конечно это не усреднение в лоб, а есть нюансы, как модели получать) и местами даже лучше, чем ансамбли) За лекцию огромное спасибо, очень информативно!
Спасибо, очень круто!!!
Здравствуйте, спасибо большое Вам за ваш курс и за то, что Вы им поделились ) Узнаю для себя очень много нового из ваших лекций (я CV ML инженер). Спасибо большое за ваш труд, блог и потрясающие лекции. Очень нравится ваша авторская подача материала, работа с аудиторией, демонстрация основных идей и погружение в детали и нюансы.
А про какой сорев идет речь в конце, можно ссылку
Добрый день! А где можно найти вторую часть? Спасибо!
Наверное нигде.
Спасибо за лекцию! Странно получается: сигмоида в качестве функции активации плоха тем, что для больших значений abs(Xij) ее производная = 0 и веса, зависящие от этой производной, не обновляются (в том числе с предыдущих слоев). А ReLU, обнуляющая градиенты, где соответствующие элементы Xij < 0 (+ часть градиентов с предыдущих слоев) - это хорошо. Хотя обе не обновляют кучу весов и еще вопрос кто больше.
Да, тут тонкий момент. И он до конца не интуитивен. ReLU хотя бы на половине своей области определения хороша с точки зрения градиента: мы в SGD будет правильно идти и не маленькими шагами. У сигмоиды хорошая зона только около нуля. В целом, инициализацией и грамотной оптимизацией там можно удерживаться, но, как показывает практика, сложно. А самое плохое, что если ошибка большая, то мы шагаем очень медленно (т.к. при больших по модулю значениях аргумента сигмоида имеет пости нулевую производную). Почему нулевая производная и само значение ReLU на половине оси ничему не мешает - открытый вопрос. Но думаю, что это срабатывает как аналог DropOut-a, т.е. как регуляризация.
@@alexanderdyakonov8305, спасибо за ответ! То есть, если даже мы удерживаем входные значения Xij для слоя сети в "хорошей зоне сигмоиды", то при backpropagation уже на пяти слоях производная сигмоиды уменьшит градиенты минимум в 1000 раз (максимум производной = 1/4, 1/4**5 ~ 1к) и веса не будут почти обновляться? Получается, есть корреляция между большой ошибкой на конкретном объекте и большими по модулю входными для слоев Xij формирующими эту ошибку? Интересно, если ReLU отключает обновление половины весов, регуляризируя тем самым нейронку и мешая переобучаться, почему тогда всякие ее модификации часто лучше себя показывают, хотя они, вроде, и не обнуляют градиенты у весов... Столько всего тут происходит))
Александр Геннадьевич, здравствуйте! Позвольте еще вопрос по слайду 51. Если ячейка (например, верхняя левая) не является центром какой-либо рамки, то что модель должна выдавать для нее в координаты x, y, w, h?
Ничего, точнее в данном случае нулевые уверенности.
1:03:53 прошу прощения, не совсем понял. Если взять в качестве phi эмпирическую функцию распределения выборки различных x_i для нечетного n, разве у нас не получится медиана ?
Не совсем корректная догадка, так как эмпирическая функция не имеет обратной.
6:14 не совсем понял, разве закон больших чисел не утверждает, что выборочное среднее является состоятельной оценкой матожидания?
Да, всё верно. Это я там тупанул.
Александр Геннадьевич, здравствуйте! А если на слайде 13 добавить еще одно фото, на котором котенок есть (ground true = 1), но детектор вообще ничего не обнаружил (т.е. даже ошибочных детекций там нет). Как такой пример добавить в таблицу расчета AP?
В таблице измениться столбец Recall: будет [1/5, 2/5 ,3/5, 3/5]
Понял, спасибо)
10/10
Получается, случайное кодирование категорий призвано найти возможный ординальный порядок в номинальных данных? По поводу кодирования мелких категорий в одну, а нельзя ли это как-то улучшить с помощью теории информации? Что, если в категориальном признаке только некоторые уровни несут информацию о таргете, нельзя ли все остальные сплавить в "общую категорию бесполезных"?)
- что-то типа того - ну вот проблема мелких категорий в том, что у них опасно смотреть на таргет: мало статистики. Если только как-то по-другому их упорядочить...
@alexanderdyakonov8305, вы конечно сейчас будете смеяться, но полученный вами оптимальный порог для F-меры - совсем не случайное число; на самом деле оно равно 1 - 1/phi, где phi - это золотое сечение :)
Хорошее замечание. Но золотое сечение можно притянуть к любому выражению с корнем из 5;) Надо подумать, есть ли здесь какая-то здравая интерпретация этого факта...
@@alexanderdyakonov8305 как прикладной математик, я не верю в случайные совпадения: introspec.retroscene.org/other/dyakonov_golden_ratio_youtube.jpg :)
@@alexanderdyakonov8305 извините за назойливость, но я подумал что м.б. приложенные мной выкладки до вас не дошли. Там действительно возникает золотое сечение, хотя видимо не из-за каких-то особенный свойств F_1, а просто по стечению обстоятельств для выбранного вами примера.
@@spke Да, спасибо за замечание!
Кстати, не ясно, почему это leave one out стратегия для target encoding может вызывать утечки таргета. Но раз катбуст-подход с expanding window даёт хорошие результаты, наверное, случайное сэмплирование N раз может дать ещё лучшее? По кодированию категориальных факторов лекция в общий доступ, видимо, не попала (
ruclips.net/video/bTusKjEa4KE/видео.html 18:51
Подскажите, пожалуйста, как соотносится то, что размерности матриц W^Q, W^K, W^V не зависят от числа объектов -- s и то, что трансформер работает с батчами, "добитыми" паддингом до фиксированной длины, а не до максимальной длины по батчу? То есть по сути модель таки требует фиксированное число токенов на вход, но не понятно, почему?
Лучшая лекция по бустингам из тех, что я слушал. Большое спасибо!
Александр Геннадьевич, добрый день! Вопрос возник по слайду 20 (42:30). На самом нижнем уровне нарисован исходный тензор для предложения "The cat sat on the red mat". Судя по изображению, слова представляются векторами размерности 5. Тогда ведь свертка (красная линия) должна действовать не по строке, а захватывать всю размерность 5? (по аналогии с канальностью изображений).
Да, вроде так и делается, если верить оригинальной статье (п.3.1) и реализациям, которые есть на гитхабе. Возможно, рисунок не совсем корректный, тут возникает ещё вопрос, почему не меняется размерность представлений (число строк в нарисованных матрицах).
На 5:57 нужно домножать не на exp(z), а на exp(z/2), тогда получается softmax(z/2, -z/2). Получается сигмоида выдаёт значения вероятностей ближе к 0.5, чем softmax.
Да, верно.
А как увеличивать масштаб визуализации, в конце про точек?
Это 1:14:03? Например, поменять xlim, ylim - т.е. видимую область.
@@alexanderdyakonov8305 axa, спасибо
Александр Геннадьевич, еще вопрос возник: производные dL/dw нужны нам для обновления параметров сети, поэтому мы их считаем, а для чего нам нужны производные dL/dx?
А... хороший вопрос! Они пока нам не нужны, но потом понадобятся. Например, для стилизации изображений по методу Гатиса. Или для "атак на нейросети".
Спасибо за лекцию! А будут ли выкладываться обновленные слайды? А то в репе ссылка на слайды 20го года.
Видимо пока нет. Но по новым лекциям будут новые слайды залиты.
А "Self-Supervision часть 2" планируется в этом плейлисте? Так-то весьма интересная тема!
Вроде она не очень хорошо записалась, поэтому пока не будет.
Спасибо за ваш курс лекций! ❤
Пожалуйста!
Да уж...вот это класс. Есть чему поучиться )) Спасибо, для меня довольно необычная задача.
На 16:48 про генерацию некоррелирующих признаков MAD из двух видов средних подумалось провести мини-исследование: нагенерить много случайных 1d массивов с разным распределением, возможно, взять какие-то реальные датасеты, для них всех рассчитать все возможные комбинации таких средних и MAD, посмотреть, какие наиболее некоррелированы (в линейном смысле и смысле взаимной информации) с остальными того же датасета. Возможно, даже потестировать предсказательную силу таких фичей (если составить искусственные зависимости) по сравнению со случайной подвыборкой. Не знаю, можно ли тут ожидать вообще какого-то стабильного обобщения, но если такое вдруг обнаружится, это позволит в реальной работе быстро проверять экзотические "киллер фичи", до которых в конкретном проекте и руки бы не дошли.. Хм, тогда уже и комбинации математических операций полезные исследовать на 18:40.
Решил не просто лекцию просмотреть, а и понабирать за автором код в юпитере. И вот как только начал набирать так сразу улыбнулся. В самом начале, где задатся функция y, в скобочках есть sin x **2 + сos x **2, а это же единица :) итого вся функция y = sin x но это я не с целью докопаться, просто заметил :)
Естественно, это "на вид сложная функция", производная которой вычисляется в уме. Но Pytorch же не знает тригонометрических формул.
Приведённый алгоритм вычисления среднего Шурыгина кажется неполным. Хотел реализовать, но слишком много неясностей. (
Александр Геннадьевич, добрый день! Возник вопрос по лекции, подскажите, пожалуйста. Не совсем понятна размерность результата для dz / dW (1:02:30). Ведь если мы говорили на слайде 42 о "форме" производных: производная (число), градиент (вектор), якобиан (матрица), то для dz/dW должен быть какой-то трехмерный результат (ведь z - это вектор, а W - это матрица)? А получилось, что dz/dW = x^T.
Совершенно верно. Формально должен быть 3х-мерный результат. Но тут мы немножко схалтурили, т.к. мы берём "прозводную по матрице", в ответ выписали матрицу такого же размера, её ij-й элемент это как раз производная по w_ij. И если так сделать, то формально представленное равенство верно. Тут ещё важный момент наше произведение стало внешним: мы умножаем не на вектор-столбец, а на вектор-строку. Смотрите сразу на последнюю строчку на слайде. Там объясняется, почему записанную выше запись можно считать верной.
Спасибо огромное за продолжение DL) А то я уже весь курс по 3-му разу пересматриваю - очень интересно.
Александр Геннадьевич, здравствуйте! В лекции (26:50) вы делаете допущение о нулевом смещении при линейных операциях внутри сети. Можете подсказать почему делается это допущение или где можно почитать, чтобы разобраться в этом вопросе?
Если у нас есть константный ненулевой признак, то на первом слое смещение не нужно. А на последующих можно тоже обойтись без него, ведь если, например, мы используем сигмоиду, то при нулевых весах нейрон всегда выдаёт константу 1/2, т.е. он реализует смещение для следующего слоя. Поэтому, если смещение необходимо, сеть сама научится его реализовывать (ценой выучивания некоторых параметров). Впрочем, в общем случае смещением нельзя пренебречь .
Картинка справа вверху не нужна.
🥰