Учебная программа машинного обучения
Машинное обучение - это ветвь искусственного интеллекта, посвященный созданию машин учиться на данных наблюдений, не будучи явно запрограммированным.
Машинное обучение и ИИ не одинаковы. Машинное обучение - это инструмент в симфонии ИИ - компонент ИИ. Так что же такое машинное обучение - или ML - именно? Это способность алгоритма учиться на предыдущих данных, чтобы произвести поведение. ML - это обучение машинах для принятия решений в ситуациях, которые они никогда не видели.
Эта учебная программа сделана, чтобы заставить вас изучать машинное обучение, рекомендовать инструменты и помочь вам использовать образ жизни ML, предложив СМИ следовать. Я регулярно обновляю его, чтобы поддерживать свежесть и избавиться от устаревшего контента и устаревших инструментов.
Машинное обучение в целом
Изучите этот раздел, чтобы понять фундаментальные концепции и развить интуицию, прежде чем углубиться в более глубокий.
Говорят, что компьютерная программа учится на опыте E в отношении некоторого класса задач T и показателя производительности P Если его производительность в задачах в T , измеренные с помощью P , улучшается с опытом E .
- Элементы AI куча простых курсов, преподавая ИИ и машинное обучение
- Coms W4995 Applied Machine Learning Весна 2020 Видео и слайды прикладного ML -курса из Колумбийского университета.
- Курс самоуверенного машинного обучения от Fast.ai
- Курс сбоев машинного обучения с помощью API-интерфейсов TensorFlow быстро развивающееся, практическое введение в машинное обучение
- Вступление в машинное обучение - Udacity Rands On Scikit -Learn (Python) обучение программированию на основных концепциях ML
- Машинное обучение: контролируемое, неконтролируемое и подкрепление - Udacity 2 инструктора веселые
- Мастерство машинного обучения тщательно выложено пошаговое руководство по определенным алгоритмам
- Специализация Эндрю Н.Г. на Курсере рекомендуется для людей, которые хотят знать подробности алгоритмов ML под капотом, понимайте достаточно математики, чтобы быть опасными и выполнять задания по кодированию в Python
- Рецепты ML - плейлист YouTube. Действительно красиво разработанный конкретный контент для введения ML
- Машинное обучение-это весело, часть 1 Простой подход к машинному обучению для не матов
- Машинное обучение с Python - плейлист YouTube
- Машинное обучение тоска Эндрю Нг
- Приземление работы данных: курс - это самоуверенное и практическое руководство для людей, которые хотят сосредоточиться на посадке работы. Например, они предполагают, что знание того, как работает дерево решений, уже достаточно хорошо, вам не нужно знать, как работают все модели, что правда! Но этот совет в основном для табличных данных.
- Без сервера машинного обучения Создайте собственную службу прогнозирования без сервера машинного обучения.
- Эффективные MLOP: модели разработка бесплатного курса по весам и уклонам с сертификацией
- Математика по математике по машинному обучению и специализации по науке о данных по курсу Coursera
Книги
- Машинное обучение с Pytorch и Scikit-Learn от Sebastian Raschka
- Практическое машинное обучение с Scikit-Learn, Keras и Tensorflow, 2-е издание Aurélien Géron-самая продаваемая книга, потому что это здорово.
- https://github.com/fastai/fastbook Книга Fastai, опубликованная как записные книжки Jupyter
- https://www.deeplearningbook.org/ математическая книга Яна Гудфеллоу и Йошуа Бенгио и Аарона Курвилла
- https://christophm.github.io/interpretable-ml-book/ Руководство по созданию моделей черного ящика объяснимым
- https://themlbook.com/ Книга машинного обучения в стостранице Андрию Буркова
Подкрепление обучения
Создание машины, которая чувствует окружающую среду, а затем выбирает лучшую политику (действие), чтобы выполнять в любом данном состоянии, чтобы максимизировать ожидаемое долгосрочное скалярное вознаграждение, является целью обучения подкрепления.
- Openai Spining Up Это образовательный ресурс, созданный Openai, который облегчает изучение обучения глубоким подкреплением (Deep RL).
- Основное обучение подкреплению серия введения для подкрепления обучения (RL) с комплексными пошаговыми учебниками.
- Расширенные темы: RL 2015 (Compm050/Compgi13) Дэвида Сильвера (парень позади Альфаго)
- Введение Ричарда С. Саттона и Эндрю Г. Барто
- Глубокое обучение подкрепления: pong от пикселей
- Лекция 10: обучение подкрепления - YouTube
- Опросная статья
- Глубокое обучение подкреплению: учебник - OpenAI
- CS 294: обучение глубокому подкреплению, весна 2017
Глубокое обучение
Глубокое обучение - это ветвь машинного обучения, где глубоко искусственные нейронные сети (DNN) - алгоритмы, вдохновленные тем, как нейроны работают в мозге, - находят паттерны в необработанных данных, объединяя несколько слоев искусственных нейронов. По мере увеличения слоев способность нейронной сети учится все более абстрактным концепциям.
Самый простой вид DNN - многослойный персептрон (MLP).

