<?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE article PUBLIC "-//NLM/DTD JATS (Z39.96) Journal Publishing DTD v1.2 20120330//EN" "http://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1.dtd">
    <!--<?xml-stylesheet type="text/xsl" href="article.xsl">-->
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:ns1="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.2" xml:lang="en">
	<front>
		<journal-meta>
			<journal-id journal-id-type="issn">2303-9868</journal-id>
			<journal-id journal-id-type="eissn">2227-6017</journal-id>
			<journal-title-group>
				<journal-title>Международный научно-исследовательский журнал</journal-title>
			</journal-title-group>
			<issn pub-type="epub">2303-9868</issn>
			<publisher>
				<publisher-name>ООО Цифра</publisher-name>
			</publisher>
		</journal-meta>
		<article-meta>
			<article-id pub-id-type="doi">10.60797/IRJ.2026.171.24</article-id>
			<article-categories>
				<subj-group>
					<subject>Brief communication</subject>
				</subj-group>
			</article-categories>
			<title-group>
				<article-title>Использование механизма внимания в графовых нейронных сетях для фильтрации обучающих данных на примере рекомендательных систем</article-title>
			</title-group>
			<contrib-group>
				<contrib contrib-type="author" corresp="yes">
					<name>
						<surname>Гудков</surname>
						<given-names>Василий Михайлович</given-names>
					</name>
					<email>dfcz.petro@yandex.ru</email>
					<xref ref-type="aff" rid="aff-1">1</xref>
				</contrib>
			</contrib-group>
			<aff id="aff-1">
				<institution-wrap>
					<institution-id institution-id-type="ROR">https://ror.org/0543j5e78</institution-id>
					<institution content-type="education">Воронежский государственный университет</institution>
				</institution-wrap>
			</aff>
			<pub-date publication-format="electronic" date-type="pub" iso-8601-date="2026-09-17">
				<day>17</day>
				<month>09</month>
				<year>2026</year>
			</pub-date>
			<pub-date pub-type="collection">
				<year>2026</year>
			</pub-date>
			<volume>6</volume>
			<issue>171</issue>
			<fpage>1</fpage>
			<lpage>6</lpage>
			<history>
				<date date-type="received" iso-8601-date="2026-06-15">
					<day>15</day>
					<month>06</month>
					<year>2026</year>
				</date>
				<date date-type="accepted" iso-8601-date="2026-08-20">
					<day>20</day>
					<month>08</month>
					<year>2026</year>
				</date>
			</history>
			<permissions>
				<copyright-statement>Copyright: &amp;#x00A9; 2022 The Author(s)</copyright-statement>
				<copyright-year>2022</copyright-year>
				<license license-type="open-access" xlink:href="http://creativecommons.org/licenses/by/4.0/">
					<license-p>
						This is an open-access article distributed under the terms of the Creative Commons Attribution 4.0 International License (CC-BY 4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited. See 
						<uri xlink:href="http://creativecommons.org/licenses/by/4.0/">http://creativecommons.org/licenses/by/4.0/</uri>
					</license-p>
					.
				</license>
			</permissions>
			<self-uri xlink:href="https://research-journal.org/archive/9-171-2026-september/10.60797/IRJ.2026.171.24"/>
			<abstract>
				<p>Современные рекомендательные системы демонстрируют высокую точность, но характеризуются значительной ресурсоемкостью, что затрудняет их практическое внедрение и масштабирование. Статья посвящена методу оптимизации обучения рекомендательных систем путем сокращения объема обучающих данных с помощью механизма внимания в графовых нейронных сетях. Предложенный подход, основанный на фильтрации менее значимых взаимодействий на основе весов внимания, позволяет снизить вычислительные затраты и ускорить процесс обучения без существенной потери качества рекомендаций. Экспериментальная проверка на датасете Amazon Books подтвердила эффективность метода для различных архитектур (LightGCN, BPR, KNN). Результаты работы указывают на перспективность использования механизмов внимания как средства повышения эффективности обучения.</p>
			</abstract>
			<kwd-group>
				<kwd>рекомендательные системы</kwd>
				<kwd> графовые нейронные сети</kwd>
				<kwd> механизм внимания</kwd>
				<kwd> машинное обучение</kwd>
				<kwd> дистилляция знаний</kwd>
			</kwd-group>
		</article-meta>
	</front>
	<body>
		<sec>
			<title>HTML-content</title>
			<p>1. Введение</p>
			<p>Рекомендательные системы стали неотъемлемой частью современных цифровых платформ, обеспечивая персонализированный доступ к информации, товарам и сервисам. Они используются в интернет-магазинах для формирования индивидуальных товарных подборок, в медиасервисах  для ранжирования фильмов, музыки и новостей, в социальных сетях  для рекомендации друзей и так далее. Эффективность таких систем напрямую влияет на удовлетворенность пользователей, время взаимодействия с платформой и коммерческие метрики, что делает область рекомендательных алгоритмов одной из наиболее интенсивно развивающихся в современном машинном обучении.</p>
			<p>1.1. Современные подходы и механизм внимания</p>
			<p>В последние годы активно развиваются алгоритмы использующие глубокие нейронные сети, в частности нейронные сети, включающие механизм внимания. К наиболее заметным подходам относятся нейро-факторизационные модели, архитектуры последовательных рекомендаций на основе Transformer, вдохновленные достижениями в области языковых моделей, а также графовые модели [1], [2], [3], [4], [5].</p>
			<p>1.2. Проблемы использования современных моделей машинного обучения</p>
			<p>Современные рекомендательные модели демонстрируют впечатляющие результаты, однако их повсеместное внедрение часто оказывается существенно затруднено. Основная проблема заключается в высокой ресурсоемкости таких моделей, обусловленной несколькими факторами.</p>
			<p>Во-первых, большинство актуальных архитектур — многослойные архитектуры, реализующие свое преимущество через масштабируемость за счет увеличения числа параметров.</p>
			<p>Во-вторых, реальные рекомендательные системы работают в динамических условиях. Быстро появляются как новые алгоритмы, так и новые области, в которых необходимы точные рекомендации. Это приводит к необходимости частого обучения моделей. Для тяжелых моделей такая частота обновлений становится практически невыполнимой.</p>
			<p>В-третьих, часто модели чувствительны к гиперпараметрам. Настройка и оценка требует полного цикла обучения, что в совокупности с ресурсоемкостью данного процесса приводит к невозможности полноценного анализа влияния параметров и в следствии использования эмпирических значений.</p>
			<p>Таким образом, несмотря на высокую точность, современные рекомендательные модели оказываются трудными для использования в реальных системах из-за высокой вычислительной стоимости и требования к регулярному переобучению. Это формирует запрос на методы, которые позволяют ускорить обучение, уменьшить объем данных или снизить сложность модели без существенной потери качества.</p>
			<p>2. Методы и принципы исследования</p>
			<p>Ключевая идея настоящей работы концептуально опирается на подходы дистилляции знаний, активно развиваемые в области больших языковых моделей (LLM) [6], [7]. В классической дистилляции знаний информация передаётся от сложной модели-учителя к более простой модели-ученику за счет использования внутренних состояний модели-учителя (обычно внутренних активаций). Однако в предлагаемом исследовании используется альтернативное направление дистилляции. Вместо внутренних состояний слоев нейросети источником знаний выступают веса внимания, формируемые крупной рекомендательной моделью. Значения внимания интерпретируются как индикатор важности отдельных взаимодействий пользователя с объектами. Это позволяет выделить наиболее информативные элементы обучающих данных и использовать их. Таким образом, предлагаемая работа переносит идеологию дистилляции из LLM в область рекомендательных систем, но делает это через механизм фильтрации данных, а не через передачу внутренних скрытых представлений.</p>
			<p>2.1. Методы</p>
			<p>Механизм внимания (attention) реализует предложение о том, что необходимо фокусироваться на наиболее значимых элементах входных данных. В рекомендательных системах это означает способность выявлять наиболее информативные пользовательские взаимодействия  такие, которые вносят наибольший вклад в итоговые рекомендации.</p>
			<p>Интуитивно внимание работает как механизм адаптивного взвешивания: алгоритм самостоятельно определяет важные элементы, присваивая им большие коэффициенты значимости.</p>
			<p>Формально механизм внимания для рекомендательных систем можно ввести следующим образом. Пусть пользователь [LATEX_FORMULA]u \in U[/LATEX_FORMULA]имеет историю взаимодействий [LATEX_FORMULA]s_1, s_2,...,s_m[/LATEX_FORMULA] и потенциального кандидата на рекомендацию [LATEX_FORMULA]i_t \ (s, i \in I)[/LATEX_FORMULA], тогда имеет место мера, которая будет показывать насколько стоит обращать внимание на каждый объект из истории в момент данной рекомендации</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>s</mml:mi>
					<mml:mi>c</mml:mi>
					<mml:mi>o</mml:mi>
					<mml:mi>r</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:msub>
						<mml:mi>s</mml:mi>
						<mml:mi>k</mml:mi>
					</mml:msub>
					<mml:mo>,</mml:mo>
					<mml:msub>
						<mml:mi>i</mml:mi>
						<mml:mi>t</mml:mi>
					</mml:msub>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>,</mml:mo>
					<mml:mi>k</mml:mi>
					<mml:mo>=</mml:mo>
					<mml:mn>1</mml:mn>
					<mml:mo>.</mml:mo>
					<mml:mo>.</mml:mo>
					<mml:mi>m</mml:mi>
					<mml:mo>.</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>Тогда вес внимания для одного взаимодействия</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>α</mml:mi>
						<mml:mrow>
							<mml:mi>k</mml:mi>
							<mml:mi>t</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:mfrac>
						<mml:mrow>
							<mml:msup>
								<mml:mi>e</mml:mi>
								<mml:mrow>
									<mml:mo>score</mml:mo>
									<mml:mo stretchy="false">(</mml:mo>
									<mml:msub>
										<mml:mi>s</mml:mi>
										<mml:mi>k</mml:mi>
									</mml:msub>
									<mml:mo>,</mml:mo>
									<mml:msub>
										<mml:mi>i</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:mo stretchy="false">)</mml:mo>
								</mml:mrow>
							</mml:msup>
						</mml:mrow>
						<mml:mrow>
							<mml:msubsup>
								<mml:mo>∑</mml:mo>
								<mml:mrow>
									<mml:mi>j</mml:mi>
									<mml:mo>=</mml:mo>
									<mml:mn>1</mml:mn>
								</mml:mrow>
								<mml:mi>m</mml:mi>
							</mml:msubsup>
							<mml:msup>
								<mml:mi>e</mml:mi>
								<mml:mrow>
									<mml:mo>score</mml:mo>
									<mml:mo stretchy="false">(</mml:mo>
									<mml:msub>
										<mml:mi>s</mml:mi>
										<mml:mi>j</mml:mi>
									</mml:msub>
									<mml:mo>,</mml:mo>
									<mml:msub>
										<mml:mi>i</mml:mi>
										<mml:mi>t</mml:mi>
									</mml:msub>
									<mml:mo stretchy="false">)</mml:mo>
								</mml:mrow>
							</mml:msup>
						</mml:mrow>
					</mml:mfrac>
					<mml:mo>,</mml:mo>
					<mml:mspace width="2em"/>
					<mml:mi>k</mml:mi>
					<mml:mo>=</mml:mo>
					<mml:mn>1</mml:mn>
					<mml:mo>,</mml:mo>
					<mml:mo>…</mml:mo>
					<mml:mo>,</mml:mo>
					<mml:mi>m</mml:mi>
					<mml:mo>.</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>В подавляющем большинстве методов машинного обучения адаптация модели происходит за счет минимизации функции потерь. В общем виде ее можно представить следующим образом</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>L</mml:mi>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mrow>
						<mml:mi mathvariant="bold-italic">θ</mml:mi>
					</mml:mrow>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:msubsup>
						<mml:mo>∑</mml:mo>
						<mml:mrow>
							<mml:mi>i</mml:mi>
							<mml:mo>=</mml:mo>
							<mml:mn>0</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mi>N</mml:mi>
						</mml:mrow>
					</mml:msubsup>
					<mml:mi>l</mml:mi>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:msub>
						<mml:mi>y</mml:mi>
						<mml:mi>i</mml:mi>
					</mml:msub>
					<mml:mo>,</mml:mo>
					<mml:msub>
						<mml:mover>
							<mml:mrow>
								<mml:mi>y</mml:mi>
							</mml:mrow>
							<mml:mo stretchy="false">^</mml:mo>
						</mml:mover>
						<mml:mi>i</mml:mi>
					</mml:msub>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>,</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>где </p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>i</mml:mi>
				</mml:mrow>
			</mml:math>
			<p> номер обучающего примера, [LATEX_FORMULA]N[/LATEX_FORMULA]  их общее количество, [LATEX_FORMULA]y_i[/LATEX_FORMULA]  предсказанное моделью значение, [LATEX_FORMULA]\hat{y_i}[/LATEX_FORMULA]  точное значение, [LATEX_FORMULA]l[/LATEX_FORMULA]  функция потерь на одном примере, [LATEX_FORMULA]\theta[/LATEX_FORMULA]  обучаемые (оптимизируемые) параметры модели.</p>
			<p>Заметим, что функция потерь, а следовательно, и оптимизируемое значение напрямую зависят от обучающей выборки, используемой для оптимизации параметров [LATEX_FORMULA]\theta[/LATEX_FORMULA]. Как известно существуют функции, одинаково преобразующие множество входных аргументов во множество выходных, отличающихся при этом только представлением.</p>
			<p>Из этих предпосылок и формируется идея данной статьи – преобразовать функцию потерь в более компактный вид с минимальной потерей показателей использующих ее моделей. Как следствие такой подход должен ускорить как процесс настройки параметров моделей за счет более быстрого процесса обучения, так и процесс внедрения новых моделей за счет возможности использовать оптимизированные наборы данных с произвольными алгоритмами машинного обучения.</p>
			<p>В графовых нейронных сетях (архитектурах на основе GAT [8], [9]) рекомендации строятся за счет формирования в процессе обучения латентных (скрытых) представлений вершин и пользователей. Релевантность рекомендации определяет близость полученных представлений, т.е. величиной скалярного произведения</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>y</mml:mi>
						<mml:mrow>
							<mml:mi>u</mml:mi>
							<mml:mi>i</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:msub>
						<mml:mi>h</mml:mi>
						<mml:mi>u</mml:mi>
					</mml:msub>
					<mml:msubsup>
						<mml:mi>h</mml:mi>
						<mml:mi>i</mml:mi>
						<mml:mi>T</mml:mi>
					</mml:msubsup>
					<mml:mo>,</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>где </p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>h</mml:mi>
						<mml:mi>u</mml:mi>
					</mml:msub>
					<mml:mo>∈</mml:mo>
					<mml:msup>
						<mml:mi>R</mml:mi>
						<mml:mi>d</mml:mi>
					</mml:msup>
				</mml:mrow>
			</mml:math>
			<p> представление пользователя [LATEX_FORMULA]u[/LATEX_FORMULA], [LATEX_FORMULA]h_i \in R^d[/LATEX_FORMULA]  представление объекта [LATEX_FORMULA]i[/LATEX_FORMULA], [LATEX_FORMULA]d[/LATEX_FORMULA]  размерность пространства представлений.</p>
			<p>В качестве графа рассматривается граф взаимодействий  двудольный граф [LATEX_FORMULA]G=(U \cup I, E)[/LATEX_FORMULA], где [LATEX_FORMULA]U[/LATEX_FORMULA]  множество пользователей, [LATEX_FORMULA]I[/LATEX_FORMULA]  множество объектов, а [LATEX_FORMULA]E \subseteq U × I[/LATEX_FORMULA]  множество рёбер, отражающих взаимодействия между ними (например, факт покупки или оценки). Пример такого графа представлен на рисунке 1.</p>
			<fig id="F1">
				<label>Figure 1</label>
				<caption>
					<p>Граф взаимодействий</p>
				</caption>
				<alt-text>Граф взаимодействий</alt-text>
				<graphic ns1:href="/media/images/2026-09-16/795a5822-eb7b-4cc9-b79f-e2549a6a9fd2.jpg"/>
			</fig>
			<p>Представления обновляются итеративно по следующим формулам:</p>
			<code>[LATEX_FORMULA]h_i&amp;apos; = \alpha_{ii} W_s h_i + \sum\limits_{j \in N(i)} \alpha_{ij} W_t h_j,[/LATEX_FORMULA]</code>
			<p>где </p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>W</mml:mi>
						<mml:mi>s</mml:mi>
					</mml:msub>
					<mml:mo>,</mml:mo>
					<mml:msub>
						<mml:mi>W</mml:mi>
						<mml:mi>t</mml:mi>
					</mml:msub>
					<mml:mo>∈</mml:mo>
					<mml:msup>
						<mml:mi>R</mml:mi>
						<mml:mrow>
							<mml:mi>d</mml:mi>
							<mml:mi>×</mml:mi>
							<mml:mi>d</mml:mi>
						</mml:mrow>
					</mml:msup>
				</mml:mrow>
			</mml:math>
			<p> обучаемые параметры модели, матрицы преобразования представления при передаче по графу, [LATEX_FORMULA]\alpha_{ij}[/LATEX_FORMULA]  коэффициент внимания, [LATEX_FORMULA]N(i)[/LATEX_FORMULA]  множество вершин соседей вершины [LATEX_FORMULA]i[/LATEX_FORMULA].</p>
			<p>Оценка внимания вводится следующим образом:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mo>score</mml:mo>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:msub>
						<mml:mi>h</mml:mi>
						<mml:mi>i</mml:mi>
					</mml:msub>
					<mml:mo>,</mml:mo>
					<mml:msub>
						<mml:mi>h</mml:mi>
						<mml:mi>j</mml:mi>
					</mml:msub>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>=</mml:mo>
					<mml:msup>
						<mml:mi>a</mml:mi>
						<mml:mi>T</mml:mi>
					</mml:msup>
					<mml:mo>LeakyReLU</mml:mo>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:msub>
						<mml:mi>W</mml:mi>
						<mml:mi>s</mml:mi>
					</mml:msub>
					<mml:msub>
						<mml:mi>h</mml:mi>
						<mml:mi>i</mml:mi>
					</mml:msub>
					<mml:mo>+</mml:mo>
					<mml:msub>
						<mml:mi>W</mml:mi>
						<mml:mi>t</mml:mi>
					</mml:msub>
					<mml:msub>
						<mml:mi>h</mml:mi>
						<mml:mi>j</mml:mi>
					</mml:msub>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>,</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>где </p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>a</mml:mi>
					<mml:mo>∈</mml:mo>
					<mml:msup>
						<mml:mi>R</mml:mi>
						<mml:mi>d</mml:mi>
					</mml:msup>
				</mml:mrow>
			</mml:math>
			<p> обучаемый параметр, вектор получения внимания.</p>
			<p>Подставляя [LATEX_FORMULA](6)[/LATEX_FORMULA] в [LATEX_FORMULA](2)[/LATEX_FORMULA] получаем формулу для вычисления весов внимания:</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:msub>
						<mml:mi>α</mml:mi>
						<mml:mrow>
							<mml:mi>k</mml:mi>
							<mml:mi>t</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>=</mml:mo>
					<mml:mfrac>
						<mml:mrow>
							<mml:mi>exp</mml:mi>
							<mml:mrow>
								<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
								<mml:msup>
									<mml:mi>a</mml:mi>
									<mml:mi>T</mml:mi>
								</mml:msup>
								<mml:mo>LeakyReLU</mml:mo>
								<mml:mo stretchy="false">(</mml:mo>
								<mml:msub>
									<mml:mi>W</mml:mi>
									<mml:mi>s</mml:mi>
								</mml:msub>
								<mml:msub>
									<mml:mi>h</mml:mi>
									<mml:mi>k</mml:mi>
								</mml:msub>
								<mml:mo>+</mml:mo>
								<mml:msub>
									<mml:mi>W</mml:mi>
									<mml:mi>t</mml:mi>
								</mml:msub>
								<mml:msub>
									<mml:mi>h</mml:mi>
									<mml:mi>t</mml:mi>
								</mml:msub>
								<mml:mo stretchy="false">)</mml:mo>
								<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
							</mml:mrow>
						</mml:mrow>
						<mml:mrow>
							<mml:munder>
								<mml:mo>∑</mml:mo>
								<mml:mrow>
									<mml:mi>j</mml:mi>
									<mml:mo>∈</mml:mo>
									<mml:mi>N</mml:mi>
									<mml:mo stretchy="false">(</mml:mo>
									<mml:mi>k</mml:mi>
									<mml:mo stretchy="false">)</mml:mo>
									<mml:mo>∪</mml:mo>
									<mml:mi>i</mml:mi>
								</mml:mrow>
							</mml:munder>
							<mml:mi>exp</mml:mi>
							<mml:mrow>
								<mml:mo stretchy="true" fence="true" form="prefix">(</mml:mo>
								<mml:msup>
									<mml:mi>a</mml:mi>
									<mml:mi>T</mml:mi>
								</mml:msup>
								<mml:mo>LeakyReLU</mml:mo>
								<mml:mo stretchy="false">(</mml:mo>
								<mml:msub>
									<mml:mi>W</mml:mi>
									<mml:mi>s</mml:mi>
								</mml:msub>
								<mml:msub>
									<mml:mi>h</mml:mi>
									<mml:mi>k</mml:mi>
								</mml:msub>
								<mml:mo>+</mml:mo>
								<mml:msub>
									<mml:mi>W</mml:mi>
									<mml:mi>t</mml:mi>
								</mml:msub>
								<mml:msub>
									<mml:mi>h</mml:mi>
									<mml:mi>j</mml:mi>
								</mml:msub>
								<mml:mo stretchy="false">)</mml:mo>
								<mml:mo stretchy="true" fence="true" form="postfix">)</mml:mo>
							</mml:mrow>
						</mml:mrow>
					</mml:mfrac>
					<mml:mo>,</mml:mo>
					<mml:mspace width="1em"/>
					<mml:mi>k</mml:mi>
					<mml:mo>=</mml:mo>
					<mml:mn>1</mml:mn>
					<mml:mo>…</mml:mo>
					<mml:mo stretchy="false">|</mml:mo>
					<mml:mi>U</mml:mi>
					<mml:mo>∪</mml:mo>
					<mml:mi>I</mml:mi>
					<mml:mo stretchy="false">|</mml:mo>
					<mml:mo>,</mml:mo>
					<mml:mspace width="0.278em"/>
					<mml:mi>t</mml:mi>
					<mml:mo>∈</mml:mo>
					<mml:mi>N</mml:mi>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>k</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>Подбор обучаемых параметров [LATEX_FORMULA]W_s, W_t, a[/LATEX_FORMULA] осуществляется за счет минимизации функции потерь. В рамках данной архитектуры используется Bayesian personalized ranking loss или BPRLoss [11]</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>L</mml:mi>
					<mml:mo>=</mml:mo>
					<mml:munder>
						<mml:mo>∑</mml:mo>
						<mml:mrow>
							<mml:mo stretchy="false">(</mml:mo>
							<mml:mi>u</mml:mi>
							<mml:mo>,</mml:mo>
							<mml:mi>i</mml:mi>
							<mml:mo>,</mml:mo>
							<mml:mi>j</mml:mi>
							<mml:mo stretchy="false">)</mml:mo>
						</mml:mrow>
					</mml:munder>
					<mml:mo>−</mml:mo>
					<mml:mi>ln</mml:mi>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>σ</mml:mi>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:msub>
						<mml:mi>y</mml:mi>
						<mml:mrow>
							<mml:mi>u</mml:mi>
							<mml:mi>i</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo>−</mml:mo>
					<mml:msub>
						<mml:mi>Y</mml:mi>
						<mml:mrow>
							<mml:mi>u</mml:mi>
							<mml:mi>j</mml:mi>
						</mml:mrow>
					</mml:msub>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo stretchy="false">)</mml:mo>
					<mml:mo>,</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>где </p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>u</mml:mi>
					<mml:mo>,</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo>,</mml:mo>
					<mml:mi>j</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
				</mml:mrow>
			</mml:math>
			<p> тройки пользователь, верная рекомендация, неверная рекомендация. Идея данной функции ошибки состоит в максимизации вероятности (минимизации отрицательного логарифма вероятности) верного ранжирования, т.е. такого ранжирования, в котором оценка верной рекомендации выше неверной рекомендации.</p>
			<p>По окончании процесса оптимизации функции потерь значения [LATEX_FORMULA]\alpha_{ij}[/LATEX_FORMULA] сохраняются вместе с соответствующими взаимодействиями.</p>
			<p>2.2. Материалы</p>
			<p>Amazon Books [15] представляет собой поднабор крупномасштабного корпуса пользовательских отзывов Amazon и содержит данные о взаимодействиях пользователей с товарами категории «книги».</p>
			<p>В рамках задачи рекомендаций данные интерпретируются в постановке неявной обратной связи (implicit feedback), где наличие взаимодействия между пользователем и книгой рассматривается как положительный сигнал, а отсутствие взаимодействия  как неявный негативный сигнал.</p>
			<p>Разделение на обучающую и тестовую выборку в обоих случаях производилось с использованием стратегии randomsplit, т.е. в качестве тестового набора используется случайная часть фиксированного размера. Размер тестовой выборки 20%.</p>
			<p>2.3. Фильтрация</p>
			<p>В связи с разреженностью данных могут существовать различия в результатах в зависимости от того, как будут отбираться взаимодействия по весам внимания:</p>
			<p>- </p>
			<p>число k  выбирается фиксированное число взаимодействий на каждого пользователя, независимо от длинны истории, т.е. каждый пользователь ограничивается абсолютным значением;</p>
			<p>- доля p — выбирается доля от общего числа, т.е. каждый пользователь ограничивается относительно длинны своей истории взаимодействий.</p>
			<p>Результаты моделей сравниваются при каждом различном количестве взаимодействий на пользователя, в одном из трёх сценариев:</p>
			<p>- random  для каждого пользователя выбирается k случайных или p процентов взаимодействий;</p>
			<p>- top  для каждого пользователя выбирается k или p процентов взаимодействий с наибольшими весами внимания;</p>
			<p>- bottom  для каждого пользователя выбирается k или p процентов взаимодействий с наименьшими весами внимания.</p>
			<p>При этом полная модель GAT обучается на всем наборе и не участвует в оценке результатов после фильтрации. Параметры модели подбираются также по модели, использующей полный набор данных.</p>
			<p>Максимальное значение k  95 перцентиль длинны истории пользовательских взаимодействий. Для Amazon Books это примерно 100.</p>
			<p>3. Основные результаты</p>
			<p>Результаты предлагаемого подхода оценивается в паре с тремя различными вариантами алгоритмов коллаборативной фильтрации LightGCN, BPR и базового алгоритма ближайших соседей item-based KNN.</p>
			<p>LightGCN [10]  графовая нейронная сеть основанная на тех же принципах, что и GAT, но использующая механизм обновления весов без обучаемых параметров</p>
			<code>[LATEX_FORMULA]h_i&amp;apos; = \sum\limits_{j \in N(i)} \frac{1}{\sqrt{\deg(i) \deg(j)}} h_i,[/LATEX_FORMULA]</code>
			<p>где </p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>d</mml:mi>
					<mml:mi>e</mml:mi>
					<mml:mi>g</mml:mi>
					<mml:mo stretchy="false">(</mml:mo>
					<mml:mi>i</mml:mi>
					<mml:mo stretchy="false">)</mml:mo>
				</mml:mrow>
			</mml:math>
			<p> степень вершины [LATEX_FORMULA]i[/LATEX_FORMULA].</p>
			<p>Модель BPR напрямую оптимизирует представления пользователей и объектов путем минимизации ошибки в виде (8).</p>
			<p>Item-based KNN [12] использует для рекомендаций близость объектов в user-item матрице по корреляционному коэффициенту Пирсона.</p>
			<p>Для оценки эффективности были использованы две метрики: Hit Ratio и Mean Reciprocal Rank или же HR@K и MRR [13].</p>
			<p>Hit ratio  показывает долю предсказаний по которым в верхних [LATEX_FORMULA]K[/LATEX_FORMULA] рекомендованных объектах есть реально оцененный объект</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mtext>HR</mml:mtext>
					<mml:mi>@</mml:mi>
					<mml:mi>K</mml:mi>
					<mml:mo>=</mml:mo>
					<mml:mfrac>
						<mml:mrow>
							<mml:mo stretchy="false">|</mml:mo>
							<mml:mo stretchy="false">{</mml:mo>
							<mml:mi>u</mml:mi>
							<mml:mi>:</mml:mi>
							<mml:msub>
								<mml:mtext>rank</mml:mtext>
								<mml:mi>u</mml:mi>
							</mml:msub>
							<mml:mo>≤</mml:mo>
							<mml:mi>K</mml:mi>
							<mml:mo stretchy="false">}</mml:mo>
							<mml:mo stretchy="false">|</mml:mo>
						</mml:mrow>
						<mml:mrow>
							<mml:mo stretchy="false">|</mml:mo>
							<mml:mi>U</mml:mi>
							<mml:mo stretchy="false">|</mml:mo>
						</mml:mrow>
					</mml:mfrac>
					<mml:mo>,</mml:mo>
				</mml:mrow>
			</mml:math>
			<p>где </p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mi>r</mml:mi>
					<mml:mi>a</mml:mi>
					<mml:mi>n</mml:mi>
					<mml:msub>
						<mml:mi>k</mml:mi>
						<mml:mi>u</mml:mi>
					</mml:msub>
				</mml:mrow>
			</mml:math>
			<p> первая позиция, на которой был рекомендован релевантный объект для пользователя [LATEX_FORMULA]u[/LATEX_FORMULA]. Оценивает возможность рекомендовать правильные объекты в некотором окне.</p>
			<p>Mean Reciprocal Rank измеряет среднее значение обратного ранга первого релевантного объекта в рекомендованном списке, отражая способность модели помещать релевантный элемент на максимально высокую позицию.</p>
			<mml:math display="inline">
				<mml:mrow>
					<mml:mtext>MRR</mml:mtext>
					<mml:mo>=</mml:mo>
					<mml:mfrac>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:mo stretchy="false">|</mml:mo>
							<mml:mi>U</mml:mi>
							<mml:mo stretchy="false">|</mml:mo>
						</mml:mrow>
					</mml:mfrac>
					<mml:munder>
						<mml:mo>∑</mml:mo>
						<mml:mrow>
							<mml:mi>u</mml:mi>
							<mml:mo>∈</mml:mo>
							<mml:mi>U</mml:mi>
						</mml:mrow>
					</mml:munder>
					<mml:mfrac>
						<mml:mrow>
							<mml:mn>1</mml:mn>
						</mml:mrow>
						<mml:mrow>
							<mml:msub>
								<mml:mtext>rank</mml:mtext>
								<mml:mi>u</mml:mi>
							</mml:msub>
						</mml:mrow>
					</mml:mfrac>
				</mml:mrow>
			</mml:math>
			<p>Таким образом, HR@30 оценивает вероятность появления правильной рекомендации в выдаче из 30 объектов, а MRR  близость результата к началу выдачи.</p>
			<p>Эксперименты над Amazon Books показывают следующие результаты (рисунки 2 и 3):</p>
			<fig id="F2">
				<label>Figure 2</label>
				<caption>
					<p>Результаты для k</p>
				</caption>
				<alt-text>Результаты для k</alt-text>
				<graphic ns1:href="/media/images/2026-06-12/ad8c6b7a-f1d0-4b80-8da6-4e713404f26b.png"/>
			</fig>
			<fig id="F3">
				<label>Figure 3</label>
				<caption>
					<p>Результаты для p</p>
				</caption>
				<alt-text>Результаты для p</alt-text>
				<graphic ns1:href="/media/images/2026-06-12/85146600-f762-4ca0-b57a-320bb45849b8.png"/>
			</fig>
			<p>4. Обсуждение</p>
			<p>Как может быть видно из графиков, результат разнится в зависимости от применяемой модели. При этом непосредственно в рамках одной модели наблюдаемые метрики демонстрируют одинаковую динамику.</p>
			<p>Также стоит заметить, что для всех экспериментов свойственно падение метрик к 0 взаимодействий на пользователя. Это говорит как об адекватности моделей (отсутствие пользовательской истории приводит модели к случайным предсказаниям), так и о наличии некоторого оптимального значения длинны пользовательской истории.</p>
			<p>Для вариации с k наиболее значимый вывод  результаты с фильтрацией по значению внимания почти полностью совпадают со случайной выборкой. Второй вывод  для отдельных моделей фильтрация позволяет сместить точку падения метрик, но в зависимости от самой модели лучшие результаты показывает фильтрация по максимальному вниманию (KNN), минимальному значению (BPR) или же вовсе не оказывают существенного влияния (LightGCN).</p>
			<p>Интереснее выглядит вариация с p. Для всех трех моделей фильтрация показывает возможность снизить объем обучающих данных. При этом для LightGCN и BPR дополнительно наблюдается прирост метрик.</p>
			<p>Недостатком же служит тот факт, что различные модели выдают различную динамику изменения метрик, что не дает универсальных рекомендаций к применению представленного подхода и требует проведения разведывательного анализа, что может в ряде сценариев свести к минимуму полезность применения представленного метода.</p>
			<p>5. Заключение</p>
			<p>В настоящей работе был исследован подход к сокращению объема обучающих данных рекомендательных систем на основе использования механизма внимания графовых нейронных сетей.</p>
			<p>Проведенные эксперименты показали, что переиспользование оценок внимания модели GAT позволяет для представленных моделей сохранять качество при повышении скорости обучения.</p>
			<p>Полученные результаты подтверждают перспективность использования механизмов внимания как инструмента оптимизации обучающих данных, особенно в условиях, в которых модели с механизмом внимания уже интегрированы в рекомендательные системы. Предложенный подход открывает возможности для снижения вычислительных затрат при обучении рекомендательных систем, ускорения подбора гиперпараметров и более эффективного применения ресурсоемких моделей в условиях регулярного обновления данных.</p>
			<p>Развитием идеи, представленной в данной статье может послужить исследование других моделей с использованием внимания, например, вариантов генеративных и последовательных моделей.</p>
		</sec>
		<sec sec-type="supplementary-material">
			<title>Additional File</title>
			<p>The additional file for this article can be found as follows:</p>
			<supplementary-material xmlns:xlink="http://www.w3.org/1999/xlink" id="S1" xlink:href="https://doi.org/10.5334/cpsy.78.s1">
				<!--[<inline-supplementary-material xlink:title="local_file" xlink:href="https://research-journal.org/media/articles/25946.docx">25946.docx</inline-supplementary-material>]-->
				<!--[<inline-supplementary-material xlink:title="local_file" xlink:href="https://research-journal.org/media/articles/25946.pdf">25946.pdf</inline-supplementary-material>]-->
				<label>Online Supplementary Material</label>
				<caption>
					<p>
						Further description of analytic pipeline and patient demographic information. DOI:
						<italic>
							<uri>https://doi.org/10.60797/IRJ.2026.171.24</uri>
						</italic>
					</p>
				</caption>
			</supplementary-material>
		</sec>
	</body>
	<back>
		<ack>
			<title>Acknowledgements</title>
			<p/>
		</ack>
		<sec>
			<title>Competing Interests</title>
			<p/>
		</sec>
		<ref-list>
			<ref id="B1">
				<label>1</label>
				<mixed-citation publication-type="confproc">Zhang Y. Deep learning for recommender systems / Y. Zhang, X. Chen // ACM Computing Surveys. — 2020. — Vol. 52, № 1. — P. 1–38.</mixed-citation>
			</ref>
			<ref id="B2">
				<label>2</label>
				<mixed-citation publication-type="confproc">Zhang K. Explainable recommender systems: A survey and new perspectives / K. Zhang, L. Zheng, X. Wang // ACM Computing Surveys. — 2020. — Vol. 54, № 6. — P. 1–37.</mixed-citation>
			</ref>
			<ref id="B3">
				<label>3</label>
				<mixed-citation publication-type="confproc">Wang X. A survey on knowledge graph-based recommender systems / X. Wang, X. He, M. Wang // IEEE Transactions on Knowledge and Data Engineering. — 2021. — Vol. 34, № 8. — P. 3549–3578.</mixed-citation>
			</ref>
			<ref id="B4">
				<label>4</label>
				<mixed-citation publication-type="confproc">Chang B. Sequential recommendation: A survey of methods, applications, and evaluation / B. Chang, Y. Sun, Y. Zhu // ACM Computing Surveys. — 2021. — Vol. 54, № 8. — P. 1–40.</mixed-citation>
			</ref>
			<ref id="B5">
				<label>5</label>
				<mixed-citation publication-type="confproc">Wu L. Graph neural networks for recommender systems: Challenges, methods, and directions / L. Wu, J. Li, P. Sun // IEEE Transactions on Knowledge and Data Engineering. — 2022. — Vol. 35, № 4. — P. 3077–3104.</mixed-citation>
			</ref>
			<ref id="B6">
				<label>6</label>
				<mixed-citation publication-type="confproc">Gu Y. MiniLLM: Knowledge Distillation of Large Language Models / Y. Gu, L. Dong, F. Wei et al. // arXiv preprint. — 2023. — URL: https://arxiv.org/abs/2306.08543 (accessed: 12.06.26)</mixed-citation>
			</ref>
			<ref id="B7">
				<label>7</label>
				<mixed-citation publication-type="confproc">Yang C. Survey on Knowledge Distillation for Large Language Models: Methods, Evaluation, and Application / C. Yang, L. Wang, Y. Zhu et al. // ACM Computing Surveys. — 2024. — Vol. 57, № 5. — P. 35.</mixed-citation>
			</ref>
			<ref id="B8">
				<label>8</label>
				<mixed-citation publication-type="confproc">Veličković P. Graph attention networks / P. Veličković // arXiv preprint . — 2017 — URL: https://arxiv.org/abs/1710.10903 (дата обращения: 12.06.2026) [in English]</mixed-citation>
			</ref>
			<ref id="B9">
				<label>9</label>
				<mixed-citation publication-type="confproc">Brody S. How attentive are graph attention networks? / S. Brody, U. Alon, E. Yahav // arXiv preprint. — 2021 — URL: https://arxiv.org/abs/2105.14491 (дата обращения: 12.06.2026) [in English]</mixed-citation>
			</ref>
			<ref id="B10">
				<label>10</label>
				<mixed-citation publication-type="confproc">He X. Lightgcn: Simplifying and powering graph convolution network for recommendation / He X. et al. // Proceedings of the 43rd International ACM SIGIR conference on research and development in Information Retrieval. — 2020. — P. 639–648.</mixed-citation>
			</ref>
			<ref id="B11">
				<label>11</label>
				<mixed-citation publication-type="confproc">Rendle S. BPR: Bayesian personalized ranking from implicit feedback. / Rendle S. [et al.] // arXiv preprint. — 2012. — URL: https://arxiv.org/abs/1205.2618 (accessed: 12.06.2026).</mixed-citation>
			</ref>
			<ref id="B12">
				<label>12</label>
				<mixed-citation publication-type="confproc">Aggarwal C.C. Recommender systems / C.C. Aggarwal [et al.] — Cham : Springer International Publishing, 2016. — Vol. 1. — DOI 10.1007/978-3-319-29659-3</mixed-citation>
			</ref>
			<ref id="B13">
				<label>13</label>
				<mixed-citation publication-type="confproc">Ricci F. Introduction to recommender systems handbook / F. Ricci, L. Rokach, B. Shapira // Recommender systems handbook. — Boston, MA : Springer US, 2010. — P. 1–35.</mixed-citation>
			</ref>
			<ref id="B14">
				<label>14</label>
				<mixed-citation publication-type="confproc">MovieLens // GroupLens Research. — DOI: 10.1234/movielens.2024</mixed-citation>
			</ref>
			<ref id="B15">
				<label>15</label>
				<mixed-citation publication-type="confproc">Amazon Review Data // Jianmo Ni. — 2018. — URL: https://nijianmo.github.io/amazon/index.html (accessed: 12.06.2026).</mixed-citation>
			</ref>
		</ref-list>
	</back>
	<fundings/>
</article>