Проектирование, а затем кодирование нейронных сетей сложно и подвержено ошибкам, поэтому мы задали себе несколько вопросов о том, как улучшить этот процесс:

- Как мы можем упростить создание и понимание архитектур нейронных сетей?
- Как мы можем визуально спроектировать нейронную сеть, поддерживая преимущества, предоставляемые различными фреймворками глубокого обучения?
- Как мы можем интегрировать дизайн нейронной сети , обучение и оценка в единый рабочий процесс?
- Как совместная работа может способствовать достижению цели более эффективного и быстрого развития архитектуры нейронной сети?

Короче говоря, как мы можем достичь такого дизайна как можно быстрее?

TL; DR: Мы рады объявить о выпуске бета-версии Neural Network Modeler. Эта предварительная версия Neural Network Modeler, теперь доступная в IBM Watson Studio, намекает на будущее, в котором интуитивно понятные графические интерфейсы ускорят разработку экспериментов по глубокому обучению, облегчая оптимизацию и совместное использование ваших нейронных сетей.

Прежде чем подробно говорить о технических функциях Neural Network Modeler, давайте рассмотрим бизнес-проблемы, которые он решает.

Барьеры при разработке нейронных сетей

Очень немногие организации осознали потенциал моделирования нейронных сетей или сделали шаг вперед, чтобы интегрировать глубокое обучение в свои бизнес-процессы в масштабах всего предприятия. В результате, если компании вообще используют глубокое обучение, внедрение имеет тенденцию быть фрагментированным. Небольшие группы или отдельные специалисты по данным в разных отделах работают над своими собственными проектами, используя любые инструменты и фреймворки, которые они предпочитают, без особого сотрудничества и без знания того, что делают их коллеги.

Это вполне жизнеспособный подход, если глубокое обучение считается нишевым, экспериментальным или второстепенным видом деятельности. Но если мы верим, что глубокое обучение - это будущее науки о данных, нам нужно лучше понять, как масштабировать его для внедрения на предприятии.

На пути массового внедрения глубокого обучения есть три основных препятствия:

Отсутствие навыков

Во-первых, проектирование нейронных сетей - сложная и узкоспециализированная область. Хотя многие хорошие университеты сейчас включают глубокое обучение в свои учебные программы по информатике, может пройти еще несколько лет, прежде чем кадровый резерв станет достаточно большим, чтобы большинство компаний смогли укомплектовать достаточное количество специалистов по глубокому обучению.

Итак, как мы можем снизить входной барьер для обучения нейронных сетей, чтобы больше людей понимали такие экраны конфигурации?

Тем временем, чтобы облегчить внедрение, нам нужны инструменты, которые упростят сегодняшним командам специалистов по анализу данных создание новых нейронных сетей и, что не менее важно, понимание, повторное использование и улучшение сетей, которые уже были созданы их коллегами.

Отсутствие стандартизации

Второй связанный с этим вопрос - это стандартизация. Внезапная популярность глубокого обучения привела к распространению фреймворков с открытым исходным кодом, таких как TensorFlow, Keras, Caffe и PyTorch. Эти структуры возникли и эволюционировали для удовлетворения различных потребностей различных сообществ специалистов по науке о данных и проблемных областей.

После проектирования сети получение исходного кода должно быть таким простым:

В результате отсутствие стандартизации значительно усложняет совместное использование и повторное использование моделей. Например, специалисту по данным, который обычно создает нейронные сети в TensorFlow, может быть очень сложно понять решение, написанное в такой среде, как Caffe или PyTorch.

Чтобы решить проблему стандартизации, нам нужно либо принудительно использовать единую структуру во всех командах глубокого обучения, либо найти общий язык, который может описывать сети независимым от структуры способом.

Операционная сложность

Третий и последний вопрос - рабочий. Проектирование нейронной сети - это лишь один из этапов гораздо более крупного рабочего процесса, который включает обучение, оценку, развертывание, мониторинг и улучшение моделей глубокого обучения.

