بخشی از مقاله


CAPTCHA , شناخت وچگونگی شکست آن


چکیده - مغز انسان هرروزه حجم وسیعی از دادههایی با ابعاد زیاد همچون

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

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

در تصاویر دادگان EZ-Gimpy را استخراج کند و درکی از آن داشته باشد.

کلید واژه- شبکههاي عصبی، CAPTCHA، شبکههاي سلسله مراتبی، ساختار

ماژولار مغز انسان.


-1 مقدمه

برخلاف پیشرفتهاي چشم گیر نظري و عملی در فهم مغز و ذهن در

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


اهمیت خاصی ندارند و از طرفی رفتارهاي ناشی از ذهن هیچ توجیه مکانیکی نخواهد داشت.

در تاریخ روانشناسی و علوم عصبی، بعضی محققین با استفاده از تشابهات یا عملکرد مفاهیم کلاسیک در مغز، سعی در پیادهسازي چنین ارتباطی کردند . چند مورد از این مفاهیم در اینجا نام برده شده است: سیستمهاي هیدرولیک، کامپیوترهاي دیجیتال، تصاویر سه بعدي، مدارات کنترل، شبکههاي بیزین و .... هیچکدام از رویکردهاي فوق نمیتوانند به تنهایی طراحی واحد اصول و مکانیزمهاي هوش زیستی را تفسیر کنند . [5] این که مغز از نظر آناتومیکی از محدوده ها و جریانهاي پردازشی2 جدا از هم تشکیل شده، بر این امر که جریانهاي پردازشی شامل ماژولهاي

مستقل از هم هستند دلالت نمیکند . بر خلاف شواهد رفتاري که وجود ماژول هاي مستقل را رد میکنند، این فرضیه بسیار قدرتمند شدهاست. براي مثال در طول درك بینایی، فعل و انفعالات شناخته شده و قدرتمندي بین

خصوصیات ادراکی وجود دارد.[5]

تحقیقات بسیار زیادي بر روي بینایی اولیه و میانیمثلاً( تقطیع تصویر یا به عبارتی شکستن تصویر به قسمتهاي مختلف)، در حوزه ي بینایی کامپیوتر انجام شده است.[6] و .[7]

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

ادراك بینایی در انسان با استفاده از شبکههاي عصبی را بررسی کنیم. نکتهي دیگر ایناست که در بسیاري از مدلهاي ارائه شده براي
سیستم بینایی انسان، بخش پردازش با استفاده از روابط ریاضی یا محاسبات بر اساس روشهاي قانون مند4 انجام می شود که لزوماً توجیه زیستی ندارند.[1]
در این مرور هدف آن است که با توجیه زیستی و به کمک شکستن CAPTCHA
به روش شبکههاي عصبی توانایی سامانه بینایی انسان در درك تصاویر و بیرون کشیدن مؤلفههاي معنا دار از آنها ، مدلسازي شود. به طور خاص هدف الگو گرفتن از شیوه هاي پردازشی مغز انسان در هنگام درك کلمات نوشته شده داراي اعوجاج بر روي یک زمینهي نویزي در

طراحی شبکهاي که این توانایی را داشته باشد، است.

در ادامه در فصل دوم، ساختار سیستم بینایی انسان و اینکه مغز انسان چگونه میبیند بررسی میشود.

در ادامه پس از معرفی سیستم بینایی انسان به روابط و جریانهاي ادراکی و مدل شبکه عصبی براي ادراك بینایی پرداخته میشود.

-2 شرح زیستی بینایی

1 -3 قشر اولیه بینایی

همانطور که آکسون سلولهاي عقدهاي یک نمودار فضایی دقیق از شبکیه را روي جسم زانویی خارجی تصویر میکند، جسم زانویی خارجی نیز نمودار مشابه نقطه به نقطه اي را روي قشر اولیهي بینایی میاندازد. در قشر بینایی، سلول هاي عصبی متعددي با هر فیبر ارتباط دارند. قشر بینایی نیز داراي 6 لایه است که آکسون نورونهايِ هستههاي زانویی خارجی در لایهي 4 ختم میشوند. قشر بینایی اولیه اطلاعات در مورد رنگ را از اطلاعاتی که در مورد شکل و حرکت هستند از یکدیگر جدا کرده و ورودي هایی را که از هر چشم میآیند و دنیاي بینایی را به قطعات خطوط

