ریاضیات در یادگیری عمیق

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

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

 

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

 

چرا ریاضیات در یادگیری عمیق مهم است؟

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

کمیت

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

ریاضیات و دیپ لرنینگ

کمیت نرده‌ای

کمیت نرده‌ای یا اسکالر، با یک عدد نمایش داده می‌شود. برای مثال، فاصله دو نقطه (پنج متر) یک کمیت نرده‌ای است. کمیت‌های نرده‌ای برخلاف کمیت‌های برداری فاقد جهت هستند. در واقع کمیت نرده‌ای، یک تانسور مرتبه صفر است. از دیگر کمیت‌های نرده‌ای می‌توان به جرم، انرژی، دما و چگالی اشاره کرد. عبارت x ∈ ℝ حاکی از آن است که x یک کمیت اسکالر متعلق به مجموعه اعداد حقیقی ℝ است.
مجموعه داده‌های گوناگونی در بحث یادگیری عمیق مورد استفاده قرار می‌گیرند. ℕ یک مجموعه داده از اعداد صحیح مثبت (…،۱،۲،۳) و ℤ مجموعه‌ای از اعداد صحیح مثبت، منفی و صفر است. ℚ مجموعه‌ای از اعداد گویا است که به صورت کسر دو عدد صحیح نشان داده می‌شود. از جمله اسکالرهای موجود در پایتون می‌توان به نوع صحیح (int)، شناور (float)، بایت (byte) و یونی‌کد (Unicode) اشاره کرد. در کتابخانه NumPy پایتون، ۲۴ نوع داده پایه برای تعریف انواع اسکالرها موجود است.

 

کمیت برداری

