الکتروهایو

هوش مصنوعی / الکترونیک / برنامه‌نویسی

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

چگونه از کتابخانه Fast.ai به عنوان مسیری ساده برای یادگیری عمیق استفاده کنیم!!

چگونه از کتابخانه Fast.ai به عنوان مسیری ساده برای یادگیری عمیق استفاده کنیم!! در الکتروهایو
در این مقاله می‌خوانید:

زمان تخمینی مطالعه: 9 دقیقه

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

Fast.ai چیست؟

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

چرا کتابخانه Fast.ai را انتخاب کنید؟

  • کاربر پسند است: کتابخانه Fast.ai فرآیند یادگیری عمیق را ساده می‌کند و بسیاری از جزئیات پیچیده را انتزاع می‌کند و ایجاد مدل‌های قدرتمند را برای کاربران آسان‌تر می‌کند. کتابخانه fast.ai در بالای چارچوب‌های یادگیری عمیق محبوب مانند PyTorch قرار دارد. این یک API سطح بالا برای ساخت و آموزش شبکه‌های عصبی را ارائه می‌دهد. همچنین می‌توانید مدل‌های قدرتمند دیگری مانند ترانسفورماتور Hugging Face را با استفاده از Fast.ai ادغام کنید.
  • رویکرد عملی است: Fast.ai بر رویکرد کار عملی برای یادگیری عمیق تاکید دارد. کتابخانه Fast.ai بر کاربرد عملی و برنامه‌های کاربردی دنیای واقعی تمرکز می‌کند و به شما کمک می‌کند تا با انجام کار یاد بگیرید. دوره‌ها و منابع آن‌ها برای کمک به دانش‌آموزان طراحی شده‌اند تا سریعاً با مدل‌های یادگیری ماشینی کار کنند. اینها شامل ساخت و آموزش شبکه‌های عصبی برای تشخیص تصویر، پردازش زبان طبیعی و بسیاری موارد دیگر است.
  • دوره‌های رایگان آموزشی: Fast.ai دوره‌های آنلاین رایگان را ارائه می‌دهد که طیف گسترده‌ای از موضوعات یادگیری عمیق را پوشش می‌دهد. دوره‌های Fast.ai تعدادی از بهترین‌های موجود در بازار هستند و دانش‌آموزان آن‌ها به محققان محبوب یادگیری ماشین تبدیل شده‌اند. این دوره‌ها به دلیل کاربردی بودن، توضیحات واضح و استفاده از مجموعه داده‌های دنیای واقعی شناخته شده‌اند. این دوره‌ها به گونه‌ای طراحی شده‌اند که برای افرادی با سطوح مختلف دانش قبلی هوش مصنوعی قابل دسترسی باشد. Fast.ai همچنین آخرین پیشرفت‌ها را در دوره‌ها و منابع خود گنجانده است و تضمین می‌کند که دانش‌آموزان به تکنیک‌های پیشرفته دسترسی دارند.

چگونه با Fast.ai شروع کنیم؟

حالا که فهمیدید Fast.ai چیست، بیایید شروع کنیم. اگر می‌خواهید سریعاً این مثال را امتحان کنید، می‌توانید نوت بوک google colab را بررسی کنید(توجه: توصیه می شود که این کد را روی سیستم خود اجرا کنید زیرا اجرای آن در colab زمان زیادی (حدود 30 دقیقه) می برد.). قبل از استفاده از کتابخانه، باید محیط خود را تنظیم کنید. Fast.ai روی پایتون اجرا می‌شود و به PyTorch نیاز دارد. می‌توانید Fast.ai را با استفاده از دستور pip نصب کنید (اگر آن را روی ترمینال خود نصب می‌کنید، (( ! )) را حذف کنید، زیرا (( ! )) فقط برای نوت‌بوک‌های colab است. نوت‌بوک‌ها کد زیر را به‌عنوان اسکریپت پوسته در نظر می‌گیرند).

!pip install fastai

ما در این مقاله یک مثال ساده از تجزیه و تحلیل احساسات را مرور خواهیم کرد، که نشان می‌دهد چگونه می‌توانید مدل‌های NLP را با استفاده از کتابخانه fast.ai پیاده سازی کنید. بیایید با وارد کردن کتابخانه شروع کنیم:

from fastai.text.all import *

این خط کد عملکرد خاصی را از کتابخانه Fast.ai برای پردازش زبان طبیعی (NLP)، به ویژه تجزیه و تحلیل متن وارد می‌کند. بگذارید آن را با هم تحلیل کنیم:

