Что такое нейронные сети и где их используют?

21.08.2023
30 мин
9487
11
Что такое нейронные сети и где их используют? Заглавный коллаж статьи.

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

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

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

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

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

Такие модели не заменяют работу специалистов, но помогают оптимизировать рутинные процессы.

Из чего состоит нейросеть

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

Искусственные нейроны — это структурные единицы, которые получают, обрабатывают и возвращают информацию. Они соединены между собой синапсами.

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

Вес — это коэффициент, из-за которого передаваемая между структурными единицами информация может меняться.

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

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

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

Неглубокая (слева) и глубокая (справа) нейросети. Данные: Packt.

История возникновения нейросетей

В 1943 году нейрофизиолог Уоррен Мак-Каллок и логик Уолтер Питтс опубликовали статью, где смоделировали биологическую работу органического нейрона с помощью электрических цепей. Они предположили, что нейрон можно представить как вычислительную единицу, способную принимать входные сигналы, обрабатывать их и выдавать выходные сигналы.

Нейрон, предложенный Мак-Каллоком—Питтсом. Данные: Towards Data Science.

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

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

В 1958 году вдохновленный публикацией Маккаллоха и Питтса нейрофизиолог Фрэнк Розенблатт разработал перцептрон. Именно его можно назвать первой практической реализацией нейросети.

Архитектура перцептрона.

В 1960 году ученый создал вычислительную машину «Марк I» на базе перцептрона. Это была система с простой взаимосвязью вход-выход, способная обучаться в простейших задачах.

Нейрокомпьютер «Марк I» — первая реализация перцептрона. Данные: Корнеллский университет.

В 1959 году исследователи из Стэнфордского университета Бернард Уидроу и Тед Хофф разработали первую нейронную сеть MADALINE, успешно примененную к реальной проблеме. Она используется до сих пор и помогает устранять помехи в телефонных линиях.

Эти ранние достижения породили растущую шумиху вокруг возможностей и потенциала нейросетей.

В 1958 году, на пике ажиотажа вокруг «думающих машин», издание The New York Times опубликовало статью о перспективах моделей.

В 1961 году также вышло интервью с ИИ-пионерами Джеромом Визнером, Оливером Селфриджем и Клодом Шенноном о будущем технологии.

Однако в 1969 году основатель ИИ-лаборатории MIT Марвин Мински и ее директор Сеймур Пейперт опубликовали книгу «Перцептроны». В ней ученые предположили, что однослойные модели нельзя эффективно преобразовать в многослойные.

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

Также Мински и Пейперт изложили и другие проблемы с алгоритмами. Это привело научное сообщество и финансирующие учреждения к выводу о бесполезности дальнейших исследований в этом направлении. Началась «зима ИИ».

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

Нейронная сеть Хопфилда.

В том же году на конференции по кооперативным и конкурентным нейронным сетям Япония объявила о новой работе над моделями пятого поколения. В США опасались проиграть в гонке. Финансирование исследований возобновилось.

В 1985 году Американский институт физики учредил ежегодное собрание «Нейронные сети в вычислительной технике».

В 1987 году Институт инженеров электротехники и электроники организовал первую Международную конференцию по нейронным сетям.

В 1986 году три независимые группы исследователей заново открыли метод обратного распространения ошибки, предложенный социологом Полом Вербосом еще в 1974 году.

К 1990-м годам нейронные сети снова стали популярными, поразив воображение мира и оправдав его ожидания, если не превзойдя их. 

В 2006 году ученый Джеффри Хинтон и его коллеги разработали глубокие нейронные сети с использованием алгоритма обратного распространения ошибки. Это стало переломным моментом в развитии технологии, который позволил повысить точность и эффективность тренировки. С тех пор нейронные сети стали широко применяться в различных областях.

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

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

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

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

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

Например, если решение задачи требует ответа «да» или «нет», то нейросеть будет иметь один выходной узел и возвращать результат «1» или «0». Однако в случае множественной классификации выходной слой может состоять из более чем одного узла.

Обучение нейросети

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

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

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

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

На этом этапе, например, когда модель распознает котов на фото с точностью более 95%, можно сказать, что она обучена.

Тренировочные данные

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

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

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

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

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

Если данные размечены некачественно, модель может содержать ошибки.

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

Архитектуры нейронных сетей

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

Типы нейронных сетей. Данные: The Asimov Institute.

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

Такие сети работают в одном направлении — они передают информацию от входа к выходу.

Архитектура нейросети с прямой связью.

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

Сверточные нейросети (CNN) обычно применяют в связанных с компьютерным зрением задачах. 

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

Архитектура глубокой сверточной нейронной сети.

CNN анализируют не все данные сразу, а проходятся по ним фильтром с заданным размером.

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

Двумерная свертка.

Рекуррентные нейронные сети (RNN) используют для обработки естественного языка.

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

Архитектура рекуррентной нейронной сети.

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

Сеть с долгой краткосрочной памятью (LSTM) решает проблему потери сведений в рекуррентных моделях.

Архитектура сети с долгой краткосрочной памятью.

