پرش به محتوا

الکس نت

از ویکی‌پدیا، دانشنامهٔ آزاد
AlexNet
توسعه‌دهنده(ها)Alex Krizhevsky, Ilya Sutskever, and Geoffrey Hinton
انتشار اولیهJun 28, 2011
مخزنcode.google.com/archive/p/cuda-convnet/
نوشته‌شده باCUDA, C++
نوعConvolutional neural network
مجوزNew BSD License

AlexNet نام یک معماری شبکه عصبی کانولوشن (CNN) است که توسط Alex Krizhevsky با همکاری ایلیا Sutskever و Geoffrey Hinton ، که دکترای کریژفسکی بود، طراحی شد. مشاور در دانشگاه تورنتو </link>[ چه زمانی؟ ] 60 میلیون پارامتر و 650000 نورون داشت. [۱]

نتیجه اولیه مقاله اصلی این بود که عمق مدل برای عملکرد بالای آن ضروری بود، که از نظر محاسباتی گران بود، اما به دلیل استفاده از واحدهای پردازش گرافیکی (GPU) در طول آموزش امکان پذیر شد. [۲]

این سه تیم SuperVision را تشکیل دادند و AlexNet را در چالش تشخیص تصویری در مقیاس بزرگ ImageNet در 30 سپتامبر 2012 ارائه کردند. [۳] این شبکه به خطای 5 برتر 15.3 درصدی دست یافت که بیش از 10.8 درصد بهتر از رتبه دوم بود.

معماری بر تعداد زیادی از کارهای بعدی در یادگیری عمیق ، به ویژه در کاربرد شبکه های عصبی در بینایی کامپیوتر ، تأثیر گذاشت.

بلوک دیاگرام AlexNet

معماری

[ویرایش]

AlexNet شامل هشت لایه است: پنج لایه اول لایه های کانولوشن هستند، برخی از آنها لایه های max-pooling و سه لایه آخر لایه های کاملاً متصل هستند. شبکه، به جز آخرین لایه، به دو نسخه تقسیم می شود که هر کدام روی یک GPU اجرا می شوند. [۴] کل ساختار را می توان به صورت نوشتاری نوشت

(CNN → RN → MP)² → (CNN³ → MP) → (FC → DO)² → خطی → softmax

اگر

  • CNN = لایه کانولوشن (با فعال سازی ReLU)
  • RN = عادی سازی پاسخ محلی
  • MP = maxpooling
  • FC = لایه کاملا متصل (با فعال سازی ReLU)
  • خطی = لایه کاملا متصل (بدون فعال سازی)
  • DO = ترک تحصیل

از تابع فعال‌سازی ReLU غیراشباع استفاده می‌کرد که بهتر از tanh و sigmoid تمرین می‌کرد. [۵]

از آنجایی که شبکه روی یک پردازنده گرافیکی 3 گیگابایتی Nvidia GTX580 قرار نمی گرفت، به دو نیمه تقسیم شد، یکی در هر GPU. [۶] : بخش 3.2 

آموزش

[ویرایش]

مجموعه آموزشی ImageNet 1.2 میلیون تصویر داشت. این برای 90 دوره آموزش داده شد، که پنج تا شش روز بر روی دو پردازنده گرافیکی NVIDIA GTX 580 3GB، [۷] که دارای عملکرد تئوری 1.581 TFLOPS در float32 و قیمت انتشار 500 دلار است، آموزش داده شد. [۸]

این با نزول گرادیان تکانه با اندازه دسته ای 128 نمونه، تکانه 0.9 و کاهش وزن 0.0005 آموزش داده شد. نرخ یادگیری شروع شد و هر زمان که خطای اعتبارسنجی متوقف می شود، به صورت دستی 10 برابر کاهش می یابد. در طول تمرین سه بار کاهش یافت و به پایان رسید .

از دو شکل افزایش داده استفاده می‌کرد، که هر دو به‌طور مستقیم روی CPU محاسبه می‌شدند، بنابراین «رایگان محاسباتی»:

  • استخراج تکه های تصادفی 224 × 224 (و بازتاب افقی آنها) از تصاویر 256×256 اصلی. این اندازه مجموعه آموزشی را 2048 برابر افزایش می دهد.
  • تغییر تصادفی مقدار RGB هر تصویر در امتداد سه جهت اصلی مقادیر RGB پیکسل های آن.

از نرمال‌سازی پاسخ موضعی و منظم‌سازی ترک تحصیل با احتمال افت 0.5 استفاده کرد.

همه وزن ها به صورت گاوسی با میانگین صفر و انحراف معیار 01/0 مقداردهی اولیه شدند . بایاس ها در لایه های کانولوشن 2، 4، 5، و همه لایه های کاملاً متصل، به ثابت 1 مقداردهی اولیه شدند تا از مشکل ReLU در حال مرگ جلوگیری شود.

