Как создавать нейросети с помощью AutoML: 5 лучших библиотек для этого
Автор: Иван Новиков Дата: 11.06.2023 21:44
AutoML — это подход, который позволяет создавать решения на основе искусственного интеллекта и машинного обучения либо полностью автоматически (без участия человека в экспериментах и разработке нейронной сети), либо полуавтоматически. Для чего нужен AutoML Как выглядит работа с нейронными сетями? Мы берем простые типовые задачи — классификацию изображения, классификацию текстов, классификацию или оценку табличных данных, прогнозирование временных рядов. Например, мы хотим: классифицировать снимки КТ легких и определять, болен человек или здоров; классифицировать обращения в техподдержку; классифицировать сердечные заболевания по симптомам в виде таблицы со значением колонок да/нет; оценивать стоимость недвижимости по объявлению; прогнозировать тренд временного ряда — например, продажи компании или количество поломок оборудования. Обычно для решения подобных типовых задач разработчик ИИ собирает нейронную сеть (или берет классический алгоритм машинного обучения), запускает ее в обучение и смотрит точность. Далее он в течение нескольких недель проводит эксперименты с этой нейронной сетью, подбирает архитектуру нейронной сети, параметры, количество слоев, количество нейронов, активационные функции, размеры батча при обучении и другие параметры, чтобы нейронка выдала хорошую точность. Обычно ты начинаешь с точности 87% и за несколько недель доходишь до желаемой точности в 99%, проводя много экспериментов. Много — это чаще всего десятки и сотни экспериментов с интеллектуальным подбором архитектуры нейронной сети. Сейчас эта работа уходит на второй план. Набирают популярность фреймворки, которые позволяют полностью автоматически подбирать архитектуру нейронных сетей, причем с хорошей точностью. Мы проводили сравнение: группа из пяти разработчиков в течение недели по одному-два часа в день экспериментировала с нейронками и добилась точности в 99%, при этом алгоритм AutoML AutoKeras буквально за пару часов собрал нейронку, которая показала точность 99,3%. Таким образом, AutoML: значительно сокращает время разработки нейронной сети; выдает точность не ниже, чем человек, а иногда и выше; упрощает вход в профессию: для создания нейронки с помощью AutoML достаточно гораздо меньших компетенции и опыта, чем если экспериментировать вручную. С какими задачами справляется AutoML Возможности AutoML не безграничны. Он справляется с простыми типовыми задачами — классификация изображений, текстов, табличных данных, регрессия табличных данных, прогнозирование временного ряда, сегментация изображений с помощью U-net. AutoML не справляется со сложными большими задачами — object detection, распознаванием речи, сложными генеративными сетками. К счастью, как мы видим на рынке, порядка 50% всех задач — типовые, с которыми AutoML справляется. А наш опыт — это сотни реальных проектов наших студентов для российских компаний от крупных холдингов до мелких стартапов. Библиотеки AutoML На рынке существует несколько AutoML-библиотек. Для ML есть две основные библиотеки: Keras и PyTorch. Keras — это как машина с коробкой-автоматом, более проста для освоения и позволяет выполнять практически все типовые проекты. PyTorch — как машина с механической коробкой передач. Она требует больше усилий для освоения, но в некоторых случаях позволяет выполнять более сложные задачи, более тонкие настройки. Все топовые сетки — например, от OpenAI — пишутся на PyTorch. Мы перечислим AutoML-библиотеки для Keras, но есть похожие для PyTorch. Пять библиотек AutoML показались нам самыми функциональными и удобными. Возможно, кто-то назовет другие — мы не претендуем на абсолютную справедливость. Мы с уверенностью говорим, что AutoML — очень важный тренд, и это стоит уметь и знать, а подборку фреймворков каждый определяет для себя. Мы выбрали эти пять, активно ими пользуемся для решения наших задач. AutoKeras AutoKeras — это базовая библиотека для AutoML на Keras. В чем плюс AutoKeras? Мы даем ей датасет, говорим, что нам нужно — классификацию изображений, текстов или табличных данных, — и AutoKeras полностью сама собирает архитектуру нейронки. У нее есть настройки (какой тип тюнера использовать, какой тип поиска, как много попыток вы ей даете), а дальше вы просто говорите ей работать. AutoKeras сама переберет сетки, соберет разные архитектуры, будет использовать разные слои, предобученные сетки. Она очень умная. За полчаса, час или два часа она собирает и отдает готовую достойную сетку с хорошей точностью. AutoKeras чрезвычайно удобна. Вам можно не знать, что такое нейронные сети и что такое архитектура — просто подготовить и отдать датасет, и AutoKeras сделает все сама, отдаст готовую нейронку, которую вы можете выложить и создать API для продакшн-разработчиков. KerasTuner KerasTuner — это часть AutoKeras. Этот фреймворк не создаст за вас архитектуру с нуля, вы выбираете ее сами. Например, вы говорите: будут сверточные слои, потом maxpooling-слои, flatten-слой, dense-слои — вы собираете архитектуру сверточной нейронной сети, а KerasTuner подберет параметры. Вы говорите ему: подбери, пожалуйста, сколько сделать нейронов, какие ядра свертки, какие активационные функции. Он автоматически подберет все параметры на основе той архитектуры, которую вы создали. Чем KerasTuner хуже AutoKeras? Вам надо обладать компетенцией и понимать, как пишутся на Keras нейронки и какую архитектуру написать. При этом KerasTuner, если вы ему создали U-net-архитектуру для сегментации изображений, запросто подберет подходящие параметры подходящие, а AutoKeras не позволяет создать U-net-архитектуру для сегментации изображений. В этом плюс KerasTuner, но все-таки это чуть менее центральный инструмент для работы. Talos Библиотека Talos чуть проще по синтаксису работы, но решает примерно те же задачи, что и KerasTuner. Вы сами создаете архитектуру, и она подбирает параметры. Плюс Talos в том, что она позволяет подбирать чуть больше параметров, чем KerasTuner — например, размеры батчей в процессе обучения нейронки. Auto-Sklearn Sklearn — известная библиотека для классического машинного обучения, а Auto-Sklearn — это фреймворк AutoML, который позволяет создавать на Sklearn автоматические модели. Он создает не нейронки, а именно модели классического машинного обучения — например, деревья решений и другие подобные — используя алгоритмы классического машинного обучения. Он полностью сам собирает модель, но ограничен функционалом классического машинного обучения. Например, сегментацию изображений на нем не сделаешь. Генетические алгоритмы В нашем университете был разработан собственный фреймворк, который работает на генетических алгоритмах и так же, как AutoKeras, полностью автоматически собирает архитектуру нейронной сети. Но у него другой принцип: применяется эволюционное моделирование, и сотни ботов конкурируют друг с другом, собирают различные архитектуры нейронок. Худшие выбывают из игры, а лучшие выживают и оставляют потомство со своими признаками, и за некоторый объем итераций собирается нейронная сеть. Когда мы запускали сравнение, наш собственный фреймворк оказался по скорости работы и по точности идентичен с AutoKeras. Он так же позволяет, не зная ничего, с нуля собирать архитектуру и параметры нейронных сетей и выдает готовую модель. Единственный минус — этот фреймворк доступен только для наших студентов. Почему нужно изучать AutoML AutoML — не панацея, но в значительном проценте случаев он сильно ускоряет и упрощает разработку нейронных сетей, а AutoKeras или фреймворки на основе генетических алгоритмов по подбору архитектур нейронных сетей позволяют с меньшей компетенцией войти в сферу ML и AI и создать обученную нейронную сеть. Я уверен, что в 2023 году AutoML — направление, которое обязательно нужно изучить и рассмотреть как крайне важный инструмент, если вы занимаетесь ML и AI или если вы хотите внедрить нейронки в свою работу, но не готовы всерьез углубляться в изучение AI. AutoML не решит все задачи, но во многих из них сильно упростит работу. Желаю удачи в работе в сфере AI и ML и в создании AI-проектов. hightech.fm/2023/05/11/neurolink-automl
Автор: Иван Новиков
прочтений: 1015 оценки: 0 от 0
© Свидетельство о публикации № 42488
Цена: 1 noo
|
Ваши комментарии
|
Чат
Опросы
Музыка
Треки
НеForМат
Академия
Целит
Юрпомощь
О сервере
О проекте
Юмор
Работа
О нас
Earn&Play
Для контактов skype:noo.inc
|