شبکه هاپفیلد

شبکه هاپفیلد (یا مدل Ising شبکه عصبی یا مدل Ising – Lenz – Little ) نوعی شبکه عصبی مصنوعی بازگشتی و نوعی سیستم شیشه چرخشی است که توسط جان هاپفیلد در سال 1982 رواج یافته است  همانطور که توسط Little در 1974 شرح داده شده بوده   بر اساس کار ارنست آیزینگ با ویلهلم لنز بر مدل آیزینگ .  

شبکه های هاپفیلد به عنوان سیستم های حافظه قابل آدرس دهی حافظه تداعی‌گر با گره های آستانه باینری عمل می کنند. شبکه های هاپفیلد همچنین الگویی برای درک حافظه انسان ارائه می دهند.

ریشه ها 
مدل Ising از یک شبکه عصبی به عنوان یک مدل حافظه، اولین بار توسط ویلیام ا. لیتل در سال 1974 ارائه شده است  که توسط هاپفیلد در مقاله خود در سال 1982 حمایت شده است.

ساختار 

اجزا شبکه هاپفیلد واحدهای دو حالته‌اند هستند، بدین معنی که هر یک می‌توانند در یکی از دو حالت تعریف شده قرار بگیرند و مقدار آنها هم بسته به اینکه مجموع ورودی به آن واحد از مقدار آستانه‌ای کمتر یا بیشتر باشد، تعیین می‌گردد.

شبکه های هاپفیلد گسسته روابط بین نورونهای را توصیف می کنند.

حالت شبکه عصبی توسط یک بردار  توصیف می شود، که میگوید کدام نورون ها شلیک کردند.

نورون های عصبی حالت‌های 1 یا 1- به خود می گیرند. با این حال ، سایر متون ممکن است از واحدهایی استفاده کنند که مقادیر 0 و 1 را در نظر بگیرند. این تعاملات از طریق قانون انجمن Hebb آموخته می شوند ، به طوری که برای یک حالت خاص  داریم:

ولی  .

توجه داشته باشید که قانون یادگیری Hebbian برای  {0 ، 1}، شکل زیر را می گیرد: 

پس از آموزش شبکه،  دیگر تکامل نمی یابد. اگر حالت جدیدی از نورونها به شبکه عصبی وارد شود، شبکه بر روی نورون ها به گونه زیر خواهد بود:

  اگر 
  اگر 

به این ترتیب ، شبکه های هاپفیلد توانایی "به خاطر سپردن" حالت های ذخیره شده در ماتریس تعامل را دارند ، زیرا اگر حالت جدیدی باشد  تحت ماتریس تعامل قرار می گیرد ، هر نورون تغییر می کند تا زمانی که با حالت اصلی مطابقت داشته باشد  (به بخش بروزرسانی ها در زیر مراجعه کنید).

اتصالات در یک شبکه هاپفیلد به طور معمول دارای محدودیت های زیر است:

  (هیچ واحدی با خودش ارتباطی ندارد)
  (اتصالات متقارن هستند)

این محدودیت که وزنها متقارن هستند ، تضمین می کند که عملکرد انرژی هنگام رعایت قوانین فعال سازی به صورت یکنواخت کاهش می یابد.  شبکه ای با وزن نامتقارن ممکن است برخی از رفتارهای دوره ای یا آشفته را نشان دهد. با این حال ، هاپفیلد دریافت كه این رفتار در قسمت های نسبتاً كوچكی از فضای فاز محدود است و توانایی شبكه را به عنوان یك سیستم حافظه تداعی پذیر قابل محتوا عمل نمی كند.

هاپفیلد همچنین شبکه های عصبی را برای مقادیرپیوسته مدلسازی می کند ، که در آنها خروجی الکتریکی هر نورون باینری نیست بلکه مقداری بین 0 تا 1 است.   وی دریافت که این نوع شبکه همچنین می تواند حالت های حفظ شده را ذخیره و تولید کند.

