سفارش تبلیغ
صبا ویژن

هوش مصنوئی


چگونه یک شبکه عصبی‌ هوشمند بسازیم؟ - مثالی از برنامه‌نویسی شیء‌گرا در شبکه‌های عصبی و هوش مصنوعی


 


   


قدرت و سرعت کامپیوترهای امروزی به راستی شگفت انگیز است؛ زیرا کامپیوترهای قدرتمند می‌توانند میلیون‌ها عملیات را در کمتر از یک ثانیه انجام دهند. شاید آرزوی بسیاری از ما انسان‌ها این باشد که ای کاش می‌شد ما نیز مانند این دستگاه‌ها کارهای خود را با آن سرعت انجام می‌دادیم، ولی این نکته را نباید نادیده بگیریم که کارهایی هستند که ما می‌توانیم آن‌ها را به آسانی و در کمترین زمان ممکن انجام دهیم، ولی قوی‌ترین کامپیوترهای امروزی نیز نمی‌توانند آن‌ها را انجام دهند و آن قدرت تفکری است که مغز ما انسان‌ها دارد. حال تصور کنید که دستگاهی وجود داشته باشد که علا‌وه بر قدرت محاسبه و انجام کارهای فراوان در مدت زمان کوتاه، قدرت تفکر نیز داشته باشد یا به قول معروف هوشمند باشد!این تصور در حقیقت هدف فناوری هوش مصنوعی یا Artificial Intelligence) AI) است. یکی از راه‌حل‌های تحقق این هدف، شبکه‌های عصبی است. شبکه‌های عصبی در واقع از شبکه‌های عصبی و سیستم عصبی انسان الگوبرداری می‌کنند. برخی از محققان براین باورند که هوش مصنوعی و شبکه‌های عصبی دو راه‌حل متفاوت و در دو جهت مختلف هستند، ولی این باور را نمی‌توان کاملاً صحیح دانست؛ چرا که در حقیقت علم شبکه‌های عصبی و هوش‌مصنوعی وابسته به هم هستند. بدین‌معنا که قبل از این‌که Symbolها بتوانند توسط هوش مصنوعی شناسایی شوند، باید مراحلی طی شود. مثلاً تصور کنید که Symbolهایی مانند خانه، انسان یا میز وجود دارند. قبل از این که AI بتواند هر کدام از این Symbolها را شناسایی کند، باید از توانایی‌ها و صفات هر کدام از این‌ها اطلاع کامل حاصل کند. مثلاً تصور کنید که یک روبات که هوش مصنوعی دارد، یک انسان را می‌بیند، ولی از کجا می‌فهمد که این جسم یک انسان است؟ مثلاً بر اساس مشخصاتی مثل داشتن دو پا، دست، صورت، دهان و قدرت تکلم. اما شما وقتی یک انسان دیگر را می‌بینید، نیازی ندارید که اول تعداد پاهای او را بشمارید و بعد بگویید که این جسم، انسان است. مغز انسان‌ها می‌تواند با دیدن یک جسم فقط برای یک بار یاد بگیرد و اگر مجدداً آن جسم را مشاهده کرد، می‌تواند سریع تشخیص دهد و قسمت‌های مختلف مغز می‌توانند به صورت همزمان فعالیت کنند و از اطلاعات درون مغز استفاده نمایند. شبکه‌های عصبی در بسیاری از پروژه‌های هوش مصنوعی به کار گرفته می‌شود. مثلاً برای برنامه‌های تشخیص و الگوبرداری، شناسایی تصویر و کاراکتر، روبات‌ها و برنامه‌های فیلترینگ اطلاعات. این شبکه‌ها امروزه حتی در اتومبیل‌های بی‌سرنشین نیز کاربرد دارد. به طوری‌که با دیدن و بررسی رانندگی انسان‌ها، می‌توانند رانندگی کنند. در این مقاله اصول شبکه‌های عصبی در برنامه‌نویسی شیء‌گرا مورد بررسی قرار می‌گیرد. با استفاده از زبان #C و انجام دادن عملیات X-OR ساده می‌توانید اولین برنامه ساده هوش مصنوعی خود را بنویسید. لازم به ذکر است که مثالی که در این مقاله از آن استفاده شده، از مقاله Matthew Cochran (سی شارپ کورنر) اقتباس شده است.