В LSTM каждый нейрон имеет клетку памяти и три фильтра: входной, выходной и забывающий. Их цель — защитить информацию. 

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

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

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

Генеративно-состязательные нейросети (GAN) применяют для создания дипфейков, аудио- или видеоконтента. Также на их основе разрабатывают приложения для стилизации фото.

GAN состоит из двух моделей: генератора, который создает контент, и дискриминатора, оценивающего его.

Архитектура генеративно-состязательной нейросети.

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

Таким образом, возникает состязание между генератором и дискриминатором: первый учится обманывать второго, а второй — раскрывать обман.

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

Где используются нейросети в современном мире

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

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

Также ИИ-модели, в сочетании с обучением с подкреплением, применяют в играх — от настольных типа го до компьютерных вроде Dota 2 или Quake III.

Нейросети лежат в основе множества приложений и сервисов. Например, их использует Apple для понимания и генерации речи голосовым помощником Siri, а Microsoft — для перевода веб-страниц в реальном времени в браузере Bing. 

Каждый поисковой запрос в Google задействует несколько ИИ-алгоритмов, чтобы понять язык вопроса и персонализировать результаты.

С помощью нейросетей AR-фильтры Snapchat и TikTok могут находить лица пользователей и накладывать на них различные эффекты. Также модели помогают Instagram искать релевантные видео для рекомендаций.

В 2022 году начали набирать популярность алгоритмы, позволяющие всем желающим создавать уникальные картины по отрывку текста. ИИ-генераторы изображений вроде DALL-E 2, Midjourney и Stable Diffusion XL до сих пор пользуются спросом и будут применятся еще долгое время.

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

Чат-боты вроде ChatGPT от OpenAI способны разговаривать на различные темы и понимать контекст, признавать ошибки, шутить и спорить.

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

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

Недостатки нейросетей

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

Например, при обучении ИИ-алгоритма SAM обнаружению неизвестных ранее объектов на изображениях и видео Meta использовала набор из 11 млн картинок и 1,1 млрд масок-аннотаций.

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

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

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

Корпорации вроде Meta, Apple, Microsoft и Alphabet тратят на создание ИИ-алгоритмов десятки миллиардов долларов. Расходы включают исследования, разработку, тренировку, проверку работоспособности, развертывание, коммерциализацию и поддержку технологии.

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

Еще одна проблема использования нейросетей касается этики. Разработчики не всегда могут контролировать распространение и применение технологии. Алгоритмы нельзя считать авторами, но ответственность за их некорректное «поведение» несут создатели.

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

Будущее нейросетей

Разработчики нейросетей стремятся к созданию общего ИИ (AGI). Такая система сможет успешно решать любые интеллектуальные задачи, которые способны выполнять люди.

Согласно некоторым прогнозам, AGI появится в ближайшее десятилетие, а по другим — не ранее, чем через 100 лет.

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

Среди наиболее реалистичных перспектив ИИ-моделей:

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

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

Вывод

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

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

  • Искусственная нейросеть — это попытка с помощью математических моделей воспроизвести работу человеческого мозга. Она состоит из нейронов, которые получают, обрабатывают и возвращают информацию, и синапсов.
  • Впервые биологическую работу органического нейрона ученые смоделировали в 1943 году. Исследователи Уоррен Мак-Каллок и Уолтер Питтс предположили, что нейрон можно представить как вычислительную единицу, способную принимать входные сигналы, обрабатывать их и выдавать выходные сигналы.
  • Для обучения алгоритмов решению задач разработчики используют наборы размеченных или неразмеченных данных. 
  • Известно около 30 типов моделей, среди которых сверточные, рекуррентные и генеративно-состязательные нейросети.
  • Недостатками нейросетей являются необходимость использования большого количества качественных обучающих данных и мощного оборудования. Другим вызовом может стать время, требуемое для создания высокоточных моделей 
  • Одними из главных направлений развития нейросетей выделяют улучшение их производительности, точности и эффективности, расширение области применения и интеграцию с другими технологиями вроде блокчейна.

Часто задаваемые вопросы

Нейросеть — это обучаемый алгоритм, созданный для выполнения конкретных задач.
Необходимо выбрать подходящий под ваши задачи алгоритм, проверить его доступность в вашем регионе, уточнить, является ли сервис бесплатным или распространяется по подписной модели.
Большинство популярных сервисов имеет собственные веб-сайты. Такие ресурсы есть, например, у DALL-E 2, Midjourney и Stable Diffusion XL.
Нейронные сети используют для решения различных задач практически во всех областях. Они помогают понимать и генерировать речь, создавать уникальные картины по подсказке, переводить тексты, управлять беспилотными автомобилями и открывать новые лекарства.

Как вам статья?

11
0

статьи на эту же тему

Как новичку создать и распознать...
avatar Maryna Hlaiboroda
23.10.2023
Что такое машинное обучение? Все, что...
avatar Maryna Hlaiboroda
07.10.2023
Генерация видео по тексту: что это и...
avatar Maryna Hlaiboroda
16.09.2023