Нейронные сети

Виртуальная машина
бесплатно навсегда

Забрать

Статья

Время чтения

5 минут

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

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

Искусственные нейронные сети состоят из нескольких слоев:

  • входных;

  • скрытых;

  • выходных.

В каждом из них есть несколько узлов, которые соединены со всеми узлами в сети с помощью разных связей и имеют свой «вес», влияющий на силу передаваемого сигнала.

Такая архитектура позволяет вести параллельную обработку данных и постоянно сравнивать их с результатами обработки на каждом из этапов.

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

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

Примечание: Работа нейронной сети сравнима с действиями человека: сталкиваясь с незнакомым предметом, он узнает его свойства и делает выводы. Аналогичные процессы происходят в узлах нейросетей, когда решая определенную задачу, они используют полученный опыт для дальнейшего обучения.

Виды нейронных сетей

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

Нейронные сети прямого распространения (Feed forward neural networks, FFNN). Прямолинейный вид нейросетей, при котором соседние узлы слоя не связаны, а передача информации осуществляется напрямую от входного слоя к выходному. FFNN имеют малую функциональность, поэтому часто используются в комбинации с сетями других видов.

Сверточные нейронные сети (Convolutional neural network, CNN). Состоят из слоев пяти типов:

  • входного;

  • свертывающего;

  • объединяющего;

  • подключенного;

  • выходного.

Каждый слой выполняет определенную задачу: например, обобщает или соединяет данные.

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

Рекуррентные нейронные сети (Recurrent neural network, RNN). Используют направленную последовательность связи между узлами. В RNN результат вычислений на каждом этапе используется в качестве исходных данных для следующего. Благодаря этому, рекуррентные нейронные сети могут обрабатывать серии событий во времени или последовательности для получения результата вычислений.

RNN применяют для языкового моделирования и генерации текстов, машинного перевода, распознавания речи и других задач.

Типы задач, которые решают нейронные сети

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

  • Классификация. Для распознавания лиц, эмоций, типов объектов: например, квадратов, кругов, треугольников. Также для распознавания образов, то есть выбора конкретного объекта из предложенного множества: например, выбор квадрата среди треугольников.

  • Регрессия. Для определения возраста по фотографии, составления прогноза биржевых курсов, оценки стоимости имущества и других задач, требующих получения в результате обработки конкретного числа.

  • Прогнозирования временных рядов. Для составления долгосрочных прогнозов на основе динамического временного ряда значений. Например, нейросети применяются для предсказания цен, физических явлений, объема потребления и других показателей. По сути, даже работу автопилота Tesla можно отнести к процессу прогнозирования временных рядов.

  • Кластеризация. Для изучения и сортировки большого объема неразмеченных данных в условиях, когда неизвестно количество классов на выходе, то есть для объединения данных по признакам. Например, кластеризация применяется для выявления классов картинок и сегментации клиентов.

  • Генерация. Для автоматизированного создания контента или его трансформации. Генерация с помощью нейросетей применяется для создания уникальных текстов, аудиофайлов, видео, раскрашивания черно-белых фильмов и даже изменения окружающей среды на фото.

Примечание: Например, нейронная сеть ruDALL-E, может генерировать уникальные изображения на основе текстового описания. 

Математическая модель нейрона Маккаллока - Питтса разработана по аналогии с биологическими нервными клетками и выглядит следующим образом:

Где:

  • X — входные данные — сигналы, поступающие к нейрону;

  • W — вес — эквивалент синаптической связи, представленный в виде действительного числа, на которое умножается значение входного сигнала для определения степени взаимосвязи отдельных нейронов;

  • H — тело нейрона — показатель накопленной взвешенной суммы, полученной в результате умножения значений входящих сигналов на вес;

  • Y — выход нейронной сети — функция, получаемая в результате обработки входных сигналов.

Примечание: При такой модели обучение нейронной сети сводится к изменению коэффициенту весов, то есть связи между отдельными нейронами. Если вес положительный — сигнал в нейроне усиливается, нулевой — нейроны не влияют друг на друга, отрицательный — сигнал в принимающем нейроне погашается.

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

  • Функция Хевисайда преобразовывает значения при их накоплении выше установленного порога. Например, значение +100 преобразовывается в 1, а -100 — в 0.

  • Пороговая функция. Применяется для отображения состояния нейрона: его возбудимости или спокойствия. Может отображать только два значения: 0% и 100%.

  • Синоидальные функции применяются для сглаживания значений.

  • Функция ReLU отсекает только отрицательные значения. Например, значение -100 преобразовывается в 0, а +50 остается неизменным.

Функция ReLu производит простые математические операции, поэтому помогает снизить нагрузку на вычислительные мощности при глубоком обучении.

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

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

  • Обучение без контроля. Стратегия обучения, применяемая в ситуациях, когда нет размеченных наборов данных. В этой модели нейронная сеть выполняет анализ, а после получает внутренний отчет о точности расчета. Если значение недостаточно, нейронная сеть усиливается и повторяет операцию.

  • Усиленное обучение. Модель, при которой нейронная сеть усиливается при получении положительного результата и наказывается за неправильные расчеты.

Мы предлагаем готовые решения для работы с искусственным интеллектом, машинным обучением и нейронными сетями. Клиентам доступны платформа для совместной ML-разработки с ускорением до +1700 GPU Tesla v100 и A100 ML Space, инструменты для обработки языка ruGPT-3 & family и другие сервисы.

  1. Машинное обучение

  2. Искусственный интеллект

  3. Data Science

Вам может понравиться