موضوع مقاله

هوش مصنوعی دقیقا چیه؟

لـرنیا چـیه ؟

Thumbnail Image لرنیا مسیر یادگیری شما را مشخص می کنه و باعث سرعت موفقیتت میشه Thumbnail Image

هوش مصنوعی دقیقا چیه؟

سلامی دوباره به همه دوستداران تکنولوژی به خصوص علاقمندان حوزه جذاب و داغ برنامه نویسی؛ امیدوارم حال همه تون عالی و کد ها تون بی باگ باشه!

من پویا هستم و با یه مقاله کاربردی دیگه خدمت شما رسیدم و قراره این بار درباره موضوع داغ این روز های تکنولوژی و دنیا یعنی "هوش مصنوعی" با هم دیگه گپ بزنیم.

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

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

مقدمه

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

کمی قبل تر!

بیاید قبل از اینکه به بیان تاریخچه و تعریف و بررسی "هوش مصنوعی" بپردازیم، کمی به عقب تر برگردیم و ببینیم که داستان از کجا شروع شده و چی شد که به اینجا رسیدیم و اصن چی به چی هست!

برنامه نویسی چی هست اصن؟!

عکس بارگذاری نشده است

برنامه نویسی رو میشه در یک تعریف عام و خلاصه اینطوری بیان کرد که:

برای اینکه کامپیوتر ها و سیستم های محاسباتی بتونن عملیات ها و وظایف مشخصی که انسان ها از اون ها می خوان رو اجرا کنن و انجام بدن نیاز هست که دستوراتی از قبل مشخص و از پیش تعیین شده رو بهشون داد و در واقع توجیه شون کرد!

همونطوری که می دونید کامپیوتر ها از قطعات و سخت افزار ها و مدار های الکترونیکی ساخته شدن که خود اونا شامل بخش ها و قسمت های مختلفی میشه، علاوه بر این هر رایانه بجز بخش سخت افزاری، یک بخش نرم افزاری هم داره که کاربر (یعنی همون شما) با استفاده از اون نرم افزار کلی و جامع (سیستم عامل) برنامه ها، بازی ها و دستوراتی که میخواد رو اجرا میکنه. پس تا اینجا مشخص شد که هر سیستم محاسباتی (موبایل، لپ تاپ، کامپیوتر, حتی ماشین حساب و ...) شامل دو بخش نرم افزاری و سخت افزاری هست.

حالا برنامه نویسی چیه و برنامه نویس این وسط چی کار میکنه؟

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

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

الگوریتم دیگه چیه؟!

کمی قبل تر براتون توضیح دادم که برنامه نویسی چی هست و چه کاربردی داره اما برنامه نویسی اکثرا با نوشتن برنامه و کد زدن در همون لحظه اول شروع نمیشه و اینطوری نیست که برنامه نویس یهو بپره پشت میز و کیبورد و درجا شروع کنه به کد زدن!

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

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

خب!

حالا که با این مفاهیم بیشتر آشنا شدیم، بیاین به سوال اصلی و اولیه خودمون برگردیم : "هوش مصنوعی دقیقا چیه؟"

تاریخچه

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

حتی تو آثار ادبی و داستانی هم میشه اشاره به این مفهوم و ایده و جرقه های اولیه اون رو در کتاب هایی مثل "فرانکنشتاین" و نمایشنامه "کارخانه روبات سازی روسوم" دید و خوند. اما شروع رسمی و جدی اون احتمالا به قرن بیست و دهه 50 میلادی بر میگرده که دانشگاه "دارتموث" در ایالات متحده پروژه ای تحقیقاتی را به هوش مصنوعی اختصاص داد و در اواسط سال 1960 نیز دپارتمان دفاع ایالات متحده آمریکا روی پژوهش های هوش مصنوعی سرمایه گذاری انبوهی انجام داد. البته ریشه های هوش مصنوعی رو میشه در فعالیت های افرادی چون "هربرت ای. سیمون"، "آلن نیوئل" و در راس آن ها "آلن تورینگ" ریاضیدان و دانشمند علوم کامپیوتر (همچنین منطق دان، فیلسوف، زیست-ریاضیدان و رمز نگار!) انگلیسی یافت. آزمون مشهور تورینگ که امروزه و همچنان نیز از اون به عنوان معیاری برای سیستم های مبتنی بر هوش مصنوعی استفاده میشه متعلق به اوست که در مقاله ای در سال 1950 منتشر شد که در واقع جزو اولین اسنادی هست که در اون به وجود آمدن ماشینی هوشمند پیش بینی شده. این دیدگاه که رایانه ها می تونن هرگونه فرایند استدلال رسمی رو شبیه سازی کنن با عنوان تز "چرچ-تروینگ" شناخته شده. البته با این وجود مقوله هوش مصنوعی تا قبل از معرفی شدن سوپر کامپیوتر "دیپ بلو" که توسط کمپانی "آی بی آم" ساخته و توسعه یافته بود و تونست در مسابقه ای تاریخی که در می سال 1997 میلادی برگزار شد، قهرمان شطرنج وقت جهان یعنی "گری کاسپارف" شکست بده، توجهات جهانیان رو به خود جلب نکرده بود. همچنین در سال 2011 نیز باز هم IBM تونست با ابر رایانه "واتسون" خود موفق به شکست دادن دو قهرمان جپاردی با اختلاف امتیاز قابل توجه بشه.

