مریم عبدالعلی بهار 90 1 2 کدگذاری تنک چیست و چرا؟ کاربردها و دستاوردها مبانی کدگذاری تنک استفاده از کدگذاری تنک در بازشناسی استفاده از کدگذاری تنک.
Download
Report
Transcript مریم عبدالعلی بهار 90 1 2 کدگذاری تنک چیست و چرا؟ کاربردها و دستاوردها مبانی کدگذاری تنک استفاده از کدگذاری تنک در بازشناسی استفاده از کدگذاری تنک.
مریم عبدالعلی
بهار 90
1
2
کدگذاری تنک چیست و چرا؟
کاربردها و دستاوردها
مبانی کدگذاری تنک
استفاده از کدگذاری تنک در بازشناسی
استفاده از کدگذاری تنک در طبقه بندی
خالصه و جمع بندی
مراجع
کدگذاری تنک :بردارهای داده را به صورت ترکیب خطی تعداد کمی از
مؤلفه های یک دیکشنری overcompleteبیان می کند.
روش موفق در انتخاب ویژگی
تخمین با بعد پایین تر از یک سیگنال
برخالف PCAلزومی بر متعامد یکه بودن مؤلفه های پایه
امکان adaptationوجود دارد
3
Sparse codeالهام گرفته از neural codeاست.
Neural codingچگونگی بازنمایی اطالعات و حواس در مغز توسط
شبکه ای از نورون ها را بررسی می کند.
اطالعات توسط strong activationمجموعه ای کمی از نورون ها کد
می شوند.
تنکی از لحاظ زمانی یا جمعیتی
ادعای جنجالی Olshausenو همکاران:
کدگذاری تنک تصاویر طبیعی نتایج مشابه (حتی بهتر) از فیلترهای
waveletدارد.
مشابه عملی که در سلول های میدان گیرندگی در غشر بینایی صورت می
گیرد
4
تبدیل فوریه:
نمایش سیگنال بر اساس مؤلفه های پایه ای سینوسی و کسینوسی
Wavelet
در مقایسه با تبدیل فوریه میتوان گفت که تبدیل موجک دارای خصوصیت
محلیسازی بسیار خوبی است .بطور مثال تبدیل فوریه یک پیک تیز دارای
تعداد زیادی ضریب است ،چرا که توابع پایه تبدیل فوریه توابع سینوسی و
کسینوسی هستند که دامنه آنها در کل بازه ثابت است ،در حالی که توابع
موجک توابعی هستند که بیشتر انرژی آنها در بازه کوچکی متمرکز شدهاست
و به سرعت میرا میشوند .بنابراین با انتخاب مناسب موجک های مادر می
توان فشرده سازی بهتری در مقایسه با تبدیل فوریه انجام داد.
5
نمایش بر اساس ترکیب خطی و تنک از دیکشنری +خطای sparse
6
حذف نویز از تصاویر
تشخیص لبه
In-painting
Super-resolution
فشرده سازی
همه در سال های اخیر 2008
به بعد ارائه شده اند
7
جمالت زبان انگلیسی با تعدا کمی سمبل قابل بیان هستند.
گذاری تنک
:X یک سیگنال در Rm
نمونه از کد
مجموعه ای از مؤلفه های پایه (دیکشنری)
بردار تنک آلفا در Rpبه گونه ای است که:
sparse code ،α نامیده می شود
8
=
ضرایب تنک α
دیکشنری ()D
تصویر نویزی ()x
پر واضح است که بی نهایت ضرایب αمی توانند وجود داشته باشند که
بتوانند xرا تولید کنند.
چگونه می توان بهترین αرا پیدا کرد؟
9
استراتژی برای پیدا کردن مینمم یا ماکزیمم یک تابع در حالی که محدود به
شرایطی است.
هدایت کردن
محدود کردن
10
در نقطه بهینه ،شیب fو gهمراستا هستند.
در سایر نقاط ،مشتق fمولفه ای در راستای منحنی g=cدارد ،یعنی اگر در این راستا
حرکت کنیم ،ضمن اینکه روی منحنی g=cباقی مانده ایم ،مقدار تابع fرا نیز بهینه تر
کرده ایم ،پس باید این کار را بکنیم.
وجود ضریب الگرانژ بدان علت است که مشتق fو gدر نقطه بهینه لزوما هم اندازه
نیستند و فقط هم راستا هستند ،لذا این ضریب باعث میشود چنین نقطه ای عمال قابل
محاسبه باشد.
11
Ψ(α) تنک بودن را لحاظ می کند ،می تواند:
نرم L0باشد
نرم L1باشد
....
نرم ∞ Lباشد
12
تنک بودن قطعا ً لحاظ می شود ،مسئله NP
تعریف نرم
تعداد مجهوالت بیشتر از تعداد معلوم ها است.
یا جواب ندارد :اگر xدر محدوده پوشش ستونهای Dنباشد.
یا بی نهایت جواب دارد.
شرط زیر اضافه میشود تا مطمئن شویم جواب وجود دارد:
ستونهای Dکل فضای nبعدی را پوشش میدهند.
به عبارت دیگر ( Dدیکشنری) full rank matrixباشد
تعداد سطرهای Dاز تعداد ستون ها بیشتر باشد
13
14
نرم L0تنک بودن را قطعا ً لحاظ می کند
محاسبات امکان پذیر نیست
نرم :L2
Convex
جواب یکتا
فرم closed
ساده
لزوما ً بهترین جواب نیست
نرم :L1
Convex
جواب تنک
15
هرتابع که (مانند نرم های
کمتر مساوی )1نسب به
محورها متقارن باشد ،به طور
یکنواخت غیر نزولی باشد ،به
طور یکنواخت شیب غیر
صعودی داشته باشد ،برای
،x>0خلوت بودن را حفظ
میکند.
Matching pursuit
Orthogonal Matching pursuit
LS-OMP
Lasso الگوریتم
FOCUSS الگوریتم
16
17
روش حریصانه
یکی از روش های پایه ای عددی
به دنبال یافتن بهترین تطابق در تصویر کردن یک داده چندبعدی بر روی
یک دیکشنری Dاست.
مؤلفه ای از دیکشنری را انتخاب می کند که بزرگ ترین ضرب داخلی با
Dα-xرا دارد.
18
19
20
21
22
23
24
25
تنک بودن را قطعا ً
لحاظ می کند.
ضرایب αباید متعامد
یکه باشند
26
در OMPهر مؤلفه دیکشنری تنها یک بار می تواند انتخاب شود
پیاده سازی دشوارتری دارد
می توان DTDرا یک بار اول الگوریتم پیاده سازی کرد
می توان DTrرا برای هر سیگنالی از قبل محاسبه کرد
می توان تجزیه چلسکی را برای هر سیگنال از قبل محاسبه کرد
هر دو روش
تکراری محسوب
می شوند
27
الگوریتم بهبود یافته این که در هر بار که یک ستون انتخاب میشود ،فرض
نباشد که همین یک ستون باید خطا را تقریب زند ،بلکه این ستون کاندید در
کنار ستونهای قبلی انتخاب شده قرار است تقریب بزند و همه ضرایب
ستونها هم یکجا محاسبه شود!
هزینه محاسباتی باالتری هم دارد!
28
Lassoمسئله تخمین تنک بودن را به یک مسئله محدب تبدیل می کند.
بهتر از الگوریتم های حریصانه تکراری
مشکل :نرم صفر
راه حل :تبدیل به نرم یک
معادله محدب بدست می آید
نرم یک با مقدار مؤلفه ها سر و کار دارد نه با تعداد
نرم یک کوچک ممکن است نرم صفر بزرگی باشد
29
•برای حل مسئله محدب حاصل از انواع روش ها می توان استفاده
کرد:
[Boyd and Vandenberghe, 2004], [Nocedal and Wright, 2006],
[Borwein and Lewis, 2006], [Bonnans et al., 2006], [Bertsekas,
1999].
•یک روش نسبتا ً ساده تر directional derivativesاست.
•نرم یک به طور مستقیم قابل مشتق گیری نیست.
•در جهت بردار خاص uمشتق گیری انجام می شود
•بر اساس این تعریف مشتق ،مشتق گیری انجام می شود و آلفای بهینه پیدا می شود.
•امروزه از LARSاستفاده می شود )(Efron, 2004
30
از روشی با نام )Iterative-Reweighed-Least-Squares (IRLS
برای تقریب زدن نرم صفر توسط نرم 2وزن دار استفاده میکند.
این مساله محدب است و با تابع الگرانژ قابل حل است.
علت اینکه تالش کردیم تا نرم pرا به صورت نرم 2بیان کنیم :
نرم های کمتر از ،1هنگام مشتق گیری از تابع الگرانژ ،توان منفی برای x
ایجاد میکنند که حل آن درد سر بیشتری دارد و در برخی نقاط هم تحلیلی
نیست
به لحاظ هندسی هم نرم های کمتر از 1نقاط غیر تحلیلی دارند که احتماال
جواب بهینه در نزدیک همان نقاط است.
نرم صفر هم که اصال قابل مشتق گیری نیست اساسا.
31
Choosing versus Learning
pre-constructed dictionaries, such as
undecimated wavelets
steerable wavelets
contourlets
curvelets
etc.
سرعت باال در یافتن بردار تنک
محدودیت در میزان تنک بودن بازنمایی
محدود به نوع خاصی از سیگنالها برای بازنمایی
Wavelet مثال تبدیل
32
Brute-force search
.1
تمام حالت های ممکن برای دیکشنری را در نظر می گیرد
نا ممکن
به عنوان base line
:K-means-like
.2
MOD
K_SVD
.3نمونه های آموزشی
33
این معادله غیر محدب است.
دو متغیر Aو x
مینمم کردن در دو مرحله انجام می شود
گامی که Aرا مینمم می کند ،گام به روز رسانی دیکشنری نامیده می شود
از روی داده های آموزشی انجام می شود
تمام داده های آموزشی را کنار هم قرار می دهیم(n*M) Y :
تمام ضرایب مجهول را هم کنار هم قرار می دهیم(m*M) X :
معادله Y=AXایجاد می شود
34
در هر گام ابتدا دیکشنری Aرا مینمم می کنیم و سپس تعداد صفرهای x
را مینمم می کند.
در گام :k
A(k-1) بدست آمده از گام قبلی استفاده می شود و معادله برای تمام yiها بر
اساس روش های قبلی گفته شده حل می شود (دیکشنری ثابت فرض می
شود)
از ماتریس ) X(kبدست آمده ،دیکشنری ) A(kبا حداقل کردن مربع خطا
بدست می آوریم:
35
مثالی از پیدا کردن دیکشنری:
دیکشنری رندم (مؤلفه های گوسی iidو نرمال شده) با سایز 60*30
از این دیکشنری 4000نمونه با ترکیب 4مؤلفه با ضرایب ) N(0,1ایجاد می کنیم.
نمونه ها با نویز گوسی ) N(0,0.1نویزی می شوند.
36
ستونهای Aیکی یکی تغییر مییابند.
rewriting (12.3) as:
هر دو بردار تغییر میکنند تا عبارت داخل پرانتز را تقریب بزنند.
37
خطایی که بعد از حذف ستون j0از Aحاصل شده است.
تا قبل از این مقدار Y-AXنزدیک صفر بود(کمترین مقدار ممکن با
Aفعلی بود) ،اما حاال یک ستون از Aحذف شده تا اثرش سنجیده
شود.
مقدار بهینه آن است که فرض کنیم همین ستون j0از Aبه تنهایی
قرار است کل خطای تقریب کل سیگنالها را جبران کند .لذا باید را
بسازد تا 12.4صفر شود.
38
صفر
انجام میشود .برخی از عناصر
بهینه سازی روی و
هستند(متناظر با سیگنالهایی که از استفاده نکرده اند).
ممکن است این عناصر تغییر کنند و کاردینالیتی را (که در مرحله قبل پایین
آورده شده بود) باال ببرند.
حذف میکنیم.
برای جلوگیری از این امر ،این عناصر را
متناظرا سیگنالهای مربوطه را از Yو
و نهایتا ستونهای مربوطه از
ستونهایی حذف میشوند که متناظر با سیگنالهایی هستند که از این
این کار با عملگر Pانجام میشوند (حذف ستونهای مربوطه).
39
حذف میشوند.
استفاده نکرده اند.
.است
و
هدف تقریب ماتریس زیر توسط ضرب دو بردار
: وجود دارد که بدین شرح است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.
40
برای حل SVDاز روشهای تکراری استفاده میشود.
41
42
43
مسئله اساسی در الگوریتم های طبقه بندی:
انتخاب ویژگی
دیکشنری بزرگی از ویژگی های ممکن
همزمان یا قبل از فاز تخمین پارامترها
انتخاب ویژگی بهینهNP-complete ،
راه حل :تغییر تابع جریمه ،لحاظ کردن شرط تنک بودن
44
45
فرض:
: Φiبردار ویژگی های ورودی
: θپارامترهای کالسیفایر
: bترم بایاس
Y=±1
تبدیل به مسئله مینمم کردن
کدگذاری تنک
نوعی بازسازی
مناسب برای کاربردهای حذف نویز ،تشخیص چهره
روش های :)LDA( discriminative
مناسب برای طبقه بندی
ادغام دو روش:
مقابله با نویزoutlier ،missing data ،
تبدیل به روش state of art
استفاده از Fisherبرای ساخت دیکشنری
هر دو مزیت لحاظ می شود.
46
مؤلفه های دیکشنری بر اساس برچسب کالس ها ساخته می شوند
از فرمول خطای بازسازی در کدگذاری تنک برای طبقه بندی می توان
استفاده کرد.
ضرایب کدینگ within-class scatter ،پایین و between-class
scatterباالیی دارند.
یادگیری دیکشنری بر اساس روش KSVDبرای کاربرد طبقه بندی
مناسب نیست.
از دیکشنری ساختار یافته استفاده می کندD=[D1,…, Dc] .
به تعداد کالس ها دیکشنری خواهیم داشت.
where Di is the class-specified sub-dictionary
associated with class i
47
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
. قدرت تمایز ایجاد کند
48
ترم ):f(x
با این ترم اطمینان حاصل می شود که دیکشنری Dروی نمونه های
آموزشی Aمی تواند تمایز ایجاد کند.
از معیار فیشر بدین منظور استفاده می کند.
ترم :r
اطمینان حاصل می کند که دیکشنری هر کالس تنها می تواند نمونه های
آموزشی یک کالس تمایز
ایجاد کند.
49
دو مسئله اساسی در تشخیص چهره:
انتخاب ویژگی
قدرت تحمل پوشش تصاویر
در صورتی که تنک بودن به درستی
لحاظ شود ،دیگر انتخاب ویژگی مسئله
مهم نخواهد بود.
از همه مهم تر مسئله به یک مسئله convexتبدیل می شود.
50
در این مسئله طبقه بندی ،مؤلفه های دیکشنری خود داده های آموزشی
هستند.
بازنمایی تنک خواهد شد.
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به آن تعلق دارد ،غیر صفر خواهد بود
51
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.
: اما نویز دردسرساز می شود
52
53
54
روی پایگاه داده Extended Yale Bبا 1207تصویر آموزشی و بقیه به
عنوان داده تست انجام شده است.
تصاویر به اندازه 10*12تغییر داده شده اند 120 :ویژگی
دیکشنری1207*120 :
برای نرم یک ،نرم دو و داده outlierضرایب xبرای داده تست رسم
شده اند.
55
الگوریتم ارائه شده نسبت به outlierها و occlusionمقاوم است.
56
57
رویکرد موفق در انتخاب ویژگی
نمایش یک بردار ویژگی به صورت ترکیب خطی تعداد اندکی از مؤلفه
های یک دیکشنری از قبل تعریف شده
نرم یک شرط تنک بودن را فراهم می کند
دیکشنری و ضرایب در فرمول کدگذاری تنک به طور جداگانه پیدا می
شوند
کدگذاری تنک به روش 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.
58
The only stupid question is the one you were
afraid to ask but never did.
-Rich Sutton
59