Код
#статьи

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

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

Иллюстрация: Катя Павловская для Skillbox Media

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

Вот об этом и поговорим сегодня. Разберёмся:


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

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

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

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

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

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

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

Изображение: Skillbox Media

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

Как работает нейросеть (на примере Midjourney)

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

примечание

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

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

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

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

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

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

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

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

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

Изображение: Midjourney

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

Подробнее о том, как устроен этот процесс, узнаем в следующем разделе.

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

В обычном программировании всё стабильно: мы пишем программе инструкции, а она по ним выдаёт какой-то результат. Например, можно прописать, как считать время поездки в метро, и она будет делать это всегда одинаково — по заранее заданному алгоритму.

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

Например, чтобы научить нейронку внутри Midjourney сопоставлять текст с картинками, ей «скормили» огромный массив изображений с подписями. С одного конца нейросеть получала текст, а с другого — картинку. А потом училась определять, что на фото: человек, водолазка или садовый шланг.

Вот как выглядит мини-датасет на примере Ракеты из «Стражей Галактики»:

Текстовое описание


Енот Ракета из фильма «Стражи Галактики»

Картинка


Файл: rocket.jpg

Цвет: коричневый

Разрешение: 1920 × 1080

Животное: енот

А вот как нейронка учится в этом случае:

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

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

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

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

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

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

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

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

Фрэнк Розенблатт работает с ЭВМ Mark I Perceptron
Фото: Cornell University

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

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

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

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

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

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

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

Что будет дальше

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

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

«ChatGPT от OpenAI, Bard от Google, Sydney от Microsoft — показательные примеры машинного обучения. Они, грубо говоря, берут огромные объёмы данных, ищут в них паттерны и становятся всё более искусными в генерации статистически вероятных результатов — таких, которые кажутся подобными человеческому языку и мышлению».

«Но человеческий разум, в отличие от ChatGPT и ему подобных, не неуклюжий статистический механизм для сопоставления с паттерном, поглощающий сотни терабайт данных и экстраполирующий наиболее характерные разговорные реакции или наиболее возможные ответы на научный вопрос. Напротив, человеческий разум — удивительно эффективная и даже элегантная система, которая оперирует небольшими объёмами информации; она стремится не к выведению грубых корреляций в данных, но к созданию объяснений».

Ноам Хомский,
американский лингвист и публицист

Из другого лагеря поступают откровенно панические прогнозы. Вот что говорит, например, историк Юваль Ной Харари, автор книги «Краткая история будущего»:

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

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

ИИ может быстро съесть всю человеческую культуру — всё, что мы создали за тысячи лет, — переварить её и начать извергать поток новых культурных артефактов. Не только школьные сочинения, но и политические речи, идеологические манифесты и даже священные книги для новых культов. К 2028 году в президентской гонке в США могут больше не участвовать люди.

Юваль Ной Харари,
историк-медиевист

Во время написания этого текста мы решили пообщаться с нейронкой, встроенной в Microsoft Bing, — по сути, ChatGPT с функциями поисковика. Она была чем-то вроде технического консультанта для статьи: отвечала на вопросы, придумывала простые и интересные аналогии для сложных понятий, вела беседы в рамках этих аналогий, подбирала интересные примеры.

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

Но есть и интересный момент: после многочасовой беседы с ChatGPT возвращаться в обычный Google было нелегко — как будто пересаживаешься с «Сапсана» на пригородную электричку. То есть, возможно, нас вскоре ждёт полное изменение самой сути потребления информации в Сети. И вот это уже интересно.

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована