Несмотря на рост ИИ за последние несколько лет, организации, внедряющие собственное прикладное машинное обучение (т. причин.

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

Мы осознали эти проблемы и создали Perceptilabs, чтобы помочь вам создавать и применять модели глубокого обучения к реальным задачам проще и быстрее. Как мы это сделали? Рад, что вы спросили!

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

Давайте подробнее рассмотрим, как можно ускорить применение машинного обучения.

Доступные наборы данных

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

В 5 лучших наборах данных с открытым исходным кодом PerceptiLabs для машинного обучения мы перечислили несколько источников, включая Kaggle, который быстро стал одним из наших фаворитов благодаря обширной коллекции наборов данных. На самом деле, многие из наших недавних вариантов использования основаны на тщательно подобранных наборах данных, полученных из Kaggle, которые мы сделали доступными на GitHub. В большинстве случаев мы также включали файл CSV для загрузки этих данных в PerceptiLabs. Этот CSV-файл сопоставляет каждый файл данных с его классификациями. Затем вы загружаете CSV-файл в PerceptiLabs, который используется для импорта ваших файлов данных и настройки модели с хорошими базовыми настройками.

Существующие наборы данных готовы к работе

Кроме того, вы можете позволить PerceptiLabs сделать это за вас. Начиная с версии 0.13, PerceptiLabs теперь может напрямую загружать ряд общедоступных наборов данных и автоматически создавать из них модели, как показано на рисунке 1:

Это означает, что вы можете выбрать данные и очень быстро создать рабочую модель, не создавая CSV-файл. Например, при использовании общедоступного набора данных Face Ages, показанного на рис. 1, на рис. 2 показана модель, созданная PerceptiLabs:

Предварительная обработка данных экономит ваше время

Предварительная обработка этих данных также важна, и PerceptiLabs также поможет вам в этом. Когда вы определяете данные во всплывающем окне Настройки данных PerceptiLabs, у вас есть возможность настроить параметры предварительной обработки для определенных столбцов (например, столбца, в котором перечислены файлы изображений). На рис. 3 ниже вы можете увидеть некоторые параметры предварительной обработки, доступные для изображений (например, изменение размера и т. д.):

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

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

Настройка моделей и компонентов

Одним из замечательных аспектов визуального подхода PerceptiLabs является то, что вы можете упростить настройку модели в зависимости от ваших требований и/или уровня навыков. Вы можете делать все визуально, включая замену компонентов, настройку их параметров и настройку данных и параметров обучения. На рис. 4 ниже показаны настройки компонента свертки:

Для тех, кто с низким уровнем кодирования, вы можете сделать все вышеперечисленное, а также легко просмотреть код TensorFlow для любого компонента в Редакторе кода и внести коррективы в компоненты программно, как показано на рис. 5:

Предварительно обученные модели

Еще один способ быстрее перейти к прикладному машинному обучению — использовать предварительно обученные модели. Вы увидите, что во многих наших случаях использования мы используем компоненты глубокого обучения, такие как VGG16, которые были предварительно обучены с данными ImageNet. Использовать эти компоненты с PerceptiLabs легко, потому что вы можете легко заменить их.

Например, в нашем варианте использования Классификация фруктов мы взяли базовую модель, созданную PerceptiLabs на основе данных, удалили компоненты Convolution и Dense и заменили их одним компонентом VGG16. Другим примером является наш учебник Базовая сегментация изображения, в котором мы используем один компонент U-Net, который предоставляет возможность выбора различных моделей магистрали.

Вы также можете использовать наш Пользовательский компонент, чтобы пойти еще дальше и программно реализовать компонент с нуля. Используя это, вы можете импортировать внешние модули и использовать внешние ресурсы для прикладного DL. Чтобы это работало, все, что вам нужно сделать, это создать новый пользовательский компонент, открыв редактор кода, и начать писать код TensorFlow. Вы можете использовать его различными способами, например, для загрузки Keras Applications для Передачи обучения или для загрузки модели из TensorFlow Hub. Например, в следующем коде показаны две строки, которые вам нужно добавить, чтобы загрузить модель из концентратора TensorFlow:

импортировать tensorflow_hub как концентратор

input_=hub.KerasLayer("https://tfhub.dev/google/bit/s-r50x1/ilsvrc2012_classification/1")(input_)

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

Примените глубокое обучение сейчас

Используя общедоступные наборы данных, предварительно обученные модели и богатые инструменты, предоставляемые PerceptiLabs, специалисты по машинному обучению с разным опытом и уровнями навыков могут легко и эффективно быстрее получить работающую модель. Кроме того, наш визуальный подход с минимальным кодом позволяет вам решить, насколько сильно вы хотите настроить свою модель в зависимости от вашего уровня навыков и / или требований проекта. В совокупности эти инструменты и ресурсы помогают быстрее и проще применять модели DL к реальным сценариям использования.

Готовы начать создавать и применять свои модели DL? Следуйте нашему Краткому руководству, чтобы начать работу с PerceptiLabs уже сегодня!