آشنایی جامع با تمامی مباحث و مهم ترین کاربردهای شبکه عصبی کانولوشن

یکی از مهم ترین مباحث هوش مصنوعی و ماشین لرنینگ در دنیای امروز، شبکه عصبی کانولشن است.
شبکه عصبی در سال ۲۰۱۲ به شهرت دست یافت. در بیشتر مدل های یادگیری عمیق از شبکه عصبی مصنوعی استفاده می شود.
به همین سبب به این نوع مدل ها، شبکه های عصبی عمیق نیز می گویند. منظورم از عمیق، تعداد لایه های مخفی در شبکه عصبی است.
شبکه های عصبی در گذشته حداکثر می توانستند ۲ تا ۳ لایه داشته باشند و امروزه این شبکه های عصبی عمیق تا ۱۵۰ لایه نیز می توانند داشته باشند.
آشنایی با شبکه عصبی کانولوشن
یکی از رایج ترین مدل های شبکه عصبی عمیق، شبکه عصبی کانولوشن و یا پیچشی (convolutional neural networks) یا CNN و یا ConvNet است.
در سال ۲۰۱۲ شبکه عصبی به شهرت فراوانی رسید.
الکس چریشفسکی با استفاده از این شبکه توانست به جایزه Image net (المپیک بینایی کامیپوتر) دست یابد.
چریشفسکی با استفاده از شبکه عصبی اقدام به کاهش دادن خطای دسته بندی از ۲۶ درصد به ۱۵ درصد نمود که این کار در آن زمان بسیار موفقیت بزرگی به حساب می آمد.
پس از آن شرکت های بزرگی از یادگیری عمیق به عنوان اصلی ترین هسته محصولات خود استفاده نموند.
فیسبوک از این شبکه عصبی در راستای تگ گذاری خودکار تصاویر استفاده می نماید. گوگل نیز از این شبکه عصبی جهت جست و جوی تصویری استفاده می کند.
همچنین شرکت های بزرگی مثل آمازون، اینستاگرام و پینترست از این فناوری در جهت ارائه پیشنهادات مناسبی به کاربران خود استفاده می نمایند.
می توان گفت بیشترین کاربرد شبکه عصبی در پردازش تصویر می باشد.
چرا لازم است از شبکه عصبی کانولوشن استفاده کنیم؟
فرآیند دسته بندی تصاویر (Image classification) به صورتی است که در آن از ورودی، تصاویری را می گیریم و سپس دسته مشخص آن و یا درصد تعلق یک عکس به یک دسته بندی را مشخص می کنیم.
این دسته بندی برای ما انسان ها به صورت توانایی بدیهی و غیر ارادی انجام می گیرد. به این معنا که از زمان تولد تا بالغ شدن به مرور این توانایی را به صورت طبیعی و غریزی یاد میگیریم.
به این شکل می توانیم به صورت کاملا غریزی به اشیاء اطراف مان نگاه کنیم و اشیاء را تشخیص داده و لیبل گذاری کنیم.
انجام این فرآیند ساده یعنی دسته بندی و تشخیص و نامگذاری برای ماشین ها و کامپیوتر ها کاری دشوار است.
آشنایی با ورودی و خروجی ها در شبکه عصبی کانولوشن یا CNN
زمانی که کامپیوتر تصویر ورودی را دریافت می کند، آن تصویر را به صورت مقداری از آرایه اعداد می بیند که تعداد آن نسبت به سایز تصویر و تعداد پیکسل ها متفاوت می باشد.
به عنوان مثال زمانی که تصویری رنگی با فرمت JPG و سایز۴۸۰ در ۴۸۰ پیکسل به کامپیوتر بدهیم، ارایه جانشین آن تصویر از ۴۸۰۴۸۰۳ برخوردار است.
ممکن است این اعداد برای ما معنای خاصی نداشته باشند. اما در حین دسته بندی تصاویر با شبکه عصبی کانولوشن، تنها ابزاری که در دست داریم این اعداد می باشند.

