أساسيات تعلم الآلة1984متوسط11 دقيقة قراءة

الاسترخاء العشوائي وتوزيعات غيبس والاستعادة البايزية للصور

Stochastic Relaxation, Gibbs Distributions, and the Bayesian Restoration of Images

Geman, S. · Geman, D. — IEEE Transactions on Pattern Analysis and Machine Intelligence

المشكلة

الصور الحقيقية تتعرّض للتشويش والتمويه والتشوّه، واستعادة الصورة الأصلية منها مسألة عكسية غير محدّدة المعالم: يوجد عدد هائل من الصور النظيفة التي كان يمكن أن تُنتج الصورة المُشوَّشة نفسها. الطرق التقليدية إما اعتمدت على مرشّحات مصمَّمة يدوياً دون آلية مبدئية لإدماج المعرفة المسبقة عن طبيعة الصور، أو صاغت مسائل أمثَلة سرعان ما تعلق في حلول محلية رديئة لأنّ فضاء الحلول ضخم ضخامة فلكية.

الإسهام

إطار من ثلاثة محاور يوحّد الفيزياء الإحصائية مع التحليل البايزي للصور. المحور الأول: أثبتت الورقة أنّ حقول ماركوف العشوائية — حيث تعتمد كل نقطة على جيرانها فقط — مكافئة رياضياً لتوزيعات غيبس في الميكانيكا الإحصائية. المحور الثاني: قدّمت عيّنة غيبس التي تحدّث متغيراً واحداً في كل خطوة بالسحب من توزيعه الشرطي بمعلومية جيرانه، فتتولّد سلسلة ماركوف تتقارب نحو التوزيع البَعدي المطلوب. المحور الثالث: دمجت أخذ العيّنات مع التلدين المحاكي — أي خفض تدريجي لدرجة الحرارة — للوصول إلى البَعدية (MAP)، متفاديةً الحلول المحلية التي تعلق فيها الطرق الحتمية.

الأثر

أسّست هذه الورقة الثورة الحديثة في طرق مونت كارلو بسلاسل ماركوف. غدت عيّنة غيبس الأداة المحورية للحوسبة البايزية في الإحصاء والفيزياء وعلم الوراثة ومعالجة اللغة الطبيعية والتعلّم الآلي. فتحت الباب أمام الأساليب البايزية للتعامل مع مسائل تحوي آلاف أو ملايين المتغيرات — من نماذج الموضوعات (LDA) إلى التنبؤ ببنية البروتينات. وأصبح التكافؤ بين حقول ماركوف العشوائية وتوزيعات غيبس ركيزة أساسية في النماذج البيانية .

تخيّل أحجية (بازل) فقدتَ نصف قطعها. حلّها دفعةً واحدة مستحيل، لكنك تستطيع التقدّم قطعة بقطعة: اختر مكاناً فارغاً، تأمّل القطع المجاورة، ثم جرّب قطعة عشوائية تبدو منسجمة مع ما حولها. إن لم تتوافق بدّلها بأخرى. استمرّ بالتنقّل بين الفراغات واحداً تلو الآخر، وستلاحظ أنّ الصورة تتبلور شيئاً فشيئاً.

في البداية تتصرّف بجرأة — تجرّب ألواناً غير متوقّعة لأنّ هدفك هو . ومع تراكم الثقة تصبح أكثر صرامة، فلا تقبل إلا القطعة التي تتوافق مع محيطها بدقة عالية. هذا الانتقال التدريجي من الاستكشاف إلى الدقة هو جوهر التلدين المحاكي، أما استراتيجية تحديث فراغ واحد في كل خطوة فهي عيّنة غيبس.

المشكلة: استعادة الصور من ملاحظات مُشوَّشة

