چگونه به ماشین‌ها یاد بدهیم تا تصاویری که مشاهده می‌‎کنند را درک کنند؟
جامعه ما به لحاظ فناوری از هر زمان دیگر پیشرفته‌تر است. ما موفق شدیم انسان‎‌‌ها را به ماه بفرستیم، تلفن‌هایی ساختیم که با ما صحبت می‎کنند یا ایستگاه‌های رادیویی سفارشی طراحی کردیم که می‌توانند فقط موسیقی که دوست داریم را پخش کنند. با این حال پیشرفته‌ترین ماشین‌ها و رایانه‌های ما هنوز هم در درک تصاویر مشکل دارند. با این‎حال، پیشرفت‌های خوبی در این زمینه و به ویژه بینایی ماشین انجام شده که ممکن است انقلابی در دنیای فناوری به وجود آورد.

1606683296_1_0.gif

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

شاید بپرسید چرا این موضوع تا این اندازه سخت است؟ دوربین‎‌ها می‎توانند تصاویری را بر مبنای تبدیل نور به آرایه دو بعدی اعداد که پیکسل نام دارند، تهیه کنند. تصاویری که فاقد روح هستند و معنی خاصی ندارند. همان‎‌گونه که می‎‌گوییم شنیدن کی بود مانند دیدن، عکس گرفتن با دیدن یکی نیست، زیرا با دیدن باید به فهمیدن  برسید. مغز انسان یا سایر موجودات در یک بازه چند میلیون ساله تکامل پیدا کردند تا بتوانند تصاویری که مشاهده می‎‌کنند را پردازش کنند. به بیان دقیق‌‎تر، دیدن با چشم آغاز می‎‌شود، اما در حقیقت در مغز کار اصلی را انجام می‌‎دهد.

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

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

وقتی این موضوع را متوجه شوید، در مرحله بعد به این فکر خواهید افتاد تا به جمع‎‌آوری مجموعه اطلاعاتی بپردازید که نیاز است. هرچه تصاویر بیشتری داشته باشید، کیفیت کار و خروجی الگوریتم بهتر خواهد شد. بهترین منبع در این زمینه اینترنت است که بزرگ‌‎ترین گنجینه عکس‌‎ها که انسان‌‎ها تاکنون گرفته‌‎اند را میزبانی می‎‌کند. به‎‌طور مثال، در برخی موارد کارشناسان از یک میلیارد عکس و فناوری‎هایی مثل CrowdSourcing و Amazon Mechanical Turk platform برای برچسب‌‎زنی این عکس‌‎ها استفاده می‎‌کنند. برای انجام این‎‌کار به تیم بزرگی نیاز دارید که قادر به سازمان‎دهی تصاویر، اصلاح، مرتب‎‌سازی و برچسب‎‌گذاری تصاویر باشند. جالب آن‎‌که تمامی این کارها معادل کاری است که ذهن یک کودک در سال‌‎های اولیه تکامل خود انجام می‎‌دهد. پس از گذشت زمان و کسب تجربه ایده استفاده از حجم عظیم داده‎ه‌ا برای آموزش الگوریتم رایانه‎‌ها، بدیهی بنظر برسد.

به‎‌طور مثال، در یک نمونه تحقیقاتی در سال ۲۰۰۹ پروژه ImageNet یک پایگاه داده از 15 میلیون عکس در وسعت ۲۲٫۰۰۰ کلاس از اشیا که با کلمات انگلیسی روزمره منظم شده بودند را در اختیار تیمی از پژوهشگران هوش مصنوعی قرار داد. به لحاظ کیفیت و کمیت این مقیاس بی‎سابقه بود. به‎‌عنوان مثال در مورد گربه‎‌ها بیش از ۶۲٫۰۰۰ (تصویر) گربه در انواع شکل‎ها، فرم بدن و در تمام گونه‌های اهلی و وحشی ارایه کرد.

