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

نکته قابل توجه ماجرا در این است که فقط یک مشکل در استفاده از کپچا برای آموزش الگوریتمهای یادگیری ماشین وجود دارد. آنهم وجود جنگ بین هوش مصنوعی با هوش مصنوعی است. چه عاملی باید متوقف شود؟ به عنوان مثال، افرادی که میخواهند از کپچا استفاده کنند، از یادگیری ماشین در برابر کپچا استفاده نمیکنند؟ در سال 2017 توسعهدهندهای به نام فرانسیس کیم، مفاهیم را با استفاده از تواناییهای یادگیری ماشین گوگل در برابر کپچا به چالش کشید. او با نوشتن فقط 40 خط کد جاوا توانست سیستمی ایجاد کند که از API رقیب Clarifai برای مشاهده و شناسایی تصویر به وجود آمده توسط گوگل ری کپچا استفاده کرده و اشیایی را که کپچا نیاز دارد، شناسایی کند.
بنابراین اگر ری کپچا از کاربر بخواهد تصاویر ویترین فروشگاهها را برای اثبات انسان بودن خود انتخاب کند، Clarifai میتواند در عوض آنها را انتخاب کند. جذابیت ماجرا این است که این نوع کارها با استفاده از فناوریهای خود گوگل هم امکان پذیر است.
هدف گوگل این است که فناوری هوشمندانه خود را به شرکتهای دیگر بفروشد پس TensorFlow را از طریق خود یک API در اختیار توسعه دهندگان قرار میدهد. یعنی اینکه شما میتوانید از TensorFlow برای فریب Captcha که TensorFlow را آموزش میدهد استفاده کنید! درست است که 100٪ مواقع این روش کارساز نیست اما اگر هوش مصنوعی به اندازه کافی خوب آموزش دیده باشد، در موارد زیادی میتواند در مقابل کپچا بایستد و او را دور بزند. یادگیری ماشین در دو فاز آموزش و تست به حل کپچاهای واقعی میپردازد.

این روزها یادگیری ماشین دیگر در حد یک لغت در دنیای فناوری اطلاعات و هوشمندسازی زندگی بشر نیست. یادگیری ماشین با کمک الگوریتمهایش تبدیل به غول بزرگی برای حل مسائل و مشکلات شده است. با وجود طیف گستردهای از مشکلات که در زیر حمایت الگوریتمهای یادگیری ماشین قرار داشته و توسط يادگيری ماشين حل میشوند، دور زدن و حل کپچا شاخه دیگری از این قبیل مسائل است. کار بر روی چند مشکل مربوط به شبکه عصبی کانولوشن متخصصان را بیشتر به این حوزه علاقمند کرد. و آنها فهمیدند که دامنه پیشرفت زیادی در حوزه یادگیری ماشین و هوش مصنوعی وجود دارد. متخصصان علم داده هر روز بیشتر از دیروز با حجم عظیمی از دادهها روبرو میشوند.
برچسب گذاری به صورت خودکار در پشت صحنه توانایی تشخیص رابطه بین چندین شی در یک تصویر را از طریق ترکیب یک تصویر پس زمینه با چندین عکس شی غیرمنظم مورد آزمایش قرار میدهد. در نتیجه با فضای زیادی از تصاویر و سوالات ممکن بدون نیاز به پایگاه داده بزرگ اشیا روبرو خواهیم بود. فرایند ترکیب با توالی دقیق همراه است. در این مسیر، برای پاسخ صحیح به سوال حملات خودکار باید همه یا اکثر اشیا موجود در تصویر را تشخیص دهد. با تگ گذاری تصاویر در فاز یادگیری کمک بزرگی به بهبود هوش مصنوعی شده و بیش از پیش هوش مصنوعی در برابر هوش مصنوعی قرار میگیرد.
پایتون 3 یکی از جالبترین و رو به رشدترین زبانهای برنامه نویسی در سالهای اخیر است. و با داشتن کتابخانههای بسیار قدرتمند در حوزه یادگیری ماشین و بینایی کامپیوتر به یکی از بهترینها تبدیل شده است. همچنین OpenCV یکی از محبوبترین فریم ورکهایی است که برای پردازش تصویر و بینایی ماشین استفاده می شود. از OpenCV برای پردازش تصاویر کپچا استفاده میشود. مزیت ماجرا اینجاست که OpenCV خودش API پایتون را دارد. و به آسانی و به طور مستقیم میتوان با پایتون استفاده شود.
TensorFlow از کتابخانههای معروف گوگل برای یادگیری ماشین است. در حقیقت کد نویسی در Keras انجام میشود اما در واقع keras منطق شبکه عصبی را اجرا نمیکند. درعوض، از کتابخانه TensorFlow گوگل در پشت صحنه برای انجام کارهای سنگین استفاده میکند.

همانطور که میلیونها کاربر متنی را که به سختی خوانده می شود شناسایی کرده و اشیا موجود در تصاویر تار را انتخاب می کنند. این دادهها به برنامههای رایانهای هوش مصنوعی منتقل میشوند تا در این کارها نیز بهتر شوند. از طریق یادگیری ماشین، برنامه های هوش مصنوعی میتوانند در غلبه بر این محدودیتها بهتر شوند. مثلا در تشخیص علامت توقف، برنامه نویس مجموعه دادهای در مورد آن چه علامت توقف است یا نیست، به برنامه هوش مصنوعي میدهد.
در این راه، برای اینکه این کار موثر باشد، آنها به بسیاری از نمونههای تصاویر با علائم توقف و تصاویر بدون علائم توقف نیاز دارند. و همچنین به وجود کاربران انسانی هم نیاز است تا تصاویر را شناسایی کنند. تا زمانیکه برنامهی مذکور مجموعه دادههای کافی برای تأثیرگذاری در برنامه داشته باشد. و reCAPTCHA با جلب توجه انسان به شناسایی اشیا و متون به مرور دادههای کافی برای ساخت برنامههای قوی هوش مصنوعی کمک میکند.
یک راه حل مبتنی بر يادگيري ماشين از OpenCV برای پیدا کردن خطوط در یک تصویر استفاده میکند که مناطق پیوسته را تشخیص میدهد. در این میان تصاویر با استفاده از روش آستانه پردازش پیش پردازش شده و تمامی تصاویر تبدیل به مجموعه تصاویر سیاه و سفید میشوند. از تابع FindCounter() استفاده شده و تصویر کپچا به حروف مختلف تقسیم شده و بدین ترتیب تصاویر پردازش شده به مجموعهای حروف و ارقام تکی تبدیل میشوند. سپس مانند تمامی الگوریتمهای یادگیری ماشین با دو فاز تست و آموزش روبرو هستیم. مجموعه نهایی به مدل CNN جهت آموزش تحویل داده میشود. در نهایت مدل CNN آموزشی آماده حل کپچاهای واقعی خواهد بود. در کپچاهای متنی دقت روش مبتنی بر یادگیری ماشین از روش OCR بیشتر است. البته با این وجود هنوز اشکالات زیادی در این راه حل وجود دارد. و گوگل الگوریتم ری کپچا را به روز نگه میدارد.

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