- Маленькая книга глубокого обучения, эта книга представляет собой короткое введение в глубокое обучение читателям с фона ствола, изначально разработанная для чтения на экране телефона. Он распространяется по некоммерческой лицензии Creative Commons и был загружен почти в 250 000 раз за месяц после его публичного выпуска.
- Полное стек глубокого обучения обучению на уровне производства глубокое обучение у ведущих практикующих
- Deeplearning.ai куча курсов, преподаваемых Эндрю Нг в Coursera; Это продолжение курса машинного обучения в Coursera.
- Вступление в глубокое обучение с Pytorch курс Facebook AI на Udacity
- Дружелюбное введение в глубокое обучение и нейронные сети
- Тинкер на нейронной сети с простой нейронной сетью, предназначенной для того, чтобы помочь вам визуализировать процесс обучения
- Демистифицировано глубокое обучение - YouTube объясняет вдохновение глубокого обучения от реальных нейронов в искусственные нейронные сети
- Узнайте TensorFlow и глубокое обучение, без доктора философии. Этот 3-часовой курс (Video + Slides) предлагает разработчикам быстрое введение в основы глубокого обучения, с некоторым тензором, добавленным в сделку.
- Руководство по глубокому обучению от Yn^2 Краткое руководство по математике по глубокому обучению
- Практическое глубокое обучение для кодировщиков в Fast.ai, преподаваемом Джереми Ховардом (Kaggle's #1 -й конкурент 2 года, и основатель Enlitic)
- Глубокое обучение - udacity Рекомендуется для визуального учащегося, который знает немного ML, этот курс предоставляет идеи высокого уровня глубокого обучения, плотные интуитивные детали, предоставленные за короткий промежуток времени, вы будете использовать Tensorflow внутри курса
- Летняя школа глубокого обучения, Montreal 2015
- Класс нейронных сетей - плейлист YouTube
- http://neuralnetworksanddeeplearning.com/index.html Практическая онлайн-книга для интуиции глубокого обучения математике, я могу сказать, что после того, как вы закончите это, вы сможете объяснить глубокое обучение в мелких деталях.
- Зоопарк нейронной сети - куча моделей нейронной сети, о которых вы должны знать (я знаю около половины из них, поэтому не беспокойтесь, что вы не знаете многих, потому что большинство из них не популярны или полезны в настоящем))
- Вступление в Tensorflow для глубокого обучения, преподаваемого в Udacity
- Праймеры • ИИ Вот выбранный вручную подборку статей о основах/концепций ИИ, которые охватывают весь процесс создания нейронных сетей для обучения их для оценки результатов. Существует также очень подробное объяснение архитектуры трансформатора.
- Обнимание моделей диффузии лица курс изучить теорию, обучить модель с нуля и использовать ее для создания изображений и аудио.
- Основы глубокого обучения Lightning.ai с Себастьяном Раскукой
Сверточные нейронные сети
DNN, которые работают с данными сетки, такими как звуковые сигналы, изображения и видео лучше, чем обычные DNN. Они основаны на предположениях, что близлежащие входные единицы более связаны, чем отдаленные единицы. Они также используют инвариантность перевода. Например, с изображением, может быть полезно обнаружить одинаковые виды краев повсюду на изображении. Их иногда называют Convnets или CNN .
- Как работают сверточные нейронные сети - Техническое объяснение YouTube, включая операции по объединению, RELU, полностью подключенный слой, оптимизация с использованием градиентного спуска
- Нейронная сеть, которая все меняет - компьютерфильная
- Руководство для начинающих по пониманию сверточных нейронных сетей
- Глубокое обучение для компьютерного видения (Andrej Karparthy, Openai) Это мое самое любимое видео о сверточной сети. Андрей объясняет конвнета подробно, отвечая на все любопытные вопросы, которые можно возникнуть. Например, большинство статей говорят только о свертке на изображении серого, но он также описывает свертку на изображениях с цветными каналами. Он также рассказывает о проблемах и предположениях, которые делают убеждения. Это отличная лекция!
- Понимание нейронных сетей с помощью глубокой визуализации объясняет, как визуализировать конвнету, используя различные методы
Повторяющиеся нейронные сети
DNN, которые имеют государства. Они также понимают последовательности, которые различаются по длине. Их иногда называют RNN .
- http://karpathy.github.io/2015/05/21/rnn-effectivity/
- http://colah.github.io/posts/2015-08- Instronging-lstms/
- http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-Introduction-to-rnns/
Лучшие практики
- Правила машинного обучения: лучшие практики для ML Engineering Это документ Мартина Зинкевича о лучших практиках Google в области машинного обучения.
- Рецепт для обучения нейронных сетей Андрея в блоге о том, как научиться быть инженером -параноидальным машинным обучением.
- Как отлаживать нейронные сети. Руководство.
- Обзор алгоритмов оптимизации градиентного происхождения
- Deep Learning Tuning Playbook Playbook для систематического максимизации производительности моделей глубокого обучения.
Инструменты
Библиотеки и структуры, которые полезны для практического машинного обучения
Рамки
Строительные блоки машинного обучения
- Общая библиотека машинного обучения Scikit-Learn, абстракция высокого уровня, предназначенная для начинающих
- Tensorflow; Потрясающий Tensorflow; Расходовая графическая структура, созданная Google, имеет хорошую доску визуализации, вероятно, самая популярная структура в настоящее время для глубокого обучения
- Керас: Глубокое обучение для людей Керас - это API глубокого обучения, написанное на Python, работающая на вершине Tensorflow. Это все еще король абстракции высокого уровня для глубокого обучения. Обновление: Keras теперь доступен для Tensorflow, Jax и Pytorch!
- Тенсоры Pytorch и динамические нейронные сети в Python с сильным ускорением GPU. Он обычно используется передовыми исследователями, включая OpenAI.
- Lightning The Deep Learning Framework для обучения, развертывания и поставки продуктов AI Lightning Fast. (Раньше назывался пирожкой молнии)
- JAX-Autograd и XLA, собранный для исследований в области машинного обучения.
- OneFlow-это глубокая структура обучения, предназначенная для того, чтобы быть удобным для пользователя, масштабируемым и эффективным.
- Apache Mxnet (инкубация) для глубокого обучения Apache Mxnet - это глубокая структура обучения, предназначенная как для эффективности, так и для гибкости. Это позволяет вам смешивать символическое и императивное программирование, чтобы максимизировать эффективность и производительность.
- Цепочка гибкая структура нейронных сетей для глубокого обучения
- Vowpal Wabbit - это система машинного обучения, которая расширяет границу машинного обучения с такими методами, как онлайн, хэшинг, Allreduce, сокращение, обучение2 -исследования, активное и интерактивное обучение. Существует особое внимание на обучении подкреплению с помощью нескольких контекстуальных алгоритмов бандитов, и онлайн -природа хорошо предоставляется проблеме.
- H2O является платформой в памяти для распределенного масштабируемого машинного обучения.
- Нейронные сети Spektral Graph с керами и Tensorflow 2.
- Айви является как транспилером ML, так и структурой, которая в настоящее время поддерживает JAX, Tensorflow, Pytorch и Numpy. Айви объединяет все фреймворки ML? позволяя вам написать не только код, который можно использовать с любой из этих структур в качестве бэкэнда, но и для преобразования любой функции, модели или библиотеки, написанной в любой из них в ваш предпочтительный фреймворк!
Нет кодирования
- Ludwig Ludwig - это набор инструментов, который позволяет пользователям обучать и тестировать модели глубокого обучения без необходимости записать код. Он построен на вершине Tensorflow.
Повышение градиента
Модели, которые используются в значительной степени на соревнованиях из -за их выдающейся производительности обобщения.
- https://github.com/dmlc/xgboost Extreme Gradient повышение
- https://github.com/microsoft/lightgbm Легкая альтернатива по сравнению с XGBOOST
- https://github.com/catboost/catboost быстро, масштабируемое, высокопроизводительное повышение градиента в библиотеке деревьев решений, используемое для ранжирования, классификации, регрессии и других задач машинного обучения для Python, R, Java, C ++. Поддерживает вычисления на процессоре и графическом процессоре.
- https://github.com/tensorflow/decision-forests Tensorflow Forests (TF-DF) представляет собой набор современных алгоритмов для обучения, обслуживания и интерпретации моделей лесных решений.
- Pytorch/Tensorflow Реализация бумаги TabNet. Дополнительное чтение: Tabnet уравновешивает объяснение и производительность модели на табличных данных, но может ли он свернуть модели деревьев?
Вывод временных рядов
Данные временных рядов требуют уникального процесса извлечения функций, чтобы они могли использоваться в большинстве моделей машинного обучения, потому что большинство моделей требуют, чтобы данные были в табличном формате. Или вы можете использовать специальную модель архитектуры, которые целевые временные ряды, например LSTM, TCN и т. Д.
- https://github.com/timeseriesai/tsai Time Series Deep Learning Pytorch Fastai-Современное глубокое обучение с временными рядами и последовательностями в Pytorch/Fastai. Дополнительное прочитание: Tsai - Состояние искусственного машинного обучения для временных рядов, часть 1.
- https://github.com/alan-tring-institute/sktime-унифицированная структура для машинного обучения с временными рядами
- https://github.com/sktime/sktime-d
- https://github.com/tslearn-team/tslearn/ Инструментарий машинного обучения, посвященное данным временного сериала
- https://github.com/blue-yonder/tsfresh Автоматическое извлечение соответствующих функций из временных рядов
- https://github.com/johannfaouzi/pyts Пакет Python для классификации временных рядов
- https://github.com/facebook/prophet инструмент для производства высококачественных прогнозов для данных временных рядов, которые имеют множественную сезонность с линейным или нелинейным ростом.
- https://github.com/philipperemy/keras-tcn керас Временная свертка
- Ракета: исключительно быстрая и точная классификация временных рядов с использованием случайных сверточных ядер; MiniRocket: очень быстрое (почти) детерминистическое преобразование для классификации временных рядов; Эти 2 метода предназначены для извлечения функций временных рядов. Дополнительное чтение: Ракета: быстрая и точная классификация временных рядов
Жизненный цикл
Библиотеки, которые помогают вам разрабатывать/отлаживать/развернуть модель в производстве (MLOPS). В ML есть нечто большее, чем обучение модели.
- https://huggingface.co/ точно так же, как github, но для хранения моделей ML, наборов данных и приложений (они называют приложения как пространства). У них есть библиотеки, которые вы можете легко использовать свои модели/наборы данных в вашем коде. Хранение бесплатно и неограничено как для государственных, так и для частных проектов.
- https://wandb.ai/ Ускорите более быстро
- https://github.com/flyteorg/flyte Flyte позволяет легко создавать параллельные, масштабируемые и обслуживаемые рабочие процессы для машинного обучения и обработки данных.
- https://github.com/allegroai/clearml Автомагический набор инструментов для оптимизации вашего рабочего процесса ML. Менеджер эксперимента, ML-OPS и управление данными
- https://github.com/quantumblacklabs/kedro. Структура Python для создания воспроизводимого, обслуживания и модульной науки о данных.
- https://github.com/determined-ai/determined degined-это платформа для глубокого обучения с открытым исходом, которая делает строительные модели быстрыми и простыми. Я использую его в основном для настройки гиперпараметров.
- https://github.com/iterative/cml Непрерывное машинное обучение (CML)-это библиотека с открытым исходным кодом для реализации непрерывной интеграции и доставки (CI/CD) в проектах машинного обучения. Используйте его для автоматизации частей вашего рабочего процесса разработки, включая модельную обучение и оценку, сравнение экспериментов ML в истории вашего проекта и мониторинг изменяющихся наборов данных.
- https://github.com/creme-ml/creme Python Library для онлайн-машинного обучения . Все инструменты в библиотеке могут быть обновлены с одним наблюдением одновременно и поэтому могут использоваться для обучения на потоковых данных.
- https://github.com/aimhubio/aim. Супер-веселый способ записи, поиска и сравнения 1000-х годов ML Training Runs
- https://github.com/netflix/metaflow metaflow-это библиотека Python, которая помогает ученым и инженерам создавать и управлять реальными научными проектами. Metaflow был первоначально разработан в Netflix.
- Mlflow Mlflow (в настоящее время в бета -версии) является платформой с открытым исходным кодом для управления жизненным циклом ML, включая эксперименты, воспроизводимость и развертывание. В настоящее время он предлагает три компонента: отслеживание Mlflow, проекты Mlflow, модели Mlflow.
- Floydhub heroku для глубокого обучения (вы сосредоточитесь на модели, они развернут)
- Comet.ml Comet позволяет ученым и командам данных отслеживать, сравнивать, объяснять и оптимизировать эксперименты и модели по всему жизненному циклу модели. От обучения до производства
- https://neptune.ai/ Управляйте всеми вашими метаданными построения модели в одном месте
- https://github.com/fastai/nbdev Создание восхитительных проектов Python с использованием ноутбуков Jupyter
- https://rapids.ai/ Наука данных о графических процессорах
- https://github.com/datarevenue-berlin/openmlops
- https://github.com/jacopotagliabue/you-dont-need-a-bigger boat на самом деле не инструмент, а руководство по составлению многих инструментов в реальном мире разумного масштаба.
- https://www.modular.com/ компания с амбициозной целью переиздания инфраструктуры ИИ с нуля. Они вводят новый язык под названием Mojo, который является суперсетом Python.
Облако графического процессора
Помните, что это самоуверенный список. Существуют лионы облачных провайдеров. Я не собираюсь перечислять их все. Я просто собираюсь перечислить те, с которыми я знаком, и я думаю, что это хорошо.
- https://lightning.ai/ Lightning Studio позволяет вам отказаться от своего высококачественного ноутбука для разработки моделей машинного обучения. Просто напишите код в облаке, используя VSCODE и используйте их графические процессоры для обучения или вывода. Lightning Studio аналогична кодированию GitHub, но с графическим процессором.
- https://modal.com/ Modal позволяет запускать или развернуть модели машинного обучения, массивно параллельные задания, очереди задач, веб -приложения и многое другое, без вашей собственной инфраструктуры.
- https://www.runpod.io/ Сохраните более 80% на графических процессорах. Аренда графических процессоров упростилась с Jupyter для Pytorch, Tensorflow или любой другой структуры ИИ. Я использовал это раньше. Довольно просто в использовании.
- https://replicate.com/ запустить и тонкие модели с открытым исходным кодом. Развернуть пользовательские модели в масштабе с помощью Cog. Все с одной строкой кода.
- https://bentoml.com/ bentoml - это платформа для разработчиков программного обеспечения для создания продуктов искусственного интеллекта. Развернуть с помощью пакета Bentoml.
- https://www.baseten.co/ Быстрый и масштабируемый вывод модели в облаке с использованием фермы
- https://lambdalabs.com/ облако графического процессора построено для глубокого обучения. Мгновенный доступ к лучшим ценам на облачные графические процессоры на рынке. Никаких обязательств или переговоров не требуется. Сохраните более 73% против AWS, Azure и GCP. Настройка для глубокого обучения с помощью Pytorch, Tensorflow, Jupyter
- https://www.beam.cloud/ по графическому графическому процессору по делу: поезда и развертывание приложений AI и LLM безопасно
Хранилище данных
- https://github.com/huggingface/datasets/ пакет для загрузки, предварительной обработки и обмена наборами данных.
- https://github.com/activeloopai/deeplake Data Lake для глубокого обучения. Создавать, управлять, запросить, версию и визуализировать наборы данных. Потоковые данные в режиме реального времени на pytorch/tensorflow.
- https://github.com/determined-ai/yogadl Лучший подход к загрузке данных для глубокого обучения. API-трансплановое кэширование на диск, GCS или S3.
- https://github.com/google/ml_collections ML Collections - это библиотека коллекций Python, разработанная для вариантов использования ML. Он содержит ConfigDict, «диктаподобные» структуры данных с точечным доступом к вложенным элементам. Предполагается, что он будет использоваться в качестве основного способа выражения конфигураций экспериментов и моделей.
Data Drangling
Очистка данных и увеличение данных
- https://github.com/cgnorthcutt/cleanlab чистая ошибка маркировки набора данных
- https://github.com/aleju/imgaug библиотека увеличения изображений, которая поддерживает преобразование клавиши в тепловые карты
- https://github.com/albu/albumentations
- https://github.com/mdbloice/augmentor Легко в использовании увеличения изображений для задач классификации (невозможно увеличить клавиши)
- https://github.com/facebookresearch/augly библиотека дополнений данных для аудио, изображения, текста и видео.
Данные оркестровки
- https://github.com/prefecthq/prefect
- https://github.com/dagster-io/dagster
- https://github.com/ploomber/ploomber ploomber - самый быстрый способ создать трубопроводы данных ⚡. Используйте свой любимый редактор (Jupyter, VSCODE, Pycharm), чтобы разработать интерактивное и развернуть ☁ без изменений кода (Kubernetes, воздушный поток, партия AWS и Slurm).
- https://github.com/orchest/orchest Построить трубопроводы данных, простой способ использования пользовательского пользовательского интерфейса
Визуализация данных
- https://github.com/gradio-app/gradio Создайте пользовательские интерфейсы для вашей модели машинного обучения в Python за 3 минуты. Пользовательский интерфейс-это веб-приложение, которое можно поделиться с кем-либо, даже нетехническими людьми. Одна из функций, которые мне нравятся, - это компонент примеров. Это очень хорошо показывает, что это приложение предназначено для использования машинного обучения.
- https://github.com/streamlit/streamlit Streamlit превращает сценарии данных в совместные веб -приложения за считанные минуты. Все в питоне. Все бесплатно. Не требуется опыт фронта.
- https://github.com/oegidijk/explainerdashboard быстро создает объяснимые информационные панели AI, которые показывают внутреннюю работу так называемых моделей машинного обучения «Blackbox».
- https://github.com/lux-org/lux, просто распечатав DataFrame в ноутбуке Jupyter, Lux рекомендует набор визуализаций, выделяющих интересные тенденции и шаблоны в наборе данных.
- https://github.com/slundberg/shap swap (Shapley Additial Explamations) - это теоретический подход игры для объяснения вывода любой модели машинного обучения.
- https://github.com/comet-ml/kangas kangas-это инструмент для изучения, анализа и визуализации крупномасштабных мультимедийных данных. Он обеспечивает простые Python API для регистрации больших таблиц данных, а также интуитивно понятный визуальный интерфейс для выполнения сложных запросов против вашего набора данных.
Настройка гиперпараметра
Прежде чем начать, пожалуйста, прочитайте этот пост в блоге, чтобы понять мотивацию поиска в целом: https://www.determined.ai/blog/stop-doing-iterative-model-development
Откройте глаза на поисковую разработку. Это изменит вас. Основное преимущество заключается в том, что не будет никаких неудач. Только прогресс и улучшение разрешены. Представьте себе, что вы работаете и прогрессируете каждый день, вместо того, чтобы регрессировать назад, потому что ваше новое решение не работает. Этот гарантированный прогресс-это то, что разработка, основанная на поиске, сделает с вами. Примените это ко всему в оптимизации, а не только на машинном обучении.
Мои самые самоуверенные предпочтения определяются, луча -мелодия и Optuna из -за параллелизации (распределенная настройка на многих машинах), гибкость (может оптимизировать произвольные цели и позволять настраивать параметры набора данных), библиотека алгоритмов настройки SOTA (EG Hyperbend, BOHB, TPE, PBT, ASHA, ETC), Decitodiation/Anoloday.
- https://github.com/determined-ai/determined degined-это платформа для глубокого обучения с открытым исходом, которая делает строительные модели быстрыми и простыми. ИМО, это лучше всего для дешевой настройки гиперпараметров моделей глубокого обучения, потому что он будет обучать много эпох моделям, которые имеют многообещающие показатели и модели ранней остановки, которые нет. Они поддерживают AWS и большинство облачных услуг в качестве первоклассного гражданина. Они также поддерживают упреждаемые экземпляры, что опять же, дешево. Когда вы закончите тренировку, все экземпляры GPU автоматически выключаются. Если вы хотите сэкономить на крупномасштабной подготовке, выполните решимость.
- https://docs.ray.io/en/master/tune/index.html ray tune - это библиотека Python для выполнения эксперимента и настройки гиперпараметра в любом масштабе. Если вы ищете распределенную настройку, Ray Tune, вероятно, является самым серьезным рамками.
- https://github.com/optuna/optuna Автоматическая структура программного обеспечения для оптимизации с автоматической гиперпараметрической оптимизацией (Framework Agnostic, определяет за рулем)
- https://github.com/pyhopper/pyhopper pyhopper является оптимизатором гиперпараметрического, созданного специально для высокомерных проблем, возникающих в исследованиях машинного обучения и бизнеса. Этот парень утверждал, что он в 10 раз быстрее, чем Optuna. Это утверждение правда? Мы не можем знать, пока не попробуем!
- https://github.com/keras-team/keras-tuner-простой в использовании, распределяемой гиперпараметром оптимизации для керов; Прочитайте его статью здесь
- https://github.com/auutonomio/talos Оптимизация гиперпараметрических данных для керас, tensorflow (tf.keras) и pytorch
- https://github.com/maxpumpumperla/hyperas keras + hyperopt: очень простая обертка для удобной оптимизации гиперпараметрии
- https://github.com/fmfn/bayesianoptimization Реализация глобальной оптимизации Python с помощью гауссовых процессов.
- https://github.com/hyperopt/hyperopt
- https://github.com/msu-coinlab/pymoo многообъясняющая оптимизация в Python
- https://github.com/google/vizier с открытым исходным кодом Vizier: надежная и гибкая оптимизация черного цвета. OSS Vizier-это услуга на основе Python для оптимизации и исследований черного ящика, основанная на Google Vizier, одной из первых услуг настройки гиперпараметрических, предназначенных для работы в масштабе.
Автомат
Заставьте машины учиться без утомительной задачи инженерии функций, выбора моделей и настройки гиперпараметрических, которые вы должны сделать сами. Пусть машины выполняют машинное обучение для вас!
Лично, если бы у меня был табличный набор данных, я бы сначала попробовал Flaml и Mljar, особенно если вы хотите, чтобы что -то быстро работало. Если вы хотите попробовать каркасы повышения градиента, такие как XGBOOST, LightGBM, Catboost и т. Д., Но вы не знаете, какой из них работает лучше всего, я предлагаю вам сначала попробовать Automl, потому что внутри он попробует ранее упомянутые рамки повышения градиента.
- Best OpenSource Automl Frameworks в 2021 году.
- https://github.com/dabl/dabl анализ данных Базовая библиотека; быстро обучить простую модель, которая будет использоваться в качестве базовой линии производительности
- https://www.automl.org/ Найти куратор
- https://github.com/jhfjhfj1/autokeras По состоянию на написание (24 августа 2018 года) эта библиотека довольно преждевременная, поскольку она может выполнять только классификацию.
- https://github.com/automl/auto-sklearn/ не работает в Windows, вам нужно установить WSL (подсистема Windows для Linux), чтобы использовать его
- https://github.com/epistasislab/tpot запустить тысячи трубопроводов машинного обучения и вывести код для вас
- https://github.com/climbsrocks/auto_ml Прочитайте, что автор думает о сравнении между TPOT и Auto-Sklearn
- https://github.com/microsoft/flaml fast и легкий автомат с экономически эффективными алгоритмами экономической оптимизации.
- https://github.com/mljar/mljar-supervied Автоматизированный пакет Python автоматизированного машинного обучения, который работает с табличными данными. Мне нравится, что он генерирует отчет о визуализации (в режиме объяснения) и дополнительные функции для вас, например, золотые функции и функции K-средних.
- https://github.com/awslabs/autogluon Automl для текста, изображения и табличных данных. Но это не поддерживает Windows (по состоянию на 11 октября 2021 года).
- https://github.com/autoviml/auto_viml auto_viml была разработана для создания высокопроизводительных интерпретируемых моделей с наименьшим количеством необходимых переменных.
Модель архитектуры
Архитектуры, которые являются современными в своей области.
- https://github.com/rwightman/pytorch-image-models модели изображений пит-обработки, сценарии, предварительные веса-resnet, resnext, effectnet, EfficiptNetV2, NFNet, Vision Transformer, Mixnet, Mobilenet-V3/V2, Regnet, DPN, CSPnet и больше. Обычно его называют
timm . - https://modelzoo.co/ Модельный зоопарк
- https://github.com/tensorflow/models
- Magenta: Music and Generation с машинным интеллектом
- https://github.com/phillipi/pix2pix image-to-image translation с использованием условных состязательных сетей; Tensorflow Port Pix2pix; Посмотрите презентацию этой работы: научиться видеть без учителя
- Wav2letter Facebook AI Research
- https://github.com/huggingface/transformers Современная обработка естественного языка для Tensorflow 2.0 и Pytorch
- https://github.com/huggingface/diffusers? Диффузоры: современные модели диффузии для изображения и генерации аудио в Pytorch
- https://bigscience.huggingface.co/blog/bloom Open Big Language Model от BigScience LLM. Статья
- https://github.com/hpcaitech/colossalai
- https://stability.ai/blog/stable-diffusion-public-dreease Стабильная диффузия-это модель, которая может генерировать высококачественные изображения из кратких описаний текста. Вот короткая тема в Твиттере, объясняющая, почему она так хорошо работает. А вот поток, содержащий ресурсы, чтобы узнать больше о диффузионных моделях.
Оперативная инженерия
Большие языковые модели (LLM), такие как GPT-3, являются мощными, но их необходимо предложить для создания желаемого вывода. Именно здесь приходит быстрое разработка.
- https://github.com/hwchase17/langchain Это пакет Python для создания приложений с LLMS через композицию.
- https://dust.tt/ веб-инструмент для разработки и развертывания приложений с большими языковыми моделями.
- https://github.com/jerryjliu/gpt_index gpt Index - это проект, состоящий из набора структур данных, которые создаются с использованием LLMS и могут быть пересечены с помощью LLMS для ответа на запросы.
- https://github.com/xpitfire/symbolicai/ библиотека дифференцируемого программирования композиции: создание приложений с LLMS в его ядре через наш символический API использует силу классического и дифференцированного программирования в Python.
Хорошие блоги и флоги, чтобы следовать
- https://www.pyimagesearch.com/ Часто обновляется блог о OpenCV и Deep Learning
- http://colah.github.io/ Хорошие объяснения с красивыми визуализациями
- https://karpathy.github.io/ он преподавал некоторые курсы по глубоким сетям и работал в Tesla в качестве директора ИИ.
- http://ruder.io Sebastian Рудер
- http://www.wildml.com/
- https://machinelearningmastery.com/ содержит много контента и красивого веб -сайта
- Sirajology на YouTube Playlists Много плотного короткого веселого знакомства с ML
- Две минутные работы по плейлисту глубокого обучения
- Distill.pub Современная среда для представления исследований в области машинного обучения
- Deeplearn.org Deep Learning Monitor; Новости о глубоких учебных документах и твитах
- в основном блог о DateRevenue о MLOPS
- https://www.youtube.com/c/andrejkarpathy Андрей Карпарти создал новый канал YouTube после того, как он оставил команду Tesla Autopilot, чтобы научить людей, как реализовать нейронные сети в стиле «записано».
- https://e2eml.school/blog.html end-to-to-to-blog, который подробно рассказывает о многих темах, например, как работают трансформаторы.
- https://jalammar.github.io/ визуализация машинного обучения по одной концепции за раз. Его блог содержит иллюстрированные объяснения концепций ML, таких как трансформатор или стабильная диффузия.
- Блог Radek Osmulski Он ведет блог о методах и стратегиях DL, которые вы можете использовать, чтобы учиться быстрее.
Влиятельные люди
- Джеффри Хинтон, его называли крестным отцом глубокого обучения, введя 2 метода революционизации (Relu и выброс) со своими учениками. Эти методы решают проблему исчезновения градиента и обобщения глубоких нейронных сетей.
- Янн Лекун, он изобрел CNN (сверточные нейронные сети), такую сеть, которая действительно популярна среди разработчиков компьютерного зрения сегодня. В настоящее время работает в Meta.
- Yoshua Bengio another serious professor at Deep Learning, you can watch his TEDx talk here (2017)
- Andrew Ng he discovered that GPUs make deep learning faster. He taught 2 famous online courses, Machine Learning and Deep Learning specialization at Coursera. particular type of RNN)
- Jeff Dean, a Google Brain engineer, watch his TEDx Talk
- Ian Goodfellow, he invented GANs (Generative Adversarial Networks), is an OpenAI engineer
- David Silver this is the guy behind AlphaGo and Artari reinforcement learning game agents at DeepMind
- Demis Hassabis CEO of DeepMind, has given a lot of talks about AlphaGo and Reinforcement Learning achievements they have
- Andrej Karparthy he teaches convnet classes, wrote ConvNetJS, and produces a lot of content for DL community, he also writes a blog (see Nice Blogs & Vlogs to Follow section)
- Pedro Domingos he wrote the book The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World , watch his TEDx talk here
- Emad Mostaque he is the founder of stability.ai, a company that releases many open source AI models including Stable Diffusion
- Sam Altman he is the president of OpenAI, a company that releases ChatGPT
Cutting-Edge Research Publishers
Steal the most recent techniques introduced by smart computer scientists (could be you).
- http://www.arxiv-sanity.com/ Arxiv Sanity Preserver
- https://research.facebook.com/ai/
- http://research.google.com/pubs/MachineIntelligence.html
- https://deepmind.com/research/ Research of DeepMind company
- https://www.openai.com/
- https://www.openai.com/requests-for-research/
- State of the art performance on each ML task
- State-of-the-art result for all Machine Learning Problems
- https://stability.ai/ is releasing a lot of open source high-quality models.
- https://twitter.com/ai__pub AI papers and AI research explained, for technical people.
- https://twitter.com/_akhaliq is a Twitter account that tweets the latest research papers in the field of AI.
Practitioner Community
- https://www.kaggle.com
- https://gym.openai.com
- https://universe.openai.com/
- /r/MachineLearning
- https://www.facebook.com/groups/DeepNetGroup/
Thoughtful Insights for Future Research
- Why AI is Harder Than We Think
- The Consciousness Prior by Yoshua Bengio
- What Can't Deep Learning Do? a list of problems that deep learning faces
- Pedro Domingos: "The Master Algorithm" - Talks at Google
- The AI Revolution: The Road to Superintelligence
- https://ai100.stanford.edu/2016-report
- Why does Deep Learning work so well? - The Extraordinary Link Between Deep Neural Networks and the Nature of the Universe
- These are three of the biggest problems facing today's AI
- Four Questions For: Geoff Hinton Geoff Hinton is referred to as "godfather of neural networks"
- What product breakthroughs will recent advances in deep learning enable? - Quora
- Liquid Neural Networks
Без рубрики
- Artificial Intelligence: A Modern Approach (Online Book)
- The Principles of Modern Game AI
- Scipy Lecture Notes
- https://www.youtube.com/user/aicourses
- The Fundamentals of Neuroscience learn how our brain works so that you can discover new deep learning breakthrough
- Bayesian Methods for Hackers An introduction to Bayesian methods + probabilistic programming with a computation/understanding-first, mathematics-second point of view. All in pure Python ;)
Other Big Lists
- https://github.com/ahmedbahaaeldin/From-0-to-Research-Scientist-resources-guide This guide is designated to anybody with basic programming knowledge or a computer science background interested in becoming a Research Scientist with on Deep Learning and NLP.
- https://www.mrdbourke.com/ml-resources/ Machine Learning Courses & Resources recommendation by Daniel Bourke
- List of MLOps Courses and Books by Damien Benveniste on Facebook
- https://github.com/collections/machine-learning
- https://github.com/topics/machine-learning
- https://github.com/topics/mlops
- https://github.com/GokuMohandas/MadeWithML Join 30K+ developers in learning how to responsibly deliver value with ML.
- https://papers.labml.ai/papers/daily
- https://github.com/alirezadir/Production-Level-Deep-Learning
- https://github.com/jindongwang/transferlearning
- https://github.com/kmario23/deep-learning-drizzle
- https://github.com/ZuzooVn/machine-learning-for-software-engineers
- https://github.com/josephmisiti/awesome-machine-learning
- https://github.com/ujjwalkarn/Machine-Learning-Tutorials
- https://github.com/terryum/awesome-deep-learning-papers
- https://github.com/ChristosChristofidis/awesome-deep-learning
- https://github.com/Developer-Y/cs-video-courses#machine-learning
- Deep Learning Resources by Jeremy D. Jackson
- https://github.com/songrotek/Deep-Learning-Papers-Reading-Roadmap
- https://github.com/aikorea/awesome-rl Awesome Reinforcement Learning
- https://github.com/artix41/awesome-transfer-learning Awesome Transfer Learning
- https://github.com/heejkoo/Awesome-Diffusion-Models Awesome Diffusion Models
- https://github.com/Renumics/awesome-open-data-centric-ai Data-centric AI is the practice of systematically engineering the data used to build AI systems.
- https://github.com/labmlai/annotated_deep_learning_paper_implementations
- https://github.com/ashishpatel26/500-AI-Machine-learning-Deep-learning-Computer-vision-NLP-Projects-with-code
I am confused, too many links, where do I start?
If you are a beginner and want to get started with my suggestions, please read this issue: #4
Отказ от ответственности
From now on, this list is going to be compact and opinionated towards my own real-world ML journey and I will put only content that I think are truly beneficial for me and most people. All the materials and tools that are not good enough (in any aspect) will be gradually removed to combat information overload, including:
- too difficult materials without much intuition; impractical content
- too much theory without real-world practice
- low-quality and unstructured materials
- courses that I don't consider to enroll myself
- knowledge or tools that are too niche and not many people can use it in their works eg deepdream or unsupervised domain adaptation (because you can Google it if you want to use it in your work).
- tools that are beaten by other tools; not being state-of-the-art anymore
- commercial tools that look like it can die any time soon
- projects that are outdated or not maintained anymore
NOTE : There is no particular rank for each link. The order in which they appear does not convey any meaning and should not be treated differently.
How to contribute to this list
- Fork this repository, then apply your change.
- Make a pull request and tag me if you want.
- Вот и все. If your edition is useful, I'll merge it.
Or you can just submit a new issue containing the resource you want me to include if you don't have time to send a pull request.
The resource you want to include should be free to study.