Найти тему
NьЮ pОsТ

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

Оглавление

Простыми словами: что такое нейросеть

Представьте, что вам нужно написать программу, которая распознаёт котов по фото. Можно написать длинный список правил и алгоритмов по типу «если есть усы и шерсть, то это кот». Но всех условий учесть нельзя — скажем, если хозяйка одела кота в костюм Санта-Клауса или супергероя, алгоритм будет бессилен. В этом случае нам поможет нейронная сеть.

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

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

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

  • Входной слой — получает данные. Картинка раскладывается на пиксели, каждый из которых поступает на отдельный нейрон.
  • Скрытые слои творят магию. Именно в них происходит обработка данных. Нейросеть узнаёт кота, шляпу, траву и другие детали. Условно можно сказать, что чем больше слоёв в нейронке, тем она умнее.
  • Выходной слой — выдаёт результат. Нейросеть собирает пазл воедино и отвечает: «Это же тот мем, где Кот в сапогах трогательно смотрит в камеру».

Упрощённо всю эту схему можно представить так (конечно, в реальности всё гораздо сложнее):

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

Попробуем объяснить работу нейросети более подробно на примере Midjourney — популярного генератора картинок по текстовому описанию. Для примера попросим её нарисовать енота, который летает на скейтборде в стиле фильма «Назад в будущее». Почему бы и нет?

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

Вот как Midjourney будет решать эту задачу:

Шаг 1. Первая нейросеть получает запрос и разбивает его на ключевые слова: «енот», «летает», «скейтборд», «стилистика фильма „Назад в будущее“».

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

Шаг 3. Слова в виде векторов передаются на следующий слой нейросети, которая создаёт на их основе набросок будущей картинки. Например, для набора чисел «енот» нейронка создаст пиксельный овал с чёрными полосами.

Шаг 4. Набросок картинки поступает во вторую нейросеть, которая добавляет объектам более сложные детали — цвета, текстуру и освещение. Скажем, для фразы «стилистика фильма „Назад в будущее“» она может добавить доске неоновую подсветку в стиле ретрофутуризма.

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

Шаг 5. Выходной слой улучшает качество изображения и выдаёт готовую картинку.

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

Вы наверняка спросите: а откуда вообще нейросеть знает, что такое енот, скейтборд, а тем более фильм «Назад в будущее»? Ответ прост: её этому обучили на большом массиве данных, который называется датасетом. Принцип тот же, что и с детьми в яслях: «Смотри, Ванюша, это яблоко. А это морковь. А это, Ванюша, летающий скейтборд в стиле ретрофутуризма» :)
Вы наверняка спросите: а откуда вообще нейросеть знает, что такое енот, скейтборд, а тем более фильм «Назад в будущее»? Ответ прост: её этому обучили на большом массиве данных, который называется датасетом. Принцип тот же, что и с детьми в яслях: «Смотри, Ванюша, это яблоко. А это морковь. А это, Ванюша, летающий скейтборд в стиле ретрофутуризма» :)

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

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

Перцептроны. Первая модель, которую удалось запустить на вычислительной машине — нейрокомпьютере «Марк I». Её разработал ещё в 1958 году учёный Фрэнк Розенблатт — он заложил некоторые принципы, которые потом переняли более сложные модели. Так, несмотря на однослойную структуру, перцептрон уже умел настраивать веса и примитивно корректировать ошибку.

Благодаря нейронке «Марк I» мог даже узнавать отдельные буквы алфавита. С помощью специальной камеры машина сканировала картинки, превращала их в сигналы, которые потом суммировала и выдавала результат: 1 или 0.

-3

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

Рекуррентные. Нейросети, заточенные на работу с последовательностями — текстом, речью, аудио или видео. Идея в том, что они помнят всю цепочку данных, могут понимать её смысл и предсказывать, что будет дальше. Например, эту модель используют Google Translate и «Алиса», чтобы генерировать связный текст.

Свёрточные. Берут на себя всю работу с картинками: распознавание, генерацию, обработку, удаление фона — всё что угодно. За это в них отвечают два алгоритма: свёртка и пулинг. Первый делает послойную нарезку картинки, а второй — находит и кодирует на этих слоях самые важные признаки.

Генеративные. Любые нейросети, которые что-то создают. Когда получается хорошо, люди их боятся, когда плохо — чувствуют своё превосходство. Из актуальных примеров: генераторы картинок Midjourney и DALL-E, автор похожих на написанные человеком текстов ChatGPT и обработчик селфи Lensa.

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

Сейчас уже проще перечислить, где их нет. Но вот несколько жизненных примеров:

  • Нейронка внутри поисковика Microsoft Bing отвечает на сложные вопросы пользователей. Например: «Поместится ли диван из IKEA в минивэн Volkswagen».
  • Та же нейросеть внутри ChatGPT составляет любые тексты по запросу. В России даже есть студент, который написал и защитил диплом с её помощью.
  • Голосовые помощники «Сбера» и «Тинькофф» анализируют речь клиентов, чтобы общаться с ними и решать сложные вопросы. Это позволяет компаниям нанимать меньше сотрудников в техподдержку.
  • Алгоритмы «ВКонтакте» анализируют вашу активность в соцсетях, чтобы подбирать нужные мемы с котами, новости и рекламу.
  • Селфи-камеры в смартфоне применяют фильтры для фотографий, чтобы люди получались хорошенькими.
  • Face ID в айфоне строит цифровые модели лица пользователя, чтобы узнавать его в любых условиях: в темноте, на улице, в очках, с бородой, с новой причёской и так далее.
  • Роботы-доставщики «Яндекс Еды» прокладывают путь от склада до клиента в обход препятствий и c соблюдением ПДД, чтобы доставлять посылки в целости.
  • В Москве нейросети помогают медицинским центрам анализировать ЭКГ, УЗИ и рентгеновские снимки для диагностики заболеваний.