ویرگول
ورودثبت نام
Amir Ahmad Vosoghi Fard
Amir Ahmad Vosoghi Fard
خواندن ۱۲ دقیقه·۲۰ روز پیش

کاربرد هوش مصنوعی

حالا که با انواع هوش مصنوعی و سازوکار آن‌ها آشنا شدیم، سوال بعدی این است که در حال حاضر با آن چه کاری می‌توانیم بکنیم؟ کاربرد هوش مصنوعی به‌طور کلی در چهار زمینه‌ تعریف می‌شود: تشخیص اجسام، تشخیص چهره، تشخیص صدا و شبکه‌های مولد.

تشخیص اجسام (Object Recognition)

شاید بتوان گفت حوزه‌ای که یادگیری عمیق بیشترین و سریع‌ترین تاثیر را در آن داشته، بینایی ماشین (Computer Vision)، به‌ویژه در تشخیص اجسام مختلف در تصاویر است. همین چند سال پیش، وضعیت پیشرفت هوش مصنوعی در زمینه‌ی تشخیص اجسام به ‌قدری اسفبار بود که در کاریکاتور زیر به‌خوبی نمایش داده شده است.

در علوم کامپیوتر، توضیح تفاوت کار آسان با کار تقریباً غیرممکن دشوار است

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

هر جسم پیچیده‌ای از مجموعه‌ای از اجسام و الگوهای ساده‌تری ساخته شده است؛ الگوریتم‌ها به دنبال این الگوها هستند

به این الگوها ویژگی (Feature) می‌گویند و تا پیش از ظهور یادگیری عمیق، لازم بود آن‌ها را دستی ایجاد کرد و کامپیوترها را طوری آموزش داد تا بتوانند آن‌ها را پیدا کنند. مثلا، الگوریتم تشخیص چهره‌ی معروفی به نام «ویولا-جونز» (Viola-Jones) وجود دارد که یاد گرفته ابرو و بینی معمولا از اعماق چشم روشن‌تر هستند؛ درنتیجه، الگوی ابرو و بینی شبیه یک طرحT شکل روشن با دو نقطه‌ی تاریک برای چشم‌ها است. الگوریتم هم برای تشخیص چهره‌ در تصاویر دنبال این الگو می‌گردد.

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

تا اینکه پای یادگیری ماشین، به‌ویژه نوعی شبکه‌ی عصبی عمیق به اسم «شبکه‌ی عصبی پیچشی» (Convolutional Neural Network) معروف بهCNN به میان آمد و انقلاب بزرگی در الگوریتم‌های تشخیص اجسام به وجود آورد.

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

الگوریتم‌های بینایی قدیمی (چپ) به الگوهای دست‌چین وابسته بودند اما شبکه‌های عصبی عمیق (راست) خودشان الگوها را پیدا می‌کنند

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

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

تشخیص چهره (Face Recognition)

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

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

تغییر شبکه عصبی از «تشخیص» چهره (چپ) به «توصیف» چهره (راست)

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

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

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

شبکه‌های عصبی عمیق به‌طرز فوق‌العاده‌ای انعطاف‌پذیر هستند

شبکه‌های عصبی عمیق دقیقا به‌خاطر همین ساختار منعطف به‌شدت کاربردی هستند. به کمک این تکنولوژی، انواع بسیار زیادی از مدل‌های یادگیری ماشین برای بینایی کامپیوتر توسعه یافته‌‌اند و اگرچه کاربرد آن‌ها متفاوت است، بسیاری از ساختارهای اصلی آن‌ها براساس شبکه‌های CNN اولیه نظیر Alexnet و Resnet ساخته شده است.

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

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

تشخیص گفتار (Speech Recognition)

