فهرست مطالب این نوشته
5. منبع
پای تورچ (PyTorch) یک کتابخانه متنباز (Open Source) برای یادگیری ماشین در زبان برنامه نویسی پایتون است. این کتابخانه، بر پایه کتابخانه تورچ (Torch) ساخته شده و برای کاربردهایی مانند پردازش زبان طبیعی (NLP) استفاده میشود.
پایتورچ دارای 2 ویژگی اصلی است:
- محاسبات تانسورها (Tensor): مشابه به کتابخانه NumPy، اما با قابلیت شتابدهی قدرتمند به وسیله GPU.
- مشتق خودکار برای ساخت شبکههای عصبی آموزشی.
دلایل ترجیح داده شدن کتابخانه پایتورچ نسبت به دیگر کتابخانههای یادگیری عمیق در زبان برنامه نویسی پایتون عبارتند از:
- پویایی در تعریف گراف: در مقابل کتابخانههای دیگر مانند تنسورفلو که کاربر باید کل گراف کامپیوتری را پیش از اجرای مدل تعریف کند، پایتورچ امکان تعریف گراف به صورت پویا را نیز فراهم میکند.
- انعطافپذیری و سرعت بالا: کتابخانه پایتورچ یک ابزار خوب برای پژوهشهای یادگیری عمیق است و انعطافپذیری و سرعت بالا را تامین میکند.
- تانسورهای پایتورچ شباهت زیادی به آرایههای NumPy دارند، با این تفاوت که میتوان آنها را روی GPU اجرا کرد. این ویژگی، بسیار مهم به حساب میآید زیرا میتواند محاسبات عددی را شتابدهی کند و سرعت شبکههای عصبی را به میزان ۵۰ برابر یا حتی بیشتر افزایش دهد.
در این بند، میخواهیم فرآیند نصب کتابخانه پایتورچ (PyTorch) را به شما آموزش دهیم. این کتابخانه، یک فریمورک مبتنی بر زبان برنامهنویسی پایتون است که برای یادگیری عمیق و پردازش زبان طبیعی استفاده میشود.
مراحل نصب کتابخانه پایتورچ به شرح زیر است:
1. نصب زبان برنامه نویسی پایتون:
پیشنیاز نصب پایتورچ، نصب زبان برنامه نویسی پایتون است. برای نصب آخرین نسخه پایتون، میتوانید به این لینک مراجعه کنید.
پس از دانلود، فایل exe. را اجرا کنید و زبان پایتون را نصب کنید.
2. نصب کتابخانه پایتورچ:
پس از نصب زبان برنامه نویسی پایتون، میتوانید با استفاده از مدیریت بستهها (مثل pip)، پایتورچ را نصب کنید.
اجرای دستور زیر در ترمینال یا پنجره دستورات (Command Prompt)، پایتورچ را نصب میکند.
pip install torch
برای اطمینان از موفقیت آمیز بودن نصب کتابخانه پایتورچ، میتوانید در پایتون، یک محیط تعاملی (مثل IDLE یا Jupyter Notebook) باز کنید و دستور زیر را اجرا کنید.
import torch
print(torch.__version__)
همان طور که در ابتدای متن اشاره شد، پای تورچ (PyTorch) یک کتابخانه یادگیری عمیق متنباز است که بر پایه کتابخانه تورچ (Torch) ساخته شده است. کتابخانه پای تورچ برای برنامههایی مانند بینایی ماشین و پردازش زبان طبیعی مورد استفاده قرار میگیرد. اگر میخواهید با یادگیری عمیق و استفاده از کتابخانه پای تورچ آشنا شوید و قصد آموزش و یادگیری پای تورچ را دارید می توانید از طریق این لینک درخواست مدرس خصوصی بدهید.
بی شک آموزش پای تورچ همراه با کدنویسی به زبان پایتون از طریق مرکز هوش مصنوعی و یادگیری عمیق ایران، تجربه ای رضایت بخش و بیادماندنی برای شما خواهد بود چرا که این مسیر یادگیری را، به کمک بهترین و با تجربه ترین مدرسان در این زمینه طی خواهید کرد.
حال قرار است با پای تورچ (PyTorch) به دنیای جذاب یادگیری عمیق برویم.
کتابخانه پای تورچ یک چارچوب قدرتمند برای ساخت شبکه های عصبی است و محبوبیت زیادی در زمینه یادگیری ماشین پیدا کرده است.
بلوک های سازنده یادگیری عمیق عبارتند از:
1. Affine Maps:
یکی از ابزارهای اصلی در یادگیری عمیق، نقشه affine است. این تابعی است که به صورت f(x) = Ax + b نشان داده می شود، که در آن:
- f(x) خروجی است.
- A یک ماتریس است.
- x بردار ورودی است.
- b اصطلاح سوگیری (bias) است.
پای تورچ و سایر چارچوبهای یادگیری عمیق، ردیفهای ورودی را (به جای ستونها) ترسیم میکنند، به این معنی که ردیفهای خروجی با ردیفهای ورودی تبدیل شده با A به اضافه عبارت بایاس مطابقت دارند.
2. Non-Linearities:
ساختن نقشه های وابسته (affine maps) به تنهایی قدرت جدیدی به شبکه های عصبی اضافه نمی کند. برای ساختن مدل های گویاتر به غیر خطی ها (Non-Linearities) نیاز داریم.
غیر خطی های رایج عبارتند از:
Tanh (Hyperbolic Tangent): به آرامی مقادیر بین 1- و 1 را ترسیم می کند.
σ (Sigmoid): مقادیر بین 0 و 1 را نشان می دهد.
ReLU (Rectified Linear Unit) به معنی واحد خطی اصلاح شده: مقادیر منفی را صفر می کند.
گرادیان ها برای یادگیری ضروری هستند و این توابع دارای گرادیان های محاسباتی کارآمد هستند.
3. توابع Softmax و Objective:
در یادگیری عمیق، ما اغلب از تابع softmax برای طبقه بندی چند کلاسه استفاده می کنیم. این تابع نمرات خام را به احتمالات تبدیل می کند.
Objective functions یا loss functions به معنی توابع هدف یا توابع از دست دادن، میزان عملکرد مدل ما را کَمّی می کنند. موارد رایج شامل میانگین مربعات خطا (MSE) و از دست دادن آنتروپی متقابل (cross-entropy loss) می شود.