from fastai.text.all مشخص می‌کند که می‌خواهید همه مؤلفه‌ها را از ماژول fastai.text که شامل ابزارها و توابع کار با داده‌های متنی است وارد کنید. با قرار دادن این خط در ابتدای کد خود، تمام عملکردهای مرتبط با متن از کتابخانه Fastai را برای استفاده خود در دسترس قرار می‌دهید و انجام کارهایی مانند تجزیه و تحلیل احساسات، طبقه بندی متن و موارد دیگر را آسان تر می‌کنید. در مرحله بعد، از مجموعه داده‌های IMDB که در Fast.ai نیز موجود است، استفاده خواهیم کرد.

path = untar_data(URLs.IMDB)

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

TextDataLoaders کلاسی است که توسط کتابخانه Fast.ai ارائه شده است که به شما امکان می‌دهد بارگذارهای داده را که به طور خاص برای داده‌های متنی طراحی شده‌اند ایجاد کنید.

dls = TextDataLoaders.from_folder(path, valid='test')

در کد بالا from_folder(path, valid=’test’) یک تابع فراخوانی در کلاس TextDataLoaders است که برای ایجاد بارگذارهای داده استفاده می‌شود.

در اینجا معنای هر استدلال آمده است:

  • path: این مسیر فهرستی است که داده‌های متنی شما در آن ذخیره می‌شود. در این مورد، این متغیر مسیری است که قبلاً تعریف کرده‌اید، که حاوی مسیر محلی به مجموعه داده‌های IMDB است.
  • valid=’test’: این آرگومان مشخص می‌کند که کدام پوشه یا زیرمجموعه داده‌های شما باید برای اعتبارسنجی استفاده شود. در مجموعه داده‌های IMDB، معمولاً دو زیر مجموعه اصلی وجود دارد: آموزش برای داده‌های آموزشی و آزمایش برای داده‌های آزمایش یا اعتبار سنجی. با تنظیم اعتبار برای تست، نشان می‌دهید که پوشه “test” در فهرست مسیر باید برای اعتبارسنجی استفاده شود. این یک روش معمول در یادگیری ماشینی است که یک مجموعه اعتبار سنجی جداگانه برای ارزیابی عملکرد مدل در طول آموزش داشته باشد.
  • متغیر dls حاصل شامل بارگذارهای داده متنی است که شامل تقسیم‌بندی داده‌های آموزشی و اعتبارسنجی است. این بارگذارهای داده را می‌توان برای بارگیری و پیش پردازش دسته‌های داده متنی در طول آموزش مدل تحلیل احساسات یا هر مدل مبتنی بر متن دیگر استفاده کرد.

اکنون که داده‌هایی برای آموزش داریم، بیایید مدل را آموزش دهیم. ما یک مدل طبقه‌بندی متن با استفاده از کتابخانه Fast.ai ایجاد می‌کنیم، آن را بر روی داده‌های متنی ارائه شده تنظیم می‌کنیم و آن را برای تعداد معینی از دوره‌ها (تکرار) آموزش می‌دهیم.

learn = text_classifier_learner(dls, AWD_LSTM, drop_mult=0.5, metrics=accuracy)

بیایید هر خط را بشکنیم و توضیح دهیم:

  • text_classifier_learner — یادگیرنده طبقه بندی متن برای ایجاد یک شی یادگیرنده برای آموزش و کار با مدل‌های طبقه بندی متن استفاده می‌شود. بیایید به آرگومان‌ها نگاه کنیم.
  • dls – این شیء بارگیری داده‌ای است که قبلاً با استفاده از TextDataLoaders.from_folder ایجاد کرده‌اید. این شامل داده‌های آموزشی و اعتبار سنجی برای کار طبقه بندی متن شما است.
  • AWD_LSTM – این یک معماری از پیش تعریف شده برای شبکه عصبی است که در وظایف طبقه بندی متن استفاده می‌شود. AWD_LSTM مخفف ASGD Weight-Dropped LSTM است. این یک نوع معماری شبکه عصبی بازگشتی (RNN) است که برای داده‌های متوالی مانند متن موثر است.
  • drop_mult=0.5 – این آرگومان میزان نظم‌دهی حذفی اعمال شده در شبکه عصبی را کنترل می‌کند. Dropout یک تکنیک منظم سازی است که برای جلوگیری از برازش بیش از حد (آموزش بیش از حد مدل) استفاده می‌شود. drop_mult=0.5 به این معنی است که فرآیند حذف با نرخ متوسطی اعمال خواهد شد.
  • متریک = دقت – این مشخص می‌کند که متریک دقت باید برای ارزیابی عملکرد مدل در طول آموزش استفاده شود. دقت یک معیار رایج برای کارهای طبقه‌بندی است که درصد نمونه‌های طبقه‌بندی صحیح را اندازه‌گیری می‌کند.

