В дополнение к хронологии видео 2017 Часть 1 и 2017 Часть 2 ниже вы можете найти полную коллекцию хронологии видео для части 1 2018 (V2). Эта версия включает множество ключевых слов для поиска.
Особая благодарность @hiromi за ее помощь
Примечание 1: это для студентов, которые прошли весь курс Части 1 (V2) и хотят быстро найти / перейти в определенный раздел, используя поиск по ключевым словам на одной странице / месте.
Имхо, если вы не взяли курс: не используйте это как способ «перелететь и смотреть только то, что, по вашему мнению, вам нужно», вы упустите полную картину.
Примечание 2: это первый проект WIP (работа в процессе); Если вы обнаружите какую-либо ошибку или неправильную ссылку, сообщите мне об этом, разместив сообщение в этой теме, чтобы я мог ее исправить.
Расписание видео для Урока 1
- 00: 00: 017 Добро пожаловать в часть 1, версию 2 Практического глубокого обучения для программистов,
Обратитесь к сообществу Fastai за помощью по настройке вашей системы на « forum.fast.ai1 » - 00:02:11 Подход сверху вниз в сравнении с подходом снизу вверх,
Почему вам нужен графический процессор nVidia (графический процессор = видеокарта) для глубокого обучения - 00: 04: 113 Используйте crestle.com1, если у вас нет ПК с графическим процессором.
- 00: 06: 114 Используйте paperpace.com4 вместо crestle.com1 для более быстрых и дешевых вычислений на графическом процессоре. Технические советы по работе с Jupyter Notebook.
- 00: 12: 307 Начните с урока Jupyter Notebook1.ipynb Собаки против кошек
- 00: 20: 202 Наша первая модель: быстрый старт.
Запуск нашей первой модели глубокого обучения с архитектурой resnet34, эпоха, точность при проверке. - 00:24:11 Анализируем результаты: просматриваем картинки в уроке1.ipynb
- 00:30:45 Подробный пересмотр подхода Джереми и Рэйчел к философии преподавания сверху вниз против снизу вверх.
- 00: 33: 453 Объяснение структуры курса Fastai со слайдом, показывающим 8 шагов.
Рассмотрение компьютерного зрения, затем структурированных данных (или временных рядов) с конкурсом Kaggle Rossmann Grocery Sales, затем NLP (обработка естественного языка), затем совместная фильтрация для систем рекомендаций, затем снова компьютерное зрение с ResNet. - 00: 44: 111 Что такое глубокое обучение? Разновидность машинного обучения.
- 00:49:11 Универсальная аппроксимационная теорема и примеры, используемые корпорацией Google.
- 00:58:11 Больше примеров с использованием глубокого обучения, как показано в PowerPoint из курса Джереми в ML1 (машинное обучение 1)
Что на самом деле происходит в модели глубокого обучения со сверточной сетью. - 01:02:11 Добавление нелинейного слоя к нашей модели, сигмоида или ReLu (выпрямленная линейная единица), SGD (стохастический градиентный спуск)
- 01: 08: 201 Статья Визуализация и понимание сверточных сетей, реализация на lesson1.ipynb, циклические скорости обучения с библиотекой Fastai как lr_find или поиском скорости обучения.
Почему это начинается обучение модели, но останавливается до 100%: используйте средство поиска расписания учащихся. - 01:21:30 Почему вам нужно использовать библиотеки Numpy и Pandas с Jupyter Notebook: нажмите TAB для получения дополнительной информации или Shift-TAB один или два или три раза (три раза), чтобы открыть документацию для код.
Введите "?" перед функцией или "??", чтобы просмотреть код более подробно. - 01:24:40 Используйте сочетание клавиш H в Jupyter Notebook, чтобы просмотреть сочетания клавиш.
- 01: 25: 401 Не забудьте выключить сеанс в Crestle или Paperspace, иначе вам придется платить.
Расписание видео для Урока 2
- 00: 01: 012 Обзор урока 1, классификатор изображений,
структура PATH для обучения, скорость обучения,
какие четыре столбца чисел в виджете Jupyter - 00: 04: 453 Что такое скорость обучения (LR), LR Finder, мини-пакет, learn.sched.plot_lr () и learn.sched.plot (), введение в оптимизатор ADAM
- 00:15:00 Как улучшить вашу модель с большим количеством данных,
избежать переобучения, использовать другое увеличение данных ‘aug_tfms =’ - 00:18:30 Дополнительные вопросы по использованию Learning Rate Finder
- 00:24:10 Назад к Data Augmentation (DA),
‘tfms =’ и ‘precompute = True’, наглядные примеры обнаружения и активации слоев в предварительно обученных
сетях, таких как ImageNet. Разница между вашим компьютером или AWS и Crestle. - 00:29:10 Зачем использовать learn.precompute = False для увеличения данных, влияние на точность / потери поездов / потери при проверке
- 00: 30: 153 Зачем использовать cycle_len = 1, отжиг скорости обучения,
косинусный отжиг, стохастический градиентный спуск (SGD) с подходом перезапуска, ансамбль; "Суперсила Джереми" - 00:40:35 Сохраните веса вашей модели с помощью learn.save () и learn.load (), папок tmp и модели
- 00:42:45 Вопрос по обучению модели с нуля
- 00:43:45 Точная настройка и дифференциальная скорость обучения,
'learn.unfreeze ()', 'lr = np.array ()', 'learn.fit (lr, 3, cycle_len = 1, cycle_mult = 2) ' - 00: 55: 301 Дополнительные вопросы: Почему более плавные услуги соотносятся с более общими сетями? и больше.
- 01: 05: 301 Используется ли в этом курсе библиотека« Fast.ai поверх PyTorch с открытым исходным кодом?» и почему Fast.ai перешел с Keras + TensorFlow на PyTorch, создав высокоуровневую библиотеку поверх.
ПАУЗА
- 01: 11: 451 Матрица классификации plot_confusion_matrix ()
- 01:13:45 8 простых шагов для обучения классификатора изображений мирового класса
- 01: 16: 303 Новое демо с конкурсом Dog_Breeds_Identification на Kaggle, загрузка / импорт данных из Kaggle с помощью kaggle-cli, использование файлов CSV с Pandas. ‘Pd.read_csv ()’, ‘df.pivot_table ()’, ‘val_idxs = get_cv_idxs ()’
- 01: 29: 151 Исходная модель Dog_Breeds, image_size = 64,
Ошибка CUDA Out Of Memory (OOM) - 01: 32: 451 Недокументированный профессиональный совет от Джереми: тренируйтесь с маленьким размером, затем используйте learn.set_data () с большим набором данных (например, 299 на 224 пикселей)
- 01:36:15 Снова использование увеличения времени тестирования (learn.TTA ())
- 01:48:10 Как улучшить модель / блокнот на Dog_Breeds: увеличить размер изображения и использовать лучшую архитектуру.
ResneXt (с крестиком) по сравнению с Resnet. Предупреждение для пользователей GPU: версия X может в 2–4 раза превышать объем памяти, поэтому необходимо уменьшить Batch_Size, чтобы избежать ошибки OOM. - 01:53:00 Быстрый тест конкурса спутниковых снимков Amazon на Kaggle, с несколькими ярлыками
- 01:56:30 Вернемся к вашей аппаратной настройке глубокого обучения: Crestle против Paperspace и AWS, который выдал Fast.ai Part1 V2 около 200 000 долларов вычислительных кредитов.
Дополнительные советы по настройке вашей системы AWS как студент Fast.ai, Amazon Machine Image (AMI), 'p2.xlarge',
'aws key pair', 'ssh-keygen', 'id_rsa.pub', 'import key pair', ' git pull ',' conda env update 'и как выключить ваши 0,90 доллара в минуту с помощью' Instance State = ›Stop '
Расписание видео для Урока 3
- 00:00:05 Прикольные гайды и посты от одноклассников Fast.ai
- tmux, резюме урока 2, поиск скорости обучения, руководство по Pytorch, скорость обучения и размер пакета,
- расшифровка архитектуры ResNet, форум для новичков
- 00:05:45 Куда мы идем отсюда?
- 00: 08: 203 Как выполнить на прошлой неделе задание Определение породы собак
- 00:08:55 Как загрузить данные из Kaggle (Kaggle CLI) или откуда-нибудь еще
- 00:12:05 Прикольный совет по скачиванию только нужных файлов: с помощью CulrWget
- 00:13:35 Пример Собаки против кошек
- 00:17:15 Что означает Precompute = True и learn.bn_freeze
- 00:20:10 Введение и сравнение с Keras с TensorFlow
- 00:30:10 Перенос библиотеки PyTorch fast.ai в проект Keras + TensorFlow
- 00: 32: 302 Создать сообщение в Kaggle
- 00:39:30 Создание индивидуального прогноза для одного файла
- 00:42:15 Теория сверточных сетей и демонстрация Otavio Good (Word Lens)
- 00: 49: 452 Демо ConvNet с Excel,
- фильтр, Скрытый слой, Maxpool, Плотные веса, Полностью связанный слой
- Пауза
- 01:08:30 Демонстрация ConvNet с Excel (продолжение)
- выход, прибавление вероятностей к 1, функция активации, Softmax
- 01:15:30 Математика, которую вам действительно нужно понимать для глубокого обучения
- Возведение в степень и логарифм
- 01: 20: 301 Многобуквенная классификация с соревнованием Amazon Satellite
- 01: 33: 351 Пример улучшения размытого изображения
- 01:37:30 Установка разной скорости обучения для разных слоев
- 01: 38: 451 ‘data.resize ()’ для ускорения, а metrics = [f2] ’или‘ fbeta_score ’показатель
- 01:45:10 активация сигмоида для мульти-меток
- 01:47:30 Вопрос на тему Обучение только последних слоев, а не начальных замороженных / замороженных слоев из моделей ImageNet
- Расширенное обсуждение ‘learn.unfreeze ()’
- 01:56:30 Визуализируйте свою модель с помощью learn.summary (), показывает OrderedDict ()
- 01: 59: 451 Работа со структурированными данными Корпорасьон Фаворита Прогноз продаж бакалейных товаров
- На основе конкурса Rossman Stores
- 02:05:30 Книга: Python для анализа данных, Уэс МакКинни
- 02:11:50 Сохраняем фрейм данных с помощью ‘Joined.to_feather ()’ из Pandas, используем ‘df = pd.read_feather ()’ для загрузки.
- 02:13:30 Разделение столбцов Россмана на два типа: категориальные и непрерывные.
Расписание видео для Урока 4
- 00:00:04 Еще больше интересных руководств и постов от одноклассников Fast.ai
Улучшение нашей работы со скоростью обучения, Метод циклической скорости обучения,
Изучение стохастического градиента. Спуск с перезагрузкой (SGDR) , Передача обучения с использованием разной скорости обучения , Заставить компьютеры видеть лучше людей - 00:03:04 Куда мы идем дальше: Урок 3 - ›4 -› 5
Глубокое обучение структурированных данных, обработка естественного языка (NLP), системы рекомендаций - 00:05:04 Прекращение обсуждения с Dog_Breeds,
просмотр последовательных слоев модели с помощью обучения, линейной активации, ReLu, LogSoftmax - 00: 18: 042 Вопрос: Какой тип« p использовать для исключения по умолчанию», переоснащение, подгонка, xtra_fc =
- 00:23:45 Вопрос: Зачем нужно отслеживать потери / лог-потери против точности
- 00:25:04 Просмотр структурированных данных и данных временных рядов с помощью конкурса Rossmann Kaggle, категориальных и непрерывных переменных, ‘.astype (‘ category ’)’
- 00:35:50 библиотека fastai, proc_df (), yl = np.log (y), пропущенные значения, train_ratio, val_idx. Сообщение Рэйчел Как (и почему) создать хороший набор для проверки
- 00: 39: 451 RMSPE: среднеквадратичная ошибка в процентах,
создать объект ModelData, ‘md = ColumnarModelData.from_data_frame ()’ - 00:45:30 ‘md.get_learner (emb_szs,…)’, вложения
- 00:50:40 Работа с категориальными переменными
, такими как день недели (Россманн, продолжение), встраивание матриц, cat_sz, emb_szs, Pinterest, Instacart - 01: 07: 101 Улучшение полей даты с помощью add_datepart, а также окончательные результаты и вопросы по Россманну, пошаговое резюме подхода Джереми
Пауза
- 01: 20: 102 Подробнее об использовании библиотеки Fast.ai для структурированных данных.
- 01:23:30 Введение в обработку естественного языка (NLP)
записная книжка lang_model-arxiv.ipynb - 01:31:15 Создание языковой модели с набором данных IMDB
notebook ‘lesson4-imdb.ipynb’ - 01:31:34 Вопрос: Так почему ты не думаешь, что прямое выполнение того, что ты хочешь делать, не работает лучше? (имеется в виду предварительное обучение языковой модели перед предсказанием, будет ли отзыв положительным или отрицательным)
- 01:33:09 Вопрос: Это похоже на« char-rnn1 от karpathy?»
- 01:39:30 Tokenize: разбиение предложения на массив токенов
- 01:43:45 Создайте словарь TEXT.vocab с укропом / маринадом; ‘Next (iter (md.trn_dl))’
- В оставшейся части видео рассматриваются тонкости записной книжки «lesson4-imdb», не забывайте использовать «J» и «L» на 10 секунд вперед / назад в видеороликах YouTube.
- 02:11:30 Введение к уроку 5: Совместная фильтрация с помощью Movielens
Расписание видео для Урока 5
- 00: 00: 011 Обзор студенческих статей и работ.
- « Структурированное глубокое обучение для структурированных данных с использованием Entity Embeddings, 3»
- « Развлечение с небольшими наборами данных изображений (часть 2) с размораживанием слоев и загрузкой изображений из Google»,
- Техническое описание« Как мы обучаем нейронные сети с подробным описанием»,
- «Конкурс« Саженцы растений »
- 00: 07: 451 Начало второй половины курса: что дальше?
Набор данных MovieLens: создание эффективной модели совместной фильтрации с нуля - 00: 12: 151 Почему факторизация матрицы, а не нейронная сеть?
Использование решателя Excel для градиентного спуска GRG Nonlinear - 00:23:15 Какие отрицательные значения для movieid и userid и другие вопросы учащихся.
- 00:26:00 Блокнот совместной фильтрации, ‘n_factors =’, ‘CollabFilterDataset.from_csv’
- 00:34:05 Пример Dot Product в PyTorch, модуль DotProduct ()
- 00:41:45 Класс EmbeddingDot ()
- 00:47:05 Инициализация Kaiming He (через DeepGrid),
вставка символа подчеркивания ‘_’ в PyTorch, ‘ColumnarModelData.from_data_frame ()’, ‘optim.SGD ()’ - Пауза
- 00:58:30 ‘fit ()’ в model.py ’пошаговое руководство
- 01:00:30 Снова улучшаем модель MovieLens в Excel,
добавляем константу для фильмов и пользователей под названием предвзятость - 01:02:30 Функция get_emb (ni, nf) и класс EmbeddingDotBias (nn.Module), .squeeze () для трансляции в PyTorch
- 01:06:45 Получение оценок от 1 до 5 с помощью сигмовидной функции
- 01: 12: 301 Что произошло с призом Netflix, если посмотреть на модуль column_data.py и get_learner ()
- 01: 17: 151 Создание версии всего этого в нейронной сети с использованием вкладки movielens_emb в нашем файле Excel, раздела Mini net в lesson5-movielens.ipynb
- 01:33:15 Что происходит внутри Цикла обучения, что делают оптимизаторы optim.SGD () и momentum =, основная вкладка таблицы graddesc.xlsm
- 01:41:15 Вам не нужно учиться вычислять производные и интегралы, но вам нужно научиться думать о пространстве, цепное правило, якобиан и гессиан
- 01:53:45 Вкладка Импульс таблицы
- 01:59:05 Таблица Вкладка Адам
- 02:12:01 Beyond Dropout: Снижение веса или регуляризация L2
Расписание видео для Урока 6
- 00:00:10 Обзор статей и работ
Оптимизация для Deep Learning Highlights в 2017 г. Себастьяна Рудера,
Реализация статьи AdamW / SGDW в Fastai,
Улучшение как мы работаем со скоростью обучения ,
Методика циклической скорости обучения - 00:02:10 Обзор прошлой недели Глубокое погружение в совместную фильтрацию с помощью MovieLens, анализ нашей модели, предвзятость фильма, @property, self.models.model, learn.models, » CollabFilterModel ',' get_layer_groups (self) ',' lesson5-movielens.ipynb '
- 00: 12: 101 Джереми: Я стараюсь использовать Numpy для всего, кроме случаев, когда мне нужно запускать его на GPU или его производных,
Вопрос: Перенести модель с GPU на CPU в производство? переместите модель в CPU с помощью 'm.cpu ()', 'load_model (m, p)', обратно в GPU с помощью функции 'm.cuda ()', 'zip ()' в Python - 00:16:10 Сортировка фильмов, худший саентологический фильм Джона Траволты за все время Поле битвы на Земле, key = itemgetter () jj, key = lambda
- 00:18:30 Встраивание интерполяции с использованием PCA из sklearn.decomposition для линейной алгебры
- 00: 24: 151 Глядя на конкурс Kaggle Россманн Ритейл / Магазин с бумагой Вложения сущностей категориальных переменных.
- 00: 41: 021 Россманн Очистка данных / разработка функций, правильное использование набора тестов, создание компонентов (подробности см. В курсе Машинное обучение ML1), apply_cats вместо train_cats, pred_test = m .predict (True) ', результат в публичной таблице лидеров Kaggle по сравнению с частной таблицей лидеров с плохим набором проверки. Пример: Statoil / Iceberg Challenge / Competition.
- 00:47:10 Ошибка третьего победителя Россманна, больше на модели Россманна.
- 00:53:20 Как написать что-то отличное от библиотеки Fastai
- ПАУЗА
- 00: 59: 551 Подробнее о SGD с записной книжкой lesson6-sgd.ipynb, задаче линейной регрессии с непрерывными выводами. Функция потерь a * x + b и среднеквадратичной ошибки (MSE) с y_hat
- 01:02:55 Градиентный спуск, реализованный в PyTorch, loss.backward (), .grad.data.zero_ () в классе optim.sgd
- 01:07:05 Градиентный спуск с помощью Numpy
- 01: 09: 151 RNN с записной книжкой lesson6-rnn.ipynb с Ницше, публикацией Swiftkey на клавиатуре смартфона на базе Neural Networks
- 01:12:05 Базовая сеть с одним скрытым слоем (прямоугольник, стрелка, круг, треугольник), Джереми,
Изображение CNN с одним плотным скрытым слоем. - 01:23:25 Трехсимвольная модель, вопрос по размерам in1, in2, in3
- 01:36:05 Тестовая модель с get_next (inp),
Давайте создадим нашу первую RNN, зачем использовать те же весовые матрицы? - 01:48:45 RNN с PyTorch, вопрос: Что представляет собой скрытое состояние?
- 01:57:55 Модель с несколькими выходами
- 02:05:55 Вопрос о зависимости длины последовательности от размера пакета
- 02:09:15 Матрица идентичности (init!), Статья Джеффри Хинтона Простой способ инициализировать рекуррентные сети выпрямленных линейных единиц
Расписание видео для Урока 7
- 00: 03: 044 Обзор урока по RNN на прошлой неделе,
Часть 1, чего ожидать в Части 2 (дата начала: 19.03.2018) - 00:08:48 Построение модели RNN с помощью self.init_hidden (bs) и self.h, подход back prop through time (BPTT)
- 00:17:50 Создание мини-пакетов, разделение на 64 фрагмента одинакового размера, а не разделение на фрагменты размером 64, вопросы по увеличению данных и выбору размера BPTT, PyTorch QRNN
- 00:23:41 Использование форматов данных для вашего API, изменение формата данных по сравнению с созданием нового класса набора данных, ‘data.Field ()’
- 00:24:45 Как создать данные обучения / проверки Ницше
- 00: 35: 431 Работа с PyTorch, не принимающим Тензор 3 ранга, только ранг 2 или 4, F.log_softmax ()
- 00:44:05 Вопрос по F.tanh (), функция активации tanh,
замена RNNCell на GRUCell - 00:47:15 Введение в ячейку ГРУ (RNNCell имеет проблему взрыва градиента - т.е. вам нужно использовать низкую скорость обучения и небольшой BPTT)
- 00: 53: 401 Долговременная кратковременная память (LSTM), LayerOptimizer (), косинусный отжиг CosAnneal ()
- 01:01:47 Пауза
- 01: 01: 571 Вернуться к компьютерному зрению с CIFAR 10 и записной книжкой lesson7-cifar10.ipynb. Зачем изучать исследования CIFAR 10, ImageNet и MNIST?
- 01: 08: 541 Рассмотрение полностью связанной модели на основе записной книжки студента Керема Тургутлу, затем модели CNN (с демонстрацией в Excel)
- 01:21:54 Выполнен рефакторинг модели с использованием нового класса ConvLayer () и padding.
- 01:25:40 Использование пакетной нормализации (BatchNorm) для повышения устойчивости модели, BnLayer () и ConvBnNet ()
- 01:36:02 Предыдущая ошибка в Мини-сети в lesson5-movielens.ipynb и множество вопросов по BatchNorm, Урок 7 Cifar10, исследователи AI / DL против практикующих, выступление Янн Лекун и «Али Рахими на NIPS 2017 'строгость / строгость / теория / эксперимент.
- 01:50:51 Deep BatchNorm
- 01:52:43 Заменить модель на ResNet, класс ResnetLayer (), используя boosting
- 01:58:38 Слой Узкое место с BnLayer (), ResNet 2 с Resnet2 (), пропуск соединений.
- 02:02:01 Блокнот lesson7-CAM.ipynb, вводная часть 2 части с использованием Dogs v Cats.
- 02:08:55 Карты активации классов (CAM) Dogs v Cats.
- 02: 14: 272 Вопросы Джереми: Ваше путешествие к глубокому обучению и Как не отставать от важных исследований для практиков,
Если вы собираетесь перейти ко второй части, вы должны освоить все методы из Части 1 , Джереми советует освоить Часть 1 и помочь новым студентам во входящей версии MOOC, которая будет выпущена в январе 2018 года.