توجه داشته باشید که هر جفت واحد i و j در یک شبکه هاپفیلد دارای اتصالی است که وزن اتصال  توصیف می شود. شود. شبکه هاپفیلد را می توان به عنوان یک گراف کامل بدون جهت توصیف کرد، ، که  Vمجموعه ای از نورون های مک کالوچ-پیتس است و  تابعی است که جفت واحدها را به یک مقدار واقعی یعنی وزن اتصال پیوند می دهد.

در حال بروز رسانی 
به روزرسانی یک واحد (گره در نمودار شبیه سازی نورون مصنوعی) در شبکه هاپفیلد با استفاده از قانون زیر انجام می شود:

که:

  قدرت اتصال از واحد j به واحد i (وزن اتصال) است.
  حالت واحد i است.
  آستانه واحد i است.

به روزرسانی ها در شبکه هاپفیلد به دو روش مختلف انجام می شود:

 ناهمزمان : همزمان فقط یک واحد به روز می شود. این واحد را می توان به صورت تصادفی انتخاب کرد ، یا یک دستور از پیش تعریف شده را از همان ابتدا وضع کرد.
 همزمان : همه واحدها همزمان به روز می شوند. این امر به منظور حفظ هماهنگ سازی به یک ساعت مرکزی برای سیستم نیاز دارد. برخی این روش را کمتر واقع بینانه می دانند ، مبتنی بر عدم وجود ساعت جهانی مشاهده شده که بر سیستم های بیولوژیکی یا فیزیکی مشابه تأثیر می گذارد.

نورون ها "فضای یکدیگر را" جذب یا دفع می کنند " 
وزن بین دو واحد تأثیر به سزایی در مقادیر نورونها دارد. وزن اتصال را در نظر بگیرید  بین دو نورون i و j. اگر  ، قانون به روزرسانی نشان می دهد که:

 چه زمانی  ، سهم j در مجموع وزنی مثبت است. بدین ترتیب،  توسط j به سمت مقدار خود کشیده می شود 
 چه زمانی  ، سهم j در مجموع وزن منفی است. سپس دوباره ،  توسط j به سمت ارزش خود سوق داده می شود 

بنابراین ، اگر وزن بین آنها مثبت باشد ، مقادیر نورونهای i و j همگرا می شوند. به طور مشابه ، اگر وزن منفی باشد ، از هم جدا می شوند.

اصول کار شبکه های هاپفیلد گسسته و مداوم 
بروک هنگام اثبات همگرایی آن در مقاله خود در سال 1990 ، رفتار نورون را در شبکه مجزا هاپفیلد روشن کرد.  مقاله بعدی  بیشتر رفتار هر نورون را در شبکه های هاپفیلد با زمان گسسته و با زمان پیوسته بررسی می کند ، وقتی عملکرد انرژی مربوطه در طی یک فرآیند بهینه سازی به حداقل برسد.  نشان می دهد که نورون j تغییر حالت می دهد اگر و فقط در صورت کاهش بیشتر شبه مغرضانه زیر. شبکه مجزا هاپفیلد شبه برش مغرضانه زیر  برای ماتریس وزن سیناپسی شبکه هاپفیلد به حداقل می رساند.

جایی که  و  مجموعه ای از نورون ها را نشان می دهد که به ترتیب در زمان 1 و 1+ هستند  . برای جزئیات بیشتر ، به مقاله اخیر مراجعه کنید. 

شبکه Hopfield با زمان مجزا همیشه دقیقاً شبه برش زیر را به حداقل می رساند  

شبکه هاپفیلد با زمان پیوسته همیشه محدوده بالایی را به برش وزنی زیر کاهش می دهد 

جایی که  یک عملکرد سیگموئید صفر محور است.

از طرف دیگر ، شبکه پیچیده هاپفیلد به طور کلی تمایل دارد که اصطلاحاً کاهش سایه ماتریس وزن پیچیده شبکه را به حداقل برساند.