عندما تلتقط الكاميرا مشهداً ما، يتسلّل إلى كل بكسل في الصورة. النتيجة أنّ الصورة المُلاحَظة yy هي نسخة مشوَّهة من الصورة الأصلية xx: قد تكون العلاقة بسيطة مثل y=x+تشويشy = x + \text{تشويش}، أو أكثر تعقيداً وتتضمن تمويهاً وتشوّهاً غير خطي. السؤال المطروح: إذا كان لدينا yy، كيف نسترجع xx؟

هذه مسألة عكسية غير محدّدة المعالم — أي أنّ صوراً نظيفة كثيرة كان يمكن أن تُنتج الملاحَظة yy نفسها. لاختيار الأفضل بينها نحتاج إلى مكوّنين من :

  • P(x)P(x) — كيف تبدو الصور النظيفة في العادة؟ البكسلات المتجاورة تميل إلى التشابه، والحواف الحادة قليلة نسبياً.

  • P(yx)P(y|x) — لو كانت الصورة النظيفة هي xx، ما احتمال أن نحصل على الصورة المشوَّشة yy التي نراها؟

مبرهنة بايز تدمج هذين المكوّنين في P(xy)P(yx)P(x)P(x|y) \propto P(y|x) \, P(x). أفضل استعادة ممكنة هي الصورة xx التي تُعظِّم هذا التوزيع البَعدي، وهو ما يُعرف بتقدير الأرجحية القصوى البَعدية (MAP).

P(xy)P(yx)P(x)P(x|y) \propto P(y|x) \, P(x)
مبرهنة بايز لاستعادة الصورالبَعدي ∝ الإمكان × المُسبق — الصورة المُستعادة توازن بين مطابقة الملاحظات (الإمكان) والمعرفة المسبقة عن طبيعة الصور (المُسبق)

لكنّ التحدي الحقيقي يكمن في حجم الفضاء: صورة بأبعاد 256×256 بكسل و256 مستوى رمادي تُنتج فضاءً من الصور الممكنة حجمه 25665536256^{65536} حالة. لا توجد خوارزمية قادرة على فحصها جميعاً. ما نحتاجه هو طريقة لاستكشاف هذا الفضاء بكفاءة، يقودها التوزيع البَعدي. وهنا بالضبط يظهر دور وعيّنة غيبس.

افتح في المختبر
أضف تشويشاً إلى صورة نظيفة، ثم راقب عيّنة غيبس وهي تستعيدها خطوة بخطوة.
تستيقظ التجربة عند وصولك…

الجسر: حقول ماركوف العشوائية تساوي توزيعات غيبس

الفكرة الجوهرية الأولى في الورقة هي الكشف عن رابط عميق بين عالَمين يبدوان مختلفين تماماً.

العالم الأول: حقول ماركوف العشوائية — وهي أسلوب لنمذجة الصور بحيث تعتمد قيمة كل بكسل على جيرانه المباشرين فقط، لا على بكسلات بعيدة. وهذا طبيعي جداً للصور: هل البكسل فاتح أم داكن؟ الإجابة في الغالب تتحدّد بما يحيط به مباشرة.

العالم الثاني: توزيعات غيبس القادمة من الفيزياء الإحصائية — وهي احتمالية على تشكيلات نظام ما، تُعرَّف من خلال . الفكرة مستوحاة من الفيزياء: ذرّات البلّورة ترتّب نفسها لتقليل الطاقة، والتشكيلات منخفضة الطاقة (الشبكات البلورية المنتظمة) أكثر احتمالاً بفارق أُسّي مقارنةً بالتشكيلات عالية الطاقة (الحالات المضطربة).

مبرهنة هامرسلي-كليفورد أثبتت أنّ هذين العالَمين هما في الحقيقة شيء واحد: كل حقل ماركوف عشوائي يقابله توزيع غيبس والعكس صحيح. النتيجة العملية لهذا التكافؤ أننا نستطيع تصميم نماذج للصور بمجرد كتابة دالة طاقة — وهذا أسهل بكثير وأكثر بديهية من محاولة تحديد لكل بكسل على حدة.

