Что такое нейросеть и как она работает
Всё, что вы хотели знать о нейронках: как они работают, есть ли у них сознание и когда они нас заменят. Самый полный гайд в Рунете, по мнению ChatGPT.
Иллюстрация: Катя Павловская для Skillbox Media
Вы наверняка уже знакомы и, скорее всего, успели поработать с СhatGPT и другими нейросетями. Они общаются, пишут тексты, рисуют картинки и генерируют другой контент уже практически как люди. Получается, человечество наконец изобрело искусственный интеллект?
Вот об этом и поговорим сегодня. Разберёмся:
- Что такое нейросеть
- Как она работает
- Как обучается
- Какие бывают нейронки
- Где они используются
- Могут ли они нас заменить
Простыми словами: что такое нейросеть
Представьте, что вам нужно написать программу, которая распознаёт котов по фото. Можно написать длинный список правил и алгоритмов по типу «если есть усы и шерсть, то это кот». Но всех условий учесть нельзя — скажем, если хозяйка одела кота в костюм Санта-Клауса или супергероя, алгоритм будет бессилен. В этом случае нам поможет нейронная сеть.
Нейросеть — это программа, которая умеет обучаться на основе данных и примеров. То есть она не работает по готовым правилам и алгоритмам, а пишет их сама во время обучения. Если показать ей миллион фотографий котов, она научится узнавать их в любых условиях, позах и костюмах.
Хитрость нейросети в том, что алгоритмы в ней устроены как нейроны в человеческом мозге — то есть они связаны между собой синапсами и могут передавать друг другу сигналы. Именно от силы этих сигналов и зависит обучение — например, в случае с котами нейросеть сформирует сильные связи между нейронами, распознающими морду и усы.
А чтобы нейронка ещё быстрее решала задачи, разработчики придумали располагать нейроны на разных слоях. Вот, например, как будут работать слои нейросети, если загрузить в неё, скажем, картинку с котом из Шрека:
- Входной слой — получает данные. Картинка раскладывается на пиксели, каждый из которых поступает на отдельный нейрон.
- Скрытые слои — творят магию. Именно в них происходит обработка данных. Нейросеть узнаёт кота, шляпу, траву и другие детали. Условно можно сказать, что чем больше слоёв в нейронке, тем она умнее.
- Выходной слой — выдаёт результат. Нейросеть собирает пазл воедино и отвечает: «Это же тот мем, где Кот в сапогах трогательно смотрит в камеру».
Упрощённо всю эту схему можно представить так (конечно, в реальности всё гораздо сложнее):
Как видите, никакого мышления и сознания в нейросети нет — только алгоритмы и формулы. Единственное, что отличает её от других программ, — это способность обучаться и адаптироваться к новым задачам. О том, как это работает, поговорим чуть позже.
Как работает нейросеть (на примере Midjourney)
Попробуем объяснить работу нейросети более подробно на примере Midjourney — популярного генератора картинок по текстовому описанию. Для примера попросим её нарисовать енота, который летает на скейтборде в стиле фильма «Назад в будущее». Почему бы и нет?
примечание
Тут важно уточнить: технически Midjourney — это не одна нейросеть, а две. Первая отвечает за обработку текста, а вторая — за картинки. То есть мы сможем посмотреть, как нейронки работают с разными видами контента.
Вот как Midjourney будет решать эту задачу:
Шаг 1. Первая нейросеть получает запрос и разбивает его на ключевые слова: «енот», «летает», «скейтборд», «стилистика фильма „Назад в будущее“».
Шаг 2. Затем она превращает слова в наборы цифр, которые называют векторами — так нейросеть сможет определить их смысл.
Шаг 3. Слова в виде векторов передаются на следующий слой нейросети, которая создаёт на их основе набросок будущей картинки. Например, для набора чисел «енот» нейронка создаст пиксельный овал с чёрными полосами.
Шаг 4. Набросок картинки поступает во вторую нейросеть, которая добавляет объектам более сложные детали — цвета, текстуру и освещение. Скажем, для фразы «стилистика фильма „Назад в будущее“» она может добавить доске неоновую подсветку в стиле ретрофутуризма.
За более сложную детализацию отвечает метод стабильной диффузии. Это когда картинка сначала превращается в пиксельный шум, а потом воскресает из него с новыми деталями. Чтобы нейронка могла творить такое колдовство, её научили предсказывать, какие пиксели должны быть на месте размытых.
Шаг 5. Выходной слой улучшает качество изображения и выдаёт готовую картинку.
Например, по нашему запросу Midjourney нарисовала два вот таких очаровательных арта. Какой вам больше нравится?
Вы наверняка спросите: а откуда вообще нейросеть знает, что такое енот, скейтборд, а тем более фильм «Назад в будущее»? Ответ прост: её этому обучили на большом массиве данных, который называется датасетом. Принцип тот же, что и с детьми в яслях: «Смотри, Ванюша, это яблоко. А это морковь. А это, Ванюша, летающий скейтборд в стиле ретрофутуризма» :)
Подробнее о том, как устроен этот процесс, узнаем в следующем разделе.
Как учатся нейросети
В обычном программировании всё стабильно: мы пишем программе инструкции, а она по ним выдаёт какой-то результат. Например, можно прописать, как считать время поездки в метро, и она будет делать это всегда одинаково — по заранее заданному алгоритму.
Нейросеть работает по-другому: она не программируется в классическом смысле, а обучается. Выглядит это так: мы даём ей задачу на входе, а на выходе — готовое решение. А алгоритмы и инструкции она учится писать сама, постоянно сверяясь с ответом. Идея в том, чтобы дать нейросети достаточное количество попыток, и рано или поздно она выдаст нужный результат.
Например, чтобы научить нейронку внутри Midjourney сопоставлять текст с картинками, ей «скормили» огромный массив изображений с подписями. С одного конца нейросеть получала текст, а с другого — картинку. А потом училась определять, что на фото: человек, водолазка или садовый шланг.
Вот как выглядит мини-датасет на примере Ракеты из «Стражей Галактики»:
Текстовое описание
Енот Ракета из фильма «Стражи Галактики»
Картинка
Файл: rocket.jpg
Цвет: коричневый
Разрешение: 1920 × 1080
Животное: енот
А вот как нейронка учится в этом случае:
- Получает пару «текст + картинка» из датасета. К этому шагу нейросеть подходит со случайными весами — то есть незаданными связями между нейронами.
- Делает предсказание. Так как веса случайные, сначала оценка будет неточной. Например, она назовёт енота Ракету фарфоровой вазой.
- Вычисляет ошибку. Смотрит на готовую картинку и подпись, а потом определяет, насколько точно она установила связь.
- Корректирует ошибку и обновляет веса. Усиливает связи между теми нейронами, которые помогут ей распознавать енота. За это отвечает метод обратного распространения ошибки.
- Повторяет эти шаги до тех пор, пока не научится угадывать правильно. Такие попытки называются эпохами обучения.
В результате мы получаем идеальный алгоритм, который способен увидеть связь между картинкой и текстом. Если развернуть его в обратную сторону, как раз и получится генератор изображений по запросу.
А чтобы научить нейросеть думать более гибко, создатели стали давать ей неправильные пары картинок. И со временем она научилась определять силу связи между разными предметами — похожими и не очень. Это позволило нейросети запомнить множество разных способов решения задачи.
В этом и есть главная фишка машинного обучения — оно помогает программе думать креативно. Та же самая Midjourney может выдавать вам тысячи разных енотов по одному и тому же запросу. И конечно, такое количество вариантов не под силу написать даже самой большой команде разработчиков.
Виды нейронных сетей
Сразу оговоримся: существует несколько десятков архитектур нейросетей — но в этом разделе мы обсудим только те, что обрели особую популярность и как-то повлияли на культуру. Если вам нужен полный список, можете заглянуть в нейросетевой зоопарк Института Азимова.
Перцептроны. Первая модель, которую удалось запустить на вычислительной машине — нейрокомпьютере «Марк I». Её разработал ещё в 1958 году учёный Фрэнк Розенблатт — он заложил некоторые принципы, которые потом переняли более сложные модели. Так, несмотря на однослойную структуру, перцептрон уже умел настраивать веса и примитивно корректировать ошибку.
Благодаря нейронке «Марк I» мог даже узнавать отдельные буквы алфавита. С помощью специальной камеры машина сканировала картинки, превращала их в сигналы, которые потом суммировала и выдавала результат: 1 или 0.
Многослойные. Сразу после выхода у перцептрона обнаружилась проблема — ему было сложно распознавать объекты в нестандартных условиях. Чтобы это обойти, придумали многослойную модель — она умеет выделять абстрактные сложные признаки из объектов и решать задачи более гибко. Например, она может распознать объект вне зависимости от освещения и угла наклона.
Рекуррентные. Нейросети, заточенные на работу с последовательностями — текстом, речью, аудио или видео. Идея в том, что они помнят всю цепочку данных, могут понимать её смысл и предсказывать, что будет дальше. Например, эту модель используют 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 было нелегко — как будто пересаживаешься с «Сапсана» на пригородную электричку. То есть, возможно, нас вскоре ждёт полное изменение самой сути потребления информации в Сети. И вот это уже интересно.