انرژی 

شبکه های هاپفیلد دارای مقیاس مقیاسی مرتبط با هر حالت شبکه هستند که از آن به عنوان "انرژی" ، E شبکه یاد می شود ، جایی که:

 

این مقدار "انرژی" نامیده می شود زیرا با به روزرسانی واحدهای شبکه یا کاهش می یابد و یا همان ثابت می ماند. بعلاوه ، با به روزرسانی مکرر ، شبکه در نهایت به حالتی تبدیل می شود که حداقل محلی در عملکرد انرژی است (که یک عملکرد Lyapunov محسوب می شود).  بنابراین ، اگر یک دولت در عملکرد انرژی حداقل محلی باشد ، برای شبکه یک حالت پایدار است. توجه داشته باشید که این تابع انرژی متعلق به یک کلاس کلی از مدلهای فیزیک تحت عنوان مدلهای Ising است . اینها به نوبه خود یک مورد خاص از شبکه های مارکوف است ، زیرا اندازه گیری احتمال مرتبط ، اندازه گیری گیبس ، دارای ویژگی مارکوف است .

شبکه هاپفیلد در بهینه سازی 
هاپفیلد و تانک برای حل مسئله فروشنده دوره‌گرد كلاسیك در سال 1985 برنامه شبكه هاپفیلد را ارائه دادند.  از آن زمان ، شبکه هاپفیلد به طور گسترده ای برای بهینه سازی مورد استفاده قرار می گیرد. ایده استفاده از شبکه هاپفیلد در مشکلات بهینه سازی ساده است: اگر یک تابع هزینه محدود یا غیرمحدود را می توان در قالب تابع انرژی هاپفیلد (E) نوشت ، پس یک شبکه هاپفیلد وجود دارد که نقاط تعادل آن نشان دهنده راه حل هایی برای مسئله بهینه سازی محدود / غیرمحدود است.

به حداقل رساندن تابع انرژی هاپفیلد ، هم عملکرد هدف را به حداقل می رساند و هم محدودیت ها را برآورده می کند ، زیرا محدودیت ها در وزن سیناپسی شبکه "جاسازی شده" اند. اگرچه گنجاندن محدودیت های بهینه سازی به وزن سیناپسی به بهترین شکل ممکن یک کار چالش برانگیز است ، اما در واقع بسیاری از مشکلات مختلف بهینه سازی دشوار با محدودیت ها در رشته های مختلف به عملکرد انرژی هاپفیلد تبدیل شده اند: سیستم های حافظه انجمنی ، تبدیل آنالوگ به دیجیتال ، مشکل زمانبندی شغل کار ، انتصاب درجه دوم و سایر مشکلات مربوط به NP-کامل ، مشکل تخصیص کانال در شبکه های بی سیم ، مشکل مسیریابی شبکه موقت تلفن همراه ، بازیابی تصویر ، شناسایی سیستم ، بهینه سازی ترکیبی و غیره ، فقط به ذکر چند مورد. جزئیات بیشتر را می توان در مقاله یافت.

مقداردهی اولیه و اجرا 
شروع اولیه شبکه های هاپفیلد با تنظیم مقادیر واحدها بر روی الگوی شروع مورد نظر انجام می شود. سپس به روزرسانی های مکرر انجام می شود تا زمانی که شبکه به یک الگوی جذب کننده همگرا شود. همگرایی به طور کلی اطمینان دارد ، زیرا هاپفیلد ثابت کرد که جذب کننده های این سیستم دینامیکی غیرخطی پایدار هستند ، نه دوره ای یا بی نظم مانند برخی دیگر از سیستم بنابراین ، در زمینه شبکه های هاپفیلد ، الگوی جذب کننده یک حالت پایدار نهایی است ، الگویی که تحت به روزرسانی نمی تواند هیچ مقداری را در آن تغییر دهد

