Содержание статьи
Нейронные сети
Какие типы нейронных сетей существуют?
Мы регулярно прибегаем к помощи алгоритмов — например, когда смотрим прогноз погоды, ищем билеты или просто хотим отдохнуть. Это такая же часть нашей жизни, как одежда и обувь, автомобили и смартфоны. Тем не менее искусственный интеллект, так глубоко проникший во все сферы нашей жизни, до сих пор может вызывать недоверие и страх. В проекте «ИИ спешит на помощь» мы рассказываем, на что способны современные технологии с использованием ИИ, где они приносят наибольшую пользу и почему не стоит бояться восстания машин. Материал подготовлен совместно с федеральным проектом «Искусственный интеллект» нацпроекта «Цифровая экономика».
Все это довольно очевидные примеры, при этом каждый день многие из нас работают с нейросетями и даже не догадываются об этом. В Яндекс.Переводчик давно встроена нейросеть, которая обучается и совершенствует качество перевода, а в каждом современном смартфоне сейчас есть алгоритм, который дорабатывает изображение, полученное с камеры, и улучшает его. С помощью нейросетей также делают прогнозы погоды, распознают объекты на фотографиях и раскрашивают старые фильмы.
Для генерации изображений можно воспользоваться, например, нейросетью Kandinsky, обученной специалистами Сбера, или нашумевшей Midjourney. Опробовать Kandinsky можно в приложении «Салют», команда «Позови художника». Если раньше для работы с нейросетями необходимо было скачивать или разворачивать их на сервере, то сейчас появились и более простые решения для удобства пользователей.
Примером работы генеративной нейросети, взаимодействующей не с изображениями, а с текстом, может служить сборник рассказов «Пытаясь проснуться», написанный совместными усилиями писателя Павла Пепперштейна и нейросети ruGPT-3. Нейросеть используется и в других сервисах и проектах Сбера: например, «Суммаризатор текста» делает короткую выжимку с главными тезисами из любой литературы, а «Рерайтер» переписывает текст с сохранением смысла. Есть даже генеративная музыка, созданная в нейросетевой архитектуре SymFormer, основанной на открытой модели Performer.
Нейронные сети помогают компьютерам принимать разумные решения с ограниченным участием человека. Они могут изучать и моделировать отношения между нелинейными и сложными входными и выходными данными. Например, нейронные сети могут выполнять следующие задачи.
Мы предлагаем готовые решения для работы с искусственным интеллектом, машинным обучением и нейронными сетями. Клиентам доступны платформа для совместной ML-разработки с ускорением до +1700 GPU Tesla v100 и A100 ML Space, инструменты для обработки языка ruGPT-3 & family и другие сервисы.
Искусственный интеллект — это область компьютерных наук, которая исследует методы предоставления машинам возможности выполнять задачи, требующие человеческого интеллекта. Машинное обучение — это метод искусственного интеллекта, который дает компьютерам доступ к очень большим наборам данных для дальнейшего обучения. Программное обеспечение для машинного обучения находит шаблоны в существующих данных и применяет эти шаблоны к новым данным для принятия разумных решений. Глубокое обучение — это разновидность машинного обучения, в котором для обработки данных используются сети глубокого обучения.
Скрытые слои получают входные данные от входного слоя или других скрытых слоев. Искусственные нейронные сети могут иметь большое количество скрытых слоев. Каждый скрытый слой анализирует выходные данные предыдущего слоя, обрабатывает их и передает на следующий слой.
Контролируемое обучение
Если алгоритм имеет структуру нейронной сети, он способен анализировать данные, запоминать результат и предсказывать исходы различных экспериментов (здесь экспериментом может быть любое действие, связанное с обработкой данных). о строению нейросети действительно напоминают человеческий мозг и работают по тем же принципам, что и он. Но напрямую сравнивать их бессмысленно: мозг устроен значительно сложнее.
Однако без помощи человека нейросеть не справится ни с одной задачей. Алгоритм необходимо верно подобрать под конкретную ситуацию, обучить его, выявить ошибки, а затем доработать. Не существует и нейросетей, которые могут одновременно хорошо выполнять различные категории задач и самостоятельно определять, что нужно делать.
С другой стороны, при глубоком обучении специалист по работе с данными предоставляет программному обеспечению только необработанные данные. Сеть глубокого обучения извлекает функции самостоятельно и обучается более независимо. Она может анализировать неструктурированные наборы данных (например, текстовые документы), определять приоритеты атрибутов данных и решать более сложные задачи.
Традиционные методы машинного обучения требуют участия человека, чтобы программное обеспечение работало должным образом. Специалист по работе с данными вручную определяет набор соответствующих функций, которые должно анализировать программное обеспечение. Это ограничение делает создание и управление программным обеспечением утомительным и трудозатратным процессом.
Машинное зрение — это способность компьютеров извлекать информацию и смысл из изображений и видео. С помощью нейронных сетей компьютеры могут различать и распознавать изображения так, как это делают люди. Машинное зрение применяется в нескольких областях, например:
Нейронные сети могут отслеживать действия пользователей для разработки персонализированных рекомендаций. Они также могут анализировать все действия пользователей и обнаруживать новые продукты или услуги, которые интересуют конкретного потребителя. Например, стартап из Филадельфии Curalate помогает брендам конвертировать сообщения в социальных сетях в продажи. Бренды используют службу интеллектуальной маркировки продуктов (IPT) Curalate для автоматизации сбора и обработки контента пользователей социальных сетей. IPT использует нейронные сети для автоматического поиска и рекомендации продуктов, соответствующих активности пользователя в социальных сетях. Потребителям не нужно рыться в онлайн-каталогах, чтобы найти конкретный продукт по изображению в социальных сетях. Вместо этого они могут использовать автоматическую маркировку Curalate, чтобы с легкостью приобрести продукт.
Скрытые слои в сверточных нейронных сетях выполняют определенные математические функции (например, суммирование или фильтрацию), называемые свертками. Они очень полезны для классификации изображений, поскольку могут извлекать из них соответствующие признаки, полезные для распознавания и классификации. Новую форму легче обрабатывать без потери функций, которые имеют решающее значение для правильного предположения. Каждый скрытый слой извлекает и обрабатывает различные характеристики изображения: границы, цвет и глубину.
Нейросети прямого распространения. Узлы таких нейросетей не связаны друг с другом в пределах одного слоя, а информация передается от одного слоя к другому. Это один из базовых типов нейросети, по сути логичное развитие идеи перцептрона. Он не может обеспечить высокой производительности, но хорошо работает в связке с другими нейросетями. Например, если дать такой нейросети кусочек задачи по обработке нескольких пикселей изображения, она сделает это быстро, но результаты все равно нужно будет обработать.
Входной слой
Нейронная сеть медленно накапливает знания из этих наборов данных, которые заранее дают правильный ответ. После обучения сеть начинает делать предположения об этническом происхождении или эмоциях нового изображения человеческого лица, которое она никогда раньше не обрабатывала.
Искусственные нейронные сети постоянно обучаются, используя корректирующие циклы обратной связи для улучшения своей прогностической аналитики. Проще говоря, речь идет о данных, протекающих от входного узла к выходному узлу по множеству различных путей в нейронной сети. Правильным является только один путь, который сопоставляет входной узел с правильным выходным узлом. Чтобы найти этот путь, нейронная сеть использует петлю обратной связи, которая работает следующим образом:
Используются нейросети и для решения более сложных задач. Например, сеть регрессионного типа, созданная в Центре компетенций НТИ «Искусственный интеллект», оптимизирует движение поездов. Алгоритм учитывает около 30 дополнительных параметров, в том числе наличие других поездов на пути, изменение скорости поезда из-за ландшафта и так далее.
Нейронные сети прямого распространения обрабатывают данные в одном направлении, от входного узла к выходному узлу. Каждый узел одного слоя связан с каждым узлом следующего слоя. Нейронные сети прямого распространения используют процесс обратной связи для улучшения прогнозов с течением времени.
Несмотря на невозможность практической реализации, именно тогда были придуманы новые алгоритмы, в том числе сверточные и рекуррентные: сверточные используются для классификации изображений, а рекуррентные — для анализа текста и машинного перевода. В журналах того времени писали, что роботы вот-вот заменят человека, стартапы обещали небывалую прибыль бизнесу, но нейросети все равно считались идеей, которая работает только на бумаге.
Примечание: При такой модели обучение нейронной сети сводится к изменению коэффициенту весов, то есть связи между отдельными нейронами. Если вес положительный — сигнал в нейроне усиливается, нулевой — нейроны не влияют друг на друга, отрицательный — сигнал в принимающем нейроне погашается.