حالا که داده‎‌ها را برای تغذیه مغز رایانه در اختیار دارید، آماه هستید تا برگردید سراغ خود الگوریتم‎ها، زیرا از طریق پروژه‎هایی مثل ImageNet دسترسی به اطلاعات طبقه‌‎بندی شده و کامل که برای آموزش الگوریتم‎های یادگیری ماشین نیاز است در اختیار دارید. درست مثل مغز که از میلیاردها نورون پیوسته تشکیل شده یک واحد عملیاتی بنیادی در یک شبکه عصبی یک گره نورون‎مانند است. از گره‎های دیگر ورودی می‎گیرد و و خروجی را به دیگر گره‎ها می‎فرستند. به علاوه، این صدها یا هزاران یا حتی میلیون‎ها گره در لایه‌‎هایی با سلسله مراتب منظم شده‌‎اند، مانند مغز. در یک شبکه عصبی نوعی، برای آموزش مدل تشخیص اشیا، 24 میلیون گره، 140 میلیون پارامتر، و 15 میلیارد اتصال وجود دارد. این یک مدل عظیم است. با استفاده از نیروی عظیم داده‎‌ها از ImageNet و پردازنده مرکزی و گرافیکی برای آموزش چنین مدل یکدستی، شبکه عصبی در هم تنیده  ایجاد م‌ی‎شود. شبکه‌‎ای که قادر است پس از آموزش از طریق مشاهده میلیون‎ها عکس می‎تواند به شما بگوید این تصویر شامل یک گربه است و این‎که گربه کجای تصویر قرار دارد. البته پیاده‎‌سازی یک چنین شبکه‎‌های عصبی برای کاری به مراتب فراتر از تشخیص گربه‌‎ها استفاده می‎شوند و به‌‎طور مثال یک الگوریتم رایانه‎ای می‎تواند به شما بگوید در یک تصویر یک پسر و یک عروسک خرسی؛ یک سگ، یک آدم و بادبادک کوچک در پس‎زمینه وجود دارد یا تصویر شامل چیزهای شلوغ‎‌تر مثل یک مرد، تخته اسکیت، نرده‎ها، تیر چراغ برق و چیزهای دیگر است. گاهی أوقات که کامپیوترها اطمینان ندارند از چیزی که به آن نگاه می‎کنند، باید به آن‎ها کمک کنید تا به اندازه کافی باهوش باشند تا یک جواب مطمئن به شما بدهند، درست مثل کاری که انسان‎ها انجام می‎دهند.

به‎‌طور مثال، اگر میلیون‎ها عکس منظره خیابان‎ها در شهرهای مختلف را در اختیار الگوریتم قرار دهید و کدنویسی آن به درستی انجام شده باشد، به اطلاعات جالبی دست پیدا می‎کنید، به‎طوری که الگوریتم به شما نشان می‎دهد که قیمت خودرو وابستگی زیادی به درآمد خانوارها دارد یا این‎که، قیمت خودرو بستگی زیادی به نرخ جرایم در شهرها یا الگوی رای دادن در شهرها بر اساس کدپستی دارد.

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

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

در مجموع باید به این نکته دقت کنید که ابتدا به ماشین‌‎ها بینایی ببخشید، به آن‎ها دیدن را یاد بدهید تا آن‎ها بتوانند به شما در شناخت بهتر تصاویر کمک کننند.

ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را می‌توانید از کتابخانه‌های عمومی سراسر کشور و نیز از دکه‌های روزنامه‌فروشی تهیه نمائید.

ثبت اشتراک نسخه کاغذی ماهنامه شبکه     
ثبت اشتراک نسخه آنلاین

 

کتاب الکترونیک +Network راهنمای شبکه‌ها

  • برای دانلود تنها کتاب کامل ترجمه فارسی +Network  اینجا  کلیک کنید.

کتاب الکترونیک دوره مقدماتی آموزش پایتون

  • اگر قصد یادگیری برنامه‌نویسی را دارید ولی هیچ پیش‌زمینه‌ای ندارید اینجا کلیک کنید.

ایسوس

نظر شما چیست؟