آموزش 
آموزش یک شبکه هاپفیلد شامل کاهش انرژی حالت هایی است که شبکه باید " آنها را بخاطر بسپارد ". این عمل اجازه می دهد تا شبکه به عنوان یک سیستم حافظه قابل آدرس دهی به محتوا عمل کند ، یعنی اگر شبکه فقط تبدیل به بخشی از حالت داده شود ، به حالت " به خاطر سپرده شده " تبدیل می شود . از شبکه می توان برای بازیابی از ورودی تحریف شده به حالت آموزش دیده که بیشترین شباهت را به آن ورودی دارد ، استفاده کرد. این حافظه ، حافظه انجمنی نامیده می شود زیرا حافظه را بر اساس شباهت ها بازیابی می کند. به عنوان مثال ، اگر یک شبکه هاپفیلد را با پنج واحد آموزش دهیم تا حالت (1 ، -1 ، 1 ، -1 ، 1) حداقل انرژی باشد و شبکه به حالت (1 ، -1 ، -1 ، -1 ، 1)  به (1 ، -1 ، 1 ، -1 ، 1) همگرا خواهد شد . بنابراین ، وقتی انرژی حالتهایی که شبکه باید بخاطر بسپارد حداقل محلی است ، که شبکه به درستی آموزش می بیند . توجه داشته باشید که بر خلاف آموزش Perceptron ، آستانه نورون ها هرگز به روز نمی شوند.

قوانین یادگیری 
قوانین یادگیری متفاوت وجود دارد که می تواند برای ذخیره اطلاعات در حافظه شبکه هاپفیلد استفاده شود. مطلوب است که یک قانون یادگیری هر دو ویژگی زیر را داشته باشد:

 محلی : هر وزنه با استفاده از اطلاعات موجود برای سلولهای عصبی در دو طرف اتصال که با آن وزن خاص در ارتباط است به روز شود.
 افزایشی : الگوهای جدید را می توان بدون استفاده از اطلاعات الگوهای قدیمی که برای آموزش نیز استفاده شده است ، فرا گرفت. یعنی وقتی از الگوی جدیدی برای آموزش استفاده می شود ، مقادیر جدید برای اوزان فقط به مقادیر قدیمی و الگوی جدید بستگی دارد. 

این خواص مطلوب است ، زیرا یک قانون یادگیری که آنها را راضی کند از نظر زیست شناختی قابل قبول تر است. به عنوان مثال ، از آنجایی که مغز انسان همیشه در حال یادگیری مفاهیم جدید است ، بنابراین می توان استدلال کرد که یادگیری انسان افزایشی است. یک سیستم یادگیری که به صورت افزایشی نبوده است ، معمولاً فقط یک بار با تعداد زیادی داده ، آموزش می بیند.

قانون یادگیری Hebbian برای شبکه های هاپفیلد 
نظریه Hebbian توسط دونالد هب در سال 1949 به منظور توضیح "یادگیری انجمنی" ، که در آن فعال سازی همزمان سلولهای عصبی منجر به افزایش آشکار قدرت سیناپسی بین آن سلولها می شود ، ارائه شد.  این خلاصه اغلب به صورت "نورونهایی است که با هم شلیک می کنند ، سیم به هم می خورند. سلولهای عصبی که از همگام سازی شلیک می شوند ، قادر به پیوند نیستند ".

قانون Hebbian هم محلی است و هم افزایشی. برای شبکه های هاپفیلد ، هنگام یادگیری به روش زیر پیاده سازی می شود  الگوهای باینری:

جایی که  بیت i را از الگو نشان می دهد  .

اگر بیت های مربوط به نورون های i و j از نظر الگوی برابر باشند  ، سپس محصول  مثبت خواهد بود این به نوبه خود ، تأثیر مثبتی بر وزن خواهد داشت  و مقادیر i و j تمایل به برابر شدن دارند. عکس این اتفاق می افتد اگر بیت های مربوط به نورون های i و j متفاوت باشند.