تاریخچه

[ویرایش]

کار قبلی

[ویرایش]

AlexNet یک شبکه عصبی کانولوشنال است. در سال 1980، کونیهیکو فوکوشیما یک CNN اولیه به نام نئوگنیترون را پیشنهاد کرد. [۹] [۱۰] توسط یک الگوریتم یادگیری بدون نظارت آموزش داده شد. LeNet-5 ( Yann LeCun et al., 1989) [۱۱] توسط یادگیری نظارت شده با الگوریتم پس انتشار ، با معماری که اساساً مشابه AlexNet در مقیاس کوچک است، آموزش داده شد. (J. Weng، 1993) حداکثر جمع آوری را اضافه کرد. [۱۲] [۱۳]

در طول دهه 2000، با بهبود سخت افزار GPU ، برخی از محققین این موارد را برای محاسبات همه منظوره ، از جمله آموزش شبکه عصبی، تطبیق دادند. (K. Chellapilla و همکاران، 2006) یک CNN را بر روی GPU آموزش دادند که 4 برابر سریعتر از یک CPU معادل بود. [۱۴] یک CNN عمیق (Dan Cireșan و همکاران ، 2011) در IDSIA 60 برابر سریعتر از یک پیاده سازی CPU معادل بود. [۱۵] بین 15 مه 2011 و 10 سپتامبر 2012، CNN آنها برنده چهار مسابقه تصویر شد و SOTA برای پایگاه داده های تصویری متعدد را به دست آورد. [۱۶] [۱۷] [۱۸] با توجه به مقاله AlexNet، [۱۹] شبکه قبلی Cireșan "تا حدودی مشابه است." هر دو با CUDA نوشته شده بودند تا روی GPU اجرا شوند.

بینایی کامپیوتر

[ویرایش]

در طول دوره 1990-2010، شبکه‌های عصبی بهتر از سایر روش‌های یادگیری ماشین مانند رگرسیون هسته ، ماشین‌های بردار پشتیبانی ، AdaBoost ، تخمین ساخت‌یافته، [۲۰] و غیره نبودند. به ویژه برای بینایی کامپیوتر، پیشرفت زیادی از مهندسی ویژگی های دستی حاصل شد، مانند ویژگی های SIFT ، ویژگی های SURF ، ویژگی های HoG ، کیسه های کلمات بصری ، و غیره. موقعیتی که پس از AlexNet غالب شد. [۲۱]

در سال 2011، جفری هینتون شروع به برقراری ارتباط با همکارانش کرد در مورد "چه کاری باید انجام دهم تا شما را متقاعد کنم که شبکه های عصبی آینده هستند؟"، و Jitendra Malik ، یک بدبین به شبکه های عصبی، چالش کلاس های شی بصری PASCAL را توصیه کرد. هینتون گفت مجموعه داده آن بسیار کوچک است، بنابراین مالیک چالش ImageNet را به او توصیه کرد. [۲۲]

در حالی که AlexNet و LeNet اساساً طراحی و الگوریتم یکسانی دارند، AlexNet بسیار بزرگتر از LeNet است و بر روی مجموعه داده بسیار بزرگتر روی سخت افزار بسیار سریعتر آموزش داده شده است. در طی 20 سال، هم داده ها و هم محاسبات به صورت ارزان در دسترس قرار گرفتند. [۲۳]

کارهای بعدی

[ویرایش]

AlexNet بسیار تأثیرگذار است و در نتیجه کارهای بعدی در استفاده از CNN برای بینایی رایانه و استفاده از GPU برای تسریع یادگیری عمیق انجام شد. طبق گفته Google Scholar تا اواسط سال 2024، مقاله AlexNet بیش از 157000 بار مورد استناد قرار گرفته است. [۲۴]

در زمان انتشار، هیچ چارچوبی برای آموزش شبکه عصبی مبتنی بر GPU و استنتاج وجود نداشت. پایگاه کد برای AlexNet تحت مجوز BSD منتشر شد و برای چندین سال بعد معمولاً در تحقیقات شبکه های عصبی استفاده می شد. [۲۵] [۲۶]

در یک جهت، کارهای بعدی با هدف آموزش CNN های عمیق و فزاینده ای انجام شد که به عملکرد بالاتری در ImageNet دست یافتند. در این خط از تحقیقات GoogLeNet (2014)، VGGNet (2014)، شبکه بزرگراه (2015) و ResNet (2015) هستند. جهت دیگر با هدف بازتولید عملکرد AlexNet با هزینه کمتر بود. در این خط از تحقیقات SqueezeNet (2016)، MobileNet (2017)، EfficientNet (2019) هستند.