P(x)=1Zexp ⁣(U(x)T)P(x) = \frac{1}{Z} \exp\!\Bigl(-\frac{U(x)}{T}\Bigr)
توزيع غيبسU(x) = الطاقة الكلية للتشكيلة x · T = الحرارة · Z = ثابت التسوية (دالة التقسيم). طاقة منخفضة ← احتمال مرتفع. حين تقترب T من الصفر، يتركّز كل الاحتمال على الحالة الأدنى طاقةً (الأكثر احتمالاً).

تصوّر الأمر كأنك تنظر إلى تضاريس جغرافية: دالة الطاقة ترسم تلالاً ووديان فوق فضاء جميع الصور الممكنة. كل وادٍ يمثّل صورة معقولة. توزيع غيبس يُحدّد لك احتمال كل نقطة في هذه التضاريس — كلما كان الوادي أعمق ازداد احتمال التشكيلة المقابلة. أما الحرارة فهي تتحكّم في مدى حدّة تمركز الاحتمال في الوديان: عند حرارة مرتفعة يتجوّل النظام بحرّية في كل مكان، وعند حرارة منخفضة يستقرّ في أعمق الوديان.

افتح في المختبر
غيّر الحرارة وراقب كيف يتركّز الاحتمال في الحالات منخفضة الطاقة.
تستيقظ التجربة عند وصولك…

بناء دالة الطاقة: الزُّمَر والجوار

تُبنى الطاقة U(x)U(x) من مساهمات محلية صغيرة تُسمّى جهود الزُّمَر. والزُّمرة هي مجموعة بكسلات كلّها جيران لبعضها البعض — وفي أبسط صورها مجرد زوج من بكسلين متلاصقين.

في سياق استعادة الصور، تتكوّن الطاقة من شقّين:

  • طاقة المُسبق — تُعاقب التشكيلات التي لا تبدو كصور طبيعية. مثال بسيط: جيران i,j(xixj)2\sum_{\text{جيران } i,j} (x_i - x_j)^2. هذا الحدّ يُعاقب الفروق الكبيرة بين الجيران، فيدفع الصورة نحو النعومة. نماذج أكثر تقدماً تُضيف حدوداً تحفظ الحوافّ وتسمح بانتقالات حادة بين المناطق.

  • طاقة البيانات — تُعاقب التشكيلات التي تبتعد عن الصورة المُشوَّشة المرصودة. الشكل المعتاد: i(yixi)2\sum_i (y_i - x_i)^2 في حالة تشويش غاوسي تجميعي.

الطاقة الكلية U(x)=طاقة المسبق+λطاقة البياناتU(x) = \text{طاقة المسبق} + \lambda \cdot \text{طاقة البيانات} تُحقّق التوازن بين النعومة والأمانة للبيانات. المُعامل λ\lambda هو من يتحكّم في هذه المقايضة: قيمة كبيرة لـ λ\lambda تعني ثقة أكبر بالبيانات، وقيمة صغيرة تعني اتّكالاً أكبر على المُسبق.

U(x)=i,jVc(xi,xj)prior+λi(yixi)2dataU(x) = \underbrace{\sum_{\langle i,j \rangle} V_c(x_i, x_j)}_{\text{prior}} + \lambda \underbrace{\sum_i (y_i - x_i)^2}_{\text{data}}
الطاقة الكلية لاستعادة الصورV_c = جهد الزُّمرة الذي يُعاقب الاختلاف بين الجيران · (yᵢ − xᵢ)² = مقدار تطابق كل بكسل مع البيانات · λ = مُعامل التوازن. تقليل U(x) يُعطي تقدير MAP.
افتح في المختبر
انقر على أي بكسل لترى كيف تُحسب طاقته انطلاقاً من جيرانه والقيمة المُشوَّشة المرصودة.
تستيقظ التجربة عند وصولك…

عيّنة غيبس: تحديث متغيّر واحد في كل مرة