قانون یادگیری استورکی 
این قانون توسط آموس استورکی در سال 1997 معرفی شد و هم محلی است و هم افزایشی. استورکی همچنین نشان داد که شبکه هاپفیلد آموزش دیده با استفاده از این قانون ظرفیت بیشتری نسبت به شبکه متناظر با قانون Hebbian دارد.  ماتریس وزن شبکه عصبی جاذب باور داریم مه در صورت رعایت قانون زیر، یادگیری استورکی نیز پیروی میشود:

جایی که  نوعی میدان محلی است  در نورون i.

این قانون یادگیری محلی است ، زیرا سیناپس ها فقط نورون های کنار خود را در نظر می گیرند. این قانون به دلیل تأثیر حوزه محلی ، از اطلاعات بیشتری از الگوها و وزنها ، نسبت به قانون Hebbian تعمیم یافته استفاده می کند.

الگوهای جعلی 
الگوهایی که شبکه برای آموزش استفاده می کند (که به آنها حالت بازیابی گفته میشود) جذب کننده های سیستم می شوند. به روزرسانی های مکرر در نهایت منجر به همگرایی به یکی از حالت های بازیابی می شود. با این حال ، گاهی اوقات شبکه به الگوهای جعلی (متفاوت از الگوهای آموزش) همگرا خواهد شد.  انرژی موجود در این الگوهای جعلی نیز حداقل محلی است. برای هر الگوی ذخیره شده x ، نفی -x نیز یک الگوی جعلی است.

حالت جعلی همچنین می تواند ترکیبی خطی از تعداد فردی از حالت های بازیابی باشد. به عنوان مثال ، هنگام استفاده از 3 الگو  ، می توان حالت جعلی زیر را بدست آورد:

الگوهای جعلی که تعداد حالت های زوج دارند نمی توانند وجود داشته باشند، زیرا ممکن است در مجموع صفر شوند

ظرفیت 
ظرفیت شبکه مدل شبکه هاپفیلد توسط تعدادی نورون و اتصالات درون یک شبکه مشخص تشکیل می شود. بنابراین ، تعداد حافظه هایی که می توانند ذخیره شوند به نورون ها و اتصالات آنها بستگی دارد. همچنین ، معلوم است که دقت فراخوانی بین بردارها و گره ها 0.138 است (در حافظه تقریباً 138 بردار را می توان از هر 1000 گره فراخوانی کرد) (Hertz et al., 1991). بنابراین ، بدیهی است که اگر در یک تلاش تعداد زیادی بردار ذخیره شود ، مشکلات فراوانی رخ خواهد داد.

هنگامی که مدل هاپفیلد الگوی مناسبی را فراخوانی نکند ، ممکن است که یک نفوذ صورت گرفته بگیرد ، زیرا موارد مرتبط با معنا و مفهوم باعث ایجاد سردرگمی  می شود و باعث بازیابی الگوی اشتباه می شود. بنابراین ، مدل شبکه هاپفیلد نشان می دهد که یک مورد ذخیره شده را با مورد دیگر در هنگام بازیابی اشتباه می گیرد. بازیابی کامل و ظرفیت بالا، می تواند با استفاده از روش یادگیری Storkey در شبکه صورت پذیرد. مدل های دیگر که از شبکه هاپفیلد الهام گرفته شدند، بعدها برای افزایش حد ذخیره سازی و کاهش میزان خطای بازیابی با برخی توانایی یادگیری یک باره مورد استفاده قرار گرفتند. 

ظرفیت ذخیره سازی را می توان به صورت  که در آن، n تعداد نورونهای شبکه را نشان میدهد.