И даже сам процесс проектирования нейронной сети не является одноразовым. Дизайн нейронной сети заключается в итеративном проведении экспериментов до тех пор, пока не будет найдена сеть, отвечающая потребностям бизнеса.

Результатом проектирования нейронной сети является ряд гиперпараметров, которые необходимо настроить, чтобы определить, можно ли обучить сеть достаточно хорошо, чтобы удовлетворить потребности в производительности целевой задачи. Если ответ отрицательный, то еще не все потеряно. Теперь мы знаем, насколько хорошо эта конкретная сеть работает с данными. И многое можно узнать, просто оценив оптимальные гиперпараметры, чем это получается в процессе оптимизации гиперпараметров.

Экспериментирование продолжается до тех пор, пока не будет обнаружена оптимальная нейронная сеть и обученная модель не будет готова к развертыванию. Но даже тогда рабочий процесс не завершен. Циклы обратной связи продолжаются, поскольку развернутая модель непрерывно оценивается, пока сеть не перестанет работать и цикл не начнется заново.

Однако специалисту по глубокому обучению необязательно быть экспертом в области проектирования сетей; они также должны понимать инфраструктуру, используемую для обучения их моделей, которая обычно включает управление кластерами графических процессоров.

Что еще хуже, когда модель достигает стадии развертывания, им, возможно, также необходимо понимать инфраструктуру, которая будет запускать модель в производственной среде в облаке - архитектура, совершенно отличная от архитектуры обучающих систем.

Учитывая нехватку опыта в области глубокого обучения, жизненно важно, чтобы организации находили способы помочь специалистам тратить большую часть своего времени на те части процесса, которые используют их уникальные навыки. Это означает, что нам нужно найти способ максимально автоматизировать работу по управлению инфраструктурой.

Представляем Neural Network Modeler

В сочетании с бета-версией нового микросервиса оптимизации гиперпараметров (HPO) в Watson Machine Learning средство моделирования нейронных сетей приближает нас к устранению всех трех основных узких мест при проектировании нейронных сетей.

Modeler предоставляет интерфейс перетаскивания мышью, в котором пользователи могут быстро создавать новую нейронную сеть, выбирая, настраивая и составляя столько различных слоев, сколько им нужно.

В отличие от традиционных подходов к проектированию сети, которые обычно основаны на вводе кода в текстовом редакторе или IDE, этот визуальный подход упрощает начинающим практикам начало работы с глубоким обучением, а также помогает более опытным командам быстрее понять проекты друг друга. .

После того, как специалист по анализу данных завершит проектирование сети, он может просто щелкнуть мышью, чтобы сгенерировать код, необходимый для обучения модели, используя ту структуру, которую предпочитает пользователь (в настоящее время TensorFlow, PyTorch или Caffe2).

Таким образом, инструмент эффективно действует как слой абстракции между фреймворками: он позволяет специалистам по обработке данных просматривать и повторно использовать конструкции сетей друг друга, даже если они предпочитают использовать другую структуру для фактического обучения и оценки.

Код, сгенерированный Neural Network Modeler, затем может быть упакован с наборами обучающих данных для создания «обучающего определения». Затем определение обучения публикуется в Watson Studio и может использоваться для настройки и выполнения процесса обучения в кластере графического процессора.

Для более сложных проектов пользователи также могут определить «эксперимент» - набор определений обучения вместе с метаданными, которые сообщают кластеру графического процессора, как проводить сеансы обучения с несколькими моделями или наборами гиперпараметров. Это дает пользователям возможность проводить сложные эксперименты, не беспокоясь о настройке и управлении инфраструктурой.

Когда процесс обучения и оценки завершен и лучшая модель готова к развертыванию, пользователь может просто щелкнуть, чтобы опубликовать ее в репозитории Watson Studio, где другие специалисты по данным смогут найти и использовать в своих наборах данных.

Сделайте следующий шаг

Узнайте больше о IBM Watson Studio или сразу перейдите к использованию Neural Network Modeler.