أناقة عيّنة غيبس تكمن في بساطتها. إذا أردت من توزيع مشترك معقّد P(x1,x2,,xn)P(x_1, x_2, \ldots, x_n)، لا يلزمك أن تعرف هذا التوزيع كاملاً دفعة واحدة. يكفي أن تعرف كيف تسحب قيمة لكل متغير بشرط تثبيت بقية المتغيرات.

تمرّ الخوارزمية على جميع البكسلات واحداً تلو الآخر. عند كل بكسل xix_i:

  • ثبّت جميع البكسلات الأخرى عند قيمها الحالية.

  • احسب التوزيع الشرطي P(xixالجيران)P(x_i \mid x_{\text{الجيران}}) — وبفضل خاصية ماركوف هذا التوزيع يعتمد على الجيران فقط.

  • اسحب قيمة جديدة لـ xix_i من هذا التوزيع الشرطي.

حين تمرّ على كل بكسل مرة واحدة تكون قد أتممت مسحة كاملة، أي تكرارة واحدة. والمبرهنة الأساسية تقول: كلما زاد عدد المسحات، تقارب توزيع التشكيلة بأكملها نحو التوزيع المشترك المستهدف P(x)P(x). بمعنى آخر، كل مسحة تُقرّب الصورة من كونها عيّنة حقيقية من التوزيع البَعدي.

افتح في المختبر
تابع خطوات عيّنة غيبس على شبكة صغيرة وراقب تحديث كل بكسل بناءً على جيرانه.
تستيقظ التجربة عند وصولك…

التلدين المحاكي: من أخذ العيّنات إلى الأمثَلة

عيّنة غيبس عند حرارة ثابتة تُولّد عيّنات من التوزيع البَعدي — وهذا مفيد لحساب المتوسّطات وتقدير حالة عدم اليقين. لكنّ جيمان وجيمان كانا يريدان شيئاً آخر لاستعادة الصور: الصورة الأفضل على الإطلاق، أي تقدير MAP. وهذه مسألة لا مسألة أخذ عيّنات.

الحيلة مستوحاة من الفيزياء: التلدين المحاكي. عند حرارة عالية، يكون توزيع غيبس شبه منتظم فيتجوّل المُعيّن بحرّية ويستكشف الفضاء. ومع انخفاض الحرارة تدريجياً يتركّز الاحتمال على الحالات الأقل طاقةً. وحين تقترب TT من الصفر يتجمّع كل الاحتمال في .

الشرط الأساسي هو أنّ التبريد يجب أن يكون بطيئاً بما يكفي. أثبت جيمان وجيمان أنّه إذا انخفضت الحرارة وفق T(t)=c/log(1+t)T(t) = c / \log(1 + t) حيث cc ثابت كبير بدرجة كافية، فإنّ الخوارزمية تتقارب نحو الحل الأمثل الشامل باحتمال 1. كان هذا أول ضمان صارم للتلدين المحاكي على مسألة عامة.

T(t)=clog(1+t)T(t) = \frac{c}{\log(1 + t)}
جدول التبريد اللوغاريتميt = رقم التكرارة · c = ثابت مرتبط بعمق تضاريس الطاقة · التبريد يجب أن يكون بهذا البطء (لوغاريتمي) لضمان الوصول إلى الحل الأمثل الشامل

من الناحية العملية، الجدول اللوغاريتمي بطيء للغاية. لذلك يستخدم الممارسون عادةً تبريداً أسرع (أُسّياً أو خطياً) ويقبلون بحلول تقريبية — وهي في الغالب حلول ممتازة. لكنّ قيمة الضمان النظري تبقى كبيرة لأنه أثبت أنّ الأساليب العشوائية قادرة على حلّ مسائل الأمثَلة الشاملة في فضاءات توافقية، وهذه نتيجة امتدّ أثرها إلى علم الأمثَلة في كل فروع الحوسبة.

افتح في المختبر
راقب انخفاض الحرارة واستقرار المُعيّن تدريجياً على التشكيلات منخفضة الطاقة.
تستيقظ التجربة عند وصولك…

