Несколько дней назад кто-то подсчитал фреймворки глубокого обучения, которые использовались принимающими документы ICLR на протяжении многих лет, и обнаружил, что, хотя TensorFlow по-прежнему возглавляет список, данные об использовании PyTorch утроились за последний год, и его можно сравнить с TF. Это удивительная новость, и она заставила многих практиков столкнуться с этой тенденцией развития и подготовиться к вопросу о «двойном ремонте». Далее Лунжи представляет читателям простую и удобную в использовании библиотеку PyTorch, выпущенную fast.ai. Читатели, интересующиеся PyTorch, могут сначала попробовать эту библиотеку.
Благодаря глубокой интеграции Интернета и распространению знаний онлайн-курсы теперь не являются чем-то новым для многих людей. В сфере глубокого обучения есть три самые популярные платформы курсов МООК для студентов: Fast.ai, deeplearning.ai/Coursera и Udacity. Среди них, из-за уникального стиля преподавания Джереми Ховарда, который упрощает сложность и фокусирует внимание на реальном бою, Fast.ai всегда производил впечатление «приземленного»:
- Узнайте, как быстро и надежно применять современные технологии глубокого обучения для решения реальных задач.
- Предоставляет библиотеку Fast.ai, которая представляет собой не только набор инструментов для начинающих, позволяющий быстро создавать реализации глубокого обучения, но и мощный и удобный ресурс для передового опыта.
- Содержание курса лаконичное и простое для понимания, чтобы как можно больше людей могли извлечь пользу из результатов исследований и программного обеспечения.
Во время Национального дня Fast.ai выпустила новую бесплатную библиотеку с открытым исходным кодом для глубокого обучения — fastai. Это библиотека PyTorch, хотя она все еще находится в предварительной версии, в настоящее время она предоставляет согласованный API для наиболее важных приложений глубокого обучения и типов данных, а также имеет значительно улучшенную точность и скорость по сравнению с другими библиотеками глубокого обучения, при этом требуемый код значительно уменьшен. .
Заинтересованные разработчики могут посетить fastai'sGitHubУстановить:GitHub.com/launchpad/fast…
библиотека фастай
Прошло 18 месяцев с момента анонса разработки в прошлом году, и библиотека для глубокого обучения fastai v1.0 наконец встретилась с вами. В начале проекта разработчики представили преимущества PyTorch как платформы: гибкость обычного кода на Python и различные функции можно использовать для построения и обучения нейронных сетей, способных решать более широкий спектр задач...
Теперь, благодаря совместным усилиям команды Fast.ai и команды PyTorch, у нас есть библиотека глубокого обучения, которая обеспечивает единый согласованный интерфейс для распространенных приложений глубокого обучения, таких как компьютерное зрение, текст, табличные данные, временные ряды, совместная фильтрация. , и больше. Это означает, что если вы научились использовать fastai для создания практических моделей компьютерного зрения (CV), вы можете использовать тот же метод для создания моделей обработки естественного языка (NLP) или других моделей, поддерживаемых программным обеспечением.
Ранняя обратная связь с пользователями
Семантический поиск кода на GitHub
Курсы Fast.ai — это важный способ для ученых и руководителей GitHub, занимающихся данными, и руководителей (включая генеральных директоров) повысить свою грамотность в области данных. Среди них старший специалист Github по машинному обучению Хитл Хусейн изучал глубокое обучение с помощью Fast.ai в течение последних двух лет. он считает, что эти курсы MOOC открыли новую эру данных на Github, дав специалистам по данным больше уверенности в решении последних проблем в машинном обучении.
Будучи первыми пользователями fastai, Хитл Хусейн и его коллега Хо-Сян Ву недавно выпустили экспериментальную версию инструмента «Семантический поиск кода», который позволяет разработчикам находить код непосредственно по смыслу, а не по совпадению ключевых слов.Это означает, что лучшие результаты поиска не обязательно содержат слово, которое вы искали.. существуетОфициальный пост в блогеВ нем они описывают свои причины отказа от Tensorflow Hub в пользу fastai, который, по их словам, обеспечивает более легкий доступ к современным архитектурам (таким как AWD LSTM) и методам (таким как циклические скорости обучения со случайным перезапуском).
Хусейн экспериментировал с предварительными версиями библиотеки fastai последние 12 месяцев. Он постановил:
Я выбрал fast.ai, потому что он позволяет использовать самые современные технологии и инновации с модульным высокоуровневым API, сохраняя при этом ту же производительность и сокращая объем вычислений. Поиск по семантическому коду — это лишь верхушка айсберга, продажи, маркетинг, борьба с мошенничеством, люди могут использовать фастаи, чтобы привнести революционные изменения во все сферы жизни.
Создание музыки
Кристин Макливи Пейн — студентка последнего курса глубокого обучения Fast.ai. Ее жизненный опыт богат: от классической пианистки с Симфоническим оркестром Сан-Франциско до эксперта по высокопроизводительным вычислениям в области финансов, нейронауки и медицинского исследователя в Стэнфордском университете. Теперь она начала еще один жизненный путь в OpenAI, и в недавнем проекте OpenAI она использовала fastai для создания LSTM, который может генерировать фортепианную и камерную музыку — Клара.
fastai — потрясающий ресурс, даже такой новичок, как я, новичок в глубоком обучении, может получить модели fastai всего за несколько строк кода. Я не совсем понимаю, в чем причина этих передовых методов, но моя модель работает с более коротким временем обучения и более высокой производительностью.
Ее модель создания музыки основана на языковой модели, которую она построила во время занятий, используя библиотеку fastai для поддержки новейшей технологии НЛП. Она завершила этот проект создания музыки всего за две недели и добилась хороших начальных результатов. Это хороший пример полезности библиотеки fastai.С помощью всего лишь нескольких модификаций разработчики могут изменить модель классификации текста на модель генерации музыки, что на практике может сэкономить много времени и усилий.
художественное творчество
Архитектор и инвестор Мигель Перес Мишаус проводит свои эксперименты «Реверсия стиля» с предварительной версией fastai. Так называемое «восстановление стиля» заключается в восстановлении изображения после переноса стиля в его первоначальный вид, как показано на следующем рисунке:
«Мне нравится создавать с помощью fastai, потому что он позволяет делать то, что не может Keras, например создавать «нестандартные» вещи», — говорит он.Как один из первых пользователей, он наблюдал за итерациями обновлений fastai за последние 12 месяцев:
Мне посчастливилось испытать бета-версию fastai, хотя это была всего лишь альфа-версия, она полностью продемонстрировала свою практичность и гибкость и позволила людям вроде меня со знанием предметной области, но без формального образования в области компьютерных наук, начать работу. Фастай будет становиться все лучше и лучше. Что касается будущего глубокого обучения, лично у меня есть поверхностное понимание того, что мы должны детально освоить настоящие технические принципы, лежащие в основе черного ящика.В этом случае, я думаю, фастай будет популярен.
Академическое исследование
Польский всегда был проблемой в области НЛП, потому что это морфологически богатый язык, например, польские прилагательные изменяются в зависимости от числа и рода существительных. Предприниматели Петр Чапла и Марчин Кардас являются соучредителями консалтинговой фирмы по глубокому обучению n-wave, основанной наCutting Edge Deep Learning For CodersИдея, показанная в этом курсе, они использовали fastai для разработки нового алгоритма классификации польского текста и выиграли первый приз на главном научном конкурсе НЛП в Польше, статья об этом новом исследовании будет опубликована в ближайшее время.
По словам Чапла, библиотека fastai сыграла решающую роль в их успехе:
fastai подходит для обычных людей, у которых нет сотен серверов, что мне в нем нравится. Он поддерживает быструю разработку и создание прототипов и включает в себя все лучшие практики глубокого обучения. В то же время курс Fast.ai был для меня путеводной звездой, чтобы начать изучать глубокое обучение, Со дня занятий я начал думать о том, что может сделать глубокое обучение.
Пример: миграционное обучение в области компьютерного зрения
На Kaggle есть очень популярное соревнование: Dogs vs Cats. Участникам необходимо написать алгоритм, чтобы классифицировать, содержит ли изображение собаку или кошку. Это также соревнование, часто освещаемое в курсах Fast.ai, поскольку оно представляет собой важный класс задач: перенос обучения на основе предварительно обученных моделей.
Мы будем использовать это в качестве примера, начиная сТребуемый объем кода, точность и скоростьСравните различия между Keras и fastai по трем показателям. Вот весь код для 2-этапной тонкой настройки с фастаем — мало того, что кода писать очень мало, так еще и очень мало параметров задавать:
data = data_from_imagefolder(Path('data/dogscats'),
ds_tfms=get_transforms(), tfms=imagenet_norm, size=224)
learn = ConvLearner(data, tvm.resnet34, metrics=accuracy)
learn.fit_one_cycle(6)
learn.unfreeze()
learn.fit_one_cycle(4, slice(1e-5,3e-4))
В следующей таблице представлено сравнение различий между двумя библиотеками глубокого обучения:
Keras — один из самых популярных методов обучения нейронных сетей.Хотя приведенные выше данные односторонние, улучшение фастая может показать, что Keras не идеален со стороны, и ему еще есть куда улучшать. Будь то Keras или другие библиотеки глубокого обучения, для выполнения одной и той же задачи объем кода, требуемый ими, намного больше, чем fastai, соответственно, время их обучения будет больше, а производительность модели не обязательно будет лучше.
Кроме того, fastai также имеет высокую производительность в задачах NLP. В таблице ниже приведен снимок экрана из документа ULMFiT, показывающий относительную ошибку алгоритма классификации текста ULMFiT по сравнению с алгоритмами, занимающими первое место в наборе данных IMDb:
Fastai в настоящее время является единственной библиотекой, предоставляющей этот алгоритм.Поскольку алгоритм является встроенным, вы можете напрямую обратиться к приведенному выше коду Dogs vs Cats, чтобы воспроизвести результаты статьи. Вот как обучить языковую модель ULMFiT:
data = data_from_textcsv(LM_PATH, Tokenizer(), data_func=lm_data)
learn = RNNLearner.language_model(data, drop_mult=0.3,
pretrained_fnames=['lstm_wt103', 'itos_wt103'])
learn.freeze()
learn.fit_one_cycle(1, 1e-2, moms=(0.8,0.7))
learn.unfreeze()
learn.fit_one_cycle(10, 1e-3, moms=(0.8,0.7), pct_start=0.25)
источник:woohoo.fast.love/2018/10/02/…
Сборник: Бот