0: Всем привет и добро пожаловать на борт. В 11 выпуске этого курса мы говорили об эмбеддингах, о том, как нейросети превращают слова в наборы чисел, то есть векторы в этом векторном пространстве.
1: Похожие по смыслу слова находятся рядом, но у базовых эмбеддингов есть 1 серьёзная проблема например, возьмём слово коса. Что оно означает? Это причёска, инструмент для покоса травы или длинный песчаный берег, если у слова
2: Всегда один и тот же векторный эмбеддинг. Нейросеть запутается, ведь смысл слова определяется не только набором его букв или цифр, но и окружением, то есть контекстом. Эта концепция перекликается с идеями таких мыслителей, как джереми бентом, готлоб, фреги и
3: Витгенштейн о том, что значение слова определяется не словарём, а его окружением и ситуацией посмотрите на эти 2 предложения нам нужен механизм, который позволит слову посмотреть на соседние слова в предложении, понять контекст и изменить.
4: Свой собственный вектор так, чтобы он отражал конкретный смысл именно в этой ситуации это и есть суть механизма самовнимания селф этеншн.
5: Чтобы понять, как математически работает внимание, давайте обратимся к простой метафоре из мира баз данных или библиотечных архивов. В ней есть 3 главных элемента запрос query ключ k и значение value представьте.
6: Что вы пришли в архив и ищете информацию о космосе ваша потребность, то есть ваш поисковой запрос это query q. На полках стоят папки, на корешке каждой папки, есть бирка с кратким описанием того, что внутри эти бирки.
7: Это и есть кейс, то есть ключи и, наконец, сами страницы текста внутри папок. То есть сама полезная информация, которую вы извлечёте, это вальюс ви, это значение, что вы делаете? Вы берете свой запрос кью и по очереди
8: Сравниваете его с каждым ключом k. На полке, найдя ключ, который максимально похож на ваш запрос, вы берете соответствующее ему значение v. Механизм внимания в нейросетях делает абсолютно тоже самое, но с помощью викто.
9: И матриц возвращаемся к нашему предложению пусть нейросеть сейчас обрабатывает слово точил из нашего примера у этого слова есть свой базовый эмбеддинг назовём его вектор x в механизме.
10: Self attention каждое слово выступает во всех 3 ролях одновременно оно генерирует свой собственный запрос ю, свой ключ k и своё значение v как с помощью умножения на 3 разные матрицы весов.
11: Эти матрицы в q, в k e v v это просто наборы параметров, которые нейросеть изучает во время тренировки с помощью градиентного спуска о нём мы подробно говорили в 7 выпуске в результате умножения вектора на.
12: Эти 3 матрицы мы получаем 3 новых вектора, красный вектор q это то, что слово точил, ищет в других словах синий вектор k. Это то, что оно сообщает о себе другим, и зелёный вектор ви это его истинное смысловое.
13: Содержимое, которое оно готово передать.
14: Теперь слову точил наш текущий запрос. Нужно понять, на какие другие слова в предложении ему нужно обратить внимание. Для этого мы берём вектор запроса кью и сравниваем с векторами ключей key абсолютно всех слов в предложении, включая.
15: Само себя как математически сравнить 2 вектора в машинном обучении самый частый способ это скалярное произведение дот продакт чем больше 2 вектора сонаправлены в пространстве, тем больше будет результат их скалярного произведения.
16: Если запрос и ключ подходят друг другу, получается большое положительное число, если они не связаны, число будет близким к нулю или отрицательным умножив вектор строку запросов на матрицу ключей, мы получаем так называемые сырые оценки.
17: Это числа, показывающие, насколько сильно слово точил хочет обратить внимание на каждое из соседних слов в формуле это записывается как ю. Умноженное на k транспонированное здесь возникает 1 математическая проблема.
18: Векторы кью и k в современных сетях могут быть довольно длинными, содержать сотни чисел при скалярном произведении длинных векторов итоговые суммы получаются огромными это плохо для обучения, поэтому создатели архитектуры transformer предложи.
19: Жили делить этот результат на квадратный корень из размерности векторов ключей, обозначаемый как this индексом k. Это просто стабилизирует числа, не давая им расти до бесконечности это называется скайлет, дот, продакт, масштабированная скаляр.
20: Произведение отлично. Числа стабильны, но это просто набор случайных чисел. От минуса до плюса. Нам же нужны понятные доли внимания. Проценты, которые в сумме дают единицу. Вспоминаем 10 выпуск. Какая функция превращ?
21: Любые числа, вероятностные распределения. Правильно? Это софтмакс софтмакс берет наши сырые оценки и делает так, что самое большое число получает подавляющую часть внимания, а маленькие и отрицательные числа превращаются
22: Значения, близкие к нулю. И вот наступает финальная часть у нас есть веса внимания, проценты того, насколько слово точил должно впитать смысл от окружающих слов. Теперь мы берём те самые зелёные векторы значений.
23: И которые мы подготовили в начале, мы просто умножаем каждое значение v на его процент внимания, а затем складываем их вместе это взвешенная сумма, этот новый вектор, это обновлённый эмбединг слова точил в него.
24: Теперь вшита информация о том, что точили именно косу, а не карандаш или нож слово обогатилось контекстом все эти трюки записываются 1 элегантной формулой, которая лежит в сердце всего современного ии от языковых моделей.
25: До генераторов изображений, кажется, теперь все идеально, но есть нюанс отношения между словами бывают разными 1 слово может быть связано с другим грамматически, например, глагол и существительное, а с 3.
26: Кто выполняет действия, если у нас будет только 1 механизм внимания, он попытается усреднить все это, и мы потеряем детали. Поэтому в архитектуре трансформер используется многоголовое внимание малти хэд этеншен.
27: Идея удивительно проста мы создаём не 1 тройку матриц для q, k и v, а сразу несколько, например, 8 или 16 независимых Голов каждая голова внимания обучается независимо 1 голова может научиться смотр.
28: На подлежащее, другая на предлоги, 3 на эмоциональную окраску предложения в конце результаты от всех Голов просто склеиваются вместе в 1 длинный вектор, который затем обрабатывается обычной полносвязной нейросетью многослойным.
29: Тронном, о котором мы говорили в прошлом 12 выпуске.
30: А теперь можно подвести итог механизм внимания это способ для нейросети понять контекст запрос ищет похожие ключи, затем через скалярное произведение, и софтмакс оценивает их важность, а затем извлекает значе.
31: Создавая новый, теперь уже умный вектор слова и делает это одновременно с разных ракурсов, с помощью многоголового внимания, но как этот механизм работает не с 1 словом, а с тысячами одновременно, как нейросеть, понима?
32: Порядок слов. Если механизм внимания смотрит на все слова разом, если планы не нарушатся, об этом мы поговорим в следующем выпуске данного курса, там мы соберём все детали вместе и, наконец, увидим полную архитектуру трансформер туса.
33: Самую основу, на которой работают современные большие языковые модели типа gpt. Я надеюсь, что после данного и следующего ролика этого курса станет понятно, что большие языковые модели вовсе не стохастические попугаи они
34: Буквально понимают семантику смысловые отношения между словами и фразами под конец хочется добавить кое-что ещё, пока мы с вами вникаем в нейросети с точки зрения машинного обучения, физики начинают видеть в них не просто алгоритмы.
35: А природные системы, например, недавно вышел препринт, где механизмы внимания описываются через законы термодинамики. Там наш запрос квери уподобляется внешнему физическому полю, а ключи кейс крошечным магнитам, которые пытаются с ним.
36: Выровняться. Иначе говоря, в этой модели матрица квери выступает в Роли внешнего электромагнитного поля, а кейс это внутренние диполи своего рода магнитные стрелки. Их взаимодействие это поиск состояния с минимальной энергией.
37: Сама функция софтмакс словно оказывается естественным законом теплового равновесия это даёт новый взгляд на то, почему ii вообще работает, и в частности на такие явления, как галлюцинации и грокинг, возможно, подобным работам будет посвящён.
38: 1 из дальнейших выпусков. Спасибо за просмотр.