طبق نتایج نظرسنجی که اخیر گارتنر با عنوان “استراتژی هوش مصنوعی چیست؟” انجام شده است، گارتنر میگوید: “رقبای شما در کجا سرمایه گذاری میکنند؟” تعداد بسیار زیادی از شرکتهایی که درحال برنامه ریزی برای ایجاد و استقرار هوش مصنوعی هستند، درک عمیقی از تفاوت اصلی بین احتمالات نرم افزار هوش مصنوعی و نرم افزار “سنتی” ندارند و تنها میتوانند به تفکیک تبلیغات هوش مصنوعی از واقعیت کمک کنند. جیمز ویتاکر، استاد سابق علوم کامپیوتر در تکنولوژی فلوریدا، قطعا در این زمینه به ما کمک شایانی خواهد کرد.
چرا هوش مصنوعی؟
شما نمیتوانید با استفاده از الگوریتم های برنامه کدی را برای حرکت یک ماشین در یک دور برگردان بنویسید، اما با استفاده از هوش مصنوعی این کار را میتوان انجام داد! ساخت خودروی خودران با استفاده از الگوریتمهای نرم افزاری غیر ممکن است. شما نمیتوانید کدها را با دستور if-then-else، دستور case یا دستور switch برای حرکت در یک دور برگردان بنویسید. اما میتوانید یک ماشین را برای رانندگی آموزش دهید. این همان کاری است که هوش مصنوعی انجام میدهد.
نرمافزارهای برنامه نویسی از عمد و در هر زمان بر روی یک خط برنامه ریزی میشوند، اما نرم افزار هوش مصنوعی به این صورت نمیباشد البته نرم افزار هوش مصنوعی نیاز دارد که به درستی آموزش بیند. هوش مصنوعی برای انجام یک کار برنامه ریزی نشده است! بلکه برای انجام وظیفه برنامه ریزی شده است.
تفاوت اصلی هوش مصنوعی و برنامه نویسی چیست؟
کد، قسمت اصلی ساخت یک نرم افزار شرطی است. اما در نرم افزار هوش مصنوعی، کد اصلیترین بخش نمیباشد. درست است که هنگام ساختن نرم افزار هوش مصنوعی باید کد بنویسیم، اما بخش اصلی هوش مصنوعی را دادهها تشکیل میدهند. (جمع آوری دادهها، برچسب گذاری دادهها، تجزیه و تحلیل دادهها با استفاده از الگوریتمها برای تشخیص الگوها). نرم افزار نمیتواند ماشین را براند، اما نرم افزار میتواند دادهها را جمع آوری کند. خودروها دارای سنسورهای نزدیک میدان، میکروفون، دوربین، لیدار (رادار لیزری) و رادار هستند. سپس هوش مصنوعی با نحوه گردش به راست، نحوه گردش به چپ، نحوه صاف رفتن، نحوه تشخیص علامت توقف و نحوه تشخیص چراغ راهنما آشنا میشود و این کار را به دلیل الگوها انجام میدهد، زیرا تمام دادهها را دارد. زمانی که خودرو خودران هزار علامت توقف را میبیند، میتواند به خودی خود علامت توقف را تشخیص دهد، زیرا بارها آن را دیده است.
مقایسه هوش مصنوعی و برنامه نویسی
الگوریتم مجموعهای از دستورالعملها است. یک دستورالعمل از پیش تعیین شده، سخت و کدگذاری شده است، که در صورت برخورد با یک شرط اجرا میشود. از طرف دیگر هوش مصنوعی یک اصطلاح بسیار گسترده است و تعداد بسیاری از تخصصها و زیر مجموعهها، در بر گیرنده هوش مصنوعی هستند. گروهی از الگوریتمها هستند که میتوانند، الگوریتمهای خود را بهبود بدهند و الگوریتمهای جدیدی را در پاسخ به ورودیها و دادههای آموخته شده ایجاد کنند و این کار درحالی انجام میشود که فقط بر روی ورودیهایی که برای تشخیص الگوریتمها طراحی شده است، تکیه میکنند. این توانایی تغییر، سازگاری و رشد بر اساس دادههای جدید، به عنوان “هوش” توصیف میشود.
نیرانجان کریشان مدیر علوم داده در شرکت آنالیز تایگر میگوید: “هوش مصنوعی در بلوغ مانند یک سیستم دندهای با سه چرخ به هم پیوسته شده است: یکی پردازش داده، دیگری یادگیری ماشین و در آخر فعالیت تجاری، 3 چرخ هوش مصنوعی به حساب میروند. این عملگرها به صورت خودکار و بدون دخالت انسان کار میکنند. دادهها بدون نیاز به مهندسین داده، ایجاد، تبدیل و جابجا میشوند. اقدامات یا تصمیمات تجاری بدون هیچ عملگر یا نمایندهای اجرا میشوند. این سیستم به طور مداوم از تجمع دادهها و اقدامات تجاری یاد میگیرد و نتایج با گذشت زمان بهتر و بهتر میشوند.”
دکتر میرعماد موسوی، بنیانگذار و مدیرعامل شرکت QuiGig، در رابطه با مقایسه هوش مصنوعی و الگوریتم میگوید: ما باید رابطه بین برنامه نویسی و هوش مصنوعی را به عنوان رابطه بین “اتومبیل و اتومبیلهای پرنده” در نظر بگیریم. “تفاوت اصلی این است که یک الگوریتم، فرآیند را از طریق تصمیمگیریهایی که برای آن شده است، تعیین میکند و هوش مصنوعی از دادههای آموزشی برای انجام تصمیمگیری استفاده میکند.” به عنوان مثال، شما میتوانید دادههای هزاران ساعت رانندگی توسط رانندگان مختلف را جمعآوری کنید و در مورد نحوه رانندگی با ماشین، با هوش مصنوعی به آنها آموزش دهید. یا فقط میتوانید با گفتن کد “بگو” در هنگامی که در جاده مانعی را تشخیص میدهد، به صورت خودکار ترمز را میگیرد، یا هنگامی که علامت سرعت را میبیند، خودش رعایت میکند.
بنابراین با یک الگوریتم، شما معیارهای اقدامات را تنظیم میکنید. از سوی دیگر، موسوی میگوید: که با استفاده از هوش مصنوعی شما به کامپیوتر نمیگویید چه کاری را باید انجام دهد، زیرا هوش مصنوعی تعیین میکند که چه عملیاتی نیاز است بر اساس دادهها انجام شود، و میگوید تقریبا مردم همیشه این کار را انجام میدهند.
مزایا و معایب هوش مصنوعی در مقابل الگوریتمهای برنامه نویسی
مزایا هوش مصنوعی:
چگونه هوش مصنوعی میتواند به ساده سازی بسیاری از فرآیندها کمک کند؟ هوش مصنوعی میتواند زندگی را با استفاده از برخی اقدامات اتوماتیک و کارآمدتر کردن فرآیندها، راحتتر کند، حتی کمک میکند که روزبهروز چیزهایی را بیاموزیم که تا الان مورد توجه ما نبودهاند.” همچنین هوش مصنوعی میتواند تعداد زیادی از دادهها را اسکن کند و از آن به عنوان مبنایی برای تصمیم گیری سریعتر، برای هر وضعیت جدیدی بر اساس سابقه الگوها استفاده کند. مزیت دیگر این است که تکنولوژیهای هوش مصنوعی میتواند با دادههای نامعلوم قبلی سازگار شده و بدون نیاز به نوشتن کد جدید تصمیمگیری کنند.
معایب هوش مصنوعی
- اجرای تکنولوژیهای هوش مصنوعی تمایل زیادی به منابع دارند. نقطه ضعف اصلی رویکردهای هوش مصنوعی این است که آنها اغلب به دادههای زیاد و قدرت محاسبه اولیه (برای مدلهای آموزشی) نیاز دارند، یا حداقل به دادههای از قبل طبقه بندی شده، که دستیابی به آنها هزینه بالاتری نیاز دارد و سختتر است، نیاز دارند و با وجود اینکه هوش مصنوعی به سهولت زندگی کمک میکند، اما یکی از مشکلات هوش مصنوعی این است که از تکنیکهای جعبه سیاه استفاده میکند. این روشها دارای گرایش ذاتی برای تداوم دادن و تقویت کردن تعصبات موجود در دادهها با توجه به عواملی مانند نژاد، جنسیت و تحصیلات دارند. همانطور که پیداست، هوش مصنوعی همچنین به دلیل رفتارهای نامطلوب، عدم تشخیص صحیح سیاسی، اجتماعی و در برخی مواقع به صورت کاملا مشهود ناشی از نادرستی، شناخته میشود. وقتی هوش مصنوعی در مورد محصولات مالی مصرف کنندگان مانند کارتهای اعتباری، وام یا بیمه باشد، همواره زنان، افراد سیاه پوست آمریکایی و سایر اقلیتهای نژادی را در موقعیتهای نامطلوبی قرار میدهد.
- اگر هوش مصنوعی به حال خود رها شود، میتواند منجر به عواقبی شود که شامل اقدامات تجاریای است که خلاف ارزشهای شرکت است، به نام تجاری شرکتها و برند آنها صدمه میرساند، الزامات انطباق را نقض میکند و باعث قانونی شدن تخلفات گران قیمت میشود. هوش مصنوعی در حال حاضر توانایی تفکر خارج از محدوده را ندارد. این فقط بر اساس دادههای قبلی عمل میکند و پاسخی برای شرایط منحصر به فرد جدید نخواهد داشت.
- یک خودروی خودران با قابلیت هوش مصنوعی حفاظت از جان مسافران را بر حفاظت از جان عابران پیاده ترجیح میدهد. مثلا اگر شما درحال رانندگی هستید و متوجه شدید که بر اساس سرعتتان به گروهی از بچهها خواهید زد، و احتمالا آنها را میکشید، ممکن است تصمیم بگیرید که جان خودتان را به خطر انداخته و به نردههای اطراف بزرگراه بزنید. درحالی که، یک خودرو خودران مجهز به هوش مصنوعی که به گونهای طراحی شده است که از جان مسافر خود محافظت کند، هرگز این کار را نمیکند.
مزایا و معایب الگوریتمهای برنامه نویسی
الگوریتمها کنترل و شفافیت بیشتری را در مقایسه با نمونه هوش مصنوعی خود ارائه میدهند. نرخ الگوریتمهای سنتی از قوانین تجاری ساده گرفته تا موتورهای تصمیم گیری بسیار پیچیده، نیازمند مشارکت بیشتر پژوهشگران داده در تنظیم، نگهداری و کالیبراسیون مجدد است. در نتیجه، آنها شفافیت و کنترل بیشتری نسبت به هوش مصنوعی که درحالت خلبان خودکار اجرا میشود، بدست میآورند. با این حال، با کنترل بیشتر، درجه مسئولیت بالاتر میشود. برنامه نویس باید تمام قوانین و مقررات را برای عملکرد صحیح الگوریتم در نظر بگیرد. به این دلیل که آن دارای عقل نیست و هیچ ایدهای در رابطه با مواردی که برای ما به صورت بدیهی اشتباه است، ندارد؛ زیرا برنامه این موضوع را درک نمیکند. برای توسعه الگوریتم، به دادهها نیازی نیست اما الگوریتم باید با برنامههای عملی بسیار مشخص و واضح کار کند تا کارکرد صحیحی داشته باشد.
سیستم ابری در هوش مصنوعی چیست؟
سیستم ابری، دنیای برنامه نویسی هوش مصنوعی را تغییر داد. به این دلیل که تمام دادههایی که هوش مصنوعی برای یادگیری به آنها نیاز دارد، مقداری حافظه میخواهد. همانطور که میدانید، گوگل دارای سیستم ابری بود، یک سیستم ابری اختصاصی که هیچ کاری جز جستجو انجام نمیداد. آمازون نیز دارای یک سیستم ابری اختصاصی خصوصی بود که هیچ کاری جز تجارت الکترونیکی انجام نمیداد. فیسبوک نیز دارای یک سیستم ابری اختصاصی بود که هیچ کاری جز ذخیره دادههای اجتماعی انجام نمیداد.
در این قسمت هوش مصنوعی مدرن در این ابرها متولد شد. تمام اطلاعات دوربینهای تمام اتومبیلهایی که از طریق هوش مصنوعی در دوربرگردان حرکت میکنند، به کمی فضای ذخیرهسازی در حافظه نیاز دارند و الگوریتم میبایست به همه آن اطلاعات دسترسی داشته باشد.
برچسبگذاری دادهها در هوش مصنوعی چیست؟
برچسبگذاری دادهها، فرآیند شناسایی دادههای خام (تصاویر، فایلهای متنی، فیلمها و غیره) و افزودن برچسبهای معنیدار برای تهیه محتوا است تا یک مدل یادگیری ماشین بتواند از آن یاد بگیرد. به عنوان مثال، شما 10 هزار عکس از گربهها تهیه میکنید و روی آنها برچسب “این تصاویر دارای گربه هستند” می زنید. سپس مجموعه دیگری از عکسها را تهیه میکنید که در آنها گربهای وجود ندارد، بنابراین برچسب “گربهای وجود ندارد” را برای این مجموعه قرار میدهید. با گذشت زمان هوش مصنوعی خود این موضوع را تشخیص میدهد.
اگر تا به حال به بچهای خواندن حروف را آموزش داده باشید، فلش کارتها را به صورت مداوم به آنها نشان میدهید. آنها درست حدس میزنند. شما به او “آفرین” میگویید و اگر اشتباه حدس بزنید میگویید”نه، اشتباه است”. در هوش مصنوعی نیز همین کار را انجام میدهیم. در ابتدا مجموعهای از مثالها را به سیستم نشان میدهیم و زمانی که اشتباه میشود، روش برچسب گذاری دادهها را تغییر میدهیم تا سیستم بداند که اشتباه کرده است. به این کار یادگیری تقویتی میگویند.
الگوریتم های یادگیری ماشین در هوش مصنوعی چیست؟
شما بر روی دادههای خود برچسبگذاری میکنید و همچنین آنها را سازماندهی میکنید و سپس الگوریتمها را روی آنها میچسبانید. الگوریتمها برای تجزیه و تحلیل دادهها استفاده میشوند، به دست آوردن بینش و متعاقبا پیش بینی یا اخذ یک تصمیم با آنها استفاده میشود.
به عنوان مثال، به الگوریتم یادگیری تقویت شده که توصیههایی را برای تماشای ویدئو در Youtube برای شما ارائه میدهد، توجه کنید. پس از تماشای یک ویدیو، این پلتفرم عناوین مشابهی که فکر میکند شاید شما دوست داشته باشید را به شما نشان میدهد. اما اگر شروع به تماشای ویدئو توصیه شده کنید و تا آخر آن را نبینید، سیستم متوجه میشود که توصیه خوبی به شما نداده است و دفعه بعد روش دیگری را امتحان میکند. یادگیری ماشین مجموعهای از الگوریتمها است که نرم افزار را قادر میسازد بدون نیاز به دخالت برنامه نویس، خود را به روز کرده و از نتایج قبلی “یاد بگیرد”. به طور خلاصه، یک الگوریتم برنامه نویسی مقداری ورودی و منطق را در قالب کد دریافت میکند و خروجی را نمایش میدهد. در مقابل این موضوع، یک الگوریتم یادگیری ماشین، ورودی و خروجی را دریافت میکند و منطقی را ارائه میدهد که میتواند برای ورودی جدید مناسب باشد تا بهترین خروجی را داشته باشد.
یافتن الگوها در هوش مصنوعی چیست؟
یک دانشمند خوب در حوزه علم داده داده، میتواند تنها با نگاه کردن به دادهها بگوید: “احتمالا این الگوریتمی است که باید با آن شروع کنیم.” اما این فرآیند است که دادهها را بدست میآورد و الگوریتمها را در آن اجرا میکند. شما باید امیدوار باشید که الگوریتمها شروع به پیدا کردن الگوها کنند. موارد استفاده از هوش مصنوعی در یک یا چند مورد از هفت الگوی رایج قرار میگیرند.
این هفت الگو عبارتند از:
- شخصی سازی بیش از حد
- سیستمهای خودمختار
- تجزیه و تحلیل پیشبینی
- پشتیبانی تصمیم
- تعاملات مکالمهای
- الگوها و ناهنجاریها
- سیستمهای تشخیص و سیستمهای هدف محور
به عنوان مثال، یک الگوریتم میتواند الگویی مانند “تقلب/ریسک” را پیدا کند که نشان میدهد همه چیز غیر معمول یا مورد انتظار است.
حلقه بازخورد در هوش مصنوعی چیست؟
یک تفاوت اساسی دیگر که بین هوش مصنوعی و نرمافزارهای معمولی سنتی وجود دارد، این است که نرم افزار هرگز تغییر نمیکند. ما نرم افزار را میسازیم، آن را عرضه میکنیم و فقط بارها و بارها همان کاری که به اوگفته شده است را انجام میدهد. اما زمانی که در طبیعت ظاهر شود، تا زمانی که انسان آن را به روز نکند، تغییری نخواهد کرد اما هوش مصنوعی تغییر میکند. به عنوان مثال یک ماشین با هوش مصنوعی از یک دوراهی عبور میکند و ممکن است چیز جدیدی کشف کند. ممکن است خودرویی را پیدا کند که در مسیر دور راهی به اشتباه حرکت میکند. و به محض اینکه مشخص شود چه کاری را باید انجام دهد، دادههای جدیدی بدست آورده است. هوش مصنوعی حتی پس از اینکه انتشار یافت نیز به یادگیری ادامه میدهد.
این روشی نیست که نرم افزارهای معمولی با آن کار میکنند. بلکه نرم افزار هوش مصنوعی به این صورت عمل میکند. نرم افزار هوش مصنوعی خود را بهبود میدهد.
حلقه بازخورد یک چرخه بدون پایان است که به شکل زیر است:
- هوش مصنوعی اقدامات کاربر و رویدادهای سیستم را مشاهده میکند و دادهها را برای تجزیه و تحلیل جمع آوری میکند.
- هوش مصنوعی این دادهها را در برابر روندهای تاریخیو در صورت لزوم دادههای منابع دیگر، تجزیه و تحلیل میکند.
- هوش مصنوعی نتایج را پیش بینی کرده و اقدامات خاصی را توصیه میکند.
- حلقه دوباره شروع میشود. سیستم بر اساس آخرین بازخورد به اصلاح توصیههای خود ادامه میدهد(چه کاربر توصیه را پذیرفته باشد و چه نپذیرفته باشد و آنچه بعد از آن اتفاق افتاده است).
نمونه ما از نرم افزار هوش مصنوعی که امروزه مورد استفاده قرار میگیرد
مهمترین پتانسیل برای هوش مصنوعی چیست؟ موتورهای پیشنهادکننده و سیستم های توصیه گر است.
عجیب نیست که ما به دنبال راههایی برای پیادهسازی هوش مصنوعی در پروژههای آموزش آنلاین هستیم. ایده اصلی هوش مصنوعی در یادگیری آنلاین، پیادهسازی یک موتور توصیه در بستر آموزش آنلاین است. این ابزار، محتوای یادگیری آنلاین را بر اساس تجربه یادگیری و سایر دادههایی که کاربر ممکن است ارائه دهد (شامل سابقه جستجو یا درخواستهای خاص) به کاربر توصیه میکند.
از دیدگاه UI/UX، به نظر میرسد که یک ربات چت مجهز به هوش مصنوعی یا داشبورد مجهز به هوش مصنوعی مانند یوتیوب یا لینکدین به این ساختار مجهز است. چنین دستیاران رباتهای چت میتوانند به طور خودکار از آموزگاران تقلید کنند، سطح تخصص یک زبانآموز را درک کنند و اطلاعاتی را انتخاب کنند که به خوبی در سطح خاصی مناسب باشد.
به عنوان مثال، میتواند مهارتهایی را برای هر زبان آموز خاص به دست آورد و سپس آنها را با دورههای مربوط مطابقت دهد. موتورهای توصیه برای رفع نیازهای تجاری خاص توسعه یافتهاند. این تنها بخش کوچکی از کاری است که ما انجام میدهیم، پیدا کردن یک راه حل مناسب برای همه مسائل دشوار است.
نتیجه گیری:
مقایسه هوش مصنوعی و الگوریتم برای انتخاب بهترین موارد استفاده برای هر کدام
استفاده از هوش مصنوعی در صورتی که با معیارهای زیر مطابقت داشته باشد، عملکرد بهتری خواهد داشت:
- هزینه تصمیمات آهسته زیاد است (به عنوان مثال، در سناریوهای تصمیم گیری که در آن سرعت بسیار مهم است)
- هزینه تصمیمات اشتباه پایین است.
- اندازه داده برای تجزیه و تحلیلهای دستی یا الگوریتمهای سنتی، بسیار بزرگ است.
- دقت پیش بینی بسیار مهمتر از توضیح پذیری است.
- الزامات نظارتی کمتر است.
موارد استفاده شامل توصیه محصول، تبلیغات هدفمند، کمپینهای بازاریابی، خدمات به مشتریان و تعمیرات قابل پیش بینی برای برنامههای هوش مصنوعی مناسب هستند.
در مورد الگوریتمهای برنامه نویسی معیارهای زیر باید مهم باشند
- هزینه تصمیمات کند زیاد نیست.
- هزینه تصمیمات اشتباه زیاد است.
- اندازه دادهها کوچک است یا حداقل خیلی بزرگ نیست.
- توضیح پذیری بسیار مهم است.
- محیط صنعت به شدت تنظیم شده است.
استفاده از مواردی در بیمه پذیری، درخواست پردازش و اعتبار ریسک، به شدت از الگوریتمهایی که توسط دادهها و دانشمندان، تصمیم گیری و کنترل میشوند، استفاده میکنند.