۰
هوش مصنوعی (AI) شاخهای از علوم کامپیوتر است که بر ساخت سیستمهایی متمرکز است که قادر به انجام کارهایی هستند که به طور معمول نیازمند هوش انسانیاند، مثل تشخیص گفتار، درک زبان طبیعی، تصمیمگیری و یادگیری. ما از AI برای ساخت برنامههای مختلف مانند تشخیص تصاویر و صدا، پردازش زبان طبیعی (NLP)، رباتیک و مدلهای یادگیری ماشین مانند شبکههای عصبی استفاده میکنیم.
یادگیری ماشین و هوش مصنوعی دو حوزه مرتبط اما مجزا در علوم کامپیوتر هستند. AI شامل یادگیری ماشین و روشهای دیگر مانند سیستمهای مبتنی بر قوانین، سیستمهای خبره و سیستمهای دانشمحور است که لزوماً با داده یاد نمیگیرند. بسیاری از سیستمهای پیشرفته AI مبتنی بر تکنیکهای یادگیری ماشین هستند، زیرا این روشها در حل مسائل پیچیده و مبتنی بر داده بسیار موثرند.
یادگیری عمیق زیرشاخهای از یادگیری ماشین است که بر توسعه شبکههای عصبی مصنوعی چندلایه (deep neural networks) تمرکز دارد. این شبکهها در مدلسازی الگوهای پیچیده و سلسلهمراتبی داده بسیار توانمندند. یادگیری عمیق از ساختار و عملکرد مغز انسان، بهخصوص شبکههای عصبی زیستی الهام گرفته است.
شبکههای عصبی معمولاً از سه لایه اصلی تشکیل شدهاند: لایه ورودی، لایه مخفی، و لایه خروجی.
TensorFlow یک پلتفرم متنباز توسعه یافته توسط گوگل است که بیشتر برای محاسبات عددی پرسرعت بهکار میرود. این ابزار مجموعهای از جریانهای کاری را فراهم میکند تا مدلهای یادگیری ماشین را بهطور موثر توسعه داده و آموزش داد. TensorFlow بسیار قابل تنظیم است و به توسعهدهندگان کمک میکند معماریهای یادگیری تجربی ایجاد کنند و به نتایج مطلوب برسند.
محاسبات شناختی نوعی هوش مصنوعی است که فرآیندهای فکری انسان را شبیهسازی میکند. از این روش برای حل مسائلی که برای سیستمهای سنتی دشوارند، استفاده میشود. برخی مزایای آن عبارتند از:
پردازش زبان طبیعی (NLP) شامل توسعه الگوریتمهایی است که به کامپیوترها امکان پردازش، تحلیل و تولید زبان انسانی را میدهد. این شامل وظایفی مثل تحلیل متن، تشخیص احساسات، ترجمه ماشینی، خلاصهسازی و نامگذاری موجودیتها میشود.
در حالی که فهم زبان طبیعی (NLU) زیرمجموعهای از NLP است که روی درک و تفسیر معنا از ورودیهای زبان انسانی تمرکز دارد. NLU به کامپیوترها کمک میکند تا نه تنها ساختار زبان، بلکه معنی پنهان، قصد و احساس را بفهمند.
هوش مصنوعی ضعیف شامل سیستمهای مبتنی بر قوانین و درخت تصمیم است که به ورودی مشخص وابستهاند. اما هوش مصنوعی قوی شامل شبکههای عصبی و یادگیری عمیق است که خود قادرند با یادگیری مسائل را حل کنند.
دادهکاوی فرآیند کشف الگوها، روندها و اطلاعات مفید از مجموعه دادههای بزرگ با استفاده از الگوریتمها و روشهای آماری و یادگیری ماشین است. اهمیت آن با افزایش حجم دادهها و ذخیرهسازی بیشتر شده است. دادهکاوی به بهبود تصمیمگیری کمک میکند.
بخشهایی مانند:
سه جزء اصلی NLP عبارتند از:
LSTM مخفف Long Short-Term Memory است، نوعی شبکه عصبی بازگشتی (RNN) که در هوش مصنوعی و پردازش زبان طبیعی کاربرد وسیعی دارد.
ANI یا هوش مصنوعی ضیق، به سیستمهایی گفته میشود که برای انجام یک یا چند وظیفه خاص طراحی و آموزش داده شدهاند. این سیستمها تخصصی و با دقت بالا کار میکنند و به آن Weak AI نیز میگویند.
Data cube یک نمایش چندبعدی (3 بعدی یا بیشتر) دادهها است که به تحلیلها و مدلسازیهای متفاوت در دادههای پیچیده کمک میکند.
دقت (accuracy) مدل به درصد پیشبینیهای صحیح اشاره دارد، اما عملکرد (performance) شامل شاخصهای گستردهتری مثل دقت، یادآوری، F1-score و AUC-ROC است که بسته به مسئله اهمیت متفاوت دارند.
Generative Adversarial Network (GAN) دارای دو بخش اصلی است:
لایه مخفی ویژگیهای مخفی و مرتبط از دادههای ورودی را استخراج و یاد میگیرد تا به لایه خروجی برای پیشبینی صحیح کمک کند. در واقع این لایه داده را به فرم مفیدتری تبدیل میکند.
Stemming فرآیندی مبتنی بر قواعد است که انتهای کلمات را کوتاه میکند، در حالی که Lemmatization از دیکشنری بهره میبرد تا کلمه به شکل ریشهاش (lemma) تبدیل شود، با دقت و معنا بیشتر.
کاپرس (Corpus) مجموعه بزرگی از متون است که برای ساخت واژگان، آموزش مدلهای آماری و تحلیلهای زبانی استفاده میشود.
باینار کردن داده یعنی تبدیل ویژگیهای آنها به بردارهای صفر و یک، که عملکرد الگوریتمهای طبقهبندی را بهبود میدهد؛ معمولاً در تشخیص اشکال و اشیاء استفاده میشود.
ادراک فرآیند تفسیر دادههای حسی است که سه نوع اصلی دارد:
مزایا: ساده و قابل فهم
معایب: مستعد بیش برازش (overfitting)
حاشیهگیری در آمار به معنی حذف برخی متغیرها از توزیع دادهها برای سادهتر کردن تحلیل است. این کار با جمعزدن یا انتگرالگیری روی متغیرهای نامطلوب انجام میشود.
شبکه عصبی مصنوعی (ANN) الگوریتمی است که ساختار مغز انسان را شبیهسازی میکند. وظیفه اصلی آن یادگیری از دادههای ورودی و انجام پیشبینیها یا طبقهبندیهایی مانند تشخیص تصویر و پردازش زبان است.
محاسبات شناختی زیرشاخه هوش مصنوعی است که سعی دارد تفکر انسان را تقلید کند و کارهایی مانند درک دادههای پیچیده، یادگیری و تصمیمگیری خودمختار انجام دهد. اجزای مهم آن NLP، یادگیری ماشین و بینایی کامپیوتری هستند.
چارچوبهای یادگیری عمیق مانند TensorFlow و PyTorch کتابخانههایی هستند که توسعه، آموزش و اجرا مدلهای عصبی پیچیده را سادهتر میکنند.
تشخیص گفتار تبدیل صوت به متن است، در حالی که تشخیص ویدئو تحلیل فریمهای تصویری برای شناسایی اشیاء، صحنهها و حرکات است.
Pooling لایهای است که با کاهش ابعاد داده ویژگی، شبکه را در برابر تغییرات کوچک ورودی مقاومتر میکند؛ البته باعث کاهش حجم دادهها میشود.
ماشینهای بولتزمان مدلهایی مبتنی بر انرژی هستند که برای یادگیری توزیعهای احتمال با شبیهسازی شبکههای نورونی متقابل استفاده میشوند و میتوانند مدلهای یادگیری عمیق بسازند.
گرامر منظم مجموعهای از قوانین است که نحوه تشکیل رشتهها از یک الفبا را مشخص میکند؛ برای تولید یا اعتبارسنجی رشتهها کاربرد دارد.
روشهای متنوعی از جمله استخراج متن، استفاده از شبکههای اجتماعی، بررسیها، متنهای ضبطشده و وباسکرپینگ.
عبارات منظم (Regular Expressions) الگوهایی هستند که برای جستجو، جایگزینی یا استخراج متن براساس قوانین خاص استفاده میشوند.
NLTK کتابخانهای عمومی برای کارهای پایه NLP است؛ در حالی که spaCy برای وظایف پیشرفته مثل شناسایی موجودیتها و پردازش سریع متون بزرگ طراحی شده و معمولاً سریعتر و بهینهتر است.
بله، چتباتها با استفاده از NLP قادر به درک و تولید زبان طبیعی هستند.
Embedding تکنیکی برای نمایش دادهها در فضای برداری است؛ تکنیکهایی مثل word2vec و GloVe برای معنیدار کردن کلمات در فضاهای برداری استفاده میشوند.
توابع فعالسازی غیرخطی هستند و به شبکه امکان مدلسازی رابطههای پیچیده و غیرخطی را میدهند؛ بدون آنها شبکه صرفاً یک مدل خطی است.
یک الگوریتم بهینهسازی برای یافتن مینیمم تابع خطا به صورت تدریجی و تکراری است. در یادگیری ماشین، برای آموزش مدلها و کاهش خطا کاربرد دارد.
استانداردسازی و مقیاسدهی دادهها برای اینکه ویژگیها در مقیاس مشترک باشند تا الگوریتمها بهتر و سریعتر یاد بگیرند.
روش افزایش تعداد دادههای آموزشی با جهت افزایش تنوع دادهها، مخصوصاً برای مدلهای یادگیری عمیق.
تابع فعالسازیای نرم و مشتقپذیر که در برخی موارد از ReLU عملکرد بهتری دارد.
طبقهبندی تخصیص ورودیها به دستههای مشخص است. مزایا شامل تصمیمگیری بهتر، تشخیص الگو، شناسایی ناهنجاری و پیشنهادهای شخصیسازی شده است.
نوعی شبکه عصبی مناسب برای تحلیل تصاویر و دادههای دو-بعدی که با فیلترهای کانولوشنی ویژگیها را استخراج میکند.
اتوانکودر شبکههایی برای کاهش ابعاد دادهاند. انواعی شامل:
قضیهای که بیان میکند توابع پیوسته را میتوان با ترکیب مجموعههای فازی تقریب زد.
معیاری برای تعیین میزان خطای مدل و هدف آموزش کاهش این خطاست.
متدی برای جلوگیری از بیش برازش با رها کردن تصادفی نودهای شبکه در زمان آموزش.
وقتی گرادیانهای مقداردهی وزنها با زیاد شدن لایهها کوچک و کماثر میشوند که آموزش سخت میشود.
گرادیان تابع هزینه را برای یک دستهی از دادهها محاسبه کرده و وزنها را بر اساس آن بهروزرسانی میکند.
ترکیب چند مدل برای افزایش دقت مدل نهایی؛ گرچه هزینه محاسباتی بیشتری دارد.
فرآیند تشخیص لحن احساسی متنها، مانند مثبت یا منفی بودن دیدگاهها.
الگوریتمهای جستجو در گراف؛ BFS گامبهگام سطح به سطح، DFS عمقی تا انتها دنبال میکند.
برداشت متن از منابع تصویری با تکنیکهایی مانند OCR.
روشهایی مانند تحلیل مولفههای اصلی (PCA)، فیلترهای واریانس کم، جنگل تصادفی و...
تابعی که خطای مدل را اندازه میگیرد و هدف آموزش کاهش این خطا است.
تنسورهای میانی که نتایج موقت محاسبات را ذخیره میکنند. بله، سشنها در TensorFlow 1.x دارای طول عمر خاصی بودند.
وقوع رشد نمایی اندازه متغیر که منجر به ناپایداری عددی میشود.
خیر، مدلهای یادگیری عمیق به توابع غیرخطی نیاز دارند.
پارامترهای کنترلی که توسط کاربر تنظیم شده و رفتار مدل را تعیین میکنند.
هوش مصنوعی فرا-انسانی، که فراتر از هوش انسانی در همه زمینههاست و هنوز تحقق نیافته است.
زمانی که مدل جزئیات نویزی دادههای آموزش را هم یاد میگیرد و عملکرد روی داده جدید افت میکند. روشهای جلوگیری شامل منظمسازی، توقف زودهنگام و افزایش دادههاست.
توالی عملیاتی برای پردازش دادهها که کارایی بالا و خطاهای کمتر را فراهم میآورد.
روشها: الگوریتمهای مناسبتر، وزندهی به کلاسها، oversampling از داده اقلیت.
استفاده از LSTM که شامل سه دروازه است: ورودی، فراموشی و خروجی، که کمک به انتقال اطلاعات بلندمدت میکند.
فرآیندی برای فهم قصد و هدف گوینده پشت متن، که روی دانش دنیایی و کاربرد زبان تمرکز دارد.
تجزیه متن به واحدهای زبانی با روشهای قوانین، آماری یا یادگیری ماشین برای استخراج ساختار دستوری.
حافظه محدود به سیستمی میگویند که از دادههای قبلی ذخیره شده برای تصمیمگیری موقت استفاده میکند. مثلاً خودروهای خودران دادههای ترافیک را برای مدتی ذخیره و بهینهسازی میکنند.
SGD هر بار وزنها را با یک نمونه تغییر میدهد (نوسان بالا). Mini-batch گرادیان میانگین چند نمونه را محاسبه میکند (تعادل بین سرعت و پایداری).
درک توزیع داده، انتخاب روش مناسب (مانند Z-score)، و پیادهسازی با زبانهایی مثل Python یا ابزارهای آماری.
انتروپی میزان عدم قطعیت است. اطلاعات کسب شده (Information Gain) معیار کاهش انتروپی بعد از تقسیم داده است؛ برای انتخاب بهترین شرط در تقسیم استفاده میشود.
تبدیل داده غیرخطی به فضای با ابعاد بالاتر تا بتوان آن را با مدل خطی جدا کرد؛ معمولاً در SVM کاربرد دارد.
ضریب جینی را با استفاده از فرمولی که انتروپی درآمد و توزیع افراد را در نظر میگیرد محاسبه میکنند.
مثال مرحلهای برای محاسبه:
امیدوارم این سوالات و پاسخها برای آمادهسازی شما در مصاحبههای هوش مصنوعی مفید بوده باشد! موفق باشید.
۰
کد با می متعهد است که بالاترین سطح کیفی آموزش را در اختیار شما بگذارد. هدف به اشتراک گذاشتن دانش فناوری اطلاعات و توسعه نرم افزار در بالاترین سطح ممکن برای درستیابی به جامعه ای توانمند و قدرتمند است. ما باور داریم هر کسی میتواند با استمرار در یادگیری برنامه نویسی چالش های خود و جهان پیرامون خود را بر طرف کند و به موفقیت های چشم گیر برسد. با ما در این مسیر همراه باشید. کد با می اجتماع حرفه ای برنامه نویسان ایرانی.