Открыть сервис

Keras

Keras — это библиотека с открытым исходным кодом для глубинного обучения (deep learning), предоставляющая высокоуровневый интерфейс для построения, обучения и оценки нейронных сетей. Написана на языке Python и может работать поверх других бэкендов (движков), таких как TensorFlow, Theano или Microsoft Cognitive Toolkit (CNTK). Keras предназначена для быстрого прототипирования, экспериментального исследования и упрощения доступа к технологиям глубинного обучения. Ключевыми характеристиками Keras являются модульность, минималистичный дизайн и поддержка свёрточных и рекуррентных нейронных сетей.

История

Keras была создана инженером-программистом Франсуа Шолле в марте 2015 года. Изначально проект разрабатывался как часть исследовательской деятельности Шолле для OpenAI (организация, занимающаяся разработками в области ИИ; деятельность организации в России может быть ограничена в соответствии с местным законодательством), однако вскоре стал самостоятельным открытым проектом. Основной целью было предоставление простого, интуитивно понятного API, который скрывал бы сложность низкоуровневых операций, выполняемых бэкендами.

В 2017 году Keras была интегрирована в экосистему TensorFlow (библиотека от Google): с версии TensorFlow 2.0 в 2019 году tf.keras стал основным высокоуровневым API для этой платформы. Таким образом, Keras перестала быть независимой от бэкенда библиотекой, а вошла в состав TensorFlow, хотя её исходная кодовая база продолжает развиваться как мульти-бэкендное решение через проект Keras 3 (поздние версии). Развитие Keras поддерживается командой Google.

Ключевые концепции и устройство

Keras построена на принципах модульности и последовательности. Основные структурные элементы:

Классификация

Keras как библиотека не классифицируется по видам, но её API можно разделить на три основных подхода к созданию моделей:

  1. Последовательный API (Sequential Model): Самый простой способ. Подходит для линейных архитектур, где каждый слой имеет ровно один вход и один выход, и слои следуют строго друг за другом. Используется для большинства базовых задач (классификация изображений, регрессия).
  2. Функциональный API (Functional API): Более гибкий интерфейс. Позволяет создавать нелинейные топологии, включая объединение слоёв, разветвлённые структуры и обходные пути (residual connections). Используется для сложных задач (трансформеры, мультимодальные модели, многозадачное обучение).
  3. Подклассовый API (Model Subclassing): Полный контроль над архитектурой. Программист наследуется от класса Model и создаёт произвольную логику прохода данных через модель в методе call. Подходит для исследовательских целей, нестандартных операций и создания собственных компонентов.

Применение

Keras широко применяется в академических исследованиях, промышленности и образовании. Основные области использования:

Технологический стек и интеграция

Keras зависит от соседних компонентов:

Интересные факты

Критика

Основные замечания к Keras:

Источники

  1. François Chollet, "Deep Learning with Python", Manning Publications.
  2. Официальная документация Keras: keras.io
  3. Документация TensorFlow по tf.keras: tensorflow.org/guide/keras
  4. Авторитетные учебные курсы (Coursera, Stanford CS231n).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →