Как создавать нейросети с помощью AutoML: 5 лучших библиотек для этого

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-проектов.


Читать далее:

Посмотрите на Землю в самом высоком разрешении: фото сделал спутник третьего поколения

Планетологи установили, что находится в центре Луны

Две суперземли нашли на краю обитаемой зоны: на одной из них комфортная температура

Изображение от kjpargeter на Freepik

Подписывайтесь
на наши каналы в Telegram

«Хайтек»новостионлайн

«Хайтек»Dailyновости 3 раза в день

Первая полоса
Тайны древней звезды по соседству изучили, «подслушав ее песню»
Космос
Baidu делает ИИ для перевода звуков животных в человеческую речь
Наука
Оказалось, ИИ врет чаще при одном условии: как этого избежать
Новости
Суперкомпьютер Маска сжирает электричество как 300 000 домов: люди протестуют
Новости
Посмотрите, как робот стремительно отбивает подачи в настольном теннисе
Новости
Физики исполнили мечту алхимиков: свинец в коллайдере превратили в золото
Наука
Создано музыкальное приложение для реабилитации после инсульта
Наука
«Эффект аккордеона» превращает жесткий графен в эластичный материал
Наука
ИИ восстановил имя автора свитка, который пережил последний день Помпеи
Наука
Частный лунный модуль вышел на орбиту спутника после двух месяцев полета
Космос
Предок тираннозавра «иммигрировал» в Америку из Азии, считают ученые
Наука
Обновленный Gemini 2.5 Pro от Google возглавил рейтинг ИИ для разработчиков
Новости
Ученые решили проблему, которая мешала запуску термоядерных реакторов почти 70 лет
Наука
Китайское «супероружие» для подводных диверсий оказалось не таким, как считалось
Новости
Отключение мобильного интернета в Москве: какие последствия для бизнеса
Новости
Киберполиция назвала новые схемы мошенников: как они воруют аккаунты на «Госуслугах»
Новости
Хокинг предсказал гибель Земли: оказалось, НАСА сочло угрозу реальной
Наука
Создатель Ethereum признал свои ошибки и решил изменить криптовалюту
Новости
«Ред ОС 8» заработала на Arm-платформах — теперь и на «Байкале»
Новости
Компания Цукерберга использовала уязвимость подростков для рекламы
Новости