شاید بتوان گفت تکنیک تشخیص گفتار به‌نوعی شبیه تشخیص چهره است، به این صورت که سیستم یاد می‌گیرد به چیزهای پیچیده به‌ شکل مجموعه‌ای از ویژگی‌های ساده‌تر نگاه کند. در مورد گفتار، شناخت جمله‌ها و عبارات از شناخت کلمات حاصل می‌شود که آن‌ها هم خود به دنبال تشخیص هجاها یا به‌عبارت دقیق‌تر، واج‌ها می‌آیند. بنابرین وقتی می‌شنویم کسی می‌گوید «باند، جیمز باند» درواقع ما داریم به دنباله‌ای‌ از صداهای متشکل از BON+DUH+JAY+MMS+BON+DUH گوش می‌دهیم.

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

اگر با دستیار صوتی گوشی‌‌تان کار کرده باشید، احتمالا زیاد پیش آمده کهSiri یا گوگل اسیستنت به‌خاطر شباهت هجاها، حرف شما را اشتباه متوجه شده باشد. مثلا به گوگل اسیستنت می‌گویید «what's the weather»، اما فکر می‌کند از او پرسیده‌اید«what's better». برای اینکه این مشکل حل شود، به مدلی نیاز داریم که بتواند به دنباله‌ی هجاها در بستر متن توجه کند. اینجا است که دوباره پای یادگیری ماشین به میان می‌آید. اگر مجموعه‌ی کلمات ادا شده به‌اندازه کافی بزرگ باشد، می‌توان یاد گرفت که محتمل‌ترین عبارات کدام‌ها هستند و هرچه تعداد مثال‌ها بیشتر باشد، پیش‌بینی مدل بهتر می‌شود.

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

شبکه CNN یک‌طرفه است، اما شبکه RNN حافظه داخلی دارد

شبکه‌ی CNN یک‌طرفه است؛ به آن یک تصویر به‌عنوان ورودی بدهید تا توصیف تصویر را به‌صورت خروجی به شما تحویل دهد. اما شبکه‌ی RNN به نوعی حافظه‌ی داخلی دسترسی دارد و یادش می‌ماند که قبلا چه تصاویری به‌صورت ورودی به آن داده شده و می‌تواند پاسخ‌هایش را هم مرتبط با چیزی که دارد می‌بیند و هم با چیزهایی که قبلا دیده، ارائه دهد.

شبکه عصبی بازگشتی می‌تواند ورودی‌های قبلی را هم به‌یاد آورد و با ورودی جدید ترکیب کند

حافظه‌ی RNN باعث می‌شود این شبکه نه تنها به تک‌تک هجاها به محض ادا شدن «گوش دهد»، بلکه می‌تواند یاد بگیرد که چه نوع هجاهایی کنار هم می‌نشینند تا یک کلمه را تشکیل دهند و همین‌طور می‌تواند پیش‌بینی کند که چه نوع عبارات و جمله‌هایی محتمل‌تر هستند. درنتیجه، شبکه RNN به دستیار صوتی یاد می‌دهد که گفتن «what's the weather» از «what's better» محتمل‌تر است و متناسب با همین پیش‌بینی، به شما پاسخ می‌دهد.

به کمک RNN می‌توان به‌خوبی گفتار انسان را تشخیص داد و آن را به متن تبدیل کرد؛ عملکرد این شبکه‌ها به‌قدری بهبود یافته که از نظر دقت تشخیص حتی از انسان‌ها هم بهتر عمل می‌کنند. البته دنباله‌ها فقط در صدا نمایان نمی‌شوند. امروزه از شبکه‌هایRNN برای تشخیص دنباله‌‌‌ی حرکات در ویدیوها نیز استفاده می‌شود.

دیپ‌فیک و شبکه‌های مولد (Deepfakes and Generative AI)

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