حالا بیایید مدل را با استفاده از داده‌های بارگذاری شده تنظیم دقیق کنیم.

learn.fine_tune(1)
  • Learn.fine_tune(1) – این خط کد مدل طبقه بندی متن را به دقت تنظیم می‌کند.
  • 1 — پارامتر 1 تعداد دوره‌هایی است که مدل برای آنها آموزش داده می‌شود. یک دوره یک گذر از کل مجموعه داده آموزشی است. آموزش برای چندین دوره به مدل اجازه می‌دهد تا چندین بار از داده‌ها یاد بگیرد، در اینجا برای سادگی از 1 استفاده می‌کنیم.

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

learn.predict("I really loved that movie, it was awesome!")

و این هم از نتیجه:

('pos', tensor(1), tensor([0.4885, 0.5115]))

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

نتیجه گیری

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

لوگو الکتروهایو

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

مطالب مرتبط:

داده‌های اسمی Nominal Data - الکتروهایو

داده‌های اسمی Nominal Data چیست؟

داده‌های اسمی(Nominal Data) یکی از اساسی‌ترین انواع داده‌ها در تجزیه و تحلیل داده‌ها است. شناسایی و تفسیر آن در بسیاری از زمینه‌ها از جمله آمار، علوم کامپیوتر، روانشناسی و بازاریابی ضروری است. این مقاله ویژگی‌ها، کاربردها و تفاوت‌های داده‌های اسمی

ادامه مطلب »
حاشیه‌نویسی متن در هوش مصنوعی - سایت الکتروهایو

حاشیه‌نویسی متن در هوش مصنوعی

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

ادامه مطلب »
هوش مصنوعی در باستان شناسی و کاربردهای آن - سایت الکتروهایو

هوش مصنوعی در باستان شناسی چه کاربردهای می‌تواند داشته باشد؟

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

ادامه مطلب »
با الگوریتم تشخیص اشیاء FCOS آشنا شوید - سایت الکتروهایو

با الگوریتم تشخیص اشیاء FCOS آشنا شوید: تشخیص اشیاء تک مرحله‌ای کاملاً کانولوشنال

تشخیص اشیاء یک کار مهم در بینایی کامپیوتر است که با رسم کادرهای محدود کننده در اطراف اشیاء شناسایی شده، مکان یک شی را در یک تصویر شناسایی و مکان‌یابی می‌کند. اهمیت تشخیص اشیاء را نمی‌توان به اندازه کافی بیان

ادامه مطلب »
با سایت Kaggle آشنا شوید! دریچه‌ای رو به دنیای اجتماع متخصصان هوش مصنوعی - سایت الکتروهایو

با سایت Kaggle آشنا شوید! دریچه‌ای رو به دنیای اجتماع متخصصان هوش مصنوعی

یادگیری ماشین (Machine Learning) و علم داده (Data Science) موضوعاتی هستند که در تمامی بخش‌های فناوری اطلاعات در مورد آن بحث و گفتگو وجود دارد. امروزه همه چیز در حال خودکار شدن است، و برنامه‌های کاربردی نیز به سرعت در

ادامه مطلب »
داده‌های اسمی Nominal Data - الکتروهایو

داده‌های اسمی Nominal Data چیست؟

داده‌های اسمی(Nominal Data) یکی از اساسی‌ترین انواع داده‌ها در تجزیه و تحلیل داده‌ها است. شناسایی ...

حاشیه‌نویسی متن در هوش مصنوعی - سایت الکتروهایو

حاشیه‌نویسی متن در هوش مصنوعی

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

هوش مصنوعی در باستان شناسی و کاربردهای آن - سایت الکتروهایو

هوش مصنوعی در باستان شناسی چه کاربردهای می‌تواند داشته باشد؟

مکان‌های باستان‌شناسی ممکن است ثابت باشند، اما فرهنگ‌هایی که آنها را تولید کرده‌اند، پویا و ...

با الگوریتم تشخیص اشیاء FCOS آشنا شوید - سایت الکتروهایو

با الگوریتم تشخیص اشیاء FCOS آشنا شوید: تشخیص اشیاء تک مرحله‌ای کاملاً کانولوشنال

تشخیص اشیاء یک کار مهم در بینایی کامپیوتر است که با رسم کادرهای محدود کننده ...

تصویربرداری چند طیفی، دیدی جدید فراسوی نور مرئی - سایت الکتروهایو

تصویربرداری چند طیفی، دیدی جدید فراسوی نور مرئی

تصویربرداری چند طیفی تکنیکی است که نور را در طیف وسیعی از باندهای طیفی، فراتر ...