84
правки
Изменения
Нет описания правки
<b> Автоматическое машинное обучение </b> {{---}} процесс создания динамической комбинации различных методов для формирования простой в использовании сквозной конвейерной системы машинного обучения. AutoML использует хорошо зарекомендовавшие себя методы, которые мы классифицируем в следующие категории на основе пайплайна машинного обучения (показано на Рис.1): подготовка данных, разработка конструирование признаков, генерация моделей и их оценка моделей.[[Файл:1.jpeg|1000px|thumb|center|Рисунок 1: AutoML пайплайнконвеер]]
<br>
Подготовка данных состоит из двух этапов: сбор данных и их предварительная обработка.<br>
Этап генерации модели включает в себя выбор модели и оптимизацию гиперпараметров выбранной модели.<br>
== Подготовка данных ==
Первым шагом в пайплайне машинного обучения идет этап подготовки данных. Как правило, во многих задачах, например, распознавание изображений в медицине, бывает трудно получить достаточно данных, или <i>качественно размеченных</i> данных. Мощная система AutoML должна уметь справляться с этой проблемой. Для исследования этой задачи процесс подготовки данных разделяется на два подэтапа: сбор данных и их предобработка.
=== Сбор данных ===
Углубленное изучение ML привело к консенсусу, что качественные данные должны быть доступныобщедоступны. В результате появилось множество открытых наборов данных. Однако, как правило, очень трудно найти надлежащий набор данных с помощью вышеуказанных подходов для специальных специализированных задач, таких как медицинская помощь или другие частные вопросы. Для решения этой задачи предлагается два типа методов: синтез данных и поиск данных.
==== Синтез данных ====
Одним из наиболее часто используемых методов является аугментация существующего набора данных. Для данных изображений существует множество [[Практики реализации нейронных сетей | операций аугментации]], таких как обрезка, поворот, изменение размера и т.д.<br>
Также, существуют два подхода к созданию дополнительных обучающих примеров: искажение данных и синтетическая избыточная выборка. Первый генерирует дополнительные семплы, применяя преобразования к пространству данных, а второй создает дополнительные семплы в пространстве признаков. Текстовые данные могут быть дополнены синонимами или сначала переводом текста на иностранный язык, а затем переводом его обратно на оригинальный.<br>
Плюс ко всему, одним из распространенных методов является Генеративно-Состязательные Сети, которые, в основном, применяются для генерации картинок и текстов.
При работе с картинками, может быть проблема, что картинка имеет неверную метку. В таких случаях применимы такие методы, как self-labeling. Тем не менее, процесс обработки данных обычно должен быть определен заранее вручную, потому что разные методы могут иметь различные требования, даже для одного и того же набора данных. Например, нейронная сеть может работать только с числовыми данными, в то время как методы, основанные на деревьях принятия решений, могут работать как с числовыми, так и с категориальными данными.
== Разработка Конструирование признаков ==Разработка Конструирование признаков состоит из трёх подэтапов: выбор признаков (feature selection), извлечение признаков (feature extraction) и построение признаков (feature construction). Извлечение и построение признаков - это варианты преобразования, с помощью которых создается новый набор признаков. Во многих случаях, целью feature extraction является уменьшение исходной размерности путём применения некоторых функций отображения, в то время как feature construction используется для расширения исходного пространства признаков. Цель feature selection состоит в том, чтобы уменьшить избыточность признаков путем выбора наиболее важных из них. В итоге, суть автоматической разработки автоматического конструирования признаков в некоторой степени заключается в динамическом сочетание этих трех принципов.
=== Выбор признаков ===
== Оценка модели ==
После того, как новая нейронная сеть была сгенерирована, ее производительность должна быть оценена. Интуитивный метод состоит в том, чтобы обучить сеть сходиться, а затем оценить ее производительность. Однако этот метод требует значительных временных и вычислительных ресурсов. Для ускорения процесса оценки модели было предложено несколько алгоритмов, которые приведены ниже.
=== Низкая точность (Low fidelity ) ===
Поскольку время обучения модели тесно связано с набором данных и размером модели, оценка модели может быть ускорена различными способами. <br>
Во-первых, может быть уменьшено количество изображений, или их разрешение (в терминах задач классификации изображений). <br>
Во-вторых, оценка модели может быть реализована путем уменьшения размера модели, например, путем обучения с меньшим количеством фильтров на слой.
=== Суррогатный метод (Surrogate method) ===
Суррогатный метод - это еще один мощный инструмент, который аппроксимирует black-box функцию. В общем случае, как только получено хорошее приближение, задача найти конфигурации, которые непосредственно оптимизируют исходную дорогостоящую цель, становится тривиальной. К примеру, прогрессивный поиск оптимизации нейронной сети (PNAS) вводит суррогатную модель для управления методом поиска. Хотя было доказано, что эффективный поиск нейронной сети (ENAS) очень эффективен, PNAS еще более эффективен, поскольку число моделей, оцениваемых PNAS, более чем в пять раз превышает число моделей, оцениваемых ENAS, и PNAS в восемь раз быстрее с точки зрения общей вычислительной скорости. Однако, когда пространство оптимизации слишком велико и трудно поддается количественной оценке, а оценка каждой конфигурации чрезвычайно дорогостоящая, суррогатный метод неприменим.
=== Ранняя остановка (Early stopping ) ===
Метод ранней остановки впервые был применен для избежания переобучения в классических задачах машинного обучения. Он используется для ускорения оценки модели путем остановки оценивания, которое, как предполагается, плохо работает на валидационном наборе.
=== Оптимизация ресурсов (Resource-aware ) ===
В большинстве исследований в прошлом больше внимания уделялось поиску нейронных архитектур, достигающих более высокой производительности (например, точности классификации), независимо от связанного с этим потребления ресурсов (т.е. количества графических процессоров и требуемого времени). Поэтому во многих последующих исследованиях исследуются алгоритмы, учитывающие ресурсы (resource-aware), чтобы найти компромисс между эффективностью и количеством вычислительных ресурсов. Для этого эти алгоритмы добавляют вычислительную стоимость к функции потерь в качестве ограничения ресурсов.<br>
Эти алгоритмы отличаются друг от друга типом вычислительной стоимости, которым могут являться: