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

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

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

Автор:

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

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

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

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

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

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



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

Эта библиотека машинного обучения основана на Torch, которая представляет собой машинную библиотеку с открытым исходным кодом

SciPy — это библиотека машинного обучения для разработчиков приложений и инженеров. Однако все равно нужно знать разницу...

Автоматизированный программно-аппаратный комплекс ввода...

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

В работе над своим проектом я применял машинное обучение и компьютерное зрение.

Машинное обучение (англ. machine learning, ML) — класс методов искусственного...

Анализ технологии создания систем классификации...

Ключевые слова: нейронная сеть, машинное обучение, трансферное обучение, визуализация данных, компьютерное зрение, процесс обучения. Импорт необходимых библиотек и датасета. Для работы с датасетом в первую очередь необходимо импортировать библиотеки и сам...

Обнаружение объектов на изображении для автономных роботов

Библиотека TensorFlow для глубокого обучения позволяет строить такие нейронные сети и даже предоставляет несколько обученных моделей нейросети, которые можно изменить и переобучить под свои задачи. Этой нейронной сети можно, как ребенку, показывать, где на...

Формализация требований для средств разработки и обучения...

Ключевые слова: нейронная сеть, средство проектирования, машинное обучение. В наше время наблюдается стремительный прогресс в сфере разработки и использования программных решений на базе технологий машинного обучения. Данные технологии используются не...

Применение графических процессоров с технологией CUDA...

Первые попытки перенести обучение искусственных нейронных сетей на графические процессоры начались еще в 2004 году, за два года до появления возможности вычислений на GPU. Рассмотрим пример: имеется искусственная нейронная сеть с несколькими миллионами...

Онлайн платформы машинного обучения | Статья в журнале...

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

Платформа предоставляет все, что нужно для запуска проекта, в то время как библиотека предоставляет только дискретные возможности.

Человеческий фактор человеко-машинного интерфейса

Ключевые слова: машинное обучение, обучение человека, эффективное обучение.

Контролируемые методы машинного обучения как средство детектирования сетевых

Машинное обучение — один из разделов искусственного интеллекта, который связан с...

Похожие статьи

Язык программирования Python. Библиотеки Python

Эта библиотека машинного обучения основана на Torch, которая представляет собой машинную библиотеку с открытым исходным кодом

SciPy — это библиотека машинного обучения для разработчиков приложений и инженеров. Однако все равно нужно знать разницу...

Автоматизированный программно-аппаратный комплекс ввода...

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

В работе над своим проектом я применял машинное обучение и компьютерное зрение.

Машинное обучение (англ. machine learning, ML) — класс методов искусственного...

Анализ технологии создания систем классификации...

Ключевые слова: нейронная сеть, машинное обучение, трансферное обучение, визуализация данных, компьютерное зрение, процесс обучения. Импорт необходимых библиотек и датасета. Для работы с датасетом в первую очередь необходимо импортировать библиотеки и сам...

Обнаружение объектов на изображении для автономных роботов

Библиотека TensorFlow для глубокого обучения позволяет строить такие нейронные сети и даже предоставляет несколько обученных моделей нейросети, которые можно изменить и переобучить под свои задачи. Этой нейронной сети можно, как ребенку, показывать, где на...

Формализация требований для средств разработки и обучения...

Ключевые слова: нейронная сеть, средство проектирования, машинное обучение. В наше время наблюдается стремительный прогресс в сфере разработки и использования программных решений на базе технологий машинного обучения. Данные технологии используются не...

Применение графических процессоров с технологией CUDA...

Первые попытки перенести обучение искусственных нейронных сетей на графические процессоры начались еще в 2004 году, за два года до появления возможности вычислений на GPU. Рассмотрим пример: имеется искусственная нейронная сеть с несколькими миллионами...

Онлайн платформы машинного обучения | Статья в журнале...

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

Платформа предоставляет все, что нужно для запуска проекта, в то время как библиотека предоставляет только дискретные возможности.

Человеческий фактор человеко-машинного интерфейса

Ключевые слова: машинное обучение, обучение человека, эффективное обучение.

Контролируемые методы машинного обучения как средство детектирования сетевых

Машинное обучение — один из разделов искусственного интеллекта, который связан с...

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