عيّنة غيبس مقابل ميتروبوليس-هيستينغز

عيّنة غيبس هي في جوهرها حالة خاصة من خوارزمية ميتروبوليس-هيستينغز. كلتاهما من طرق بسلاسل ماركوف، وتبنيان توزيعها المستقر هو التوزيع المستهدف. الفرق بينهما يكمن في طريقة اقتراح التحديثات:

  • ميتروبوليس-هيستينغز تقترح تغييراً عشوائياً ثم تقرّر قبوله أو رفضه بناءً على نسبة القبول. كل رفض يعني هدر حسابات — السلسلة تبقى مكانها دون تقدّم.

  • عيّنة غيبس تسحب مباشرة من التوزيع الشرطي الدقيق، لذا كل اقتراح يُقبَل تلقائياً. لا خطوات مهدورة ولا حاجة لضبط توزيع الاقتراحات.

أما المقايضة فهي أنّ عيّنة غيبس تشترط قدرتك على حساب كل توزيع شرطي P(xixi)P(x_i \mid x_{-i}) والسحب منه — وهذا سهل في حقول ماركوف العشوائية بفضل خاصية ماركوف، لكنه صعب في نماذج لا تتمتع بترافق شرطي. في المقابل، ميتروبوليس-هيستينغز تعمل مع أي نموذج طالما تستطيع حساب نسبة الكثافة.

افتح في المختبر
قارن بين عيّنة غيبس وميتروبوليس-هيستينغز جنباً إلى جنب على التوزيع ثنائي البعد نفسه.
تستيقظ التجربة عند وصولك…

عيّنة غيبس في شيفرة برمجية

عيّنة غيبس لإزالة تشويش صورة ثنائيةpython

مبسَّط لإظهار الفكرة — ليس التنفيذ الحقيقي.

import numpy as np

def gibbs_denoise(noisy, beta=1.5, lam=1.0, T_init=2.0, n_sweeps=50):
    """إزالة تشويش صورة ثنائية (+1/-1) باستخدام عيّنة غيبس مع التلدين."""
    H, W = noisy.shape
    x = noisy.copy()                 # نبدأ بالصورة المُشوَّشة كحالة أوّلية

    for sweep in range(n_sweeps):
        T = T_init / np.log(2 + sweep)     # تبريد لوغاريتمي

        for i in range(H):
            for j in range(W):
                # مجموع قيم الجيران (4 اتجاهات)
                neighbors = 0
                if i > 0:     neighbors += x[i-1, j]
                if i < H-1:   neighbors += x[i+1, j]
                if j > 0:     neighbors += x[i, j-1]
                if j < W-1:   neighbors += x[i, j+1]

                # فرق الطاقة بين x_ij = +1 و x_ij = -1
                # المُسبق: -beta * x_i * مجموع(الجيران)
                # البيانات: -lambda * x_i * y_i
                delta_E = 2 * (beta * neighbors + lam * noisy[i, j])

                # الاحتمال الشرطي لأن يكون x_ij = +1
                p_plus = 1 / (1 + np.exp(-delta_E / T))
                x[i, j] = +1 if np.random.rand() < p_plus else -1

    return x
# كل بكسل يُحدَّث بالنظر فقط إلى جيرانه والقيمة المُشوَّشة.
# الحرارة تبدأ مرتفعة (استكشاف) ثم تنخفض (تركيز). هذا كل ما في الأمر.

التقارب: لماذا تنجح الخوارزمية؟

تقوم الورقة على نتيجتَي تقارب أساسيتين:

إرغودية عيّنة غيبس. عند أي حرارة ثابتة T>0T > 0، تكون سلسلة ماركوف الناتجة عن عيّنة غيبس إرغودية — بمعنى أنها تستطيع الانتقال من أي تشكيلة إلى أي تشكيلة أخرى. يترتّب على ذلك أنّ لها توزيعاً مستقراً وحيداً هو بالضبط توزيع غيبس. وبعد عدد كافٍ من المسحات تصبح العيّنات ممثّلة بأمانة لـالتوزيع البَعدي.

