Нейронити: как нейросети меняют наш Мир
Денис Некрасов

Иллюстрации в книге Личные фото автора и иллюстрации, сгенерированные нейросетью

© Денис Некрасов, 2023

ISBN 978-5-0060-5131-7

Создано в интеллектуальной издательской системе Ridero

В начале книги хотел бы рассказать

немного о себе и своём опыте, чтобы

ваше погружение в текст происходило

максимально осознанно. И чтобы ваше

понимание описанного коррелировалось

с моим опытом.

Меня зовут Денис Некрасов, IT-предприниматель, разработчик ПО и программ для ЭВМ. У меня есть патенты и свидетельства в государственном реестре. Уже более 15 лет я так или иначе занимаюсь бизнесом, а последние 6 лет – в сфере IT. Я изучаю нейросети, и создаю свои модели, которые применяю в своей деятельности. Также интересуюсь влиянием нейросетей на общество и повседневную жизнь. В этой книге хочу поделиться с вами своим опытом, знаниями и мыслями о нейросетях – технологии, которая меняет наш Мир. Вы узнаете, как нейросети могут помочь вам в разных областях: образовании, развлечениях, здоровье, бизнесе и обществе. Также обсудим, что нам стоит ждать в будущем и стоит ли опасаться развития и активного внедрения нейросетей. В книге я буду приводить реальные примеры применения нейросетей, а также немного теории и прогнозов. Приятного погружения!

Введение: нейросети – что это такое и почему они меняют мир?

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

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

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

Давайте начнём с примера. Вы когда-нибудь задумывались, как ваш смартфон может распознавать ваше лицо или отпечаток пальца? Как он может переводить текст с одного языка на другой? Как он может предлагать вам подходящие приложения или фильмы? Всё это возможно благодаря нейросетям. Они обучаются на большом количестве данных, например, на фотографиях лиц или текстах на разных языках, и находят закономерности в них. Затем они используют эти закономерности для распознавания новых данных или генерации нового контента. Например, нейросеть, которая обучалась на фотографиях лиц, может определить, кто изображён на новом снимке или даже создать новое лицо, которого не существует в реальности. Можно посмотреть проект this-person-does-not-exist. На этом сайте нейросеть создаёт лица никогда не существовавших людей.

Нейросети появились не вчера. Их история начинается ещё в 1943 году, когда два учёных – Уоррен Маккалок и Уолтер Питтс – предложили математическую модель нейрона – основной единицы человеческого мозга. Они показали, что такие нейроны могут объединяться в сети и выполнять логические операции. Это был первый шаг к созданию нейросетей.

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

Фото сгенерировано нейросетью. По запросу: «Две фигуры учёных. 1943 год. Учёные впервые предложили математическую модель нейрона».

Однако настоящий прорыв произошёл в 1957 году, когда Фрэнк Розенблатт создал перцептрон – первую нейросеть, способную обучаться. Перцептрон состоял из двух слоёв нейронов: входного и выходного. Входной слой получал информацию, например, изображение буквы, а выходной слой выдавал ответ, например, название буквы. Перцептрон обучался на примерах правильных ответов и корректировал свои веса – коэффициенты, определяющие важность каждого входа для каждого выхода. Таким образом, перцептрон мог научиться распознавать буквы или другие простые объекты.

Перцептрон вызвал большой интерес и восторг среди учёных и общественности. Многие полагали, что это начало новой эры искусственного интеллекта. Однако вскоре стало ясно, что перцептрон имеет серьёзные ограничения. Он не мог решать задачи, которые требовали нелинейности, то есть такие, которые не могут быть разделены прямой линией. Например, перцептрон не мог научиться функции XOR – исключающее ИЛИ. Это означало, что перцептрон не мог справиться с более сложными задачами, такими как распознавание рукописного текста или голоса. В 1969 году два учёных – Марвин Минский и Сеймур Пейперт – опубликовали книгу «Перцептроны», в которой доказали эти ограничения и критиковали перспективы нейросетей.

Фото сгенерировано нейросетью. По запросу: «Две фигуры учёных. 1969 год. Учёные критикуют перспективы нейросетей».

Эта книга поставила крест на развитии нейросетей на долгие годы. Наступил так называемый «зимний период» в искусственном интеллекте.

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

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

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

Давайте представим, что нейронная сеть – это как обучаемая команда роботов, которая умеет решать задачи.

Каждый нейрон (робот) в этой команде принимает на вход какие-то данные, подобно тому, как робот видит мир вокруг себя. Но важно, чтобы роботы знали, насколько важны разные части данных. Вот где «веса» играют роль!

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

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