یک کمیت که توسط چند اسکالر (برای مثال اندازه و جهت) تعریف شود را بردار گویند. بردارها در واقع آرایه‌های مرتب شده‌ای از اعداد هستند. یک بردار، نمونه‌ای از تانسور مرتبه اول است. بردارها خود بخشی از چیزی هستند که با عنوان فضای برداری شناخته می‌شود. یک فضای برداری را می‌توان به عنوان مجموعه‌ای از همه بردارهای محتمل دارای طول مشخص (یا بُعد) در نظر گرفت. یک فضای برداری سه‌بُعدی مقدار‌گذاری شده با اعداد حقیقی، به صورت ℝ^3 نشان داده می‌شود و اغلب به عنوان نمایش جهان واقعی از فضای سه‌بعدی به‌صورت ریاضی به‌کار می‌رود.
برای تبیین مولفه‌های لازم جهت بیان یک بردار، iاُمین مولفه بردار به صورت [x[i نوشته می‌شود.
در یادگیری عمیق، معمولا از بردارها برای نمایش بردار ویژگی‌ها که با مولفه‌های اصلی خود میزان مرتبط بودن یک ویژگی مشخص را نمایش می‌دهند، مورد استفاده قرار می‌گیرند. بردار ویژگی می‌تواند در بر گیرنده اهمیت شدت یک مجموعه از پیکسل‌ها در یک فضای دو‌بُعدی، تصویر یا تاریخچه مقادیر قیمت‌ها در ابزارهای مالی باشد.

 

ماتریس‌ها

ماتریس‌ها آرایه‌هایی مستطیل شکل از اعداد هستند و در واقع تانسورهای مرتبه دوم محسوب می‌شوند. اگر m و n را اعداد صحیح مثبت در نظر بگیریم، که در آن m, n ∈ ℕ باشند، در نتیجه ماتریس m×n شامل اعداد m*n با m سطر و n ستون است.

در زبان برنامه‌نویسی پایتون، از کتابخانه Numpy استفاده می‌شود که امکان ساخت آرایه‌های nبُعدی که اساسا ماتریس‌ها هستند را فراهم می‌کند. با استفاده از متُد لیست و پاس دادن در لیست‌ها، می‌توان یک ماتریس را تعریف کرد.

 

ریاضیات و دیپ لرنینگ

تانسورها

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

 

جمع‌بندی

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

آیا این مطلب برای شما مفید بود؟

امتیازشو ثبت کنید

میانگین / 5. تعداد رای

اولین نفر شما امتیاز دهید

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

یادگیری یکی از تخصص های محبوب بازار کاری

پایتون که برخی آن را پایتان (python) نیز میگویند یک زبان برنامه نویسی سطح بالا ،شئ گرا ، Open Source و تفسیری است که دارای دستورها و کدهای ساده و پویاست. زبان برنامه نویسی پایتون بسیار ساده تر از زبان های برنامه نویسی دیگر است. بوسیله پایتون ساخت برنامه های کاربردی به صورت ساده تر برای ما ممکن شد.
پایتون از سال 1991 ایجاد شد و از آن زمان و مخصوصا سال های اخیر توجه بسیاری از برنامه نویسان و کسانی که میخواهند با برنامه نویسی آشنا شوند را به خود جلب کرد . یکی از مهم ترین دلیل های توجه بسیار به این زبان برنامه نویسی دوست داشتنی کابردها و قابلیت های فراوان آن است :
ادامه...

شاید به این مطالب نیز علاقه مند باشید.

یادگیری عمیق و پایتون و کراس

انجام گام به گام پروژه دیپ لرنینگ در پایتون

محبوبیت پایتون هر روز رو به افزایش است و کاربران به این نتیجه رسیده اند که پایتون زبانی بسیار قدرتمند و ساده برای استفاده است. در این مقاله به انجام…

دیپ لرنینگ و تشخیص چراغ راهنمایی

چگونه از دیپ لرنینگ در تشخیص چراغ راهنمایی استفاده می شود؟

چالش هدف از این چالش تشخیص چراغ راهنمایی در تصاویر گرفته شده توسط رانندگان با استفاده از اپلیکیشن Nexar بود. در هر تصویر داده شده، لازم بود "طبقه بندی گر"…

آموزش دیپ لرنینگ

شبکه عصبی کانولوشن چیست؟

یکی از داغ ترین و مهم ترین بحث های حال حاضر در هوش مصنوعی و یادگیری ماشین، "شبکه عصبی کانولوشن" هست. واژه شبکه عصبی در سال ۲۰۱۲ به شهرت رسید.…

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
آکادمی آمانج
مهارت آموزی جهت ورود به بازار کار

تاییدیه ها

تهران - امیرآباد، دانشکده فنی دانشگاه تهران، ساختمان مکانیک جدید واحد ۱۱۴

آیا این مطلب برای شما مفید بود؟

امتیازشو ثبت کنید

میانگین / 5. تعداد رای

اولین نفر شما امتیاز دهید

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

یادگیری یکی از تخصص های محبوب بازار کاری

پایتون که برخی آن را پایتان (python) نیز میگویند یک زبان برنامه نویسی سطح بالا ،شئ گرا ، Open Source و تفسیری است که دارای دستورها و کدهای ساده و پویاست. زبان برنامه نویسی پایتون بسیار ساده تر از زبان های برنامه نویسی دیگر است. بوسیله پایتون ساخت برنامه های کاربردی به صورت ساده تر برای ما ممکن شد.
پایتون از سال 1991 ایجاد شد و از آن زمان و مخصوصا سال های اخیر توجه بسیاری از برنامه نویسان و کسانی که میخواهند با برنامه نویسی آشنا شوند را به خود جلب کرد . یکی از مهم ترین دلیل های توجه بسیار به این زبان برنامه نویسی دوست داشتنی کابردها و قابلیت های فراوان آن است :
ادامه...

کد تخفیف نمیخوای؟

اگه میخوای کد تخفیف شرکت در دوره‌ها، وبینارهای رایگان، بهترین مقالات آکادمی آمانج رو از دست ندی ایمیلت رو این زیر وارد کن!
همین الان عضو شو
close-link
من اینجام