مراجع

[ویرایش]
  1. Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E. (2017-05-24). "ImageNet classification with deep convolutional neural networks" (PDF). Communications of the ACM. 60 (6): 84–90. doi:10.1145/3065386. ISSN 0001-0782.
  2. Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E. (2017-05-24). "ImageNet classification with deep convolutional neural networks" (PDF). Communications of the ACM. 60 (6): 84–90. doi:10.1145/3065386. ISSN 0001-0782.
  3. "ImageNet Large Scale Visual Recognition Competition 2012 (ILSVRC2012)". image-net.org.
  4. Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E. (2017-05-24). "ImageNet classification with deep convolutional neural networks" (PDF). Communications of the ACM. 60 (6): 84–90. doi:10.1145/3065386. ISSN 0001-0782.
  5. Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E. (2017-05-24). "ImageNet classification with deep convolutional neural networks" (PDF). Communications of the ACM. 60 (6): 84–90. doi:10.1145/3065386. ISSN 0001-0782.
  6. Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E. (2017-05-24). "ImageNet classification with deep convolutional neural networks" (PDF). Communications of the ACM. 60 (6): 84–90. doi:10.1145/3065386. ISSN 0001-0782.
  7. Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E. (2017-05-24). "ImageNet classification with deep convolutional neural networks" (PDF). Communications of the ACM. 60 (6): 84–90. doi:10.1145/3065386. ISSN 0001-0782.
  8. "NVIDIA GeForce GTX 580 Specs". TechPowerUp (به انگلیسی). 2024-11-12. Retrieved 2024-11-12.
  9. Fukushima, K. (2007). "Neocognitron". Scholarpedia. 2 (1): 1717. Bibcode:2007SchpJ...2.1717F. doi:10.4249/scholarpedia.1717.
  10. Fukushima, Kunihiko (1980). "Neocognitron: A Self-organizing Neural Network Model for a Mechanism of Pattern Recognition Unaffected by Shift in Position" (PDF). Biological Cybernetics. 36 (4): 193–202. doi:10.1007/BF00344251. PMID 7370364. Retrieved 16 November 2013.
  11. LeCun, Yann; Léon Bottou; Yoshua Bengio; Patrick Haffner (1998). "Gradient-based learning applied to document recognition" (PDF). Proceedings of the IEEE. 86 (11): 2278–2324. CiteSeerX 10.1.1.32.9552. doi:10.1109/5.726791. Retrieved October 7, 2016.
  12. Weng, J; Ahuja, N; Huang, TS (1993). "Learning recognition and segmentation of 3-D objects from 2-D images". Proc. 4th International Conf. Computer Vision: 121–128.
  13. Schmidhuber, Jürgen (2015). "Deep Learning". Scholarpedia. 10 (11): 1527–54. CiteSeerX 10.1.1.76.1541. doi:10.1162/neco.2006.18.7.1527. PMID 16764513.
  14. {{cite book}}: Empty citation (help)
  15. Cireșan, Dan; Ueli Meier; Jonathan Masci; Luca M. Gambardella; Jurgen Schmidhuber (2011). "Flexible, High Performance Convolutional Neural Networks for Image Classification" (PDF). Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence-Volume Volume Two. 2: 1237–1242. Retrieved 17 November 2013.
  16. "IJCNN 2011 Competition result table". OFFICIAL IJCNN2011 COMPETITION (به انگلیسی). 2010. Retrieved 2019-01-14.
  17. Schmidhuber, Jürgen (17 March 2017). "History of computer vision contests won by deep CNNs on GPU" (به انگلیسی). Retrieved 14 January 2019.
  18. {{cite book}}: Empty citation (help)
  19. Krizhevsky, Alex; Sutskever, Ilya; Hinton, Geoffrey E. (2017-05-24). "ImageNet classification with deep convolutional neural networks" (PDF). Communications of the ACM. 60 (6): 84–90. doi:10.1145/3065386. ISSN 0001-0782.
  20. Taskar, Ben; Guestrin, Carlos; Koller, Daphne (2003). "Max-Margin Markov Networks". Advances in Neural Information Processing Systems. MIT Press. 16.
  21. {{cite book}}: Empty citation (help)
  22. {{cite book}}: Empty citation (help)
  23. {{cite book}}: Empty citation (help)
  24. AlexNet paper on Google Scholar
  25. Krizhevsky, Alex (July 18, 2014). "cuda-convnet: High-performance C++/CUDA implementation of convolutional neural networks". Google Code Archive. Retrieved 2024-10-20.
  26. {{cite book}}: Empty citation (help)