краткий обзор глубокого обучения в RapidMiner и Orange

Недавно я столкнулся с двумя средами визуального программирования для науки о данных и машинного обучения: одна была RapidMiner, а вторая - Orange. Обе системы позволяют пользователям создавать решения для науки о данных или машинного обучения в стиле LEGO, т. Е. Перетаскивая компоненты для построения процесса, включая подготовку данных, моделирование, оценку, проверку, визуализацию и т. Д. Рисунок 1 и рисунок 2 иллюстрируют примеры в RapidMiner и Orange соответственно.

  • Рисунок 1 показывает процесс в RapidMiner, который использует наивную байесовскую модель для задачи классификации с Titanic Survival Dataset.
  • Рисунок 2 показывает процесс в оранжевом, который использует линейную регрессию и случайный лес для решения задачи регрессии с Boston Housing Dataset, и показывает результаты производительности.

Одна интересная проблема, связанная с этими средами визуального программирования, заключается в том, как эти системы должны реализовывать механизмы глубокого обучения для поддержки не только классификации или регрессии структурированных данных, но и сложных приложений, таких как распознавание изображений, обработка естественного языка, визуальные ответы на вопросы. , Генеративная модель и так далее. Обычно исследователи и практики глубокого обучения знакомы с библиотеками программного обеспечения для глубокого обучения, такими как Tensorflow, Keras, Torch / PyTorch, Caffe / Caffe2, MXNet и т. Д. Однако создание среды визуального программирования для поддержки начинающих и экспертов глубокого обучения требует набора вариантов дизайна. В этом посте кратко описаны четыре подхода к глубокому обучению в RapidMiner и Orange.

  1. «Многослойный персептрон как компонент» в RapidMiner и Orange
  2. «Слой как компонент» в расширении RapidMiner's Keras
  3. «Извлечение функций как компонент» в разделе Встраивание изображений Orange
  4. «Автоматизированное машинное обучение» в модели RapidMiner's Auto

Заявление: в этом сообщении представлен мой личный опыт глубокого обучения в RapidMiner и Orange. Это не исчерпывающий обзор по этой теме и не поддержка этих решений.

Многослойный персептрон как компонент

И RapidMiner, и Orange поддерживают подход a-многоуровневый перцептрон как компонент, при котором количество слоев и количество нейронов могут указывается пользователями.

  • Как показано на рисунке 3, RapidMiner использует термин «Deep Learning» для обозначения многослойного перцептрона, который реализуется с помощью библиотеки в H2O.
  • Как показано на рисунке 4, Orange использует термин «нейронная сеть» для обозначения многослойного перцептрона, который реализуется с помощью библиотеки в Scikit-Learn.

Расширение Keras от RapidMiner

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

Встраивание изображений Orange

Использование предварительно обученных моделей для извлечения характеристик изображения или изображений с последующим проведением классификации изображений или кластеризации изображений является обычной практикой в ​​глубоком обучении. Orange реализовал такой механизм извлечения функций в своем компоненте встраивание изображений, который охватывает некоторые современные предварительно обученные модели, такие как Inception v3, VGG16 и VGG19. Рисунок 6 представляет собой полный пример извлечения функций и кластеризации изображений. В обучающем видео ниже представлен отличный обзор всего процесса.

Автоматическая модель RapidMiner

Автоматизированное машинное обучение - активная область исследований как в сообществе машинного обучения, так и в сообществе глубокого обучения. Автоматическая модель RapidMiner - отличный пример автоматизированного машинного обучения, который может автоматически выбирать различные модели для выполнения классификации, регрессии, кластеризации и обнаружения выбросов. Как показано на рис. 7, RapidMiner использует семь моделей машинного обучения для решения проблемы классификации Titanic Survival Dataset. Обратите внимание, что глубокое обучение (что означает многослойный перцептрон) является одной из этих семи моделей машинного обучения. В обучающем видео ниже представлен отличный обзор модели RapidMiner's Auto.

Выводы

В этом посте кратко рассмотрены различные подходы к поддержке глубокого обучения в среде визуального программирования или программном обеспечении на основе компонентов с перетаскиванием мышью. В частности, мы рассмотрели четыре подхода, принятые RapidMiner и Orange: (1) использование всей сети как одного компонента, (2) использование одного слоя как одного компонента, (3) реализация функции извлечение как один компонент, и (4) обеспечение глубокого обучения в автоматизированном процессе. Приятно пробовать разные подходы к разным проблемам. Однако эти подходы определенно не могут охватывать весь объем глубокого обучения. Например, и RapidMiner, и Orange не могут поддерживать генеративные состязательные сети или визуальные ответы на вопросы. Но мы видим, что люди, стоящие за RapidMiner и Orange, приложили огромные усилия для внедрения глубокого обучения в свои системы. Если у вас есть какие-либо комментарии, дайте мне знать. Спасибо.