Мигрируй в Cloud — получи до 80 часов консультаций с нашими лучшими инженерами и до 2 месяцев бесплатного тестового периода
Главная

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

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

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

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

Принцип работы нейронных сетей

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

  • входных;
  • скрытых;
  • выходных.

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

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

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

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

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

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

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

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

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

  • входного;
  • свертывающего;
  • объединяющего;
  • подключенного;
  • выходного.

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

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

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

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

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

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

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

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

Ml Space

Платформа полного цикла ML-разработки на мощностях суперкомпьютера Christofari доступна любому бизнесу

Ml Space

Персональный менеджер

Преимущества

Поддержка для каждого клиента

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

Оставить заявку
Круглосуточная техническая поддержка

Мы готовы решать ваши вопросы и оказывать поддержку 24/7.

Математическая модель нейрона и функции активации

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

Где:
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 и другие сервисы.

Начните пользоваться сервисами ML

Оставить заявку

Связанные материалы

  1. Машинное обучение
  2. Искусственный интеллект
  3. Data Science