آشنایی با طرز کار شبکه عصبی کانولوشن
پس از آشنایی با مسئله ورودی و خروجی و شبکه عصبی لازم است به بررسی آن که به چه شیوه ای می توانیم مسئله را حل کنیم بپردازیم.
ما از کامپیوتر می خواهیم به یک تصویر نگاه کند و از ویژگی های خاص یک شیء خاص مانند یک کتاب آگاهی یابد و همچنین تشخیص دهد که در این تصویر کتاب وجود دارد یا خیر.
این فرآیند به صورت بدیهی در انسان ها نیز انجام می گیرد. به عنوان مثال وقتی یک سگ را می بینیم به جزئیات آن مانند گوش و دم و تعداد ها و … توجه می کنیم و با الگوهای پیشین تطبیق داده و متوجه می شویم این عکس سگ می باشد.
در کامپیوتر ها نیز فرآیند تشخیص تصویر به صورتی است که ابتدا ویژگی های ساده تصویر مانند لبه ها و پیچ و خم ها شناسایی می شود.
شبکه عصبی از لایه های مختلفی برخوردار است و هر یک از این لایه ها ویژگی منحصر به فرد خود را دارند تا در در نهایت در لایه پایانی تصویر به صورت کلی تشخیص داده می شود.
فرآیند فوق، شیوه کلی کار شبکه عصبی کانولوشن بود.
در ادامه به جزئیات بیشتری می پردازیم:
ساختار شبکه عصبی پیچشی به چه صورتی می باشد؟
شبکه عصبی پیچشی ابتدا تصویری را به عنوان ورودی دریافت می کند. در مرحله بعدی این تصویر وارد شبکه عصبی پیچیده با لایه های پیچشی و غیر خطی می شود.
در هر یک از لایه های شبکه عصبی، عملیاتی بر روی عکس انجام می گیرد
سپس بر روی خروجی یک کلاس و یا درصد پیش بینی و یا وقوع چند کلاس نشان داده می شود.
حال باید بدانیم نحوه عملکرد لایه های میانی به چه صورتی می باشد:
آشنایی با کاربردی ترین مفاهیم لایه اول در شبکه عصبی کانولوشن
عملکرد شبکه عصبی پیچشی به چه صورتی می باشد؟
هر یک از فیلتر هایی که در فوق اشاره شد را می شود یک شناساگر ویژگی (feature Identifier) دانست.
به این شکل به مواردی مانند خط صاف، یک رنگ ساده و یا یک انحنا را یک ویژگی می گویند.
برای مثال تصور کنید فیلتر اول فیلتری با ابعاد ۷۷۳ و یک شناساگر انحنا می باشد
این فیلتر دارای یک ماتریس عددی می باشد که در محل هایی که تصویر از انحنای بیشتری برخوردار است مقدار عدد نیز بیشتر است.
سپس اعداد موجود در خانه ها را یکدیگر ضرب می کنیم و سپس با هم جمع می کنیم.
بزرگ بودن عدد حاصله، به این معناست که در تصویر یک انحنا وجود دارد.
آشنایی با لایه های عمیق تر شبکه عصبی کانولوشن
علاوه بر لایه های گفته شده، شبکه عصبی دارای لایه های دیگری نیز می باشد که وظایف مختلفی دارند.
به صورت کلی لایه های داخلی شبکه عصبی وظیفه نگهداری و حفظ ابعاد غیر خطی را بر عهده دارند.
همچنین آخرین لایه شبکه عصبی کانولوشن نیز بسیار لایه مهمی می باشد.
آشنایی با لایه آخر شبکه عصبی کانولوشن
خروجی لایه های دیگر به عنوان ورودی لایه آخر شبکه عصبی کانولوشن دریافت می شود.
لایه آخر دارای یک بردار N بعدی همراه با N تعداد کلاس و دسته بندی می باشد.
برای مثال در صورتی که شبکه شما شبکه ای برای شناسایی اعداد می باشد و برخوردار از ۱۰ کلاس است، این ۱۰ رقم در بردار N بعدی، هر مؤلفه احتمال وقوع یک کلاس نشان داده می شود.
لایه آخر شبکه عصبی کانولوشن وظیفه بررسی ویژگی های سطح بالا و مقایسه میزان مطابقت این ویژگی ها با هر کلاس را برعهده دارد.
هرچقدر میزان مطابقت بالا تر باشد امکان وقوع آن کلاس نیز افزایش می یابد.
نکات تکمیلی شبکه عصبی کانولوشن
در این مقاله با شبکه عصبی کانولوشن تا حدود زیادی آشنا شدید.
ممکن است سوال هایی در رابطه با ساخت فیلتر ها و … ذهن شما را درگیر کرده باشد.
رایانه ها در طی آموزش هایی که می بینند قادر به تشخیص مقدار مناسب به فیلتر می باشند که به این فرآیند back propagation گفته می شود.
انسان در بدو تولد هیچ درک و یا شناختی از اشیاء پیرامون خود ندارد. به مرور اطرافیان نام اشیاء را می گویند و انسان اشیاء بیشتری می بیند و می تواند یاد بگیرد و این اشیاء را تشخیص دهد.
کامپیوتر ها نیز به همین شیوه عمل می کنند.
به این صورت که در ابتدا اعداد موجود در ماتریس فیلتر به صورت رند و تصادفی می باشد و به مرور زمان و پس از نشان دادن تصاویر مختلف به کامپیوتر اعداد موجود در فیلتر اصلاح می شود تا به نتیجه قابل قبولی دست یابد.
کلام آخر
می توان گفت امروزه دیگر شرکت ها با جمع آوری دیتای زیاد به موفقیت نمی رسند بلکه لازم است این دیتا تبدیل به اطلاعات شده و بر اساس نیاز به مشتری ارائه شود.
شرکت های مدرن و موفقی مانند پینترست و اینستاگرام با استفاده از شبکه عصبی قادر به رفع نیاز کاربران خود شده اند.
شما می توانید با آشنایی و یادگیری ماشین لرنینگ ، هوش مصنوعی و دیپ لرنینگ در وب سایت جامع و آموزش مگاپایتون، به اطلاعات گسترده تری در حوزه شبکه عصبی دست یابید و آینده شغلی خود را تضمین کنید.
دانستنی های کاربردی جهت آشنایی با زبان برنامه نویسی پایتون
زبان برنامه نویسی پایتون چه کاربرد و ویژگی هایی دارد؟
چگونه به یک برنامه نویس ماهر تبدیل شویم؟
با یادگیری چه زبانی می توانید به یک برنامه نویس ماهر تحت وب تبدیل شوید؟
آشنایی با معنای اوپن سورس و مزایای آن در برنامه نویسی
زبان برنامه نویسی پایتون در دنیای امروز چه کاربردی دارد؟
یادگیری برنامه نویسی پایتون برای مبتدیان
آموزش چگونگی شروع یادگیری زبان برنامه نویسی پایتون
شروع یادگیری زبان برنامه نویسی پایتون : آشنایی با توابع پایتون
شروع یادگیری زبان برنامه نویسی پایتون : عملگر های شرطی
شروع یادگیری زبان برنامه نویسی پایتون (بخش آخر)
آشنایی با سایت های آموزشی رایگان و معتبر جهت یادگیری زبان برنامه نویسی پایتون
چرا زبان برنامه نویسی پایتون به یک زبان قدرتمند تبدیل شده است؟
آشنایی با قدرت و ویژگی های فریم ورک ها در زبان برنامه نویسی پایتون
آشنایی با دیکشنری در زبان برنامه نویسی پایتون
آشنایی با پردرآمدترین زبان های برنامه نویسی سال های اخیر در ایران
چه زمانی استفاده از زبان برنامه نویسی پایتون می تواند برای شما سود آور باشد؟
چگونه وارد دنیای برنامه نویسی پایتون شویم؟
معرفی ۱۰ شرکت مشهور و رده بالا که از پایتون استفاده می کنند
چرا زبان برنامه نویسی پایتون برای تازه کاران زبان مناسبی می باشد؟
آشنایی با مفاهیم پایه و کاربردی در زبان برنامه نویسی پایتون
آشنایی با ویژگیهای حرفهای پایتون که موجب سهولت در انجام کارها میشود
۱۵ کتابخانه مهم و پرطرفدار در زبان برنامهنویسی پایتون
۱۰ کاربرد اصلی استفاده از زبان برنامه نویسی پایتون در پروژه های بزرگ سازمانی
اصلی ترین عواملی که موجب کند بودن زبان برنامه نویسی پایتون شده است!
چقدر طول میکشد تا به برنامهنویسی ماهر در زبان پایتون تبدیل شویم؟
آشنایی با ۶ رویکرد کاربردی زبان برنامه نویسی پایتون
آشنایی با دکوراتورها در زبان برنامه نویسی پایتون
12 مزایا و معایب زبان برنامه نویسی پایتون برای توسعه وب
مقدمه ای بر یادگیری ماشین یا ماشین لرنینگ و کاربرد های آن
یادگیری ماشین با زبان برنامه نویسی پایتون چه کاربردهایی دارد؟
آشنایی با پیش نیازهای اصلی ماشین لرنینگ
بررسی جامع انواع مدل های ماشین لرنینگ و کاربردهای آن
مهم ترین تفاوت های هوش مصنوعی و یادگیری ماشین
آشنایی با درآمد و بازار کار ماشین لرنینگ در سال 2022
آشنایی جامع با هوش مصنوعی و کاربردهای AI
آشنایی جامع با یادگیری نظارت شده در ماشین لرنینگ
6 نکته کاربردی یادگیری ماشین لرنینگ
4 کاربرد اصلی یادگیری نظارت نشده در ماشین لرنینگ
4 کاربرد مهم ماشین لرنینگ در دیجیتال مارکتینگ
7 کاربرد ماشین لرنینگ و هوش مصنوعی در شبکه اجتماعی اینستاگرام
بررسی ۵ کاربرد جالب ماشین لرنینگ در سال ۲۰۲۲
آشنایی با سه مسیر اصلی جهت یادگیری ماشین لرنینگ
۹ کاربرد اصلی دیپ لرنینگ در زندگی روزانه
۶ ایده برای پروژه های یادگیری ماشین لرنینگ برای افراد مبتدی و تازه کار
شش زبان برنامه نویسی برتر در حوزه واقعیت مجازی
آشنایی با ۹ سرور دیسکورد برای علاقه مندان به زبان برنامه نویسی پایتون و ماشین لرنینگ
آشنایی با برترین نرم افزارهای هوش مصنوعی و کاربردهای آن
آشنایی جامع با اصلی ترین روش های یادگیری عمیق
آشنایی جامع با تمامی مباحث و مهم ترین کاربردهای شبکه عصبی کانولوشن
آشنایی جامع با درخت تصمیم و اصلی ترین کاربرد و مفاهیم آن در ماشین لرنینگ
درباره Matinus
با ورود به کارشناسی مهندسی کامپیوتر گرایش نرم افزار از سال 1385 به دنیای زیبای آی تی وارد شدم و فوق لیسانسم رو در رشته آی تی گرایش تجارت الکترونیک از دانشگاه خواجه نصیر طوسی گرفتم. از همون دوران شروع به ساختن وب سایت ها و سئو کردن اونها کردم. زمانی که هیچ کس نمی تونست سئو چیه! یکی پس از دیگری زبان های برنامه نویسی رو تست کردم؛ مثل سی پلاس پلاس ؛ سی شارپ ؛ جاوا ؛ جاوا اسکریپت ؛ سوییفت و .... با همشون برنامه نوشتم تا رسیدم به پایتون و با توجه به تجربه خودم فهمیدم که به این زبان بیشتر علاقه دارم چون در مدت سه ماه اول 24 ساعته پشت کامپیوتر بودم و با برترین اساتید جهان پایتون خودم رو ارتقا دادم تا پس از دو سه سال در پایتون سنیور شدم و اکنون می تونم اونو تدریس کنم. آموزش پایتون من زیادی وسواس گونه و جامعه و من پشت صحنه دستورات و حافظه رو بشما می گم که هیچکس این رو به شما نمیگه.... چون بلد نیستن!!! فقط بلدن از دستورات استفاده کنن. مطمئن باش بعد از آموزش پایتون من خیلی حرف برای گفتن داری و میتونی وارد دنیای هوش مصنوعی و یادگیری ماشین و علوم داده ها بشی و یک شغل بسیار پردرآمد در خارج از کشور بگیری ......
نوشتههای بیشتر از Matinus
دیدگاهتان را بنویسید