К содержанию
устроено

Как устроено разбор

Как работает нейросеть: как устроен искусственный интеллект

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

Редакция «Как устроено», разборы по первоисточникам 6 мин чтения

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

Из чего состоит нейросеть

ЧастьЧто делает
Входной слойПринимает данные в виде чисел: яркость пикселей картинки, кусочки текста, закодированные числами, показания датчиков
Искусственный нейронБерёт входные числа, умножает каждое на свой вес, складывает и прибавляет смещение
Веса и смещенияНастраиваемые числа, в которых хранится всё, чему сеть научилась
Функция активацииРешает, какой сигнал нейрон передаст дальше; например, всё отрицательное превращает в ноль
Скрытые слоиСлои между входом и выходом; в них сеть выделяет признаки — от простых к сложным
Выходной слойВыдаёт ответ: вероятность, что на фото кошка, или какое слово должно идти следующим
Функция ошибкиСравнивает ответ сети с правильным и выражает промах одним числом
Обучающая выборкаНабор примеров с правильными ответами, на которых сеть учится

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

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

Возьмём классическую задачу — узнать рукописную цифру на картинке 28 × 28 точек. На вход подаются 784 числа, яркость каждой точки. На выходе десять нейронов, по одному на каждую цифру.

  1. Случайное начало. Веса задают случайными числами. Сеть пока отвечает наугад.
  2. Пример. Ей показывают картинку с цифрой 7. Сигнал проходит через все слои, и на выходе, скажем, сильнее всех горит нейрон «3».
  3. Подсчёт ошибки. Функция ошибки сравнивает ответ с правильным: должно было гореть «7», а горит «3». Ошибка большая.
  4. Разбор вины. Метод обратного распространения ошибки идёт от выхода ко входу и считает для каждого веса, в какую сторону его сдвинуть, чтобы ошибка стала меньше.
  5. Маленький шаг. Все веса чуть-чуть сдвигаются в нужную сторону. Шаг специально маленький, чтобы сеть не «переучилась» под один пример.
  6. Повторение. Так прогоняют десятки тысяч картинок, потом ещё и ещё раз. Ошибка постепенно падает.
  7. Экзамен. Сеть проверяют на картинках, которых она не видела. Если и там отвечает верно, значит, она выучила закономерность, а не запомнила примеры.

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

Как устроены большие языковые модели

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

  1. Текст режут на токены — кусочки слов. Каждый токен превращается в набор чисел.
  2. Задача обучения одна: угадать следующий токен. Модели показывают огромные объёмы текста — книги, статьи, код — и учат продолжать фразу. Чтобы угадывать хорошо, ей приходится уловить грамматику, факты, логику и стиль.
  3. Механизм внимания. Основа современных моделей — архитектура «трансформер», предложенная в 2017 году. В ней каждое слово при обработке «смотрит» на все остальные и решает, какие важны. Так в предложении «Кошка не запрыгнула на шкаф, потому что он был высоким» модель связывает «он» со шкафом, а не с кошкой.
  4. Дообучение. Потом модель учат быть полезным собеседником: на примерах хороших ответов и на оценках людей, какой из двух ответов лучше.
  5. Ответ. Когда вы задаёте вопрос, модель пишет ответ по одному токену: каждый раз выбирает вероятное продолжение и добавляет его к тексту.

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

Чем нейросеть отличается от мозга и от обычной программы

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

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

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

Интересные факты

  • Первую обучаемую модель нейрона — перцептрон — американский учёный Фрэнк Розенблатт описал в 1958 году. Идее больше полувека, а взлёт случился в 2010-х, когда появились огромные наборы данных и мощные видеокарты.
  • Языковая модель не хранит тексты, на которых училась, как архив. Она хранит веса, в которых «размазаны» закономерности. Поэтому она может пересказать стиль Пушкина, но не всегда точно процитирует строчку.

Почему нейросеть ошибается и как с этим жить

  • Уверенно выдумывает. Языковая модель пишет правдоподобное продолжение, а не проверяет факты. Если точного ответа в данных было мало, она сочинит похожий: несуществующую книгу, неверную дату, ссылку в никуда. Это называют «галлюцинациями».
  • Не знает свежего. Знания заканчиваются на дате сбора данных для обучения, если к модели не подключён поиск.
  • Повторяет перекосы данных. Если в обучающих примерах чего-то было мало или оно было подано однобоко, сеть унаследует этот перекос.
  • Путается в счёте и мелочах. Модель видит токены, а не отдельные буквы и цифры, поэтому ей бывает трудно посчитать буквы в слове или сложить длинные числа без калькулятора.
  • Нельзя проверить «внутри». Невозможно открыть веса и прочитать, почему сеть ответила так. Поэтому важное — дату, дозу, формулу, закон — проверяют по надёжному источнику.

Что умеет ИИ, а что нет

Хорошо получаетсяПлохо получается
Пересказать и объяснить сложный текст другими словамиГарантировать точность дат, цифр и цитат
Набросать черновик письма, план, список идейОтвечать за решение: медицинское, юридическое, денежное
Перевести текст и исправить ошибкиЗнать то, что случилось после обучения, без подключённого поиска
Распознать речь, текст и предметы на фотоЧестно сказать «не знаю», если его специально этому не учили
Найти ошибку в коде и подсказать решениеПонять ситуацию, которой не было в данных

Простое правило: нейросеть — сильный помощник для черновой работы и объяснений, а проверка фактов и последнее слово остаются за человеком.

Вопросы

Нейросеть думает?

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

Почему для нейросетей нужны видеокарты?

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

Откуда нейросеть знает свежие новости?

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

Можно ли доверять нейросети в учёбе?

Как помощнику — да: объяснить тему другими словами, придумать вопросы для самопроверки, найти ошибку в рассуждении. Как источнику фактов, дат и формул — только с проверкой по учебнику.

Поделиться
Была ли страница полезна?

Автор

Редакция «Как устроено»

разборы по первоисточникам

Пишем по учебникам, исследованиям и клиническим рекомендациям, источники под каждым материалом. Нашли ошибку — напишите на redakciya@kakustroeno.ru, исправим.

Источники

  1. Хайкин С. Нейронные сети: полный курс. 2-е изд. М.: Вильямс, 2006.
  2. Гудфеллоу Я., Бенджио И., Курвилль А. Глубокое обучение. М.: ДМК Пресс, 2018.

По теме