• Робот знает, что без теста пицца не получится, так что он дает вес «тесту» больше.

• Оливки могут быть не у всех, на любителя, поэтому они получают меньший вес.

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

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

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

Вернёмся к истории.

В 1990-х годах нейросети стали применяться в разных областях: от распознавания речи и лиц до игровых приложений и финансового анализа. Однако они все ещё сталкивались с проблемами, такими как переобучение – когда нейросеть хорошо работает на тренировочных данных, но плохо на новых данных – или затухание градиента – когда корректировка весов становится слишком маленькой и нейросеть перестаёт обучаться. Также нейросети требовали много данных, вычислительной мощности и времени для обучения. Из-за этого они не могли конкурировать с другими методами машинного обучения, такими как опорные векторы или деревья решений.

Но всё изменилось в 2000-х годах, когда появились новые технологии и данные, которые дали толчок развитию нейросетей. С одной стороны, появились большие наборы данных, такие как ImageNet – коллекция из более 14 миллионов изображений, размеченных по категориям. С другой стороны, появились новые аппаратные средства, такие как графические процессоры (GPU) и тензорные процессоры (TPU), которые позволяли ускорить вычисления и обучение нейросетей. Также появились новые архитектуры и методы нейросетей, такие как свёрточные нейросети (CNN) – специализированные для обработки изображений, рекуррентные нейросети (RNN) – способные обрабатывать последовательности данных, например, текст или речь, и генеративные состязательные сети (GAN) – способные создавать новые данные, например, изображения или тексты.

В 2012 году произошло событие, которое можно назвать революционным для нейросетей. Команда учёных под руководством Джеффри Хинтона представила свою свёрточную нейросеть под названием AlexNet на конкурсе по распознаванию изображений ImageNet Challenge. Эта нейросеть показала поразительный результат: она уменьшила ошибку распознавания на 10 процентных пунктов по сравнению с предыдущим лидером. Это было сравнимо с человеческим уровнем распознавания. AlexNet использовала восемь слоёв нейронов и обучалась на двух GPU в течение пяти дней. Этот успех показал, что глубокие нейросети могут превзойти другие методы машинного обучения и даже человеческий интеллект в некоторых задачах. С тех пор начался бум развития и применения нейросетей в разных областях.

Сегодня мы живём в эпоху нейросетей. Они повсюду: в наших смартфонах, компьютерах, интернете, социальных сетях, играх, медицине, науке, искусстве и т. д. Они помогают нам в повседневной жизни: переводят тексты и речь, распознают лица и объекты, фильтруют спам и рекламу, рекомендуют продукты и контент, создают музыку и картинки, играют в шахматы и Го и многое другое. Они также помогают нам в образовании, развлечениях, здоровье, бизнесе и обществе. О них мы и будем говорить в следующих главах.

Работая над этой книгой, я ещё больше погружаюсь в понимание и осмысление нейронных сетей, и как сказал один известный учёный и писатель: «Лучший способ понять что-то – это объяснить это другому”*. Именно этим и займёмся.

*Ричард Фейнман, американский физик и лауреат Нобелевской премии.

УГЛУБЛЯЕМСЯ В ПОНИМАНИЕ НЕЙРОСЕТЕЙ. УРОВЕНЬ ДЖЕДАЙ

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

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

Как физически выглядит нейросеть

Нейросеть хранится в специальном формате, который называется ONNX (Open Neural Network Exchange). ONNX – это открытый стандарт для обмена моделями машинного обучения между разными фреймворками и платформами. ONNX позволяет сохранять не только параметры нейросети, но и ее архитектуру, то есть структуру и функции слоев. ONNX файлы имеют расширение. onnx и могут быть скопированы, пересланы и развернуты на любом другом устройстве, которое поддерживает этот формат. Конечно, есть и другие форматы, например TensorFlow и HDF5. HDF5 – это еще один формат для хранения моделей машинного обучения, который поддерживается библиотекой Keras. HDF5 файлы имеют расширение. h5 или. hdf5 и также могут быть скопированы, пересланы и развернуты на других устройствах.

Вот так выглядит одна из моих нейросетей. В папке 2 файла.

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

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

Для примера, ChatGPT – это проект, который использует нейросеть GPT-3 для создания интерактивных диалогов на разных языках. Нейросеть GPT-3 – это одна из самых больших и мощных нейросетей в мире, которая состоит из 175 миллиардов параметров. Параметры – это числа, которые определяют, как нейросеть обрабатывает и генерирует текст. Чем больше параметров, тем лучше нейросеть может понимать и создавать разнообразный и сложный текст.

