هوش مصنوعی (Artificial Intelligent) یکی از مهمترین مباحث علوم رایانه است. به کمک این علم میتوان ماشینها را هوشمند کرد و در زمینههای مختلفی از آنها استفاده کرد. برای پیاده سازی مفاهیم مربوط به هوش مصنوعی، نیازمند برنامه نویسی هستیم. یکی از معروفترین زبانهای برنامه نویسی که در هوش مصنوعی کاربرد دارد، پایتون است. قدرت اصلی پایتون از کتابخانههای آن نشات میگیرد و تنوع این کتابخانهها آنقدر زیاد است که تقریبا انجام هر کاری را با پایتون ممکن کرده است.
هوش مصنوعی چیست؟
تعریف هوش مصنوعی کار چندان ساده ای نیست، زیرا تاکنون تعاریف گوناگونی برای هوش مطرح شده است. اما سادهترین تعریفی که میتوان از آن داشت این است که به ماشین یا سیستمی که در شرایط مختلف هوشی مانند انسان از خود نشان میدهد، گفته میشود. به عبارت دیگر ماشینی که میتواند برنامه ریزی کند، یاد بگیرد، استدلال کند، قدرت حل مساله داشته باشد و در نهایت با توجه به محیط بیرون واکنش نشان دهد دارای هوش مصنوعی میباشد.
امروزه از این تکنولوژی در زمینههای بسیار زیادی استفاده میشود. گاهی بدون اینکه متوجه باشیم در حال استفاده از هوش مصنوعی از سیستمهای مبتنی بر آن هستیم. مثلا اینستاگرام برای فیلتر کردن نظرات توهین آمیز، تشخیص خشونت در ویدئو و یا پیشنهاد ویدئو بر اساس سلیقه کاربران از هوش مصنوعی استفاده میکند. یک نمونه دیگر دستیارهای صوتی هستند که روز به روز بیشتر مورد استفاده قرار میگیرند. دستیارهای هوشمندی مثل Siri یا Alexa که برای تعامل با انسانها از یادگیری ماشین (Machine Learning) استفاده میکنند.
هوش مصنوعی چه زیرشاخه هایی دارد؟
زیرشاخههای زیادی دارد و به بخشهای مختلفی تقسیم میشود. یکی از مهمترین گرایشهای آن یادگیری ماشین (Machine Learning) است که به اختصار ML خوانده میشود. در یادگیری ماشین، هدف (Goal) توسط انسانها برای ماشین مشخص میشود. سپس ماشین باید یاد بگیرد که چطور و از چه راه هایی باید به آن هدف برسد. در این گرایش ماشین همواره در حال کسب تجربه و یادگیری است و همیشه چیزهای جدیدی یاد میگیرد.
یکی دیگر از کاربردهای آن پردازش زبان طبیعی است. به لطف وجود این گرایش، کامپیوتر میتواند گفتار یا نوشتار را در زبانهای مختلف انسانی تشخیص دهد. از معروفترین سرویسهایی که از این تکنیک هوش مصنوعی استفاده میکنند و احتمالا آنها را میشناسید، میتوان به Google Translate و سرویس ضداسپم ایمیل اشاره کرد.
یک از جذابترین گرایشهای هوش مصنوعی، بینایی ماشین است. میتوانیم آن را مثل بینایی انسان در نظر بگیریم، با این تفاوت که محدویتهای آن را ندارد. مثلا بینایی انسان نمیتواند پشت دیوار یا فاصلههای بسیار دور را ببیند، اما بینایی ماشین چنین محدودیت هایی را ندارد. در این حوزه، با مفاهیم متنوعی مثل تبدیل تصاویر آنالوگ به دیجیتال و پردازش سیگنال و غیره سروکار داریم.
رباتیک یکی از مطرحترین زیرشاخههای هوش مصنوعی در ایران و جهان است. رباتها هنوز هم با چیزهایی که در فیلمهای سینمایی میبینیم فرق زیادی دارند، اما روند صعودی و رو به رشدی را طی میکنند و در بخشهای حساس و مهم حضور پیدا کردهاند. رباتهای جراحی که بهتر از انسانها عمل میکنند تا رباتهای پرنده و آتش نشان، همگی به کمک هوش مصنوعی ساخته شدهاند.
پایتون چه رابطه ای با هوش مصنوعی دارد؟
سالها پیش، افرادی که دراین حوزه و یادگیری ماشین کار میکردند، باید به صورت دستی کارهای مختلف را پیش میبردند. یعنی باید از اول الگوریتمها را تحلیل کرده و سپس فرمولها و گزارشهای مختلف را پیادهسازی میکردند. مجموعه این کارها یک فرآیند طولانی و خسته کننده بود و در بسیاری از موارد با خطا همراه میشد. اما امروزه با رشد زبانهای برنامه نویسی مختلف، کتابخانهها و فریمورکهای مبتنی بر آنها این کار بسیار راحتتر از قبل شده است.
پایتون در حاضر یکی از محبوبترین زبانهای برنامه نویسی دنیا است که بیشتر از ۲۸% برنامه نویسان از آن استفاده میکنند. محبوبیت زبان پایتون اتفاقی نیست و دلایل زیادی برای استفاده از آن وجود دارد. یکی از مهمترین دلایل استفاده از این زبان، سادگی یادگیری است. هوش مصنوعی و گرایشهای آن پیچیدگیهای خاص خود را دارند و از متخصصان این حوزه انتظار نمیرود وقت زیادی را به یادگیری پیچیدگیهای یک زبان برنامه نویسی اختصاص دهند. همچنین این زبان بسیار منعطف است و از شیوههای برنامه نویسی مختلف پشتیبانی میکند.
محبوبیت پایتون در حوزههای مختلف باعث شده است تا توسعهدهندگان کتابخانههای بسیار زیادی را برای این زبان برنامه نویسی ایجاد کنند. با استفاده از این کتابخانهها کسانی که قصد دارند از زبان پایتون در این حوزه استفاده کنند، دیگر نگران کدنویسیها و ساختارهای پیچیده نخواهند بود. زیرا تقریبا هر آنچه را برای کار بر روی هوش مصنوعی نیاز دارند، توسط سایر توسعهدهندگان طراحی و برنامه نویسی شده اند.