Что такое нейросеть: как устроен человеческий мозг «в цифре»

Фото: Freepik
Фото: Freepik
Нейросети способны выполнять целый набор сложных задач в разных сферах науки и бизнеса — начиная от сортировки картинок и заканчивая сложными вычислениями

Содержание:

В последние годы нейронные сети прошли путь от простых сортировщиков картинок на смартфонах до помощников в решении глобальных задач в науке. Современные нейросети способны заменить или дополнить работу человека во всех случаях, когда решение нужно принимать на основе предыдущего опыта. «РБК Тренды» разбирался, как устроены и работают нейросети, как их обучают и в каких сферах применяют.

Что такое нейросеть

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

Идею нейронных сетей впервые предложили исследователи из Чикагского университета Уоррен Маккалоу и Уолтер Питтс в 1944 году. Первую обучаемую нейросеть в 1957 году продемонстрировал психолог Корнеллского университета Фрэнк Розенблатт. Она была примитивной (одноуровневой).

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

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

Современные GPU позволили развивать «глубокое обучение» — повышать глубину слоев нейросети. Именно благодаря ему появились самообучаемые нейросети, которые не требуют специальной настройки, а самостоятельно обрабатывают входящую информацию.

Изображение сгенерировано нейросетью Midjourney
Индустрия 4.0 Аватарки, логотипы, тексты в блоги: подборка интересных нейросетей

Как работает нейросеть

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

Базовая нейронная сеть содержит три слоя искусственных нейронов:

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

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

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

Как устроена примитивная нейросеть
Как устроена примитивная нейросеть (Фото: neuralnet.info)

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