Проект ChatGPT использует несколько версий нейросети GPT-3, которые обучены на разных языках и доменах. Каждая версия хранится в отдельном ONNX файле, который имеет свое имя и размер. Например, версия ChatGPT-en-base. onnx – это базовая модель для английского языка, которая имеет 1.3 миллиарда параметров и занимает 5 ГБ памяти. Версия ChatGPT-ru-large. onnx – это большая модель для русского языка, которая имеет 2.7 миллиарда параметров и занимает 10 ГБ памяти.

Самая мощная нейросеть в Мире сейчас – это GPT-4, которая обучена на 4.5 триллионах слов из интернета. Она состоит из 13 миллиардов параметров и занимает около 50 ГБ памяти. Это один файл в формате ONNX, который очень много весит. По идее, если у вас есть такой файл, вы можете его запустить на одном компьютере, а ваш друг может запустить на другом, если у вас есть достаточно мощный процессор или видеокарта.

А вот немного информации для самостоятельного размышления. Человеческий мозг состоит из более чем 100 миллиардов нейронов. Объём памяти человеческого мозга – это сложная и спорная тема, которая зависит от того, как мы определяем и измеряем память. Однако некоторые ученые пытались оценить этот объем с помощью разных методов и моделей. Например, одна из оценок говорит, что объём памяти человеческого мозга составляет около 2.5 петабайт (2500 терабайт), что эквивалентно 2500 компьютерам с жестким диском на 1 терабайт. Это очень большое число, которое говорит о том, какой потенциал имеет наш мозг для хранения информации.

Самая мощная нейросеть GPT-4 сейчас весит 50 ГБ, а память человеческого мозга оценивается примерно в 2.5 петабайта, что равно 2500 терабайт или 2500000 гигабайт. Это означает, что память человеческого мозга в 50000 раз больше, чем память нейросети GPT-4. Это показывает, насколько сложным и удивительным является наш мозг по сравнению с искусственным интеллектом.

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

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

Про сингулярность

Сингулярность – это гипотетический момент в будущем, когда искусственный интеллект превзойдет человеческий интеллект и станет самообучающимся и самосовершенствующимся. Это может привести к радикальным изменениям в обществе, технологии и жизни. Некоторые ученые и философы считают, что сингулярность возможна и может произойти в этом веке. Некоторые из них полагают, что нейросети – это один из путей к достижению сингулярности, потому что они могут имитировать и превосходить человеческий мозг в разных задачах. Однако другие ученые и философы считают, что сингулярность невозможна или маловероятна, потому что искусственный интеллект имеет свои ограничения и не может полностью понять и контролировать реальность. Они также сомневаются, что нейросети могут достичь уровня общего или сверхинтеллекта, потому что они зависят от данных, алгоритмов и аппаратной поддержки. Это всё ещё спорный вопрос. Я скорее сторонник второй позиции. Работая непосредственно с нейросетями, я вижу проблему данных и те ограничения, которые с этим связаны. Хотелось бы процитировать тут 3 закона робототехники Айзека Азимова, но боюсь, что по отношению к реальным технологиям они слабо применимы. И как я уже писал ранее, нейросеть это мощный инструмент, но не сверхнечто. Наше понимание работы человеческого мозга и природы сознания до сих пор остается ограниченным. Создание искусственного интеллекта, способного повторить все аспекты работы мозга, может оказаться значительно сложнее, чем мы представляем. Мозг имеет множество сложных и неизученных аспектов, и пока неясно, как точно перенести все эти аспекты в машину. На данный момент у нас есть много успешных искусственных интеллектуальных систем, но они все основаны на конкретных алгоритмах и методах обучения. И пока не существует универсального подхода, который бы гарантировал достижение суперинтеллекта.

Не нейросети. Другие технологии искусственного интеллекта, которые тоже могут быть перспективны

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

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

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

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

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

Нейросети для образования: как учиться с удовольствием и эффективностью?

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

Нейросети для адаптивного обучения

Одна из основных проблем традиционного образования заключается в том, что оно не учитывает индивидуальные особенности каждого ученика. Все ученики получают одинаковый учебный материал, выполняют одинаковые задания и оцениваются по одинаковым критериям. Но люди разные: у них разный уровень знаний, разные интересы, разные стили обучения, разная скорость и способность к запоминанию. Поэтому одним ученикам может быть скучно и легко на уроке, другим – трудно и непонятно. Как же сделать так, чтобы каждый ученик получал оптимальный для себя учебный план, который бы соответствовал его потребностям, целям и возможностям?

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