Академия ИСКРА - объединение искателей Истины.

Итерация свойственна человеку, рекурсия божественна. © Питер Дойч

Парольный вход для авторов.

автор: c до
новые статьи
Как создавать нейросети с помощью 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


Автор: Иван Новиков прочтений: 845 оценки: 0 от 0
© Свидетельство о публикации № 42488
  Цена: 1 noo



Ваши комментарии

Пароль :

Комментарий :

Осталось символов

обсуждаемые публикации
20.03.2018 19:51 Ноодинамика (или моя атака на стандартную модель). Артур Фролов Новая идея. Весь материал

23.11.2013 10:13 Истина и волновая функция. Артур Фролов Физикам на заметку. Весь материал

23.11.2013 10:13 Гравитирующая сфера-наиболее вероятное устройство нашей Вселенной. Артур Фролов Физикам на заметку. Весь материал

29.6.2013 10:13 Гравитационная инверсия и отказ от информации. Артур Фролов Две концепции устройства реальности. Весь материал

14.6.2013 17:9 Билли Миллиган: 24 личности в одном теле Артур Фролов Весь материал

31.10.2012 19:26 Гипотеза о дисперсии социума (терминология). Артур Фролов Весь материал

9.1.2013 23:32 Гипотеза о БиН (постановка задачи) Артур Фролов Гипотеза о БиН является мостиком между естеcтвенными и общественными науками Весь материал

6.1.2013 20:27 Преобразования в гипотезе о Б&Н Артур Фролов Гипотеза о быдле и небожителях становится прикладной наукой Весь материал

3.5.2013 12:54 Контуры нового мира. Артур Фролов Весь материал

14.1.2013 16:31 Задача по физике для городской школьной олимпиады Редакция Весь материал

2.12.2012 15:51 О красном смещении и о физическом смысле в физике. Артур Фролов Весь материал

Доступна с мобильного телефона
Чат
Опросы
Музыка
Треки
НеForМат
Академия
Целит


О сервере


О проекте
Юмор
Работа
О нас

Для контактов
skype:noo.inc


Ukraine NBU Hrivnya rate
Russian ruble rate
Noo Web System



Редакция за авторские материалы ответственности не несет
стать автором

Идея и разработка
компании NOO
На сайт разработчика