مجله ی اینترنتی برای کسایی که میخوان برنامه نویس بشن internplusplus.ir
سرکی به دنیای برنامه نویسی(هوش مصنوعی)
سلام =)
امیدوارم که حالتون خوب باشه و سالم و سلامت باشید! ~___~
انچه در ادامه میخوانید متن پادکستی هست که از اینجا ? میتونید گوش بدید و اگر هم تو کانال تلگرام ما عضو بشید باعث دلگرمیه ماس و این هم سایت ماست که توش آدرس شبکه های اجتماعی دیگه ما هست.
در نهایت هم اگر سوالی داشتید میتونید توی این گروه بپرسید. اگه بلد باشیم جواب میدیم.
اینجا اینترن پلاس پلاسه و شما دارید به یکی دیگه از قسمت های سری سرکی به دنیای برنامه نویسی گوش میدید.
توی این قسمت من که زهرا ام قراره باهاتون کُلی راجع به هوش مصنوعی و مشتقاتش گپ بزنم.
حالا اگه شما به این موضوع علاقه دارید و دوست دارید بدونید چه خبره و چی به چیه و دنیا دست کیه ، به گوش دادن به این قسمت ادامه بدید.?
خب ، بیایم از اینجا شروع کنیم که هوش مصنوعی اصلا یعنی چی!
هوش مصنوعی یا artificial intelligence یه شاخه از علوم کامپیوتریه که هدف اصلیش اینه ماشین های هوشمندی تولید کنه که بتونه کارهایی که نیاز به هوش انسانی داره رو انجام بده ، در واقع یه حالت شبیه سازی هوش انسانی برای کامپیوتره ؛ یه ماشینی که بتونه مثل انسان فکر کنه ، عمل کنه ، یاد بگیره و مسئله حل کنه و در حال حاضر یکی از شاخه های ترند کامپیوتره که خیلی هم طرفدار داره!
حالا شاید براتون جالب باشه که اصلا استارت این موضوع کِی خورد:
موقع جنگ جهانی دوم ، وقتی که ارتش نازی برای رمزنگاری و ارسال امن پیام ها از ماشین enigma استفاده میکردن ، یه دانشمند بریتانیایی به اسم آلن تورینگ اومد سر از کار ارتش آلمان دربیاره و کدهاشونو دیکد یا رمزگشایی کنه :) که تونستن ماشین bombe رو بسازن و این ماشین enigma رو دیکد کرد.
خب ، بریم راجع به سطوح هوش مصنوعی صحبت کنیم.
اگه بخوایم مته به خشخاش بزاریم کلاً به ۳ سطح تقسیم میشه:
هوش مصنوعی محدود (narrow)
هوش مصنوعی عمومی (general)
هوش مصنوعی سوپر (super)
اینا نوع نیستنا! سطحن.
هوش مصنوعی محدود artificial narrow intelligence
این سطح رو بهش weak artificial intelligence هم میگن اتفاقا ، توی این سطح هوش مصنوعی فقط از اختیارات محدود و وظایف تعیین شده استفاده میکنه ، ماشین اینجا توانایی فکر کردن نداره
مثل چی؟
siri , cortana , alexa , sofia the robot , auto-car
و اینا ..
هوش مصنوعی عمومی artificial general intelligence
این یکی هم یه اسم دیگه داره که strong artificial intelligence گفته میشه ، و اینجا ماشین توانایی تصمیم گیری رو پیدا میکنه و توی این برههی زمانی هوش مصنوعی عمومی وجود نداره اما پیش بینیا حاکی از اینه که به زودی میان پیشمون!
مثل دستیار پزشک ، البته اینکه الان پزشکا از هوش مصنوعی استفاده میکنن برای جراحی و تشخیص بیماری یه بحثه ، اینکه یکی باشه “مثل” پزشک که دنیای اطرافشو درک کنه و ظرفیت مشابه برای انجام فعالیت ها داشته باشه یه بحث دیگست!
هوش مصنوعی عمومی تا حدودی میتونه نگران کننده هم باشه البته
به قول خدابیامرز هاوکینگ
توسعهی هوش مصنوعی میتونه پایان نسل بشر رو رقم بزنه چون میتونه اختیار خودشو بگیره دستش و خودشو دوباره طراحی کنه!
آخری هم هوش مصنوعی سوپر artificial super intelligence
توی این سطح توانایی کامپیوترا از آدما میزنه جلو و بهش مسلط میشن!
ولی نگران نباشید ، هنوز در حد یه فرضیست.
یه مقایسهی کلی بخوایم داشته باشیم از این ۳ تا اینجوری میشه:
هوش مصنوعی ضعیف جاییه که فعلا ما قرار داریم ، عمومی آینده ایه که میخوایم بهش بریم و سوپر آینده ایه که برای هوش مصنوعی میبینیم.
یادتونه گفتم اینا نوع نیستن سطحن؟
حالا اینجا میخوایم بریم سر انواع هوش مصنوعی و اونارو دسته بندی کنیم!
اینم در نظر بگیرید که این دسته بندی بر اساس کاربردهاییه که دارن.
۴ تا نوع داره
ماشین های واکنشگر یا انفعالی reactive machines ai
هوش مصنوعی با حافظهی محدود limited memory ai
مبتنی بر تئوری ذهن theory of mind ai
خود آگاه self-aware
ماشین های انفعالی:
این ماشین بر اساس دیتاهایی که داره و در نظر گرفتن حالت فعلی ای که در اون قرار داره کارشو انجام میده ، منتها مشکلش اینه که حرکاتی که میزنه رو یادش نمیمونه ، یعنی تجربه هایی که کسب کرده رو نمیتونه ازشون استفاده کنه
همین باعث میشه دست و پای انفعالیا بسته بشه و فقط تو موارد خاص کاربرد داشته باشن
مثل وقتی که deepblue تو دههی ۹۰ ماشین تونست گری کاسپاروف که قهرمان شطرنج بود رو شکست بده :}
هوش مصنوعی با حافظهی محدود:
اینم از اسمش تا حدودی معلومه چجوری کار میکنه ، برعکس قبلی تجاربشو ذخیره میکنه اماااا نه برای همیشه ، برای یه مدت محدود ؛ همین باعث میشه تصمیماتش بهینه و آگاهانه باشه.
مثل ماشین های خودران که از طریق سنسور هایی که دارن میتونن عابر رو تشخیص بدن ، یا لاینی که داره توش رانندگی میکنه رو عوض کنه.
کلاً دیتاها رو تا زمانی ذخیره میکنه که یه تصمیمی رو بخواد تو آیندهی نزدیک بگیره.
ماشین مبتنی بر تئوری ذهن:
این نوع از هوش مصنوعی به اون صورت تحقیقات تکمیلی انجام نشده براش و هنوز دارن روش کار میکنن ولی کلاً اساسش اینجوریه که تمرکزش روی هوش هیجانی افراده تا بتونه باور ها و افکار رو بهتر درک کنه و تاثیری که هرکدوم از اینا روی تصمیم گیریه یه فرد میذاره رو متوجه بشه.
این نوع از ماشین میتونه تصمیم گیری رو درک و آنالیز کنه.
ماشین خود آگاه:
خب این یکی هم مثل قبلی هنوز وجود نداره ، چون این ماشین باید بتونه بدون دخالت انسان تصمیم گیری انجام بده و میتونن بفهمن توی چه حالتی هستن و بر اساس دیتاهایی که از بقیه دریافت میکنن میفهمن احساس بقیه راجع بهشون چیه!!
حالا راجع به اینکه ماشین ها بتونن مثل انسانها رفتار کنن آلن تورینگ که راجع بهش صحبت کردیم اومد یه تستی رو انجام داد که اسمشم گذاشت تست تورینگ و تو سال ۱۹۵۰ مطرحش کرد.
تست تورینگ اینو میگه که اگه یه دیوار رو در نظر بگیریم که یه طرفش ماشین باشه و یه طرف دیگش یه انسان قرار گرفته باشه ، اگه از طریق سؤال و جوابی که بین این ۲ تا صورت میگیره آدمه نفهمه اونی که پشت دیواره یه انسانه یا ماشین ، ماشین تست رو برنده میشه!
حالا جالبه بدونید کانسپت هایی که ازشون کپچا حاصل میشه ، تست تورینگ معکوسه!
برای تست تورینگ ماشین باید ۴ تا ویژگی رو داشته باشه:
پردازش زبان طبیعی natural language processing:
که بتونه محاوره داشته باشه و ارتباط برقرار کنه.
بازنمایی دانش knowledge representation:
که بتونه اطلاعاتی که دریافت میکنه رو ذخیره کنه
استدلال خودکار automated reasoning:
اینجا از اون اطلاعات ذخیره شده استفاده میکنه و به سؤالا جواب میده و ممکنه این وسط به نتایج جدیدی هم برسه حتی!
یادگیری ماشین machine learning:
برای انطباق با شرایط جدید و شناسایی و استخراج الگوها تا بتونه ازشون بعداً هم استفاده کنه.
خب حالا بریم سر شاخه های هوش مصنوعی:
تا اینجا یه سری تئوری های لازمو گفتیم که شما یه دیدی پیدا کنید نسبت به این داستان
از اینجا به بعد میتونید یدونه از ایناروانتخاب کنید و شروع به کار کنید!
البته به همین سادگی هم نیست و شما نیاز دارید که پایهی ریاضی نسبتاً خوبی داشته باشید ، علی الخصوص جبر خطی و آمار و احتمال.
کلی هم بخوایم نگاه کنیم پایهی این قضیه روی احتماله اصلا ، پس اینایی که گفتمو در نظر بگیرید.
هوش مصنوعی رو میتونیم به شاخه های زیر تقسیم کنیم:
Machine learning
Deep learning
Natural language processing
Robotics
Expert system
Fuzzy logic
خب دوتاشون براتون آشنا بود ، machine learning و natural language processing!
یادگیری ماشین:
همونطور که گفتیم یادگیری ماشین یه علمیه که ماشینا یادمیگیرن تا بتونن برای پردازش و تجزیه و تحلیل دیتا ازش استفاده کنن.
چجوری؟ سیستم از دیتا ها ، دستور العملا یا تجربه ها به یه سری الگو یا pattern میرسه و بر اساس اون شروع به تصمیم گیری و حل میکنه
کلا هدف یادگیری ماشین اینه که بدون کمک آدما ، کامپیوترا بتونن یادگیری داشته باشن و خب ۵۳۸۲۵ تا الگوریتم های مختلف وجود داره که اینا همشون بر اساس ۳ تا الگوریتم اصلین
Supervised learning یادگیری با نظارت
unsupervised learning یادگیری بدون نظارت
Reinforcement learning یادگیری تقویتی
یه توضیح مختصر بخوام بدم راجع به این الگوریتما ، فرض کنید میخواید یه جوری به ماشینتون بفهمونید که فرق قناری و خروس چیه ، یه جوری که بعداً ازش سؤال پرسیدید با درصد خطای کمی بهتون جواب درست رو بده
خب
میتونید با این ۳ تا انجامش بدید
چجوری؟
با نظارت اینطوریه که شما روی عکس یا هرچیزی لیبل گذاری میکنید و میگید این قناریه ، این خروسه بعد ماشین یاد میگیره.
برای بدون نظارت ما هیچ lable یا برچسبی نمیزنیم.
یکی از روش های بدون نظارت که بهش مصورسازی میگن ، شما یه تعداد زیااااادی عکس میدی به ماشین ، بعد ماشین خودش بر اساس اون الگوریتمی که داره باهاش پیاده سازی میشه ساختار عکسارو پیدا میکنه و دسته بندی میکنه
یادگیری تقویتی دقیقاً مثل یه کودک نوپا میمونه که شما میخواید یه چیزی بهش یاد بدید ، بعد هی ازش سوال می پرسید ،اگه درست گفت ، بهش جایزه میدید ، مثلا یه آبنبات میدید بهش میگی آفرین ، یعنی چه با جواب درست چه غلط ، مراحل یادگیریش داره تکامل پیدا میکنه
اینم دقیقا همونه
منتها دیگه آبنبات نمیدی ، یه سری راه ها وجود داره ، مثلا یه پالس سیگنال میدی بهش و اون میفهمه درست جواب داده یا نه.
درکل هرکدوم از این بخشا پتانسیل اینو دارن که یه پادکست جدا بشن
میتونید بهمون بگید به کدوم بخش علاقهی بیشتری دارید تا قسمت بعدی راجع به همون باشه =]
یادگیری عمیق:
اینم اتفاقا نوعی از یادگیری ماشینه که ایدهی طراحیش بر اساس یادگیری ذهن و شبکهی عصبی انسانه.
الگوریتماشم اینطوریه که با دیتاهای کم خیلی جواب درستی نمیده بهمون
اصولا با حجم بالاتر دیتا عملکردشم میره بالاتر ، بنابراین برای پیاده سازیش نیاز به کارت گرافیک های قوی داریم
هرچی دیتا و زمان بیشتری بهش بدیم ، جواب بهتری هم بهمون میده.
پردازش زبان طبیعی:
همونطوری که گفتم استفادهی nlp برای محاورهی بین انسان و کامپیوتره
هدفش اینه که زبان انسان هارو بتونه بخونه و متوجه بشه
فرض کنید یه انسان با یه ماشین صحبت میکنه ، ماشین صدای انسان رو دریافت میکنه و بعدم تبدیل به متنش میکنه ، حالا میاد روی متن پردازش انجام میده و تحلیلش میکنه ، جواب رو به صوت تبدیل میکنه و به انسان برمیگردونه
یا مثلا توییتر توییتی که مرتبط با خشونت یا تروریسم باشه رو حذف میکنه.
اینجا دیگه فقط بحث text مطرحه.
رباتیک:
اینم دیگه کمو بیش آشنایی دارید باهاش ، روی کارکرد روبات ها تو دنیای واقعی تمرکز میکنن
مثل روبات سوفیا که گفتیم بالاتر
تو گوگل اگه سرچ کنید راجع به روبات سوفیا چیزای باحالی میبینید!
منطق فازی:
اینو ساده بخوام توضیح بدم ، منطق کامپیوتر بر چه اساسیه؟ آفرین ، صفر و یک.
ولی خب این منطق کامل نیست دیگه ، چونکه خیلی از مسائل کاملا قطعی نیست و میتونن حدودی باشن. واسه همین لوکاسویچ که یه فیلسوف لهستانی بود بحث منطق فازی رو آورد وسط
حالا فازی لاجیک بیشتر از ۲ تا حالت میتونه داشته باشه
این متد بر اساس نظریهی degrees of truth یا سطوح درستیه
یعنی مثلا من به جای اینکه بپرسم:
این درسته یا غلط؟
میپرسم:
چقدر درست یا چقدر غلطه؟
اینجوری.
ازش هم برای حل مشکلات پیچیدهی پزشکی که شامل تصمیم گیریه استفاده میشه.
سیستم های خبره:
این سیستم هم میتونه یاد بگیره و هم میتونه تصمیم بگیره ، برای حل مسئله ها هم از if-then logic استفاده میکنن
درکل گفتیم هدف هوش مصنوعی اینه که هوش انسانی رو بتونه شبیه سازی کنه دیگه
حالا سیستم خبره الگوهای منطقی که یه متخصص انسانی بر اساس اونا تصمیم میگیره رو شناسایی میکنه و بعدش بر اساس اون الگوها مثل انسان تصمیم میگیره
تو چه زمینه هایی کاربرد دارن؟
تشخیص عیب خودرو ، تشخیص بیماری ، کنترل وضعیت بیمار و..
جالب اینجاست که سیستم خبره میتونه با منطق فازی درهم تنیده بشه و اصلا یه چیز عجیب غریبی از کار در میاد
خب اینم از این.
فکرکنم تا همینجا هم خیلی طولانی شد ، اگه علاقه مند بودید قسمتای بعدی سرکی رو همین فرمون با هوش بریم جلو ، که قسمت بعدی باشه چجوری و از کجا شروع کنیم
کدوم فیلدو انتخاب کنیم
با کدوم زبان
چگونه
چطور
..
فایل pdf کتاب آقای راسل هم تو کانال تلگراممون همراه با این پادکست براتون گذاشتیم ، کتاب رفرنس هوش مصنوعی این کتابه ؛
خلاصه این قسمتم تموم شد ، اگه فکرمیکنید ممکنه به درد کسی بخوره مارو بهش معرفی کنید.
خدافظ.
مطلبی دیگر از این انتشارات
معرفی چند IDE و Text editor
مطلبی دیگر از این انتشارات
سرکی به دنیای برنامه نویسی (موبایل)
مطلبی دیگر از این انتشارات
سفر به اعماق کامپیوتر (قسمت سوم)