نحوه استفاده از Fast.ai – دروازه ای دوستانه برای مبتدیان برای یادگیری عمیق
Fast.ai یک کتابخانه کاربرپسند است که بدون در نظر گرفتن سطح مهارت شما، قدرت یادگیری عمیق را به نوک انگشتان شما می آورد. بیایید یاد بگیریم که چگونه کار می کند.
آیا تا به حال در مورد یادگیری عمیق کنجکاو شده اید اما پیچیدگی فنی آن را بسیار زیاد می بینید؟ Fast.ai پاسخ شم است.
Fast.ai سفر به یادگیری عمیق را ساده می کند. حتی اگر یک دانشمند داده باتجربه نباشید، یادگیری عمیق را برای شما قابل دسترس می کند.
در این مقاله، ما تحلیل خواهیم کرد که Fast.ai چیست، چرا متمایز است، و چگونه میتوانید با چند نمونه کد اولیه شروع کنید.
Fast.ai چیست؟
Fast.ai یک کتابخانه است که بر روی PyTorch، یکی از فریمورکهای پیشرو در یادگیری عمیق، ساخته شده است.
این طراحی شده است تا یادگیری عمیق را قابل دسترس تر کند. این کتابخانه اجزای سطح بالایی را فراهم می کند که ساخت و آموزش شبکه های عصبی را آسان می کند.
چیزی که 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
: این مسیر فهرستی است که داده های متنی شما در آن ذخیره می شود. در این مورد، این متغیر path
است که قبلاً تعریف کردهاید، که حاوی مسیر محلی به مجموعه دادههای IMDB است.
valid='test'
: این آرگومان مشخص می کند که کدام پوشه یا زیرمجموعه داده های شما باید برای اعتبارسنجی استفاده شود. در مجموعه داده های IMDB، معمولاً دو زیر مجموعه اصلی وجود دارد: train
برای داده های آموزشی و test
برای داده های آزمایش یا اعتبار سنجی. با تنظیم valid
برای test
، نشان میدهید که پوشه "test" در فهرست path
باید برای اعتبارسنجی استفاده شود. این یک روش معمول در یادگیری ماشینی است که یک مجموعه اعتبار سنجی جداگانه برای ارزیابی عملکرد مدل در طول آموزش داشته باشد.
متغیر 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
به این معنی است که ترک تحصیل با نرخ متوسطی اعمال خواهد شد.
metrics=accuracy
- این مشخص می کند که متریک دقت باید برای ارزیابی عملکرد مدل در طول آموزش استفاده شود. دقت یک معیار رایج برای کارهای طبقهبندی است که درصد نمونههای طبقهبندی صحیح را اندازهگیری میکند.
حالا بیایید مدل را با استفاده از داده های بارگذاری شده تنظیم دقیق کنیم.
learn.fine_tune(1)
learn.fine_tune(1)
- این خط کد مدل طبقه بندی متن را به دقت تنظیم می کند.
1
— پارامتر 1
تعداد دوره هایی است که مدل برای آنها آموزش داده می شود. یک دوره یک گذر از کل مجموعه داده آموزشی است. آموزش برای چندین دوره به مدل اجازه می دهد تا چندین بار از داده ها بیاموزد، در اینجا برای سادگی از 1 استفاده می کنیم.
به طور خلاصه، این خطوط کد یک مدل طبقهبندی متن ایجاد میکنند، دادههای متنی شما را بارگذاری میکنند، مدل را روی دادهها برای چهار دوره با استفاده از نرخ یادگیری مشخص تنظیم میکنند و از دقت به عنوان معیار برای ارزیابی عملکرد مدل استفاده میکنند.
شی learn
حاصل مدل طبقه بندی متن آموزش دیده شما را نشان می دهد که می تواند برای پیش بینی داده های متن جدید استفاده شود.
ما تمام شده ایم. اکنون مدل ما آماده است تا احساسات متن را پیش بینی کند.
بیایید مدل را با نقد فیلم تست کنیم.
learn.predict("I really loved that movie, it was awesome!")
('pos', tensor(1), tensor([0.4885, 0.5115]))
pos
می گوید جمله داده شده یک جمله مثبت است. آرایه بعدی می گوید که مدل چقدر در پیش بینی مثبت یا منفی بودن جمله داده شده اطمینان دارد. این امتیاز اعتماد به نفس را می توان با افزایش تعداد دوره ها (که آموزش آن زمان زیادی طول می کشد، مگر اینکه یک کامپیوتر قدرتمند داشته باشید) بهبود بخشید.
امیدواریم این به شما در درک نحوه کار با کتابخانه Fast.ai کمک کند. من شخصا ترجیح می دهم از Huggingface برای بیشتر موارد استفاده استفاده کنم، اما اگر مجبور باشم مدل ها را از ابتدا آموزش دهم، Fast.ai اولین انتخاب من خواهد بود.
نتیجه
Fast.ai یک نقطه شروع فوق العاده برای هر کسی که علاقه مند به یادگیری عمیق است ارائه می دهد. سادگی و کاربردی بودن آن، آن را به ابزاری ارزشمند هم برای مبتدیان و هم برای تمرینکنندگان با تجربه تبدیل میکند.
با استفاده از Fast.ai، متوجه خواهید شد که یادگیری عمیق آنقدرها هم که به نظر می رسد دلهره آور نیست. چه یک دانش آموز، یک توسعه دهنده یا یک یادگیرنده کنجکاو باشید، Fast.ai می تواند دروازه شما برای ورود به دنیای شگفت انگیز هوش مصنوعی باشد. پس ، شروع کنید، آزمایش کنید و از سفر به سمت یادگیری عمیق با Fast.ai لذت ببرید.
اگر دانشجوی هوش مصنوعی هستید، برای یادگیری مفاهیم کاربردی در مورد یادگیری ماشینی عمومی و NLP در سایت turingtalks.ai مشترک شوید. شما همچنین می توانید برای ارتباط با من به وب سایت من مراجعه کنید .
ارسال نظر