کدگذاری پیشبینیانه

از ویکی‌پدیا، دانشنامهٔ آزاد
(تغییرمسیر از پردازش پیشبینیانه)

کدگذاری مبتنی بر پیش‌بینی یا پریدیکتیو یا کدگذاری پیشبینانه (به انگلیسی: predictive coding) یک استراتژی کلی برای کدگذاری در مغز و سیستم‌های هوشمند است که نمودهای مختلفی دارد.

در این رویکرد، کدگذاری ای که توسط فعالیت های نورونی نمایش یافته، درباره ی یک زمان آینده است. به همین دلیل، محتوی و حامل یک پیش بینی است. در حالت تعمیم یافته، میتواند درباره‌ی زمانی دیگر (گذشته یا آینده) یا حتی مکانی دیگر باشد. همه ی تخمین هایی که در مورد زمان آینده باشند ( تا تاخیر ها را خنثی کنند) انواعی از کدگذاری پیشبینانه هستند.

خروجی نهایی چنین سیستمی از جنس چشمداشت (یا مقدار مورد انتظار) یا اکسپکتیشن (expectation) است.

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

بخش های سه گانه[ویرایش]

در این نوع رویکرد، معمولاً دو بخش وجود دارد: بخش اول، یک کد و نمایش (انگودینگ یا رپرزنتیشن) وجود دارد که در بر دارنده ی اطلاعات گذشته است. پیش بینی ای از آینده در آن مستتر (به صورت ضمنی) است (بهترین اطلاعات در دسترس تا زمان t1). بخش دوم، یک پروسه یا مدار محاسباتی است که تخمین آینده (زمان  t2) را از آن ورودی (که مربوط به گذشته است) محاسبه و تخمین می‌زند. در این محاسبه، آن پیش بینی مربوط به زمان آینده (t2)، که مستتر و ضمنی بود، صریح می‌کند و آن را استخراج می‌کند. خروجی این بخش دوم از جنس یک «چشمداشت» است.

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

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

در این عمل update، بر اساس بازخورد از واقعیت به داخل سیستم یک سیگنال error تعریف می‌کنیم. معمولاً اصطلاح سیگنال خطا (error) یا تصحیح موقعی بکار میرود که وقتی به زمان t (بین t1 و t2) رسیدیم، و اطلاعات جدیدی وارد شد، مقدار مابه تفاوت پیش بینی قبلی در مورد t2، با اطلاعات جدید تازه (وارده در زمان t) مقایسه می‌شود، و تفاوت آن را سیگنال خطا یا error می‌نامیم. سپس، داده یی پایه موجود بر اساس گذشته را بر این اساس اصلاح می‌کنیم.

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

علت نیاز به کدگذاری پیشبینیانه[ویرایش]

  • تاخیر: یکی از دلایل اهمیت این نوع کد گذاری، این به دلیل یکی از نیازمندی های سیستم های بیولوژیک عصبی و یا سیستم های هوشمند در هوش مصنوعی است.

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

مثال‌ها[ویرایش]

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

پردازش پیشبینیانه[ویرایش]

تعمیم کدگذاری مبتنی بر پیش‌بینی به عنوان یک اصل سازمان دهی جهانشمول برای طرزکار مغز، مورد توجه روز افزون قرار گرفته‌است (فریستون و کلارک). در طی آن در هر لحظه نورونها به‌طور فعال به پیش‌بینی ِ لحظه‌ای و اصلاح (بازنگری و تطبیق) لحظه به لحظه‌ی آن پیش‌بینی‌ها (برای مقصود تسک مورد نظر) مشغولند. در این دیدگاه، رابطهٔ سلسله مراتبی بین نورونهای مختلف، نوع سامان دهی بین پیش‌بینی‌های لحظه به لحظه، و همچنین اصلاح لحظه‌ای ِ پیش‌بینی‌ها برقرار می‌کند. این دیدگاه، پردازش پیشبینیانه نیز نامگذاری شده است. این رویکرد معمولاً در چارچوب رویکردهای بیزی برای عملکرد مغز ارائه می‌شود.

اصل انرژی آزاد[ویرایش]

تعمیمی از مفهوم انرژی آزاد ترمودینامیکی برای عملکرد مغز با عنوان اصل انرژی آزاد ارائه شده است، که یک چارچوب ریاضی است که با پردازش پیشبینیانه و کدگذاری پیشبینانه در رابطه ی تنگاتنگ است (مدخل رویکردهای_بیزی_برای_عملکرد_مغز#انرژی_آزاد را ببینید)

نظریه کدگذاری[ویرایش]

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

مرتبط[ویرایش]

تغییر نام یافته از رده ی رده:کدینگ عصبی