Для многих новых специалистов по обработке данных, переходящих на искусственный интеллект и глубокое обучение, фреймворк Keras является эффективным инструментом.

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

По словам разработчиков, Keras - это высокоуровневый API нейронных сетей, написанный на Python и разработанный с упором на возможность быстрого экспериментирования. Его исходный код открыт с момента его первоначального выпуска в марте 2015 года. Его документацию можно найти на keras.io, а исходный код - на GitHub.

Происхождение Кераса

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

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

Франсуа Шоле, исследователь глубокого обучения в Google, разработал фреймворк в рамках проекта ONEIROS (открытая нейроэлектронная интеллектуальная операционная система роботов). В 2017 году команда Google TensorFlow решила поддержать Keras в основной библиотеке TensorFlow. Microsoft добавила в структуру серверную часть CNTK, которая была доступна начиная с CNTK v2.0.

Объектно-ориентированный дизайн

Keras основан на принципах объектно-ориентированного дизайна. Эта характеристика была описана ее автором Франсуа Шоле следующим образом:

Еще одним важным решением было использование объектно-ориентированного дизайна. Модели глубокого обучения можно понимать как цепочки функций, что делает функциональный подход потенциально интересным. Однако эти функции сильно параметризованы, в основном их весовыми тензорами, и манипулировать этими параметрами функциональным способом было бы просто непрактично. Итак, в Keras все является объектом: слои, модели, оптимизаторы и т. Д. Ко всем параметрам модели можно получить доступ как к свойствам объекта: например, `model.layers [3] .output` - выходной тензор 3-го слоя в модели,` model.layers [3] .weights` - список символьных весовых тензоров слоя и т. д.

Выбор обратных концов

Хотя разработчики изначально создавали Keras поверх Theano, его способность к абстракции позволила им легко добавить TensorFlow вскоре после того, как Google выпустил серверную часть. В конце концов, API Keras был реализован как часть Google TensorFlow.

Теперь интерфейс для глубокого обучения поддерживает ряд внутренних реализаций: TensorFlow , Theano, Microsoft Cognitive Toolkit (CNTK), Eclipse Deeplearning4J и Apache MXNet.

Полная интеграция с Python

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

Перенос между фреймворками

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

Работает на процессорах и графических процессорах

Платформа работает как на процессорах, так и на графических процессорах. Он может использовать один или несколько графических процессоров для обучения глубоких нейронных сетей или может работать на графическом процессоре с использованием библиотеки NVIDIA CUDA Deep Neural Network с GPU-ускорением (cuDNN). Этот подход намного быстрее, чем типичный процессор, потому что разработчики разработали Keras для параллельных вычислений.

Керас в облаке

Существует множество вариантов запуска инфраструктуры в облачном сервисе, включая Amazon Web Services (AWS), Google Cloud Platform (GCP), Microsoft Azure и IBM Cloud.

Структура данных графика

Вместо того, чтобы полагаться на структуры данных графов из базовых серверных фреймворков, Keras имеет свои собственные структуры для обработки вычислительных графов. Такой подход освобождает новых специалистов по обработке данных от необходимости учиться программировать серверную структуру. Эта функция также побудила Google добавить API в свое ядро ​​TensorFlow.

Глубокое обучение

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

Фреймворк Keras используется для обучения глубокому обучению на популярных онлайн-платформах, в том числе на Coursera с Эндрю Нг и fast.ai с Джереми Ховардом. (Последний был конкурентом Kaggle номер 1 в течение двух лет.)

Резюме

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

Оригинальная статья здесь.

— — — — — — — — — — — — — — — — — —

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