Sparse Coding کدگذاری تنک

Slides:



Advertisements
Similar presentations
معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
Advertisements

فاکتورهای مهم در ایجاد یک مقاله علمی
الگوریتم ژنتیکی. تعریف  الگوریتم ژنتیکی، رویه ای تکراری است که راه حل های انتخابیش را بصورت رشته ای از ژنها که کروموزوم نامیده می شوند، بازنمایی می کند.
Decision Tree.
Ali Karimpour Associate Professor Ferdowsi University of Mashhad ADVANCED CONTROL Reference: Chi-Tsong Chen, “Linear System Theory and Design”, 1999.
دسته بندی نیمه نظارتی (2)
1 Network Address Translation (NAT). 2 Private Network شبکه خصوصی شبکه ای است که بطور مستقیم به اینترنت متصل نیست در یک شبکه خصوصی آدرس های IP به دلخواه.
Image Transforms Instructed by : J. Shanbezadeh 1Jamshid Shanbehzadeh.
Database Laboratory: Session #4 Akram Shokri. DB-Lab 2 Lab Activity You must already created all tables You have to have inserted proper data in tables.
موضوع: دبير مربوطه: آموزشگاه : اجرا : عبارتهای جبری خانم مقصودی
Stepper Motor Configuration
Arrangements of Lines C omputational Geometry By Samaneh shafi naderi
CS Constraint Satisfaction Constraint Satisfaction Problems Chapter 5 Section 1 – 3 Modified by Vali Derhami.
آشنايي با سيستم اعداد.
LINEAR CONTROL SYSTEMS Ali Karimpour Associate Professor Ferdowsi University of Mashhad.
[c.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
مکان یابی در شبکه های حسگر بیسیم
دسته بندی نیمه نظارتی زهره کریمی
کالیبراسیون، صحت سنجی و آنالیز حساسیت مدل
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
هیدروگراف(Hydrograph) تهیه : دکتر محمد مهدی احمدی
استفاده از ماشین بردار پشتیبان (SVM) برای تشخیص گوینده
ویژگی های DHCP جلوگیری از Conflict سرعت بخشیدن به کارها مدیریت متمرکز
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
Mobile Robot Kinematics
ساختمان داده‌ها الگوریتمهای کوتاهترین مسیر
مدولاسیون چندحاملی OFDM
دانشگاه صنعتی امیرکبیر Instructor : Saeed Shiry & Mitchell Ch. 2
آزمایشگاه پایگاه داده ها قیود در جداول یک پایگاه داده در SQL Server
Odd-even merge sort مرتب سازی.
برنامه ریزی خطی پیشرفته (21715( Advanced Linear Programming Lecture 11
چگونه بفهمیم آیا ژورنالی ISI است؟ ایمپکت فاکتور دارد یا خیر؟
کنترل پیش بین مقاوم Min-Max
فصل دوم جبر بول.
برنامه ریزی خطی پیشرفته (21715) Advanced Linear Programming Lecture 3
بررسی قطبش در لیزر های کاواک عمودی گسیل سطحی(vcsel)
SSO Single Sign-on Systems
آموزش و یادگیری Education and Training
1.
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
Tree Sort.
کوئیز از جلسه قبل) کارخانه ای در حال خرید قطعه‌ای برای یکی از ماشین‌آلات خود می باشد اگر نرخ بهره 10% برای محاسبات فرض شود، دو مدل از قطعه ماشین در دسترس.
مدارهای منطقی فصل سوم - خصوصیات توابع سويیچی
دانشگاه صنعتی امیرکبیر Instructor : Saeed Shiry &
اصطکاک Designed By: Soheil Soorghali.
Sparse Coding مهندس فرامرزپور
معرفی روش آنالیز حرارتی تفاضلی و روش گرماسنجی روبشی تفاضلی An Introduction to Differential Thermal Analysis (DTA) and Differential Scanning Calorimetry.
تهیه و تنظیم: فاطمه قاسمی دانشگاه صنعتی شریف – پاییز 86
Bucket sort اكرم منوچهري زهرا منوچهري
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
کار برد شبکه های عصبی در پردازش سریهای زمانی
آشوب در سیستمهای دینامیکی
روش عناصر محدود غیرخطی II Nonlinear Finite Element Procedures II
راهبرد شاخه و حد (Branch and bound)
اهداف درس این جلسه حل مساله کوله پشتی با رویکرد حریصانه مقایسه رویکرد حریصانه با برنامه‌نویسی پویا در حل مساله.
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
جستجوی منابع الکترونیک
فصل ششم مدارهای ترتیبی.
توزیع میانگین نمونه سعید موسوی.
به نام یکتای دانا فصل اول: متدها و قواعد.
فصل 8 –Process and Deployment
نسبت جرم فرمولی ”جرم اتمی و فرمول تجربی
برنامه ریزی خطی پیشرفته (21715( Advanced Linear Programming Lecture 7
ساختمان داده ها مرتب سازی درجی
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
ساختمان داده ها گرافها.
سد خونی- مغزی. تکنولوژی نمایش فاژی و کاربرد آن  مقدمه و تاریخچه  نمایش فاژی در تولید آنتی بادی مونوکونال.
Presentation transcript:

Sparse Coding کدگذاری تنک مریم عبدالعلی بهار 90

فهرست مطالب کدگذاری تنک چیست و چرا؟ کاربردها و دستاوردها مبانی کدگذاری تنک استفاده از کدگذاری تنک در بازشناسی استفاده از کدگذاری تنک در طبقه بندی خلاصه و جمع بندی مراجع

کدگذاری تنک چیست کدگذاری تنک: بردارهای داده را به صورت ترکیب خطی تعداد کمی از مؤلفه های یک دیکشنری overcomplete بیان می کند. روش موفق در انتخاب ویژگی تخمین با بعد پایین تر از یک سیگنال برخلاف PCA لزومی بر متعامد یکه بودن مؤلفه های پایه امکان adaptation وجود دارد

چرا کد گذاری تنک Sparse code الهام گرفته از neural code است. Neural coding چگونگی بازنمایی اطلاعات و حواس در مغز توسط شبکه ای از نورون ها را بررسی می کند. اطلاعات توسط strong activation مجموعه ای کمی از نورون ها کد می شوند. تنکی از لحاظ زمانی یا جمعیتی ادعای جنجالی Olshausen و همکاران: کدگذاری تنک تصاویر طبیعی نتایج مشابه (حتی بهتر) از فیلترهای wavelet دارد. مشابه عملی که در سلول های میدان گیرندگی در غشر بینایی صورت می گیرد

نمایش سیگنال تبدیل فوریه: Wavelet نمایش سیگنال بر اساس مؤلفه های پایه ای سینوسی و کسینوسی Wavelet در مقایسه با تبدیل فوریه می‌توان گفت که تبدیل موجک دارای خصوصیت محلی‌سازی بسیار خوبی است. بطور مثال تبدیل فوریه یک پیک تیز دارای تعداد زیادی ضریب است، چرا که توابع پایه تبدیل فوریه توابع سینوسی و کسینوسی هستند که دامنه آنها در کل بازه ثابت است، در حالی که توابع موجک توابعی هستند که بیشتر انرژی آنها در بازه کوچکی متمرکز شده‌است و به سرعت میرا می‌شوند. بنابراین با انتخاب مناسب موجک های مادر می توان فشرده سازی بهتری در مقایسه با تبدیل فوریه انجام داد.

کدگذاری تنک از منظر سیگنالی نمایش بر اساس ترکیب خطی و تنک از دیکشنری + خطای sparse

کاربردها و دستاوردها حذف نویز از تصاویر تشخیص لبه In-painting Super-resolution فشرده سازی همه در سال های اخیر 2008 به بعد ارائه شده اند

مبانی کدگذاری تنک جملات زبان انگلیسی با تعدا کمی سمبل قابل بیان هستند. نمونه از کد گذاری تنک X: یک سیگنال در Rm مجموعه ای از مؤلفه های پایه (دیکشنری) بردار تنک آلفا در Rp به گونه ای است که: α، sparse code نامیده می شود

مثال پر واضح است که بی نهایت ضرایب α می توانند وجود داشته باشند که بتوانند x را تولید کنند. چگونه می توان بهترین α را پیدا کرد؟ = ضرایب تنک α دیکشنری (D) تصویر نویزی (x)

استفاده از ضرایب لاگرانژ در بهینه سازی استراتژی برای پیدا کردن مینمم یا ماکزیمم یک تابع در حالی که محدود به شرایطی است. هدایت کردن محدود کردن

ادامه... در نقطه بهینه، شیب f و g همراستا هستند. در سایر نقاط، مشتق f مولفه ای در راستای منحنی g=c دارد، یعنی اگر در این راستا حرکت کنیم، ضمن اینکه روی منحنی g=c باقی مانده ایم، مقدار تابع f را نیز بهینه تر کرده ایم، پس باید این کار را بکنیم. وجود ضریب لاگرانژ بدان علت است که مشتق f وg در نقطه بهینه لزوما هم اندازه نیستند و فقط هم راستا هستند، لذا این ضریب باعث میشود چنین نقطه ای عملا قابل محاسبه باشد.

معادله تجزیه تنک Ψ(α) تنک بودن را لحاظ می کند، می تواند: نرم L0 باشد تنک بودن قطعاً لحاظ می شود، مسئله NP نرم L1 باشد .... نرم L∞ باشد تعریف نرم

نکته تعداد مجهولات بیشتر از تعداد معلوم ها است. یا جواب ندارد: اگر x در محدوده پوشش ستون‏های D نباشد. یا بی نهایت جواب دارد. شرط زیر اضافه میشود تا مطمئن شویم جواب وجود دارد: ستونهای D کل فضای n بعدی را پوشش میدهند. به عبارت دیگر D (دیکشنری) full rank matrix باشد تعداد سطرهای D از تعداد ستون ها بیشتر باشد

کدام نرم را انتخاب کنیم؟

ادامه... نرم L0 تنک بودن را قطعاً لحاظ می کند نرم L2: نرم L1: محاسبات امکان پذیر نیست نرم L2: Convex جواب یکتا فرم closed ساده لزوماً بهترین جواب نیست نرم L1: جواب تنک هرتابع که (مانند نرم های کمتر مساوی 1) نسب به محورها متقارن باشد، به طور یکنواخت غیر نزولی باشد، به طور یکنواخت شیب غیر صعودی داشته باشد، برای x>0، خلوت بودن را حفظ میکند.

با فرض داشتن دیکشنری α چگونه انتخاب شود؟ Matching pursuit Orthogonal Matching pursuit LS-OMP الگوریتم Lasso الگوریتم FOCUSS

Matching Pursuit روش حریصانه یکی از روش های پایه ای عددی به دنبال یافتن بهترین تطابق در تصویر کردن یک داده چندبعدی بر روی یک دیکشنری D است. مؤلفه ای از دیکشنری را انتخاب می کند که بزرگ ترین ضرب داخلی با Dα-x را دارد.

الگوریتم Matching Pursuit

الگوریتم Orthogonal Matching Pursuit تنک بودن را قطعاً لحاظ می کند. ضرایب α باید متعامد یکه باشند

هر دو روش تکراری محسوب می شوند MP و OMP در OMP هر مؤلفه دیکشنری تنها یک بار می تواند انتخاب شود پیاده سازی دشوارتری دارد می توان DTD را یک بار اول الگوریتم پیاده سازی کرد می توان DTr را برای هر سیگنالی از قبل محاسبه کرد می توان تجزیه چلسکی را برای هر سیگنال از قبل محاسبه کرد هر دو روش تکراری محسوب می شوند

الگوریتم LS-OMP الگوریتم بهبود یافته این که در هر بار که یک ستون انتخاب میشود، فرض نباشد که همین یک ستون باید خطا را تقریب زند، بلکه این ستون کاندید در کنار ستونهای قبلی انتخاب شده قرار است تقریب بزند و همه ضرایب ستونها هم یکجا محاسبه شود! هزینه محاسباتی بالاتری هم دارد!

الگوریتم Lasso Lasso مسئله تخمین تنک بودن را به یک مسئله محدب تبدیل می کند. بهتر از الگوریتم های حریصانه تکراری مشکل : نرم صفر راه حل: تبدیل به نرم یک معادله محدب بدست می آید نرم یک با مقدار مؤلفه ها سر و کار دارد نه با تعداد نرم یک کوچک ممکن است نرم صفر بزرگی باشد

ادامه Lasso برای حل مسئله محدب حاصل از انواع روش ها می توان استفاده کرد: [Boyd and Vandenberghe, 2004], [Nocedal and Wright, 2006], [Borwein and Lewis, 2006], [Bonnans et al., 2006], [Bertsekas, 1999]. یک روش نسبتاً ساده تر directional derivatives است. نرم یک به طور مستقیم قابل مشتق گیری نیست. در جهت بردار خاص u مشتق گیری انجام می شود بر اساس این تعریف مشتق، مشتق گیری انجام می شود و آلفای بهینه پیدا می شود. امروزه از LARS استفاده می شود (Efron, 2004)

الگوریتم FOCUSS این مساله محدب است و با تابع لاگرانژ قابل حل است. از روشی با نام Iterative-Reweighed-Least-Squares (IRLS) برای تقریب زدن نرم صفر توسط نرم 2 وزن دار استفاده میکند. این مساله محدب است و با تابع لاگرانژ قابل حل است. علت اینکه تلاش کردیم تا نرم p را به صورت نرم2 بیان کنیم : نرم های کمتر از 1، هنگام مشتق گیری از تابع لاگرانژ، توان منفی برای x ایجاد میکنند که حل آن درد سر بیشتری دارد و در برخی نقاط هم تحلیلی نیست به لحاظ هندسی هم نرم های کمتر از 1 نقاط غیر تحلیلی دارند که احتمالا جواب بهینه در نزدیک همان نقاط است. نرم صفر هم که اصلا قابل مشتق گیری نیست اساسا.

دیکشنری Choosing versus Learning سرعت بالا در یافتن بردار تنک pre-constructed dictionaries, such as undecimated wavelets steerable wavelets contourlets curvelets etc. سرعت بالا در یافتن بردار تنک محدودیت در میزان تنک بودن بازنمایی محدود به نوع خاصی از سیگنالها برای بازنمایی مثلا تبدیل Wavelet

روش های یادگیری دیکشنری Brute-force search تمام حالت های ممکن برای دیکشنری را در نظر می گیرد نا ممکن به عنوان base line K-means-like: MOD K_SVD نمونه های آموزشی

الگوریتم MOD این معادله غیر محدب است. دو متغیر A و x مینمم کردن در دو مرحله انجام می شود گامی که A را مینمم می کند، گام به روز رسانی دیکشنری نامیده می شود از روی داده های آموزشی انجام می شود تمام داده های آموزشی را کنار هم قرار می دهیم: Y (n*M) تمام ضرایب مجهول را هم کنار هم قرار می دهیم: X (m*M) معادله Y=AX ایجاد می شود

ادامه الگوریتم MOD در هر گام ابتدا دیکشنری A را مینمم می کنیم و سپس تعداد صفرهای x را مینمم می کند. در گام k: A(k-1) بدست آمده از گام قبلی استفاده می شود و معادله برای تمام yi ها بر اساس روش های قبلی گفته شده حل می شود (دیکشنری ثابت فرض می شود) از ماتریس X(k) بدست آمده، دیکشنری A(k) با حداقل کردن مربع خطا بدست می آوریم:

ادامه MOD مثالی از پیدا کردن دیکشنری: دیکشنری رندم (مؤلفه های گوسی iid و نرمال شده) با سایز 30*60 از این دیکشنری 4000 نمونه با ترکیب 4 مؤلفه با ضرایب N(0,1) ایجاد می کنیم. نمونه ها با نویز گوسی N(0,0.1) نویزی می شوند.

الگوریتم K-SVD ستونهای A یکی یکی تغییر می‏یابند. rewriting (12.3) as: هر دو بردار تغییر می‏کنند تا عبارت داخل پرانتز را تقریب بزنند.

ادامه خطایی که بعد از حذف ستون j0 از A حاصل شده است. تا قبل از این مقدار Y-AX نزدیک صفر بود(کمترین مقدار ممکن با A فعلی بود)، اما حالا یک ستون از A حذف شده تا اثرش سنجیده شود. مقدار بهینه آن است که فرض کنیم همین ستون j0 از A به تنهایی قرار است کل خطای تقریب کل سیگنالها را جبران کند. لذا باید را بسازد تا 12.4 صفر شود.

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

SVD روشی به نام SVD وجود دارد که بدین شرح است: هدف تقریب ماتریس زیر توسط ضرب دو بردار و است. روشی به نام SVD وجود دارد که بدین شرح است: the singular value decomposition of an m×n real or complex matrix M is a factorization of the form U is an m×m real or complex unitary matrix, (orthogonal matrix for real matrix M) Σ is an m×n rectangular diagonal matrix with nonnegative real numbers on the diagonal, and V* (the conjugate transpose of V ) is an n×n real or complex unitary matrix. The diagonal entries Σi,i of Σ are known as the singular values of M.

مثال SVD برای حل SVD از روشهای تکراری استفاده می‏شود.

الگوریتم K-SVD

طبقه بندی با sparse coding مسئله اساسی در الگوریتم های طبقه بندی: انتخاب ویژگی دیکشنری بزرگی از ویژگی های ممکن همزمان یا قبل از فاز تخمین پارامترها انتخاب ویژگی بهینه، NP-complete راه حل: تغییر تابع جریمه، لحاظ کردن شرط تنک بودن

Basis Pursuit Classification فرض: Φi : بردار ویژگی های ورودی θ : پارامترهای کلاسیفایر b : ترم بایاس Y=±1 تبدیل به مسئله مینمم کردن

طبقه بندی با sparse coding کدگذاری تنک نوعی بازسازی مناسب برای کاربردهای حذف نویز، تشخیص چهره روش های discriminative (LDA): مناسب برای طبقه بندی ادغام دو روش: مقابله با نویز، missing data، outlier تبدیل به روش state of art استفاده از Fisher برای ساخت دیکشنری هر دو مزیت لحاظ می شود.

Fisher و Sparse یکدیگر را یاری می کنند! مؤلفه های دیکشنری بر اساس برچسب کلاس ها ساخته می شوند از فرمول خطای بازسازی در کدگذاری تنک برای طبقه بندی می توان استفاده کرد. ضرایب کدینگ، within-class scatter پایین و between-class scatter بالایی دارند. یادگیری دیکشنری بر اساس روش KSVD برای کاربرد طبقه بندی مناسب نیست. از دیکشنری ساختار یافته استفاده می کند. D=[D1,…, Dc] به تعداد کلاس ها دیکشنری خواهیم داشت. where Di is the class-specified sub-dictionary associated with class i

ادامه Fisher و Sparse A=[A1, A2, …, Ac] the set of training samples, where Ai is the sub-set of the training samples from class i. X the coding coefficient matrix of A over D, i.e. A≈DX. We can write X as X = [X1, X2, …, Xc], where Xi is the sub-matrix containing the coding coefficients of Ai over D. D باید: A را بازسازی کند قدرت تمایز ایجاد کند.

چگونه فیشر و sparse با یکدیگر ترکیب شدند؟ ترم f(x): با این ترم اطمینان حاصل می شود که دیکشنری D روی نمونه های آموزشی A می تواند تمایز ایجاد کند. از معیار فیشر بدین منظور استفاده می کند. ترم r: اطمینان حاصل می کند که دیکشنری هر کلاس تنها می تواند نمونه های آموزشی یک کلاس تمایز ایجاد کند.

روش wright و همکاران در تشخیص چهره دو مسئله اساسی در تشخیص چهره: انتخاب ویژگی قدرت تحمل پوشش تصاویر در صورتی که تنک بودن به درستی لحاظ شود، دیگر انتخاب ویژگی مسئله مهم نخواهد بود. از همه مهم تر مسئله به یک مسئله convex تبدیل می شود.

ادامه... در این مسئله طبقه بندی، مؤلفه های دیکشنری خود داده های آموزشی هستند. بازنمایی تنک خواهد شد. arrange the given ni training samples from the i-th class as columns of a matrix Ai := [vi;1; vi;2; ...; vi;ni ] داده تست ترکیب خطی تنک نمونه های آموزشی خواهد شد. تمام نمونه های آموزشی را در کنار هم قرار می دهیم: ضرایب x0 تنها به ازای کلاسی که y به آن تعلق دارد، غیر صفر خواهد بود

ادامه A valid test sample y can be sufficiently represented using only the training samples from the same class تبدیل به: Ideally, the nonzero entries in the estimate x1 will all be associated with the columns of A from a single object class i, and we can easily assign the test sample y to that class. اما نویز دردسرساز می شود:

الگوریتم موفق SRC

آزمایش تأیید کننده روی پایگاه داده Extended Yale B با 1207 تصویر آموزشی و بقیه به عنوان داده تست انجام شده است. تصاویر به اندازه 12*10 تغییر داده شده اند : 120 ویژگی دیکشنری: 120*1207 برای نرم یک، نرم دو و داده outlier ضرایب x برای داده تست رسم شده اند.

نرم یک و نرم دو

داده outlier و robustness الگوریتم ارائه شده نسبت به outlier ها و occlusion مقاوم است.

جمع بندی رویکرد موفق در انتخاب ویژگی نمایش یک بردار ویژگی به صورت ترکیب خطی تعداد اندکی از مؤلفه های یک دیکشنری از قبل تعریف شده نرم یک شرط تنک بودن را فراهم می کند دیکشنری و ضرایب در فرمول کدگذاری تنک به طور جداگانه پیدا می شوند کدگذاری تنک به روش state-of-art در بسیاری از کاربردها تبدیل شده است

مراجع F. Bach. Consistency of the group Lasso and multiple kernel learning. Journal of Machine Learning Research, 9:1179–1225, 2008a. K. Huang and S. Aviyente. Sparse representation for signal classication. In Advances in Neural Information Processing Systems, Vancouver, Canada, December 2006. M. Leordeanu, M. Hebert, and R. Sukthankar. Beyond local appearance: Category recognition from pairwise interactions of simple features. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2007. J. Winn, A. Criminisi, and T. Minka. Object categorization by learned universal visual dictionary. In Proceedings of the IEEE International Conference on Computer Vision (ICCV), 2005. J. Wright, A.Y. Yang, A. Ganesh, S.S. Sastry, and Y. Ma. Robust face recognition via sparse representation. IEEE Transactions on Pattern Analysis and Machine Intelligence, pages 210{227, 2009. M. Aharon, M. Elad, and A. M. Bruckstein. The K-SVD: An algorithm for designing of overcomplete dictionaries for sparse representations. IEEE Transactions on Signal Processing, 54(11):4311{4322, November 2006.

با تشکر از توجه شما The only stupid question is the one you were afraid to ask but never did. -Rich Sutton