تقارب التلدين. إذا انخفضت الحرارة ببطء كافٍ — تحديداً T(t)c/log(1+t)T(t) \geq c / \log(1+t) حيث cc ثابت مرتبط بارتفاع حواجز الطاقة — فإنّ احتمال وجود النظام في نهاية صغرى شاملة يتقارب نحو 1. المُعيّن هنا لا يكتفي بالاستكشاف: مع التلدين يتحوّل إلى أداة أمثَلة.

حين نضع النتيجتين معاً يتّضح أنّ عيّنة غيبس تمنحنا عيّنات صحيحة من التوزيع البَعدي (وهذا ما نحتاجه في الاستدلال البايزي)، وحين نُضيف إليها التلدين تمنحنا الحل الأمثل الشامل (وهذا ما نحتاجه لتقدير MAP).

الأثر: ثورة مونت كارلو بسلاسل ماركوف

  1. 1953

    خوارزمية ميتروبوليس

    ميتروبوليس وزملاؤه يُقدّمون أول خوارزمية مونت كارلو بسلسلة ماركوف لمحاكاة الأنظمة الفيزيائية. خوارزمية عامة لكنها تحتاج إلى توزيع اقتراح وآلية قبول ورفض.

  2. 1970

    تعميم هيستينغز

    هيستينغز يُعمِّم خوارزمية ميتروبوليس لتشمل اقتراحات غير متناظرة، مُؤسّساً إطار ميتروبوليس-هيستينغز الذي انتشر في عالم الإحصاء.

  3. 1984

    جيمان وجيمان — هذه الورقة

    قدّما عيّنة غيبس، وأثبتا التكافؤ بين حقول ماركوف العشوائية وتوزيعات غيبس، ودمجاها مع التلدين المحاكي لتقدير MAP. أطلقا بذلك طرق مونت كارلو بسلاسل ماركوف إلى الإحصاء التطبيقي والتعلّم الآلي.

  4. 1990

    غلفاند وسميث

    أوضحا أنّ عيّنة غيبس تتجاوز معالجة الصور بكثير وتنطبق على النماذج البايزية الهرمية في شتّى فروع الإحصاء. أشعلا بذلك ثورة مونت كارلو بسلاسل ماركوف في الإحصاء.

  5. 1993

    برنامج BUGS

    برنامج BUGS جعل أخذ العيّنات بطريقة غيبس في متناول غير المتخصصين — فتبنّى الأساليب البايزية باحثون في العلوم الاجتماعية وعلم الأوبئة والبيئة.

  6. 2003

    تخصيص ديريكليه الكامن (LDA)

    بلاي ونغ وجوردن يستخدمون عيّنة غيبس لنمذجة الموضوعات في النصوص — كل مستند مزيج من موضوعات وكل موضوع توزيع على الكلمات. عيّنة غيبس هي ما جعل الاستدلال ممكناً عملياً في هذا السياق.

  7. 2011

    Stan والبرمجة الاحتمالية

    لغة Stan ولغات البرمجة الاحتمالية الأخرى بُنيت على أسس مونت كارلو بسلاسل ماركوف، فأصبح الاستدلال البايزي أداة متاحة لأي نموذج إحصائي.

أثر هذه الورقة يتجاوز استعادة الصور بمراحل. أصبحت عيّنة غيبس المحرّك الحسابي الذي يقف وراء الاستدلال البايزي في آلاف التطبيقات. في كل مرة يبني فيها باحثٌ نموذجاً هرمياً أو يُشغّل نموذج موضوعات أو يُجري تعلّماً بنيوياً بايزياً، فإنه يستند إلى الأساس الذي وضعه جيمان وجيمان عام 1984.

المرجعGeman, S., Geman, D.. Stochastic Relaxation, Gibbs Distributions, and the Bayesian Restoration of Images. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1984.

مصطلحات هذه الورقة