کوتاه با جهتهاي مختلف تبدیل میکند.

2 -3 کورتکس بینایی

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


شکل -1نواحی مختلف کورتکس بینایی و تعامل آنها با یکدیگر

V1 (اولین سطح بینایی )

V1 مانند همه قسمتهاي نئوکورتکس از 6 لایه تشکیل شده است. براي V1 ساختار ستونی در نظر گرفته میشود که هر ستون ویژگیهاي یک بخش متفاوت از میدان دید (مثل کنتراست، رنگ، جهت، حرکت و ...) را پردازش میکند.

V2 دومین قسمت اصلی کورتکس بینایی و اولین ناحیه در قسمت تداعی بینایی است. V2 از V1 اتصالات قوي جلوسو دریافت میکند و اتصالاتی قوي را به V3 ، V4 و V5 میفرستد. همچنین اتصالات قوي فیدبک به V1 میفرستد . ناحیه ي V2 یک نگاشت کامل از دنیاي بینایی فراهم میکندتحقیقات. اخیر نشان میدهد که سلولهاي V2 مقداري مدولاسیون توجهی (بیشتر از V1 و کمتر از (V4 دارند.

V4
V4 اتصالاتی جلوسو و قوي از V2 دریافت می کند و اتصالات جلوسویی را به IT میفرستد . از V1 بهصورت مستقیم ورودي دریافت میکند. اما اتصالاتش با V5 خیلی کم است. V4 نقش مدولاسیون توجهی زیادي دارد. توجه انتخابی میتواند نرخ آتشکردن در V4 را تا % 20 تغییر دهد. V4 مانند V1 با جهتگیري، تغییرات فضایی و رنگ تغییر فرکانس میدهد . اما برخلاف V1 براي اشیاء با پیچیدگی کم فعال میشودمثلاً. براي چهره V4 تغییر فرکانس نمیدهد.

(Middle Temporal) MT
MT اتصالات گستردهاي با اکثرِ نواحی مغز مثل V1 ، V2 ، V3، LGN و ... دارد. MT نقش مهمی در پردازش حرکت بینایی5 داردمثلاً. در درك حرکت و حرکت چشم . همانطور که اشاره شد نورونهاي V1 هم با تغییر جهت و سرعت حرکت عکسالعمل نشان میدهند. پس سؤال ایناست که V5 چه عملی انجام می دهد که V1 نمیتواند؟ در این ناحیه سیگنالهاي ناشی از حرکت محلی به حرکت کلی یک شیء تبدیل میشود.

 

-3 بازشناسی مقاوم به تنوعات الگوهاي ورودي توسط مغز انسان و شبیهسازي آن در ماشین

انسان در بازشناسی الگوبسیار مقاوم6 عمل میکند. از جمله قادر است که نوشتههاي موجود در دادگان CAPTCHA را علیرغم آنکه تحت تأثیر عوامل مختلف " تغییر یافته" باشد به خوبی تشخیص دهد این عوامل تأثیرگذار، عوامل متعددي می توانند باشند و تأثیر خاص خود را هر یک ممکن است روي سیگنال به صورت خطی یا غیر خطی ایجاد نمایند.

(1)

X بردار الگوي خالص، v تأثیر سایر عوامل و X سیگنال تغییر یافته است. ما به v تنوعات یا گوناگونی7 میگوییم.

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

پردازش تصویر که در آن انجام میشود، ناشی میشود.

یکی از این ویژگیهایی که این شیوهي پردازش دارد، دوسویه بودن پردازش در شبکههاي عصبی با اتصالات جلوسو و معکوس یا بازگشتی است.

X بردار الگوي خالص، v تأثیر سایر عوامل و X سیگنال تغییر یافته است. ما به v تنوعات یا گوناگونی7 میگوییم.

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

پردازش تصویر که در آن انجام میشود، ناشی میشود.

یکی از این ویژگیهایی که این شیوهي پردازش دارد، دوسویه بودن پردازش در شبکههاي عصبی با اتصالات جلوسو و معکوس یا بازگشتی است.


شکل -2پردازش دوسویه الگوهاي حسی ورودي در قشر مخ

-4 معرفی مختصري از CAPTCHA

در اصطلاح CAPTCHA، حرف P از واژه ي Public گرفته شدهاست و نمایانگر ایناست که کد و دادگان مورد استفاده باید در دسترس عموم قرار

داشته باشد. این شرط براي تضمین امنیت این تست منظور شدهاست، چون با وجود اینکه کاملاً مشخص است CAPTCHA چگونه کار میکند، انتظار میرود نرم افزارهاي کامپیوتري قادر به گذشت ن از این تست نباشند. حرف T نیز جایگزین کلمه Turing است، زیرا CAPTCHA ها به نوعی شبیه به تست تورینگ هستند. در تست تورینگ که اولین بار توسط فردي به نام تورینگ [Von Ahn ,2003] ارائه شد ، یک انسان در نقش داور از دو بازیکن که یکی کامپیوتر و دیگري انسان است سوالاتی میپرسد. هر دو بازیکن تظاهر به انسانبودن میکنند و این وظیفه ي داور است تا بتواند آن ها را از یکدیگر تفکیک کند. CAPTCHA ها از نظر اینکه باید انسان را از کامپیوتر تفکیک کنند مشابه تستهاي تورینگ هستند اما تفاوت آنها در ایناست که در اینجا داور یک کامپیوتر است نه یک انسان.

-5 کاربردها

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

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

کرمهاي اینترنتی و اسپمها8 ، CAPTCHA ها راهکار مناسبی براي مقابله با کرم ها و اسپمهاي نامههاي الکترونیکی ارائه کردهاند : تنها در صورتی نامه ي الکترونیکی را باز کنید که میدانید یک انسانِ فرستندهي آن است، نه یک کامپیوتر.

موارد فراوانی از این نمونه کاربرد ها براي CAPTCHA وجود دارد. این تستها با استفاده از قدرت پردازش انسان، کامپیوتر و انسان را از یکدیگر تمییز میدهند. هر نرمافزاري که بتواند تست هاي طراحی شده توسط یک CAPTCHA را پشت سر بگذارد میتواند راهحلی براي یک مسأله حل نشده در حوزه ي هوش مصنوعی باشد . بههمین دلیل طراحان اینگونه تستها با طراحیهاي خود، محققینِ هوش مصنوعی را به مبارزه میطلبند. اگر مسألهي طرح شده توسط نرمافزار هاي کامپیوتري حل نشود میتواند بهعنوان یک CAPTCHA و کمکی براي افزایش امنیت شبکه براي

شرکتهایی مانند Yahoo! مورد استفاده قرار می گیرد، و اگر حل شود نشاندهندهي پیشرفت علمی در یک مسألهي دشوارِ هوش مصنوعی خواهد بود.

-6 حل یک مسأله ي CAPTCHA

در شکل زیر روند کلی حل یک مسأله ي CAPTCHA را توسط کامپیوتر مشاهده میکنید.

شکل -3 روند حل مسئله

حل مسأله ي CAPTCHA چهار گام دارد : تمیز کردن تصویر، شناسایی پیکسل هایی از تصویر که مربوط به نوشته هستند، تقطیع تصویر و تطبیق کاراکترها. مراحل پردازش در این گامها و الگوریتمهاي مربوط به هریک عبارتند از:

. 1 تمیز کردن تصویر

. 2 شناسایی پیکسلهاي نوشته

.3 تقطیع

. 4 تطبیق الگو

-7 تعلیم دادگان

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

هر تصویر CAPTCHA شامل 8 کاراکتر است . هر یک از این کاراکتر ها از یک گروه 24 تایی استخراج شدهاست، بهطوريکه کارکترهاي مبهم در این گروه دور ریخته میشدند.

احتمال هر یک از کاراکترهاي 24 تایی به طور تقریبی و تصادفی توزیع شدهاست، که در تصویر زیر دیده میشود.

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید