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

Молодой учёный

Обзор библиотек обучения нейронных сетей на языке Python

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


В статье даётся обзор самых популярных библиотек машинного обучения языка 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).

Можно быстро и просто опубликовать свою научную статью в журнале «Молодой Ученый». Сразу предоставляем препринт
и справку о публикации.
Опубликовать статью
Ключевые слова
нейронная сеть
python
обучение
сеть
машинное зрение
библиотека
Молодой учёный №46 (336) ноябрь 2020 г.
Скачать часть журнала с этой статьей(стр. 6-8):
Часть 1 (стр. 1-77)
Расположение в файле:
стр. 1стр. 6-8стр. 77

Молодой учёный