حتما نام دیپ‌فیک (Deep Fake) را زیاد شنیده‌اید؛ ویدیوهای جعلی که در آن افراد مشهور چیزهایی می‌گویند یا کارهایی می‌کنند که به نظر واقعی می‌رسد، اما این‌طور نیست. دیپ‌فیک هم نوع دیگری از هوش مصنوعی مبتنی‌بر یادگیری عمیق است که در محتوای صوتی و تصویری دست می‌برد و آن‌ را به‌دلخواه تغییر می‌دهد تا نتیجه‌ی نهایی چیزی کاملا متفاوت از محتوای اولیه باشد.

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

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

به مدل‌های یادگیری ماشین که می‌توانند دیپ‌فیک بسازند یا مثلDall-E و Midjourney، متن توصیفی را به تصویر تبدیل کنند، مدل مولد (Generative) می‌گویند. تا بدین‌جا، از هر مدلی که حرف زدیم از نوع تمیزدهنده (Discriminator) بود؛ به این معنی که مدل به مجموعه‌ای از تصاویر نگاه می‌کند و تشخیص می‌دهد کدام تصویر گربه و کدام‌ گربه نیست؛ اما مدل مولد همان‌طور که از نامش پیدا است، می‌تواند از توصیف متنی گربه، تصویر گربه تولید کند.

مدل‌های مولدی که برای «به‌تصویر کشیدن» اجسام ساخته شده‌اند، از همان ساختار CNN به کار رفته در مدل‌های تشخیص همان اجسام استفاده می‌کنند و می‌توانند دقیقا به همان روش مدل‌های یادگیری ماشین دیگر آموزش ببینند.

چالش ساخت مدل مولد تعریف سیستم امتیازدهی برای آن است

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

اینجا جایی است که برای افراد بدبین به آینده و تکنولوژی، منظورم آن‌هایی است که معتقدند دنیا قرار است به دست ربات‌های قاتل نابود شود، داستان واقعا ترسناک می‌شود. چراکه بهترین روشی که برای آموزش شبکه‌های مولد فعلا در اختیار داریم این است که به جای اینکه ما خودمان آن‌ها را آموزش دهیم، اجازه دهیم شبکه‌ی عصبی دیگری آن‌ها را آموزش دهد؛ یعنی دو هوش مصنوعی رو در روی هم!

برای افرادی که به آینده ربات‌های قاتل اعتقاد دارند، شبکهGAN داستان را ترسناک می‌کند

اسم این تکنیک، «شبکه‌ مولد رقابتی» (Generative Adversarial Networks) یا GAN است. در این روش، دو شبکه‌ی عصبی داریم که ضد یکدیگر عمل می‌کنند؛ از یک سمت شبکه‌ای داریم که سعی دارد ویدیوی فیک بسازد (مثلا موقعیت مکانی دست و پاهای فرد در حال رقص را بردارد و روی فرد دیگری پیاده کند) و در سمت دیگر، شبکه‌ی دیگری است که آموزش دیده تا با استفاده از مجموعه‌ای از نمونه رقص‌های واقعی، تفاوت بین ویدیوی واقعی و جعلی را تشخیص دهد.

در مرحله‌ی بعدی، این دو شبکه در نوعی بازی رقابتی مقابل همدیگر می‌گیرند که کلمه‌ی «رقابتی» (Adversarial) از همین‌جا می‌آید. شبکه‌ی مولد سعی می کند فیک‌های قانع‌کننده‌ای بسازد و شبکه‌ی تمیزدهنده سعی می‌کند تشخیص دهد که چه چیزی واقعی و چه چیزی جعلی است.

شبکه‌های مولد رقابتی دو شبکه را مقابل هم می‌گذارند؛ یکی تصاویر فیک ایجاد می‌کند و یکی سعی می‌کند آن را تشخیص دهد

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

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

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

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

نویسنده: مرجان شیخی

برداشته شده از:

https://www.zoomit.ir/tech/344714-what-is-ai-everything-you-need-know-about-artificial-intelligence/

aiهوش مصنوعیکاربرد هوش مصنوعی
شاید از این پست‌ها خوشتان بیاید