Это нейробаза

Кратко объясняем ключевые термины из области ИИ

Любую технологию, связанную с искусственным интеллектом, сегодня принято называть нейросетью. На самом деле это далеко не всегда корректно: например, GPT-4 — языковая модель на базе нейросети. Вместе с научно-исследовательским Институтом искусственного интеллекта AIRI мы подготовили материал, который поможет разобраться в том, какие технологии сегодня используют разработчики систем искусственного интеллекта, и на базовом уровне понять, как устроены последние достижения в этой области.

Вокруг только и говорят что об искусственном интеллекте. Что это такое?

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

Иногда под искусственным интеллектом (Artificial Intelligence, AI) ошибочно понимают сильный искусственный интеллект (Artificial General Intelligence, AGI) — систему, которая может «думать и действовать» как человек. На самом деле большинство современных разработок в этой сфере предназначены для выполнения конкретных задач, и многие называют их слабым искусственным интеллектом (Narrow AI) или технологиями искусственного интеллекта (AI Technologies). Например, программа для игры в шахматы не умеет отвечать на вопросы, а чат-бот, имитирующий живого собеседника, — рисовать изображения. Тем не менее постепенно искусственный интеллект становится все более функциональным. Например, языковая модель GPT-4, хотя все еще не может генерировать ничего, кроме текста, умеет обрабатывать не только текстовые запросы, но и изображения.

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

Машинное обучение (Machine Learning), глубокое, или глубинное, обучение (Deep Learning) и базисные модели (Foundation Models) — это области в разработке ИИ, которые позволяют системе самостоятельно учиться на основе больших объемов данных и опыта.

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

  • Компьютерное зрение (Computer Vision) — группа задач по разработке алгоритмов и моделей для распознавания и анализа изображений и видео. Сюда относятся технологии распознавания лиц, номерных знаков и, например, диагностика медицинских изображений. Кстати, компьютерное зрение не то же самое, что машинное (подробнее об этом читайте в нашем материале «Смотри внимательно»).
  • Обработка естественного языка (Natural Language Processing, NLP) — группа задач, в которых алгоритмы и модели используются для анализа и понимания естественного языка (то есть языка, на котором люди общаются друг с другом). Сюда относятся, например, технологии автоматического перевода, распознавания речи и анализа тональности текста.

  • Экспертные системы и системы знаний (Expert Systems and Knowledge Management) — эта группа задач предполагает использование баз знаний и правил для создания систем, которые могут принимать (или помогать принимать) решения, а также разрешать проблемы в конкретных областях. К ним относятся, например, системы диагностики и поддержки принятия решений.

Какие технологии и инструменты используют разработчики ИИ?

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

Например, сверточные нейронные сети (Convolutional Neural Networks, CNN) широко используются для обработки изображений и видео. Это особый класс многослойных нейросетей, способных извлекать из изображений характерные признаки, уменьшать эти данные в размере (это и называется сверткой) и благодаря этому эффективно распознавать объекты и обрабатывать большие объемы данных. Такие нейросети могут, например, находить на видео целующихся людей и помогать ученым восстанавливать позы животных.

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

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

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

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

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

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

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

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

Модели машинного обучения (от англ. machine learning model) — это методы, позволяющие компьютерам обучаться на большом количестве данных и благодаря этому делать прогнозы или принимать решения. ML-модели можно использовать, например, для сортировки результатов веб-поиска, прогнозирования цен на недвижимость или определения настроения текста. Для решения более сложных задач, таких как обработка изображений или распознавание речи, они используются в сочетании с нейронными сетями. Модели машинного обучения — важный инструмент для создания систем искусственного интеллекта, которые в том числе применяются в науке (об этом ниже).

  • Датасет — набор данных (изображений, текстов, аудиофайлов и так далее), который используется для обучения модели и проверки ее работоспособности. Можно создавать вручную или собирать автоматически из открытых источников.

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

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

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

  • Обучение с частичным привлечением учителя (semi-supervised learning) — это метод обучения нейронной сети, который использует часть размеченных и часть неразмеченных данных для тренировки модели.

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

  • Разбиение на обучающую, валидационную и тестовую выборки (train test validation split) — это метод разделения датасета на несколько частей для обучения, проверки и оценки модели машинного обучения. Тренировочная часть используется для обучения модели, тестовая — для оценки ее работоспособности, а валидационная — для настройки гиперпараметров (параметров для обучения модели).

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

Генеративные модели (от англ. generative model) — методы искусственного интеллекта, которые используются для создания новых данных (изображений, музыки, текста и прочих) на основе обучающего датасета, состоящего из большого количества данных. Примером больших данных для генеративных моделей могут быть наборы изображений, такие как CIFAR-10, состоящий из 60 000 цветных изображений размером 32×32 пикселя, или ImageNet, который содержит более 1,2 миллиона изображений, разбитых на более чем 1000 категорий.

