Обзор библиотек обучения нейронных сетей на языке Python | Статья в журнале «Молодой ученый»

Отправьте статью сегодня! Журнал выйдет 6 февраля, печатный экземпляр отправим 10 февраля.

Опубликовать статью в журнале

Автор:

Рубрика: Информационные технологии

Опубликовано в Молодой учёный №46 (336) ноябрь 2020 г.

Дата публикации: 12.11.2020

Статья просмотрена: 25 раз

Библиографическое описание:

Балабанов, Н. Р. Обзор библиотек обучения нейронных сетей на языке Python / Н. Р. Балабанов. — Текст : непосредственный // Молодой ученый. — 2020. — № 46 (336). — С. 6-8. — URL: https://moluch.ru/archive/336/75084/ (дата обращения: 23.01.2021).



В статье даётся обзор самых популярных библиотек машинного обучения языка Python.

Ключевые слова: нейронная сеть, python, обучение, сеть, машинное зрение, библиотека.

Tensorflow

Первая и самая популярная на данный момент — открытая библиотека Tensorflow. Вышла 9 ноября 2015 года и претерпела множество изменений, однако на данный момент интерфейс библиотеки остаётся без изменений, а методы обучения постоянно улучшаются.

Эта библиотека позволяет легко строить модели, а также поддерживает очень простой и интуитивный интерфейс, облегчающий обучение людей работе с нейронными сетями. [1]

Простота и популярность Tensorflow привела к появлению надстройки-интерфейса Keras. Кроме того, в 2016-ом году Google сообщили о применении специального тензорного процессора, адаптированного под библиотеку Tensorflow.

PyTorch

Вторая библиотека — PyTorch. Этот, основанный на базе Lua-библиотеке Torch, фреймворк предназначен для задач машинного зрения (распознавание изображений и образов), а также машинного слуха (распознавание естественного языка). Разработана группой из Facebook.

Библиотека предоставляет две основные модели: тензорные вычисления с поддержкой вычислений на графическом процессоре и глубокие нейронные сети.

Apache MXNet

Apache MXNet — открытая библиотека для обучения и развёртывания глубоких нейронных сетей. Поддерживается облачными платформами — в том числе Amazon Web Services и Microsoft Azure.

Данная библиотека поддерживает свёрточные нейронные сети и сети с краткосрочной памятью. Также интегрирована и поддерживает семь языков помимо Python, включая C+, Scala, Java, и Perl. Это позволяет быстро переключаться между языками во время разработки.

Caffe

Библиотека Caffe — аббревиатура Convolution Architecture For Feature Extraction — в основном предназначена для глубинного обучения свёрточных нейронных сетей. Она предназначена для быстрого обучения и работы с многомерными матрицами, так как они являются основой свёрточных нейронных сетей.

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

Отличительной особенностью библиотеки является работа с блобами — многомерными массивами данных для параллельных вычислений в центральном и графическом процессорах.

Caffe часто применяют для академических исследований и для создания прототипов.

TfLearn

TfLearn модульная библиотека-надстройка над Tensorflow. Является, по сути, высокоуровневым интерфейсом над TensorFlow, который ускоряет работу и упрощает понимание глубоких нейронных сетей.

Обеспечивает быстрое прототипирование — модульность слоёв внутри сети, настройку параметров, оптимизацию, метрики. Полная совместимость с Tensorflow. Весь функционал оттуда может быть использован в TfLearn. Важной особенностью является красивая графическая визуализация, позволяющая легко оценить такие детали как веса внутри сети, градиенты, активации нейрон и так далее. Присутствует поддержка нескольких параллельных вычислений на центральных и графических процессорах. [2] Визуализация на примере графика ошибок и точности [2]

Рис. 1. Визуализация на примере графика ошибок и точности [2]

Scikit - learn

Scikit-learn одна из самых старых и на 2012 год самая популярная библиотека для обучения нейронных сетей по данным GitHub. Создана в Goggle в 2007 году, эта библиотека является надёжным и проверенным временем инструментом в таких областях, как: классификация, регрессия, кластеризация и моделирование. [3]

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

OpenCV

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

Библиотека является коммерческой, однако, несмотря на это, она имеет более 47 тысяч пользователей и более 18 миллионов скачиваний. На практике применяется как для исследований, так и для правительственных целей. [4]

Заключение

Применение специализированных библиотек для нейронных сетей и их обучении в языке Python позволяет устранить такие недостатки языка как относительно слабые вычислительные мощности, особенно на слабых компьютерах, путём оптимизации или переноса вычислений на облачные сервера. Это позволят упростить обучение людей работе с нейронными сетями, а также упростить самую сложную из задач подобной работы — обучение.

Литература:

1. Why TensorFlow. — Текст: электронный // tensorflow.org: [сайт]. — URL: https://www.tensorflow.org/about?hl=en (дата обращения: 10.11.2020).

2. TFLearn: Deep learning library featuring a higher-level API for TensorFlow.. — Текст: электронный // TFLearn: [сайт]. — URL: http://tflearn.org/ (дата обращения: 10.11.2020).

3. Scikit-learn Machine Learning in Python. — Текст: электронный // Scikit-learn: [сайт]. — URL: https://scikit-learn.org/stable/index.html (дата обращения: 10.11.2020).

4. About. — Текст: электронный // opencv.org: [сайт]. — URL: https://opencv.org/about/ (дата обращения: 10.11.2020).

Основные термины (генерируются автоматически): сеть, библиотека, машинное зрение, графический процессор, обучение, обучение людей, открытая библиотека, работа.


Задать вопрос