حافظه انسان 
مدل هاپفیلد از طریق ترکیب بردارهای حافظه، حافظه انجمنی را حساب می کند. از بردارهای حافظه می توان کمی استفاده کرد و این باعث می شود مشابه ترین بردار در شبکه بازیابی شود. با این حال ، خواهیم فهمید که به دلیل این روند ، نفوذ می تواند رخ دهد. در حافظه انجمنی برای شبکه هاپفیلد ، دو نوع عملیات وجود دارد: تداعی خودکار و تداخل هترو. تداعی خودکار این است که یک بردار با خود مرتبط است و تداخل هترو وقتی است که دو بردار مختلف در ذخیره سازی به هم مرتبط می شوند. علاوه بر این ، ذخیره هر دو نوع عملیات در یک ماتریس حافظه امکان پذیر است ، اما تنها در صورتی که ماتریس نمایش داده شده یکی یا دیگری از عملیات نباشد ، بلکه ترکیب (خودکار انجمنی و هترو انجمنی) این دو باشد. یادآوری این نکته مهم است که مدل شبکه هاپفیلد از همان قانون یادگیری مانند  قانون یادگیری Hebb (1949)استفاده می کند ، که اساساً تلاش می کند نشان دهد که یادگیری در نتیجه تقویت وزنه ها هنگام وقوع فعالیت رخ می دهد.

Rizzuto و Kahana (2001) توانستند نشان دهند که مدل شبکه عصبی می تواند تکرار دقت یادآوری را با در نظر گرفتن الگوریتم یادگیری احتمالی محاسبه کند. در طی فرآیند بازیابی ، هیچ یادگیری رخ نمی دهد. در نتیجه ، وزن های شبکه ثابت می مانند و نشان می دهد که این مدل قادر است از یک مرحله یادگیری به یک مرحله فراخوان تغییر کند. با افزودن رانش زمینه ای ، آنها قادر بودند فراموشی سریع را که در یک مدل هاپفیلد طی یک کار یادآوری نشانه گرفته می شود ، نشان دهند. کل شبکه به تغییر فعال سازی هر گره کمک می کند.

قاعده دینامیکی مک کالوچ و پیتز (1943) ، که رفتار نورون ها را توصیف می کند ، این کار را به روشی انجام می دهد که نشان می دهد چگونه فعالیت های چندین نورون بر روی فعال سازی میزان شلیک یک نورون جدید نقشه می گیرند و چگونه وزن نورون ها تقویت می شود ارتباطات سیناپسی بین نورون فعال شده جدید (و آنهایی که آن را فعال می کنند). هاپفیلد برای نشان دادن چگونگی بازیابی در شبکه هاپفیلد از قانون پویای مک کالچ - پیتس استفاده می کند. با این حال ، توجه به این نکته مهم است که هاپفیلد این کار را به صورت تکراری انجام می دهد. هاپفیلد به جای استفاده از یک تابع خطی ، از یک تابع فعال سازی غیرخطی استفاده می کند. بنابراین این امر باعث ایجاد قاعده دینامیکی هاپفیلد می شود و با این کار هاپفیلد می تواند نشان دهد که با تابع فعال سازی غیرخطی ، قانون دینامیکی همیشه مقادیر بردار حالت را در جهت یکی از الگوهای ذخیره شده تغییر می دهد.

همچنین ببینید 

 حافظه مشارکتی (ابهام زدایی)
 حافظه خود شریک
 ماشین بولتزمن - مانند یک شبکه هاپفیلد اما از نمونه برداری از گیبس به جای نزول شیب دار استفاده می کند
 مدل سیستم های دینامیکی شناخت
 مدل بودن
 نظریه هبیان

منابع

لینک های خارجی 

 978-3-540-60505-8  
 Javascript شبکه هاپفیلد
 مسئله فروشنده در سفر  - اپلت JAVA شبکه عصبی هاپفیلد
 
 
 رابط گرافیکی آزمایشگاه عصبی - رابط گرافیکی شبکه عصبی Hopfield (پایتون و gtk)
شبکه‌های عصبی مصنوعی
معماری شبکه‌های عصبی