Генеративно-состязательные сети (от англ. generative adversarial network, GAN) — это разновидность генеративной сети, которая состоит из двух нейронных сетей: генератора, создающего новые данные, например изображения, и дискриминатора, который пытается отличить их от объектов из обучающей выборки. Задача GAN — генерировать такие данные, которые дискриминатор не сумеет опознать как искусственные. Таким образом генеративно-состязательные сети позволяют добиться фотореалистичного результата — например, создавать качественные изображения лиц несуществующих людей.

Наглядный пример работы генеративно-состязательной сети

Трансформерные архитектуры (от англ. transformer architecture)— наиболее сильный тип нейронных сетей на сегодняшний день. Он позволяет более эффективно обрабатывать последовательности данных, таких как текст или речь, за счет параллельных вычислений — в отличие от последовательной обработки в устаревших . Трансформеры используют так называемые слои внимания (от англ. attention layers), позволяющие модели машинного обучения выделять нужное из истории обработки данных и учитывать их в дальнейшем. Именно трансформеры обеспечили прорыв в области автоматической обработки языка и сделали возможным, например, появление GPT-4.

Глубокое, или глубинное, обучение (от англ. deep learning) — это подход к машинному обучению, использующий многократное применение нейронных сетей с большим количеством слоев для решения сложных задач, таких как распознавание речи или обработка изображений.

Говори как разработчик

  • Батч — так иногда называют набор данных (датасет), который используется для обучения модели.

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

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

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

  • Оверфитнулась (от англ. overfitting — «переобучение») — это означает, что модель даже слишком хорошо запомнила обучающий датасет, не способна обобщить эти знания с учетом новых данных и в результате может давать ошибочные предсказания. Оверфит происходит, когда модель чересчур сложна и обладает слишком большим количеством параметров, которые необходимо настроить на тренировочных данных.

Как эти инструменты используются в реальной жизни?

Не нужно обладать особыми знаниями, чтобы увидеть, как технологии искусственного интеллекта меняют мир. Генеративные нейросети уже помогают дизайнерам (подробнее об этом читайте в материале «Совместный сновидческий процесс»), с помощью языковых моделей, например GPT-4, редактируют тексты и даже создают несложные приложения, а компьютерное зрение и другие алгоритмы обеспечивают движение беспилотных автомобилей. Тем не менее технологии искусственного интеллекта нуждаются в совершенствовании. Этим занимаются не только разработчики, но и исследователи, которые решают проблемы, возникающие на этапах разработки или внедрения технологии.

Например, в большинстве беспилотных автомобилей для оценки расстояния до объектов на дороге используют дорогостоящие датчики — лидары. Их высокая стоимость замедляет внедрение технологии в повседневную жизнь, поэтому компании ищут альтернативные подходы к созданию . Один из них предполагает отказ от лидаров в пользу алгоритмов компьютерного зрения. Как раз такое решение предлагают исследователи из научно-исследовательского Института искусственного интеллекта AIRI. Они разработали архитектуру для создания точных карт глубины, которая сочетает преимущества трансформеров и сверточных нейронных сетей, а ее обучение не требует разметки с лидаров (о том, с какими проблемами сталкиваются разработчики беспилотников, читайте в материале «Ваше роботакси подъезжает»).

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

Кроме того, начиная с 1970-х годов исследователи пытались найти способ использовать алгоритмы, чтобы предсказывать структуру белков. По форме белка можно определить его функцию и использовать это знание, например, для создания лекарств. Однако успеха в этой области добились относительно недавно. В 2020 году компания DeepMind представила алгоритм AlphaFold 2, предсказывающий структуры белков по последовательности аминокислот. Появление такого алгоритма — важная ступень в развитии структурной биоинформатики, которая поможет не только в биологии, но и в медицине, ускорив разработку новых лекарств.

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

Еще одна важная задача в биологии — работа с последовательностями ДНК. И если ученым уже вполне доступны языковые модели для последовательностей белков, то для ДНК долгое время в открытом доступе существовала только одна такая разработка, принадлежащая коллективу из США, — модель DNABERT. Исследователи AIRI использовали методы обработки естественного языка, чтобы разработать нейросетевую модель GENA_LM, обученную на самой полной на сегодняшний день сборке генома человека — T2T-CHM13. Проверяя эффективность модели для разных геномных задач, они поняли, что иногда для достижения наилучших результатов требуется увеличивать размер в модели. Так появилась вторая версия GENA на архитектуре BigBird, превосходящая своего предшественника в 8 раз по этому показателю (почти 24 000 ).

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

Нашли опечатку? Выделите фрагмент и нажмите Ctrl+Enter.
Через менторство к мудрости

Как меняется образование и как наставник помогает взять из этого процесса лучшее