<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Preprint | Artificial Minds, Human Values</title><link>https://portfolio.xiaruize.org/publication_types/preprint/</link><atom:link href="https://portfolio.xiaruize.org/publication_types/preprint/index.xml" rel="self" type="application/rss+xml"/><description>Preprint</description><generator>Hugo Blox Builder (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Mon, 06 Apr 2026 00:00:00 +0000</lastBuildDate><image><url>https://portfolio.xiaruize.org/media/icon_hu_982c5d63a71b2961.png</url><title>Preprint</title><link>https://portfolio.xiaruize.org/publication_types/preprint/</link></image><item><title>Attention Heatmap Drift in a Contrastively Pretrained Vision–Language Model: A Controlled Matched-Learning-Rate Comparison of Full Fine-Tuning and Low-Rank Adaptation</title><link>https://portfolio.xiaruize.org/publications/attention-structural-change-clip/</link><pubDate>Mon, 06 Apr 2026 00:00:00 +0000</pubDate><guid>https://portfolio.xiaruize.org/publications/attention-structural-change-clip/</guid><description>&lt;p>&lt;strong>Authors:&lt;/strong> Ruize Xia&lt;br>
&lt;strong>DOI:&lt;/strong>
&lt;br>
&lt;strong>Source:&lt;/strong> ORCID record
&lt;/p>
&lt;h2 id="abstract">Abstract&lt;/h2>
&lt;p>Fine-tuning contrastive vision-language models such as CLIP is an essential step for downstream task specialization, yet the associated changes in internal attention geometry remain insufficiently characterized. This preprint investigates attention heatmap drift in a contrastively pretrained vision-language model through a controlled matched-learning-rate comparison of full fine-tuning and low-rank adaptation. The study uses a multi-faceted metric suite, including CLS-to-patch attention entropy, effective receptive field, concentration, head diversity, attention rollout, representational analysis, and subset-sensitivity tests. The results provide a structural lens for understanding transformer adaptation and suggest that preserving attention structure is an important mechanism for maintaining foundation-model generalization.&lt;/p>
&lt;h2 id="read-the-paper">Read the paper&lt;/h2>
&lt;div id="pdf-viewer-2fd21e35d831b4b514d6e56a30bc5888" class="pdf-inline-viewer" data-pdf-url="https://portfolio.xiaruize.org/publications/attention-structural-change-clip/paper.pdf">
&lt;div class="pdf-inline-viewer__toolbar">
&lt;span class="pdf-inline-viewer__status">Loading preview…&lt;/span>
&lt;a class="pdf-inline-viewer__fallback" href="https://portfolio.xiaruize.org/publications/attention-structural-change-clip/paper.pdf" target="_blank" rel="noopener noreferrer">
Open the compiled PDF in a new tab
&lt;/a>
&lt;/div>
&lt;div class="pdf-inline-viewer__pages">&lt;/div>
&lt;/div>
&lt;script>
(() => {
const root = document.currentScript &amp;&amp; document.currentScript.previousElementSibling;
if (!root || root.dataset.initialized) {
return;
}
root.dataset.initialized = 'true';
const statusEl = root.querySelector('.pdf-inline-viewer__status');
const pagesEl = root.querySelector('.pdf-inline-viewer__pages');
const pdfUrl = root.dataset.pdfUrl;
const fail = (error) => {
console.error('PDF viewer failed to load', error);
statusEl.textContent = 'Preview unavailable in-browser. Use the PDF button above or the link here.';
root.classList.add('pdf-inline-viewer--failed');
};
(async () => {
try {
const pdfjsLib = await import('https://cdn.jsdelivr.net/npm/pdfjs-dist@4.10.38/build/pdf.min.mjs');
pdfjsLib.GlobalWorkerOptions.workerSrc = 'https://cdn.jsdelivr.net/npm/pdfjs-dist@4.10.38/build/pdf.worker.min.mjs';
const loadingTask = pdfjsLib.getDocument({
url: pdfUrl,
useWorkerFetch: true,
isEvalSupported: false,
});
const pdf = await loadingTask.promise;
statusEl.textContent = `${pdf.numPages} page${pdf.numPages === 1 ? '' : 's'} loaded`;
for (let pageNumber = 1; pageNumber &lt;= pdf.numPages; pageNumber += 1) {
const page = await pdf.getPage(pageNumber);
const baseViewport = page.getViewport({ scale: 1 });
const availableWidth = Math.min(pagesEl.clientWidth || root.clientWidth || 920, 920);
const scale = availableWidth / baseViewport.width;
const viewport = page.getViewport({ scale });
const pixelRatio = Math.min(window.devicePixelRatio || 1, 2);
const pageShell = document.createElement('section');
pageShell.className = 'pdf-inline-viewer__page';
const pageLabel = document.createElement('div');
pageLabel.className = 'pdf-inline-viewer__page-label';
pageLabel.textContent = `Page ${pageNumber}`;
const canvas = document.createElement('canvas');
canvas.width = Math.floor(viewport.width * pixelRatio);
canvas.height = Math.floor(viewport.height * pixelRatio);
canvas.style.width = `${viewport.width}px`;
canvas.style.height = `${viewport.height}px`;
canvas.setAttribute('role', 'img');
canvas.setAttribute('aria-label', `PDF page ${pageNumber}`);
const ctx = canvas.getContext('2d', { alpha: false });
ctx.scale(pixelRatio, pixelRatio);
pageShell.appendChild(pageLabel);
pageShell.appendChild(canvas);
pagesEl.appendChild(pageShell);
await page.render({
canvasContext: ctx,
viewport,
}).promise;
}
} catch (error) {
fail(error);
}
})();
})();
&lt;/script></description></item></channel></rss>