Приведем пример — попросим нейросеть ответить на вопрос, стоит ли заняться серфингом (варианты ответа «да» — 1 и «нет» — 0. Предположим, что на это решение (y-hat) влияют три фактора. Сформулируем их в виде вопросов:

  • хорошие ли волны? («да» — 1 и «нет» — 0);
  • свободен ли пляж? («да» — 1 и «нет» — 0);
  • фиксировались ли в последнее время нападения акул? («да» — 0 и «нет» — 1).

Затем предположим следующее, используя входные данные:

  • X1 = 1, так как волны есть;
  • X2 = 0, так как на пляже нет толпы;
  • X3 = 1, так как нападений акул не фиксировалось.

Теперь нам нужно присвоить этим значениям некоторые «веса», чтобы определить их важность. Расположим приоритеты следующим образом:

  • W1 = 5, так как большие волны на этом пляже возникают нечасто;
  • W2 = 2, так как вы не боитесь толпы;
  • W3 = 4, так как вы боитесь акул.

За пороговое значение мы примем 3, соответственно, значение смещения составит –3. Теперь можно начать подставлять значения в формулу, чтобы получить желаемый результат:

Y-hat = (1*5) + (0*2) + (1*4) – 3 = 6.

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

В зависимости от архитектуры нейросети делятся на типы:

  • прямого распространения — обрабатывают входные данные и сразу выдают результат. Чаще всего применяются для распознавания образов и текста, а также классификации данных;
  • рекуррентные — перенаправляют информацию туда и обратно по слоям, пока не получат конечный результат. Этот тип обычно используется для прогнозирования;
  • сверточные — обрабатывают каждый признак в отдельном слое. Такой тип применяется в классификации изображений, обработке языка и т.д.

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

Какие бывают архитектуры нейросетей
Какие бывают архитектуры нейросетей (Фото: habr.com)

Как применяются нейросети

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

Автоматическая генерация контента

  • Чат-бот ChatGPT от OpenA может отвечать на вопросы, поддерживать диалог, искать ошибки в коде, сочинять стихи, писать сценарии и т.д.
  • Нейросети DALL-E, Midjourney, Stable Diffusion генерируют картинки по текстовому описанию.
  • Нейросеть Imaginary soundscape создает фоновую музыку по изображению.
  • VALL-E озвучивает текст, точно имитируя голос человека и его интонации.
  • Нейросеть MARZ позволяет омолаживать лица актеров в фильмах.

Как работает нейросеть MARZ
(Видео: YouTube)

В этой группе есть и нейросети с необычными задачами. Например, Different Dimension Me позволяет сгенерировать изображение в стиле аниме по фотографии или картинке.

Распознавание и обработка естественного языка

  • Чат-бот ChatGPT способен вести диалог, искать ошибки в коде, сочинять стихи, писать сценарии и даже давать медицинские советы. Нейросеть можно встраивать в любые сайты и сервисы, а Microsoft уже внедрила чат-бота в свой поисковик Bing для получения более точных результатов поиска.
  • Чат-бот LaMDA может вести диалог на любую тему и отвечать на любые вопросы пользователя. В перспективе его внедрение позволит создавать новые категории приложений.
  • Нейросеть Yandex Cloud распознает более десяти языков одновременно и переводит ответы на вопросы. На ее базе можно создавать многоязычных голосовых помощников и роботов для call-центров.

Как работает нейросеть Yandex Cloud
(Видео: YouTube)

Классификация объектов

  • Нейросеть российской компании NTechLab, которая работает с городской сетью камер в Москве, позволяет выявлять нарушителей. Также ее можно оптимизировать для идентификации по лицу в общественном транспорте для оплаты и организации безопасной системы пропусков на предприятиях.
  • Нейросеть Google Cloud AutoML анализирует исследования биопсии лимфатических узлов в поиске раковых клеток в молочных железах у женщин. А нейросеть SkinVision диагностирует рак кожи по фото с камеры телефона.
  • Нейросеть в основе системы помощи водителю Ford BlueCruise распознает объекты на дороге, что позволяет контролировать работу автопилота.

Как работает Ford BlueCruise
(Видео: YouTube)

  • Российский сервис YouScan с помощью нейросетей отслеживает упоминание брендов в соцсетях и сегментирует их для аналитики.

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

  • регрессии. Нейронные сети помогают прогнозировать биржевые курсы, оценивать стоимость имущества и так далее;
  • прогнозирования. Например, нейросети широко применяются в банкинге, чтобы оценить платежеспособность новых заемщиков;
  • кластеризации. Нейросети помогают исследователям и специалистам big data сортировать большие объемы данных в условиях, когда конечное количество классов неизвестно. Например, кластеризация применяется для выявления классов картинок.

Нейросеть CLIP от OpenIA распознает и описывает изображения
Нейросеть CLIP от OpenIA распознает и описывает изображения (Фото: openai.com)

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

Способности нейросетей постоянно эволюционируют. Так, существующая система StyleGAN уже содержит базовые знания о 3D-моделировании. После дообучения ее можно будет применять для создания 3D-объектов и новых возможностей в 3D-печати.

Как обучают нейросети

Стандартный процесс обучения нейросетей включает в себя несколько этапов.

  • Отправка информации. Для старта обучения нейросети требуется выборка данных. Чем больше задач в итоге должна выполнять нейросеть, тем эта выборка должна быть больше. В процессе обучения алгоритмы отвечают на поставленный вопрос с помощью формул и числовых коэффициентов.
  • Преобразование информации. Когда входные нейроны нейросети получают выборку, они преобразуют ее и передают дальше. При этом содержание информации превращается в числовые коэффициенты. Для этого применяются формулы с коэффициентами, которые устанавливают авторы обучения. Именно они решают, сколько будет «весить» каждый обучающий признак и т.д.
  • Обработка информации. Каждому нейрону также присваивается «вес», который показывает, насколько важны его ответы. Во время обучения «веса» автоматически меняются и балансируются.
  • Получение результата. Нейросеть выдает набор формул и чисел, которые преобразуются в ответ. При этом он не конкретный, а скорее показывает вероятность. Например, если для изображения мужчины установлено значение 0, а женщины — 1, то результат 0,67 будет означать «скорее всего, это женщина».

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

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

Фото:Frank Augstein / AP
Индустрия 4.0 Как работают искусственный интеллект, машинное и глубокое обучение

Специалисты по нейросетям

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

Чем занимается специалист по нейронным сетям

Основные задачи такого специалиста включают:

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

Фото:Freepik
Индустрия 4.0 Нейросеть, которая может все: какие есть сложности в обучении алгоритмов

Как стать специалистом по нейросетям

Нейросети и ИИ представляют собой узкую специализацию в направлении Data Science. Поэтому процесс обучения должен стартовать с изучения науки больших данных. Обучение может быть:

  • самостоятельным. Плюс такого метода — дешевизна и доступность источников. Так, на YouTube можно найти видеокурсы по нейросетям. Минусы: в таком подходе нет системности, а полученные навыки могут оказаться невостребованными у работодателя;
  • в онлайн- или офлайн-формате. Выучиться на дата-сайентиста можно как в университете, так и на специализированном курсе.

Для работы в отрасли потребуются знания в области математики, статистики и основ программирования: знание языка Python, навыки работы с Linux, библиотеками Python для Data Science, в том числе Numpy, Matplotlib, Scikit-learn, навыки работы с базами данных, библиотеками машинного обучения PyTorch и TensorFlow.

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

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

Фото:Freepik
Индустрия 4.0 Dreamix: что умеет новая нейросеть для генерации видео

Востребованность специалиста по нейросетям

Аналитики International Data Corporation подсчитали, что мировой рынок решений в сфере искусственного интеллекта будет расти в среднем на 18,6% ежегодно в период с 2022 по 2026 год. По мнению авторов исследования McKinsey, именно прикладной искусственный интеллект и внедрение машинного обучения стали двумя наиболее значимыми технологическими тенденциями на рынке ИИ. В 2022 году компании, занимающиеся генеративным искусственным интеллектом, привлекли $1,37 млрд — это почти столько же, сколько за предыдущие пять лет.

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

Начинающий специалист может претендовать на зарплату от 40 тыс. руб. в месяц, а профессионал — от 150 тыс. руб.

Обновлено 16.03.2023
Главная Лента Подписаться Поделиться
Закрыть