در عین حال باید این نکته رو هم بگم که الگوریتم های هوش مصنوعی در صنعت و ابر رایانه ها و دیتا سنتر ها به صورت اختصاصی برای سال های زیادی هست که استفاده میشه و صرفا حضور اون به صورت عمومی و عمده و در دسترس برای مردم روی موبایل ها و سایر دستگاه های الکترونیکی به سال اخیر بر میگرده.

تعریف

عکس بارگذاری نشده است

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

انواع

  • هوش مصنوعی نمادین

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

  • هوش مصنوعی عصبی

هوش مصنوعی عصبی (Neural AI) در اواخر دهه‌ی ۸۰ میلادی در علوم کامپیوتر محبوبیت پیدا کرد. در این گونه، دانش با استفاده از نمادها نمایش داده نمی‌شود، بلکه به جای آن، نورون‌های مصنوعی و ارتباط میان آن‌ها نماینده‌ی دانش هستند. این هوش مصنوعی چیزی شبیه به یک مغز بازسازی شده است. در این روش دانش کسب شده به قطعاتی کوچک‌تر (نورون‌ها) خرد و سپس از آن گروه‌هایی متصل به هم تشکیل می‌شود. این نوع هوش مصنوعی رویکردی پایین به بالا دارد. بر خلاف هوش مصنوعی نمادین، یک سیستم هوش مصنوعی عصبی باید ابتدا آموزش داده شود و در معرض محرک‌هایی قرار بگیرد تا شبکه‌های عصبی در آن تجربه کسب کنند، بزرگ شوند و اندوخته‌ی دانش بیشتری داشته باشند.

  • شبکه‌های عصبی

شبکه‌های عصبی (Neural Networks) در لایه‌هایی سازماندهی می‌شوند که با خطوطی شبیه‌سازی شده به یکدیگر متصل هستند. بالاترین لایه، لایه‌ی دریافت است. این لایه مانند حسگری عمل می‌کند که اطلاعات را برای پردازش دریافت می‌کند و آن‌ها را به لایه‌های پایین‌تر می‌فرستد. این فرآیند پس از دریافت اطلاعات با حداقل دو لایه‌ی دیگر (در سیستم‌های بزرگ تا بیش از بیست لایه)  ادامه پیدا می‌کند که به صورت سلسه مراتبی روی هم قرار دارند و اطلاعات را با استفاده از پیوندها دسته‌بندی و ارسال می‌کنند. در پایین‌ترین بخش سلسله مراتب لایه‌ی خروجی قرار دارد که به طور معمول تعداد نورون‌های مصنوعی آن از تمام لایه‌های دیگر کمتر است. این لایه داده‌های محاسبه شده را به فرمتی تبدیل می‌کند که برای ماشین قابل خواندن باشد.

کاربرد ها

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

تشخیص و دسته بندی افراد، اشیا، حیوانات و مکان ها

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

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

این دستیار های مبتنی بر هوش مصنوعی با توجه به نوع و جایگاه و کاربرد می تونن ساده یا بسیار پیچیده و پیشرفته باشن.

الگوریتم های جست جو و رتبه بندی

تا حالا این سوال رو از خودتون پرسیدن که نتایجی که بعد از جست جوی یک موضوع در اینترنت بهتون نمایش داده میشه از کجا میان و ترتیب نمایش شون چجوری و رو چه حسابی تعیین میشه؟

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

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

کلام آخر

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

روز و روزگار تون خوش و بی غم

مراقب خودتون و عزیزان تون باشید

ویدیو مقاله

مطالب مرتبط
مزایا و معایب فریلنسینگ

مزایا و معایب فریلنسینگ

رئیس و کارمند خودتی! وقتی به صورت فریلنسری کار کنید دیگه فقط دارید برای خودتون کار می کنید و به کسی نباید جواب پس بدید و کسی نیست که بهتون دستور بده چه کاری رو باید انج...

نویسنده: نام نویسنده
تاریخچه یونیکس و لینوکس

تاریخچه یونیکس و لینوکس

همزمان با توسعه یونیکس و سیستم عامل BSD دیگر سیستم عامل هایی بر پایه یونیکس توسعه پیدا می کردن که مستقیماً بر پایه کدهای تجاری یونیکس بودن یعنی توسط دیگر شرکت ها از شرک...

نویسنده: نام نویسنده
چجوری یه لپ تاپ مناسب برنامه نویسی بگیرم؟

چجوری یه لپ تاپ مناسب برنامه نویسی بگیرم؟

خیلی از دوستان تو زمان شروع به کار و یادگیری و استارت برنامه نویسی براشون ممکنه پیش بیاد و ذهن شون رو درگیر کنه که در واقع یکی از پیش نیاز ها و از لوازم شروع به کار برنا...

نویسنده: نام نویسنده
هوش مصنوعی دقیقا چیه؟

هوش مصنوعی دقیقا چیه؟

سرعت گسترش هوش مصنوعی و پیشرفت اون در سال های اخیر روندی به شدت صعودی گرفته و هر روز بیش از پیش در زندگی و تعاملات ما نفوذ کرده و تاثیر میذاره و این روز ها اگه بیشتر دقت...

نویسنده: نام نویسنده
چگونه یک فریلنسر موفق شویم؟

چگونه یک فریلنسر موفق شویم؟

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

نویسنده: نام نویسنده
گیت دقیقا چیه؟

گیت دقیقا چیه؟

گیت به بیان ساده یه ابزار برای کنترل و مدیریت نسخه هستش. احتمالا شما هم نرم‌افزارهای زیادی رو دیدین که نسخه‌های متفاوتی از ابتدای انتشارشون وجود داره و هر بار هم ورژ...

نویسنده: نام نویسنده

دیدگاه و نظرات