گامی در راه رسیدن به شبکههای عصبی عمیق تمامنوری: بهکارگیری واحد غیر خطی نوری
محورهای موضوعی : مهندسی برق و کامپیوترآیدا ابراهیمی دهقان پور 1 , سمیه کوهی 2 *
1 - دانشگاه صنعتی شریف،دانشكده مهندسي كامپيوتر
2 - دانشگاه صنعتی شریف،دانشکده مهندسی کامپیوتر
کلید واژه: پردازش نوری, تابع فعالساز نوری, سرعت بالا, شبکه عصبی پیچشی, شبکه عصبی پیچشی نوری,
چکیده مقاله :
در سالهای اخیر، شبکههای عصبی نوری به علت سرعت بالا و توان مصرفی پایینی که دارند، بسیار مورد توجه قرار گرفتهاند. با این وجود، این شبکهها هنوز محدودیتهای زیادی دارند که یکی از این محدودیتها پیادهسازی لایه غیر خطی در آنهاست. در این نوشتار، پیادهسازی واحد غیر خطی برای شبکههای عصبی پیچشی نوری مورد بررسی قرار گرفته تا در نهایت با استفاده از این واحد غیر خطی بتوان به یک شبکه عصبی پیچشی تمامنوری عمیق با دقتی مشابه شبکههای الکتریکی، سرعت بالاتر و توان مصرفی کمتر رسید و بتوان قدمی در راستای کاهش محدودیتهای این شبکهها برداشت. در این راستا ابتدا روشهای مختلف پیادهسازی واحد غیر خطی مرور شدهاند. سپس به بررسی تأثیر استفاده از جاذب اشباعشونده به عنوان واحد غیر خطی در لایههای مختلف بر دقت شبکه پرداخته شده و نهایتاً روشی نوین و ساده برای جلوگیری از کاهش دقت شبکههای عصبی در صورت استفاده از این تابع فعالساز ارائه گردیده است.
In recent years, optical neural networks have received a lot of attention due to their high speed and low power consumption. However, these networks still have many limitations. One of these limitations is implementing their nonlinear layer. In this paper, the implementation of nonlinear unit for an optical convolutional neural network is investigated, so that using this nonlinear unit, we can realize an all-optical convolutional neural network with the same accuracy as the electrical networks, while providing higher speed and lower power consumption. In this regard, first of all, different methods of implementing optical nonlinear unit are reviewed. Then, the impact of utilizing saturable absorber, as the nonlinear unit in different layers of CNN, on the network’s accuracy is investigated, and finally, a new and simple method is proposed to preserve the accuracy of the optical neural networks utilizing saturable absorber as the nonlinear activating function.
[1] C. Julie, V. Sitzmann, X. Dun, W. Heidrich, and G. Wetzstein, "Hybrid optical-electronic convolutional neural networks with optimized diffractive optics for image classification," Scientific Reports, vol. 8, no. 1, pp. 1-10, 17 Aug. 2018.
[2] S. Colburn, Y. Chu, E. Shilzerman, and A. Majumdar, "Optical frontend for a convolutional neural network," Applied Optics, vol. 58, no. 12, pp. 3179-3186, 20 Apr. 2019.
[3] K. H. Wagner and S. McComb, "Optical rectifying linear units for back-propagation learning in a deep holographic convolutional neural network," IEEE J. of Selected Topics in Quantum Electronics, vol. 26, no. 1, pp. 1-18, Jan./Feb. 2019.
[4] X. Guo, T. D. Barrett, Z. M. Wang, and A. I. Lvovsky, "Backpropagation through nonlinear units for the all-optical training of neural networks," Photonics Research, vol. 9, no. 3, pp. B71-B80, 2021.
[5] R. Hecht-Nielsen, "Theory of the backpropagation neural network," in Neural Networks for Perception, pp. 65-93, Academic Press, 1992.
[6] Z. Gu, Y. Gao, and X. Liu, "Optronic convolutional neural networks of multi-layers with different functions executed in optics for image classification," Optics Express, vol. 29, no. 4, pp. 5877-5889, 15 Feb. 2021.
[7] C. M. V. Burgos, T. Yang, Y. Zhu, and A. N. Vamivakas, "Design framework for metasurface optics-based convolutional neural networks," Applied Optics, vol. 60, no. 15, pp. 4356-4365, 20 May 2021.
[8] I. A. Williamson, et al., "Reprogrammable electro-optic nonlinear activation functions for optical neural networks," IEEE J. of Selected Topics in Quantum Electronics, vol. 26, no. 1, pp. 1-12, Jan./Feb. 2019.
[9] M. Miscuglio, et al., "All-optical nonlinear activation function for photonic neural networks," Optical Materials Express, vol. 8, no. 12, pp. 3851-3863, 2018.
[10] Y. Zuo, et al., "All-optical neural network with nonlinear activation functions," Optica, vol. 6, no. 9, pp. 1132-1137, 2019.
[11] P. Ienne, T. Cornu, and G. Kuhn, "Special-purpose digital hardware for neural networks: an architectural survey," J. of VLSI Signal Processing Systems for Signal, Image and Video Technology, vol. 13, no. 1, pp. 5-25, 1996.
[12] J. Misra and I. Saha, "Artificial neural networks in hardware: a survey of two decades of progress," Neurocomputing, vol. 74, no. 1-3, pp. 239-255, Dec. 2010.
[13] K. Ovtcharov, et al., "Accelerating deep convolutional neural networks using specialized hardware," Microsoft Research Whitepaper, vol. 2, no. 11, pp. 1-4, Feb. 2015.
[14] M. Capra, et al., "An updated survey of efficient hardware architectures for accelerating deep convolutional neural networks," Future Internet, vol. 12, no. 7, Article ID: 113, 2020.
[15] X. Sui, Q. Wu, J. Liu, Q. Chen, and G. Gu, "A review of optical neural networks," IEEE Access, vol. 8, pp. 70773-70783, 2020.
[16] Y. Shen, et al., "Deep learning with coherent nanophotonic circuits," Nature Photonics, vol. 11, pp. 441-446, 2017.
[17] X. Lin, et al., "All-optical machine learning using diffractive deep neural networks," Science, vol. 361, no. 6406, pp. 1004-1008, 7 Sept. 2018.
[18] M. Miscuglio, et al., "Massively parallel amplitude-only fourier neural network," Optica, vol. 7, no. 12, pp. 1812-1819, 2020.
[19] S. Colin, E. Contesse, P. L. Boudec, G. Stephan, and F. Sanchez, "Evidence of a saturable-absorption effect in heavily erbium-doped fibers," Optics Letters, vol. 21, no. 24, pp. 1987-1989, 15 Dec. 1996.
[20] Z. Cheng, H. K. Tsang, X. Wang, K. Xu, and J. Xu, "In-plane optical absorption and free carrier absorption in graphene-on-silicon waveguides," IEEE J. of Selected Topics in Quantum Electronics, vol. 20, no. 1, pp. 43-48, Jan./Feb. 2014.
[21] A. Krizhevsky, I. Sutskever, and G. E. Hinton, "ImageNet classification with deep convolutional neural networks," Communications of the ACM, vol. 60, no. 6, pp. 84-90, 2017.
[22] A. Krizhevsky and G Hinton, Learning Multiple Layers of Features from Tiny Images, Technical Report, University of Toronto, pp. 7, 2009.
[23] H. Xiao, K. Rasul, and R. Vollgraf, Fashion-Mnist: A Novel Image Dataset for Benchmarking Machine Learning Algorithms, arXiv preprint arXiv:1708.07747, 2017.
نشریه مهندسی برق و مهندسی كامپیوتر ایران، ب- مهندسی کامپیوتر، سال 20، شماره 3، پاییز 1401 227
مقاله پژوهشی
گامی در راه رسیدن به شبکههای عصبی عمیق تمامنوری:
بهکارگیری واحد غیر خطی نوری
آیدا ابراهیمی دهقانپور و سمیه کوهی
چكیده: در سالهای اخیر، شبکههای عصبی نوری به علت سرعت بالا و توان مصرفی پایینی که دارند، بسیار مورد توجه قرار گرفتهاند. با این وجود، این شبکهها هنوز محدودیتهای زیادی دارند که یکی از این محدودیتها پیادهسازی لایه غیر خطی در آنهاست. در این نوشتار، پیادهسازی واحد غیر خطی برای شبکههای عصبی پیچشی نوری مورد بررسی قرار گرفته تا در نهایت با استفاده از این واحد غیر خطی بتوان به یک شبکه عصبی پیچشی تمامنوری عمیق با دقتی مشابه شبکههای الکتریکی، سرعت بالاتر و توان مصرفی کمتر رسید و بتوان قدمی در راستای کاهش محدودیتهای این شبکهها برداشت. در این راستا ابتدا روشهای مختلف پیادهسازی واحد غیر خطی مرور شدهاند. سپس به بررسی تأثیر استفاده از جاذب اشباعشونده به عنوان واحد غیر خطی در لایههای مختلف بر دقت شبکه پرداخته شده و نهایتاً روشی نوین و ساده برای جلوگیری
از کاهش دقت شبکههای عصبی در صورت استفاده از این تابع فعالساز ارائه گردیده است.
کلیدواژه: پردازش نوری، تابع فعالساز نوری، سرعت بالا، شبکه عصبی پیچشی، شبکه عصبی پیچشی نوری.
1- مقدمه
اخیراً شبکههای عصبی عمیق و مخصوصاً شبکههای عصبی عمیق پیچشی، توانایی چشمگیری در حل محدوده بزرگی از مسائل محاسباتی با اندازههای بسیار بزرگ از خود نشان دادهاند [1] و [2]. یادگیری در این شبکهها با استفاده از مجموعهای از واحدهای خطی و غیر خطی در نورونها انجام میگیرد [1]. انتشار رو به جلوی اطلاعات در این شبکهها نیازمند به انجام محاسبات ضرب ماتریسی بین بردار ورودی و بردار وزنها در هر نورون است. پس از این ضرب ماتریسی، یک تابع فعالساز غیر خطی به خروجی هر نورون اعمال میشود [1] و [3]. همچنین به طور معمول با تعریف یک تابع هزینه و محاسبه گرادیان خطا و انتشار رو به عقب آن در شبکه، فرایند یادگیری و اصلاح وزنها صورت میگیرد [4] و [5]. در طی سالهای اخیر جهت افزایش کارایی این شبکهها، تعداد پارامترها و اتصالات بین نورونها و در نتیجه حافظه و انرژی مصرفی آنها افزایش چشمگیری یافته است [1].
یکی از روشهای مقابله با این مشکلات اساسی، پیادهسازی نوری این شبکهها است [1] تا [4]. ساختارهای نوری از قابلیت پردازش موازی استفاده میکنند و سرعت بسیار بالایی دارند [2]. با توجه به ذات خطی پرتوهای نور، پیادهسازی واحدی با رفتار غیر خطی، یکی از مشکلات اساسی در این شبکههاست. به همین علت اکثر پیادهسازیهایی که تا کنون برای شبکههای عصبی پیچشی2 نوری پیشنهاد شدهاند به صورت ترکیبی هستند؛ به این صورت که فقط لایه اول شبکه به صورت نوری پیادهسازی شده است [1] و [2]. در بعضی دیگر از این پیادهسازیها، شبکههای نوری چندلایه پیشنهاد شدهاند که عملیات خطی در هر لایه به صورت نوری و تابع غیر خطی که همان تابع فعالساز است به صورت الکتریکی پیادهسازی شده است [6] و [7]. روش بعدی تبدیل قسمتی از نور ورودی به جریان و مدولاسیون نور باقی مانده با استفاده از جریان به دست آمده است که از نظر سرعت و توان مصرفی مناسب نیست [3]، [8] و [9]. روش آخر هم استفاده از مواد با پاسخ غیر خطی، مانند استفاده از جاذبهای اشباعشونده3 [4] و [9] و تله نوری- مغناطیسی4 [10] است. مشکل اصلی این روشها ضابطه تابع غیر خطی است که باعث کاهش دقت شبکه میشود. در نتیجه مسئله طراحی واحد غیر خطی که دقت شبکه عصبی را کاهش ندهد و از نظر سرعت و توان مصرفی تبدیل به گلوگاه سیستم نشود، هنوز حل نگردیده است.
در این نوشتار، ابتدا تأثیر استفاده از جاذب اشباعشونده به عنوان لایه فعالساز در شبکه عصبی بر دقت این شبکهها بررسی میشود. سپس برای استفاده از این تابع در شبکههای نوری عمیق بدون کاهش دقت
و اطمینان از آموزشدیدن شبکه، سه راهکار زیر پیشنهاد و به دقت بررسی میشود:
• محدودکردن تعداد لایههای دارای تابع فعالساز و یافتن بهترین محل قرارگیری برای آن
• نرمالسازی ورودی تابع فعالساز
• استفاده از بایاس
در نهایت میبینیم که این راهکارهای ساده، تأثیر زیادی در رسیدن دقت شبکههای عصبی پیچشی نوری به شبکههای الکتریکی دارند و میتوانند به عنوان روشی جامع برای حل مشکل عدم وجود تابع فعالساز مناسب مورد استفاده قرار بگیرند. همچنین لازم به ذکر است که با توجه به ذات این پژوهش که نیازمند انجام تعداد زیادی اندازهگیری است، تمام نتایج گزارش داده شده به صورت شبیهسازی هستند و در کارهای بعدی میتوان به پیادهسازی تجربی شبکهها با بهترین دقت پرداخت.
شکل 1: شماتیک یک سیستم F4.
2- شبکههای عصبی نوری
در طی سالهای اخیر با توجه به پیچیدگی و کارایی روزافزون شبکههای عصبی مصنوعی، توجهی ویژه به ارائه سختافزار خاصمنظوره برای آنها شده است [11] تا [14]. یکی از روشهای محبوب برای رسیدن همزمان به سرعت بالا و توان مصرفی پایین، پیادهسازی سختافزار این شبکهها به صورت نوری است. شبکههای عصبی نوری بر اساس نوع انتشار نور در شبکه به دو دسته فضاآزاد5 و هدایت موج6 تقسیم میشوند. در شبکههای فضاآزاد، نور پس از انتشار از منبع به صورت آزادانه در
فضا حرکت میکند. در شبکههای هدایت موج، نور در موجبرهای اپتیکی انتشار مییابد که این شبکهها خود به دو دسته شبکههای نوری مبتنی
بر فیبر نوری و شبکههای نوری مبتنی بر موجبرهای مجتمع7 تقسیم میشوند [15].
با توجه به این که مهمترین قسمت یک شبکه عصبی، انجام عملیات جمع حاصلضرب ورودیها و وزنهای یاد گرفته شده است که به دو صورت ضرب ماتریسی و عملیات پیچش انجام میشود، ابتدا در بخش کوتاهی به معرفی روشهای مختلف پیادهسازی ضرب ماتریسی یا پیچش در شبکههای نوری پرداخته میشود و سپس در بخش بعدی، روشهای مختلف پیادهسازی نوری تابع غیر خطی بررسی میگردد.
2-1 پیادهسازی لایه خطی به صورت نوری
یکی از روشهای محبوب برای انجام ضرب ماتریسی در شبکههای عصبی نوری مجتمع، استفاده از تداخلسنج ماخ- زندر8 است [16]. این روش، مصرف انرژی پایین و دقت بالایی دارد، اما در صورت افزایش تعداد نورونها، مدولاتور فاز و کاپلرهای جهتداری9 که این روش مستلزم به استفاده از آنها است، فضای بسیار زیادی را اشغال خواهند کرد [15].
برای شبکههای فضاآزاد نیز انجام ضرب ماتریسی یا عملیات پیچش به دو روش انجام میگیرد. روش اول استفاده از المانهای نوری هولوگرافی است که این المانهای نوری بر اساس اصل پراش10 عمل میکنند. شبکههای عصبی عمیق پراش11 نیز بر این اساس ساخته شدهاند [15] و [17]. این شبکهها به راحتی مقیاسپذیر هستند و از سرعت بالایی
هم برخوردارند. مشکل اصلی آنها عدم امکان آموزش آنی و نوری است، زیرا وزنها بعد از کاملشدن فرایند آموزش الکتریکی با پرینتر سهبعدی تهیه میشوند.
استفاده از سیستم F4 نیز روش دیگری جهت انجام عملیات پیچش به صورت نوری است. در این سیستم که شمای آن در شکل 1 آورده شده است، دو لنز در فاصله دو برابر فاصله کانونی از یکدیگر قرار دارند. تصویر ورودی در فاصله f از لنز اول قرار میگیرد. صفحه ورودی در این سیستم میتواند خود تولیدکننده نور باشد مانند OLED و یا یک ماسک با قابلیت مدولاسیون نور لیزر باشد با گذشتن از لنز اول تصویر به حوزه فرکانس میرود و تبدیل فوریه آن به دست میآید. در وسط فاصله بین دو لنز نیز یک ماسک که در شبکههای عصبی معمولاً با مدولاتور نور فضایی12 یا دستگاه ریزآینههای دیجیتال13 پیادهسازی میشود، قرار دارد که حاوی تبدیل فوریه وزنهایی است که باید با ورودی پیچیده شوند [1]، [2] و [18]. با عبور نور از این ماسک، تبدیل فوریه ورودی در تبدیل فوریه وزنها ضرب گردیده و پس از آن با گذر از لنز دوم، حاصل پیچش تصویر و وزنها روی صفحه خروجی که در فاصله f از لنز دوم قرار گرفته است، ظاهر میشود. در صورت نیاز میتوان در صفحه خروجی، یک دوربین قرار داد تا اطلاعات خروجی را به کامپیوتر بدهیم. این روش برای انجام پیچش، مقیاسپذیری بالایی دارد و سرعت آن نیز در صورت ثابتماندن وزنها بسیار بالاست.
2-2 پیادهسازی لایه غیر خطی به صورت نوری
قسمت دوم شبکههای عصبی، پیادهسازی تابع غیر خطی یا تابع فعالساز است که با توجه به ذات خطی پرتوهای نور، چالشبرانگیزتر از قسمت اول است. اما به طور کلی، روشهای پیادهسازی این تابع را میتوان به دو دسته الکترواپتیکی و تماماپتیکی تقسیم کرد که در روشهای الکترواپتیکی با تبدیل قسمتی از نور به الکتریسیته و سپس استفاده از آن برای مدولاسیون باقی نور، تابع غیر خطی پیادهسازی میشود [3] و [8]. در روشهای تماماپتیکی نیز از برهمکنش نور و ماده برای پیادهسازی تابع غیر خطی استفاده میگردد [9] و [10].
وانگر و همکاران در 2019 یک روش الکترواپتیکی برای پیادهسازی تابع ReLU با استفاده از پیکسلهای هوشمند ارائه دادند [3]. اساس کار این واحد، یک سوئیچ کنترلشونده توسط نور است که بر اساس علامت نوری که به آن تابیده میشود، یکی از حالات مسدود یا گذر را به خود میگیرد. همچنین این سیستم با استفاده از تشخیص تداخلی14 میتواند فاز انتشار رو به جلو و انتشار رو به عقب در شبکه را تشخیص دهد. در نتیجه با استفاده از آن میتوان یک سیستم را به طور نوری آموزش داد و یا به بیان دیگر، عملیات انتشار رو به عقب و در نتیجه آن آموزش درجا را نیز به صورت نوری پیاده کرد. استفاده از این واحد غیر خطی باعث کاهش دقت شبکه نمیشود؛ اما به خاطر نحوه تعیین علامت نور ورودی که در آن از تبدیل نور به جریان استفاده میشود، از نظر سرعت و توان مصرفی میتواند تبدیل به گلوگاه شبکه گردد.
در 2019 میسکوگلیو و همکاران، روشی تماماپتیکی بر پایه فلزات روی سطح پلاسمایی برای پیادهسازی تابع غیر خطی پیشنهاد دادند. در این
شکل 2: شماتیک یک سلول بخار اتمی.
سیستم برای رسیدن به پاسخ غیر خطی از دو نانومیله15 از جنس طلا که در وسط آنها یک نقطه کوانتومی از جنس CdSe وجود دارد، استفاده شده است. فوتونها با انرژیهای متفاوت، طیفهای جذب متفاوتی در این سیستم دارند و مقدار انرژی تلفشده در سیستم یک تابع غیر خطی از توان ورودی است [9]. از مشکلات این روش میتوان به مقدار بالای خدشه به فلز و در نتیجه عملکرد بد سیستم، مخصوصاً در دمای بالا و تطبیقناپذیری ساخت این ادوات با فناوریهای ساخت اشاره کرد.
در روش بعدی که باز هم مبنای آن برهمکنش نور و ماده است، تابع غیر خطی با استفاده از اتم ربیدیم داخل یک تله نوری- مغناطیسی پیادهسازی شده است [10]. در این سیستم، پرتو خروجی لایه خطی با عبور از تله نوری- مغناطیسی بر روی اتمهای ربیدیم داخل آن تأثیر میگذارد و سپس یک پرتو دیگر که خروجی لیزر است، داخل تله تابانده میشود. با توجه به این که تأثیر پرتوهای خروجی لایه خطی روی ربیدیم در داخل تله نوری- مغناطیسی همچنان پابرجاست، شدت پرتو تابیدهشده از لیزر بعد از عبور از تله الکترومغناطیسی، تابعی غیر خطی از خروجی لایه خطی است. این روش با این که از نظر توان مصرفی گلوگاه سیستم نیست، اما ساخت آن مشکل است و همچنین خروجی لایه خطی مستقیماً مدوله نمیشود. در حال حاضر نیز روشی برای پیادهسازی عملیات انتشار رو به عقب با استفاده از این تابع پیشنهاد نشده و امکان آموزش شبکه به صورت نوری با استفاده از آن وجود ندارد.
استفاده از جاذبهای اشباعشونده نیز مدلی دیگر برای پیادهسازی تابع فعالساز غیر خطی است. جاذب اشباعشونده، خاصیت جذب غیر خطی دارد و در آن درصد نور عبوری از ماده با افزایش انرژی نور ورودی تغییر میکند و بنابراین در آن، نور خروجی رابطه غیر خطی با نور ورودی دارد [19]. این تابع با مواد مختلف مانند سلول بخار اتمی16 (که در شکل 2 آورده شده است) یا گرافن روی سلیکون به دست میآید [4] و [20]. در [9] نیز یک روش آن که مبتنی بر 60C میباشد که در پلیوانیل الکل پراکنده شده است، برای به دست آوردن انتقال وابسته به شدت نور ورودی پیشنهاد گردیده است. با توجه به روشهای گوناگونی که برای پیادهسازی این تابع وجود دارد، استفاده از این مواد برای پیادهسازی تابع غیر خطی هم در شبکههای نوری مجتمع و هم در شبکههای نوری فضاآزاد، امکانپذیر است. علاوه بر این، ساخت آسان، در دسترس بودن، توان مصرفی پایین، مقایسپذیری و سرعت بالا از دیگر دلایل جذابیت استفاده از این روش هستند. با وجود مزیتهای متعدد، این روش در
شکل 3: نمودار نسبت میدان ورودی به خروجی در جاذب اشباعشونده برای .
مقایسه با روشهای قبلی استفاده از این تابع در شبکه مانع از افزایش عمق آن میشود. دلیل این مسئله، نمودار آن میباشد که در شکل 3 آورده شده است.
همان طور که در شکل مشخص است، ناحیه غیر خطی این نمودار بسیار کوچک و نسبت به صفر قرینه است و مقدار خروجی آن نیز در کل ناحیه غیر خطی نزدیک به صفر میباشد. با توجه به این که مقدار اولیه وزنها در شبکههای عصبی، عموماً کوچک و نسبت به صفر نیز قرینه است، در نتیجه این تابع با نزدیککردن خروجی لایههای متوالی به صفر میتواند باعث مختلشدن فرایند یادگیری در شبکه شود. همچنین با توجه به آن که این ماده در هر لایه، مقداری از انرژی پرتو ورودی را جذب میکند، با عمیقشدن شبکه، در لایههای آخر شدت نور ورودی زیر سطح آستانه عبور قرار میگیرد. بنابراین نمیتوانیم نتیجه مطلوبی از آن به دست بیاوریم [8]. در ادامه سعی شده که با رویکردی جدید، بر این مشکل غلبه شود تا بتوان از جاذب اشباعشونده در شبکههای عصبی پیچشی عمیق به عنوان تابع فعالساز استفاده کرد.
3- تعیین بهترین محل برای قرارگیری جاذب اشباعشونده به عنوان لایه غیر خطی
در شبکههای الکتریکی از تابع فعالساز غیر خطی برای داشتن مرز تصمیم17 غیر خطی در خروجیها استفاده میشود. در این قسمت، ابتدا تأثیر استفاده از جاذب اشباعشونده در یک لایه از شبکه بر روی دقت بررسی میشود و سپس با روشهای مختلف سعی خواهد شد که استفاده از این تابع برای لایههای بیشتر در شبکه ممکن گردد.
3-1 تأثیر استفاده از جاذب اشباعشونده در لایههای مختلف
همان طور که در قسمت قبل اشاره شد، استفاده از جاذب اشباعشونده به عنوان تابع فعالساز به دلیل مقیاسپذیری و عدم نیاز به الکتریسیته، یکی از روشهای متداول برای اعمال تابع غیر خطی در شبکههای عصبی پیچشی است. همچنین به تازگی روشی برای پیادهسازی نوری بازگشت به عقب نیز برای این تابع ارائه شده که استفاده از آن را جذابتر کرده است [4]. رابطه (1)، فرمول ریاضی این تابع را توصیف میکند که نمودار آن نیز در شکل 3 آورده شده است
(1)
[1] این مقاله در تاریخ 20 مرداد ماه 1400 دریافت و در تاریخ 7 اردیبهشت ماه 1401 بازنگری شد.
آیدا ابراهیمی دهقانپور، دانشكده مهندسي كامپيوتر، دانشگاه صنعتی شریف، تهران، ایران، (email: ai.ebrahimi@ce.sharif.edu).
سمیه کوهی (نویسنده مسئول)، دانشكده مهندسي كامپيوتر، دانشگاه صنعتی شریف، تهران، ایران، (email: koohi@sharif.edu).
[2] . Convolutional Neural Network
[3] . Saturable Absorber
[4] . Magneto Optical Trap
[5] . Free Space
[6] . Wave Guide
[7] . Integrated Optical Wave Guide
[8] . Mach-Zehnder Interferometer
[9] . Directional Coupler
[10] . Diffraction
[11] . Diffractive Deep Neural Network
[12] . Spatial Light Modulator
[13] . Digital Micro Mirror Device
[14] . Interferometrically Detecting
[15] . Nanorod
[16] . Atomic Vapor Cell
[17] . Decision Boundary
شکل 4: شبکه شبیهسازی شده شبه Alex Net.
در این فرمول، میدان نور ورودی به جاذب اشباعشونده، میدان نور خروجی و عمق مقاومتی اپتیکی1 است که مقدار آن بسته به پیادهسازی جاذب اشباعشونده، متغیر است. با افزایش مقدار میزان کاهش شدت نور پس از عبور از این ماده قابل و اندازه ناحیه غیر خطی نمودار افزایش مییابد. با توجه به شکل 3 میتوان مشاهده کرد که خروجی این تابع همواره از ورودی آن کوچکتر است. علاوه بر این برای ورودیهای با اندازه کوچک، خروجی تابع عددی بسیار نزدیک به صفر است. در نتیجه با استفاده از این تابع در چند لایه متوالی همواره خروجی کوچک و کوچکتر میشود تا نهایتاً اکثر اعداد لایههای آخر در بازهای قرار میگیرند که خروجی آن صفر است یا به بیان اپتیکی تمام نور ورودی جذب جاذب اشباعشونده میشود. به عنوان یک روش برای مقابله با اتلاف انرژی در صورت استفاده از این سیستم میتوان تعداد لایههای غیر خطی در شبکه را کاهش داد.
به این منظور، ابتدا تأثیر حذف تابع غیر خطی از همه لایهها به جز یکی از آنها بررسی شده تا بتوان بهترین محل را جهت قرارگیری لایه غیر خطی در شبکه نوری پیدا کرد. با توجه به مقالات نوریای که به پیادهسازی شبکههای پیچشی نوری پرداختهاند [1] و [2]، در اینجا از شبکه الکسنت [21] با اندکی تغییر به طوری که لایه اول آن قابل پیادهسازی به صورت نوری باشد، استفاده گردیده است. تغییرات اعمالشده روی لایه اول عبارتند از:
1) قراردادن گام پیچش به اندازه ۱ واحد به جای ۴ واحد
2) قرارندادن بایاس برای پیچش
3) جایگزینی تجمیع حداکثر در لایه اول با تجمیع میانگین به اندازه پنجره ۷ و اندازه گام ۷
با توجه به این که در این شبکه، اندازه گام پیچش تغییر داده شده است، باید اندازه پنجره تجمیع طوری تغییر داده میشد که تغییر در اندازه گام را جبران کند. به همین دلیل چند شبکه با خصوصیات نام برده شده در بالا و با اندازههای متفاوت برای پنجره تجمیع با مجموعه داده [22] 10CIFAR آموزش داده شدند. بعد از بررسی نتایج مربوط به آنها با توجه به این که دقت برای شبکه با لایه تجمیع با اندازه پنجره ۵ و اندازه گام ۵ با دقت برای لایه تجمیع با اندازه پنجره ۷ و اندازه گام ۷ یکسان است و سرعت آموزش شبکه برای مورد دوم بیشتر است، در شبکه نهایی، اندازه پنجره و گام تجمیع برای لایه اول برابر ۷ قرار داده شده است. نمای کلی این شبکه در شکل 4 آمده است. سناریوهایی که در این شبیهسازیها بررسی و با یکدیگر مقایسه شدهاند، عبارتند از:
1) همه لایههای شبکه، تابع فعالساز ReLU داشته باشند.
2) همه لایههای شبکه، تابع فعالساز جاذب اشباعشونده داشته باشند.
3) هیچ تابع فعالسازی در شبکه وجود نداشته باشد.
4) فقط یک لایه از شبکه دارای تابع فعالساز ReLU باشد و باقی لایهها هیچ تابع فعالسازی نداشته باشند.
5) فقط یک لایه از شبکه دارای تابع فعالساز جاذب اشباعشونده باشد و باقی لایهها هیچ تابع فعالسازی نداشته باشند.
برای این که اطمینان حاصل شود که نتایج شبیهسازی مختص به مجموعه داده خاصی نیست، تمام 5 سناریوی نام برده شده ابتدا بر روی مجموعه داده 10CIFAR انجام گردیدند. سپس برای دو مجموعه داده [22] 100CIFAR و [23] Fashion MNIST تکرار شدند تا بتوانیم از درستی نتایج حاصل و منحصرنبودن آن به یک مجموعه داده خاص اطمینان حاصل کنیم. نتایج این شبیهسازیها در جدول 1 آمده است. در جدول 1، شبکه بدون لایه فعالساز که به نوعی حد پایین محسوب میشود با رنگ آبی، شبکه اصلی با رنگ سبز پررنگ، شبکههای با دقت داده تست نزدیک به شبکه اصلی با رنگ سبز کمرنگ و شبکههای با دقت پایینتر از شبکه بدون لایه فعالساز با رنگ قرمز مشخص شدهاند. شدت رنگ قرمز به معنای شدت پایینتربودن دقت از شبکه بدون لایه فعالساز است. همچنین برای نشاندادن نتایج به صورت گویاتر، نمودار دقت شبکههای شبیهسازی شده در شکل 5 نیز آمده است. در هر یک
از نمودارهای این شکل، خطهای طوسی نشاندهنده دقت دادههای تست در شبکهای هستند که در تمام لایههای آن از لایه فعالساز استفاده
شده است. خطهای آبی نشاندهنده دقت دادههای تست برای شبکهای هستند که تنها در یک لایه از آن از تابع فعالساز ReLU استفاده شده است. خطهای نارنجی نشاندهنده دقت دادههای تست برای شبکهای هستند که تنها در یک لایه از آن از تابع فعالساز جاذب اشباعشونده استفاده شده و نهایتاً خطهای زرد نشاندهنده دقت دادههای تست برای شبکهای هستند که به صورت کلی از لایه فعالساز بهره نمیبرد. شبیهسازیهای توصیفشده در محیط گوگل کولبرتوری2 و با استفاده از
[1] . Resonant Optical Depth
[2] . Google Collaboratory
جدول 1: مقایسه دقت شبکه اصلی با شبکه بدون لایه فعالساز و شبکههای شامل یک لایه فعالساز ReLU یا جاذب اشباعشونده، برای بررسی تأثیر محل قرارگیری لایه فعالساز بر روی سه مجموعه داده 10CIFAR، 100CIFAR و Fashion MNIST. سطر با رنگ آبی نشاندهنده شبکه بدون لایه فعالساز است. شبکههایی که از این سطر، دقت کمتری برای دادههای تست داشتند با رنگ قرمز مشخص شدهاند و شدت قرمزی بیانگر شدت بدی عملکرد است. سطر با رنگ سبز پررنگ نشاندهنده شبکه اصلی است و شبکههایی که دقت مشابه با شبکه اصلی داشتند با رنگ سبز کمرنگ مشخص شدهاند.
100CIFAR | 10CIFAR | Fashion MNIST | مجموعه داده | |||||||
گمراهی آموزش | دقت دادههای تست (درصد) | دقت دادههای آموزشی (درصد) | گمراهی آموزش | دقت دادههای تست (درصد) | دقت دادههای آموزشی (درصد) | گمراهی آموزش | دقت دادههای تست (درصد) | دقت دادههای آموزشی (درصد) | لایه تابع فعالساز | تابع فعالساز |
4/0 | 33 | 93 | 2/0 | 0/70 | 0/95 | 03/0 | 0/90 | 15/98 | - | - |
1/0 | 40 | 12/99 | 04/0 | 0/78 | 0/99 | 015/0 | 0/92 | 7/99 | همه | RELU |
4/0 | 36 | 93 | 15/0 | 0/70 | 0/97 | 06/0 | 0/91 | 7/98 | 1 | |
4/0 | 38 | 93 | 15/0 | 0/72 | 0/97 | 07/0 | 0/91 | 3/98 | 2 | |
4/0 | 41 | 94 | 1/0 | 0/75 | 0/98 | 03/0 | 5/92 | 99 | 3 | |
3/0 | 41 | 94 | 1/0 | 0/77 | 0/98 | 04/0 | 3/91 | 9/98 | 4 | |
4/0 | 40 | 93 | 015/0 | 0/75 | 0/97 | 06/0 | 5/90 | 3/98 | 5 | |
15/0 | 41 | 97 | 08/0 | 0/76 | 0/99 | 015/0 | 3/92 | 64/99 | 6 | |
15/0 | 42 | 97 | 13/0 | 0/76 | 0/97 | 07/0 | 5/91 | 7/98 | 7 | |
8.32 | 9.98 | 9.98 | 4.43 | 9.98 | 9.98 | 2.5 | 9.98 | 9.98 | همه | جاذب اشباع شونده |
8/0 | 23 | 88 | 3/0 | 0/55 | 0/94 | 07/0 | 3/90 | 98 | 1 | |
7/0 | 27 | 88 | 3/0 | 0/63 | 0/94 | 07/0 | 0/90 | 98 | 2 | |
4/0 | 35 | 94 | 11/0 | 0/69 | 0/98 | 07/0 | 0/90 | 5/98 | 3 | |
35/0 | 39 | 94 | 1/0 | 0/72 | 0/98 | 05/0 | 0/90 | 95/98 | 4 | |
65/0 | 35 | 89 | 2/0 | 0/72 | 0/95 | 07/0 | 0/90 | 11/98 | 5 | |
13/0 | 41 | 98 | 1/0 | 0/76 | 0/98 | 02/0 | 0/91 | 2/99 | 6 | |
4/0 | 40 | 94 | 2/0 | 0/74 | 0/96 | 05/0 | 0/91 | 5/98 | 7 |
کتابخانه پایتورچ1 انجام شدهاند و همچنین لازم به ذکر است که در طی این شبیهسازیها از تابع گمراهی آدام با نرخ یادگیری استفاده شده است. همچنین در تمام سناریوها مدل تا هنگامي آموزش داده شده است که دقت دادههای تست در 20 ایپاک آخر حداقل 1% اضافه شده باشد. با مقایسه سطرهای مختلف این جدول میتوان به نتایج زیر رسید:
1) در صورت استفاده از جاذب اشباعشونده در همه لایهها، فرایند یادگیری اصلاً صورت نمیگیرد.
2) در تمام مجموعه دادهها استفاده از ReLU در لایه 6 نتیجه بسیار مشابهی با استفاده از ReLU در تمام لایهها دارد.
3) عملکرد جاذب اشباعشونده در لایه 6 از نظر مقدار گمراهی آموزش2 از بقیه حالتها بهتر است و بسیار مشابه شبکهای میباشد که در همه لایههای آن از ReLU استفاده شده است.
4) استفاده از جاذب اشباعشونده در لایه ششم بر روی دادههای تست، نتیجه بهتری از باقی لایهها داشته است.
5) استفاده از جاذب اشباعشونده در لایه اول و دوم نه تنها باعث عملکرد بهتر مدل نمیشود، بلکه میزان دقت در دادههای آموزش و تست را کاهش و میزان گمراهی را نیز افزایش میدهد.
6) در بین لایههای پیچشی، استفاده از جاذب اشباعشونده در لایه چهارم بهترین نتیجه را دارد. هرچند که باز هم تفاوت آن چشمگیر نیست.
7) استفاده از ReLU هم فقط در لایه اول یا دوم چندان مفید نیست و تفاوت بسیار کمی در مقدار دقت و گمراهی با مدلی که از هیچ تابع فعالسازی استفاده نمیکند دارد.
8) استفاده از ReLU در لایههای 3 یا 4 اثر مشابهی دارد و بیشتر از استفاده از جاذب اشباعشونده در این لایهها بر روی مقادیر دقت و گمراهی تأثیر میگذارد.
با توجه به نتایج بالا میتوان از قراردادن تابع فعالساز در تمام لایهها صرف نظر کرد و با قراردادن آن، فقط در لایه خطی با بیشترین پارامتر، دقت کافی را برای مدل به دست آورد. شکل 6 شمای یک شبکه نوری فضاآزاد با سیستم F4 با چهار لایه خطی و فقط یک لایه غیر خطی در لایه سوم را نشان میدهد.
3-2 استفاده از جاذب اشباعشونده و نرمالسازی
با توجه به نتایجی که در بخش قبل آورده شدند و بررسی دقیق مدلهای آموزش داده شده، دو عامل تأثیرگذار در میزان اثرگذاری جاذب اشباعشونده بر یادگیری شبکه عبارتند از: 1) تعداد پارامترهای هر لایه و 2) محدوده ورودیهای تابع فعالساز جاذب اشباعشونده در آن لایه. عامل اول هم روی جاذب اشباعشونده و هم روی ReLU تأثیرگذار است، اما محدوده اعداد ورودی روی ReLU تأثیری ندارد. در این مرحله برای رسیدن به دقت بالاتر، حالاتی که از تابع فعالساز جاذب اشباعشونده برای چند لایه از شبکه استفاده شود، شبیهسازی شدهاند. در شبیهسازیهای این قسمت هیچ تابع ReLUی در شبکه قرار داده نشده تا تأثیر دقیق جاذب اشباعشونده در شبکه مشخص گردد. میبینم آموزش در تمام حالاتی که در آنها تعداد لایههای جاذب اشباعشونده بیش از یکی است، مختل میشود و دلیلش آن است که در ابتدای آموزش، وزنهای اولیه بسیار کوچک هستند و خروجی لایه دوم این تابع تماماً صفر یا اعداد نزدیک به آن میشود و در نتیجه تمام اطلاعات مفید در شبکه از بین میرود.
(الف)
(ب)
(ج)
شکل 5: مقایسه دقت شبکه اصلی با شبکه بدون لایه فعالساز و شبکههای شامل
یک لایه فعالساز ReLU یا جاذب اشباعشونده، برای بررسی تأثیر محل قرارگیری
لایه فعالساز بر روی سه مجموعه داده (الف) 10CIFAR، (ب) 100CIFAR و (ج) Fashion MNIST. خطوط با رنگ زرد نشاندهنده شبکه بدون لایه فعالساز است. خطوط با رنگ خاکستری نشاندهنده شبکههایی هستند که در تمام لایههای آنها از تابع فعالساز ReLU استفاده شده است. خطهای نارنجی نشاندهنده شبکهای هستند که تنها در یک لایه از آن از تابع فعالساز جاذب اشباعشونده استفاده گردیده است. نهایتاً خطهای آبی نشاندهنده شبکهای هستند که تنها در یک لایه از آن از تابع فعالساز ReLU بهره برده میشود. همچنین اعداد نشان داده شده در سطر نمودار، شماره لایهای هستند که در آن از تابع فعالساز استفاده گردیده است.
برای مقابله با این مشکل، پیشنهاد اول ما نرمالکردن ورودیهای جاذبهای اشباعشونده برای اطمینان از بزرگبودن محدوه ورودی تابع است. برای به دست آوردن محدوده تقریبی مناسب برای ورودیها، ابتدا شبکه با استفاده از تابع ReLU در تمام لایهها شبیهسازی گردیده است و محدوده ورودیهای لایهها رصد شدهاند. سپس با توجه به نتایج این شبیهسازیها و نمودار جاذب اشباعشونده، میتوان بهترین بازه را برای ورودی تابع جاذب اشباعشونده حدوداً بازه در نظر گرفت. در نتیجه در نرمالسازیها سعی شده که ورودی جاذب اشباعشونده در این بازه قرار گیرد.
با توجه به این که در جدول 1 دیده میشود که هر سه مجموعه داده رفتار مشابهی از خود نشان میدهند، در این سری از شبیهسازیها به مجموعه داده 100CIFAR برای بررسی رفتار مدل اکتفا شده است. همچنین به این دلیل که تعداد پارامترها در لایههای آخر شبکه بسیار بیشتر از لایههای اول هستند، توابع غیر خطی از انتهای شبکه قرار داده شدهاند. در طی انجام شبیهسازیها دیده شد که با افزایش تعداد لایههای غیر خطی با نرمالسازی، دقت فقط کم میشود و بنابراین با توجه به محدودیت منابع، از شبیهسازی این مدلها صرف نظر شده است. در
این سری از شبیهسازیها از (2) و (3) برای نرمالکردن ورودی تابع اشباعشونده استفاده گردیده است. در این فرمولها بیانگر ماتریس ورودی، بیانگر عنصری از این ماتریس که بیشترین مقدار را دارد و بیانگر میانگین عناصر این ماتریس است
(2)
(3)
نتایج مربوط به شبیهسازیها با استفاده از نرمالسازی در جدول 2 آمده است. سطرهای با رنگ سبز نشاندهنده دقت بالاتر از مدل اصلی و سطرهای با رنگ قرمز نشاندهنده دقت تست پایینتر از مدل بدون لایه فعالساز هستند. با توجه به نتایج آوردهشده در جدول 2 میتوان دید که استفاده از تابع جاذب اشباعشونده در لایه ۶ و ۷ که هر دو لایههای تماممتصل در شبکه Alex Net هستند، دقت دادههای تست را برای این شبکه خاص به شدت افزایش میدهد و دقت شبکه به ۴۸ درصد میرسد که از دقت تست برای شبکهای که از تابع فعالساز ReLU در همه لایههای آن استفاده شده است هم ۸ درصد بیشتر میباشد. در نتیجه میتوان یک شبکه عصبی نوری چندلایه را با استفاده از فناوریهای نوری موجود برای لایه خطی بدون نگرانی درباره لایه غیر خطی پیاده کرد و نهایتاً برای لایههای تماممتصل از لایههای غیر خطی مناسب استفاده نمود و به دقتی بالاتر از حالتی که در تمام لایهها از تابع فعالساز ReLU استفاده شده است، رسید.
3-3 استفاده از بایاس قبل از جاذب اشباعشونده
همان طور که گفته شد، جاذباشباعشونده در هر لایه، مقدار مشخصی از شدت نور ورودی را جذب میکند و بنابراین در صورتی که تعداد لایههایی از شبکه که در آنها از این تابع استفاده شده است زیاد شود، در لایههای انتهایی، تمام نور ورودی را جذب میکند و در نتیجه نمیتوان به نتیجه مطلوبی رسید. اولین راهی که برای حل این مشکل ممکن است به ذهن برسد، بزرگکردن بازه ورودی است. اما با بزرگشدن بازه ورودی، تعداد نورونهایی که در بازه غیر خطی قرار میگیرند کم میشود و اثر تابع فعالساز در شبکه از بین میرود. بهعلاوه بزرگکردن بازه ورودی به معنای افزایش شدت نور ورودی و در نتیجه افزایش مصرف انرژی است. پس از بررسی این تابع و نمودار آن میتوان دید که این تابع در قسمت مثبت، رفتار بسیار مشابهی با تابع ReLU دارد و تفاوت اساسی این دو تابع در دو قسمت خلاصه میشود:
1) در تابع ReLU مقادیر ورودی بین ، مقدار خروجی برابر 0 دارند اما در این تابع، مقادیر ورودی بین ، مقدار خروجی نزدیک به 0 دارند.
2) در تابع ReLU در صورتی که ورودی در بازه باشد، خروجی خود تابع است اما در این تابع اگر ورودی در بازه باشد، خروجی به اندازه تقریباً 2 واحد از ورودی کمتر میشود.
[1] . PyTorch
[2] . Training Loss
شکل 6: شبکه عصبی چهار لایه نوری که فقط در لایه سوم آن از جاذب اشباعشونده استفاده شده است.
جدول 2: مقایسه دقت شبکه برای مجموعه داده 100CIFAR. در صورتی که تابع فعالساز جاذب اشباعشونده به اضافه نرمالسازی قبل از آن بر اساس (2) و (3) در لایههای مختلف اعمال شود. سطرهای با رنگ سبز نشاندهنده دقت بالاتر از مدل اصلی و سطرهای با رنگ قرمز نشاندهنده دقت تست پایینتر از مدل بدون لایه فعالساز هستند.
لایههای قرارگیری تابع فعالساز اشباعشونده | فرمول نرمالسازی | گمراهی آموزش | دقت دادههای آموزشی (درصد) | دقت دادههای تست (درصد) |
6 و 7 | 2 | 07/0 | 24/99 | 48 |
6 و 7 | 3 | 05/0 | 21/99 | 48 |
5، 6 و 7 | 2 | 13/0 | 5/98 | 41 |
5، 6 و 7 | 3 | 06/0 | 32/99 | 43 |
4، 5، 6 و 7 | 3 | 03/0 | 5/99 | 40 |
3، 4، 5 و 6 | 3 | 04/0 | 2/99 | 37 |
1 | 3 | 5/0 | 04/92 | 32 |
2 | 3 | 5/0 | 5/92 | 33 |
1 و 2 | 3 | 5/0 | 99 | 29 |
جدول 3: نتایج شبیهسازی شبکه با لایه فعالساز جاذب اشباعشونده و بایاس در همه لایهها برای سه مجموعه داده Fashion MNIST، 10CIFAR و 100CIFAR.
100CIFAR | 10CIFAR | Fashion MNIST | مجموعه داده |
26/99 | 83/99 | 5/99 | دقت دادههای آموزشی (درصد) |
3/39 | 32/74 | 85/91 | دقت دادههای تست (درصد) |
02/0 | 015/0 | 01/0 | گمراهی آموزش |
میتوان دید در صورتی که به مقدار ورودی این تابع 2 واحد اضافه شود، تفاوت دوم از بین میرود. به بیان دیگر در صورتی که خروجی لایه غیر خطی در بازه قرار گیرد، با افزودن دو واحد به آن و عبوردادن از جاذب اشباعشونده، خروجی بسیار مشابه تابع ReLU میگردد. علاوه بر این در صورتی که خروجی لایه غیر خطی در بازه باشد، بعد از اضافهشدن دو واحد به آن در بازه قرار میگیرد که پس از عبور از جاذب اشباعشونده، خروجی این بازه تقریباً برابر 0 میشود که پاسخ ReLU هم به ورودیهای این بازه همان 0 است. بنابراین در صورتی که 2 واحد به خروجی لایه خطی اضافه شود، خروجی تابع جاذب اشباعشونده در بازه دقیقاً مشابه تابع ReLU خواهد شد. بنابراین دومین پیشنهاد ما برای ارائه راهی که بتوان تعداد لایههای دارای تابع فعالساز را در شبکه افزایش داد، اضافهکردن یک مقدار ثابت به ورودی آن است.
در شکل 7 نمودار این تابع در مقایسه با نمودار تابع ReLU رسم شده است. هرچند به نظر میرسد که تفاوت این دو تابع برای ورودیها در بازه بسیار بزرگ است و ممکن است در دقت شبکه تأثیر گذارد، اما باید به این نکته توجه کرد که معادله خط خروجی نسبت به ورودی در این بازه تقریباً برابر با میشود. این مسئله که در حالت قبلی با از بین بردن اطلاعات در بازه شبکه را دچار مشکل میکرد، این بار به نفع شبکه عمل میکند. به این صورت که با عمیقشدن شبکه، هر بار تعداد تعداد نورونهای منفیای که صفر میشوند بیشتر میگردد و در واقع اثر جاذب اشباعشونده که میزان حذف اطلاعات آن در هر مرحله بیشتر میشد، این بار به نفع شبکه و در راستای شبیهکردن هرچه بیشتر لایه فعالساز به ReLU عمل میکند. مزیت دیگر این روش آن است که میتوان از مواد با های بیشتر و در نتیجه ناحیه غیر خطی بزرگتر استفاده کرد و به جای کاهش دقت مدل آن را افزایش داد.
پیادهسازی نوری اضافهکردن بایاس هم، معادل افزایش میدان نور ورودی به جاذب اشباعشونده به اندازه ۲ واحد است. البته با افزایش این مقدار نیز افزایش مییابد که از نظر نوری با قراردادن یک منبع نور که با خروجی لایه خطی، تداخل سازنده داشته باشد، به راحتی قابل انجام است. همچنین این روش هم برای شبکههای عصبی نوری فضاآزاد و
هم برای شبکههای نوری مجتمع قابل پیادهسازی است. در شکل 8 نیز شماتیک دو لایه از یک شبکه نوری فضاآزاد با استفاده از سیستم F4 و لایه فعالساز جاذب اشباعشونده و بایاس آورده شده است. برای مقایسه این مدل با تابع ReLU برای دیتاستهای 10CIFAR، 100CIFAR و Fashion MNIST، روی شبکه الکسنت تغییریافته که در بخش قبلی توضیح داده شد، شبیهسازی انجام گردیده است. شبیهسازیها تا جایی که دقت دادههای تست پس از 20 ایپاک افزایش پیدا نکنند، ادامه داشتند و نتایج آنها در جدول 3 آمده است.
همان طور که از نتایج جدول پیداست، با استفاده از این روش میتوان از آموزشندیدن شبکه جلوگیری کرد و دقت دادههای آموزشی را تقریباً به 100 درصد رساند. دقت دادههای تست هم در صورت استفاده از این مدل تقریباً به دقتی برابر مدل اصلی که از تابع فعالساز ReLU در تمام لایههای آن استفاده شده است، میرسد. البته به علت این که بازه غیر
شکل 7: نمودار مقایسه تابع جاذب اشباعشونده و بایاس با تابع ReLU.
شکل 8: نمای دولایه از یک شبکه پیچشی نوری با واحد غیر خطی جاذب اشباعشونده و بایاس.
خطی این تابع کوچکتر از ReLU است، مشکل جایگیری بیش از حد در این مدلها کمی بیشتر از مدل با تابع ReLU است که البته این کاهش دقت با روشهای تنظیم و مرتبکردن، قابل برطرفشدن است.
4- نتیجهگیری
در راستای حلکردن مشکل اصلی استفاده از مواد با خاصیت جذب اشباعشونده به عنوان لایه غیر خطی در شبکههای عصبی نوری یعنی از بین بردن امکان عمیقکردن شبکه، دو مورد در این پژوهش بررسی شد.
اولین مورد عدم استفاده از این لایه در تمام لایههای شبکه و بررسی تأثیر این حرکت بر دقت شبکه بود که پس از شبیهسازیهای متنوع به این نتیجه رسیدیم که استفاده از تابع فعالساز در تمام لایههای شبکه لزوماً باعث افزایش دقت نمیشود و در نتیجه میتوان با حذف تابع فعالساز در شبکههای عمیق و اعمال آن فقط روی لایههای تماممتصل، به شبکهای با دقت مشابه رسید و به این وسیله میتوان نیاز به استفاده
از جاذب اشباعشونده در تمام لایههای شبکه را از بین برد و در نتیجه
به شبکه نوری عمیق و با دقت بالا رسید. روش دومی که در این راستا بررسی گردید، تغییر بازه ورودی بود که خود با دو روش نرمالسازی و اضافهکردن یک مقدار ثابت به ورودی این مواد تقسیم میشد. دیدیم که با نرمالسازی و محدودکردن لایههای شامل این تابع، میتوانیم به دقتی بالاتر از شبکه اصلی برسیم. همچنین در صورت استفاده از بایاس، تابع غیر خطی حاصل از عبور نور از این مواد رفتاری بسیار شبیه به تابع ReLU خواهد داشت و بنابراین شباهت رفتاری شبکههای نوری الکتریکی را هرچه بیشتر افزایش میدهد و میتوان بدون نیاز به نگرانی از این مواد به عنوان تابع فعالساز در تمام لایههای شبکه استفاده کرد.
مراجع
[1] C. Julie, V. Sitzmann, X. Dun, W. Heidrich, and G. Wetzstein, "Hybrid optical-electronic convolutional neural networks with optimized diffractive optics for image classification," Scientific Reports, vol. 8, no. 1, pp. 1-10, 17 Aug. 2018.
[2] S. Colburn, Y. Chu, E. Shilzerman, and A. Majumdar, "Optical frontend for a convolutional neural network," Applied Optics,
vol. 58, no. 12, pp. 3179-3186, 20 Apr. 2019.
[3] K. H. Wagner and S. McComb, "Optical rectifying linear units for back-propagation learning in a deep holographic convolutional neural network," IEEE J. of Selected Topics in Quantum Electronics, vol. 26, no. 1, pp. 1-18, Jan./Feb. 2019.
[4] X. Guo, T. D. Barrett, Z. M. Wang, and A. I. Lvovsky, "Backpropagation through nonlinear units for the all-optical training of neural networks," Photonics Research, vol. 9, no. 3, pp. B71-B80, ???. 2021
[5] R. Hecht-Nielsen, "Theory of the backpropagation neural network," in Neural Networks for Perception, pp. 65-93, Academic Press, 1992.
[6] Z. Gu, Y. Gao, and X. Liu, "Optronic convolutional neural networks of multi-layers with different functions executed in optics for image classification," Optics Express, vol. 29, no. 4, pp. 5877-5889, 15 Feb. 2021.
[7] C. M. V. Burgos, T. Yang, Y. Zhu, and A. N. Vamivakas, "Design framework for metasurface optics-based convolutional neural networks," Applied Optics, vol. 60, no. 15, pp. 4356-4365, 20 May 2021.
[8] I. A. Williamson, et al., "Reprogrammable electro-optic nonlinear activation functions for optical neural networks," IEEE J. of Selected Topics in Quantum Electronics, vol. 26, no. 1, pp. 1-12, Jan./Feb. 2019.
[9] M. Miscuglio, et al., "All-optical nonlinear activation function for photonic neural networks," Optical Materials Express, vol. 8, no. 12, pp. 3851-3863, ???. 2018.
[10] Y. Zuo, et al., "All-optical neural network with nonlinear activation functions," Optica, vol. 6, no. 9, pp. 1132-1137, ???. 2019.
[11] P. Ienne, T. Cornu, and G. Kuhn, "Special-purpose digital hardware for neural networks: an architectural survey," J. of VLSI Signal Processing Systems for Signal, Image and Video Technology,
vol. 13, no. 1, pp. 5-25, 1996.
[12] J. Misra and I. Saha, "Artificial neural networks in hardware: a survey of two decades of progress," Neurocomputing, vol. 74, no. 1-3, pp. 239-255, Dec. 2010.
[13] K. Ovtcharov, et al., "Accelerating deep convolutional neural networks using specialized hardware," Microsoft Research Whitepaper, vol. 2, no. 11, pp. 1-4, ???. 2015.
[14] M. Capra, et al., "An updated survey of efficient hardware architectures for accelerating deep convolutional neural networks," Future Internet, vol. 12, no. 7, Article ID: 113, 2020.
[15] X. Sui, Q. Wu, J. Liu, Q. Chen, and G. Gu, "A review of optical neural networks," IEEE Access, vol. 8, pp. 70773-70783, 2020.
[16] Y. Shen, et al., "Deep learning with coherent nanophotonic circuits," Nature Photonics, vol. 11, pp. 441-446, 2017.
[17] X. Lin, et al., "All-optical machine learning using diffractive deep neural networks," Science, vol. 361, no. 6406, pp. 1004-1008, 7 Sept. 2018.
[18] M. Miscuglio, et al., "Massively parallel amplitude-only fourier neural network," Optica, vol. 7, no. 12, pp. 1812-1819, ???. 2020.
[19] S. Colin, E. Contesse, P. L. Boudec, G. Stephan, and F. Sanchez, "Evidence of a saturable-absorption effect in heavily erbium-doped fibers," Optics Letters, vol. 21, no. 24, pp. 1987-1989, 15 Dec. 1996.
[20] Z. Cheng, H. K. Tsang, X. Wang, K. Xu, and J. Xu, "In-plane optical absorption and free carrier absorption in graphene-on-silicon waveguides," IEEE J. of Selected Topics in Quantum Electronics, vol. 20, no. 1, pp. 43-48, Jan./Feb. 2014.
[21] A. Krizhevsky, I. Sutskever, and G. E. Hinton, "ImageNet classification with deep convolutional neural networks," Communications of the ACM, vol. 60, no. 6, pp. 84-90, 2017.
[22] A. Krizhevsky and G Hinton, Learning Multiple Layers of Features from Tiny Images, Technical Report, University of Toronto, pp. 7, 2009.
[23] H. Xiao, K. Rasul, and R. Vollgraf, Fashion-Mnist: A Novel Image Dataset for Benchmarking Machine Learning Algorithms, arXiv preprint arXiv:1708.07747, 2017.
آیدا ابراهیمی دهقانپور تحصيلات خود را در مقاطع كارشناسي و كارشناسي ارشد مهندسی کامپیوتر بهترتيب در سالهاي 1394 و 1396 از دانشگاه شهيد بهشتي و صنعتی شریف در مقاطع كارشناسي ارشد به پایان رسانده و هماكنون دانشجو دکتری دانشگاه تورنتو ميباشد. زمينههاي تحقيقاتي مورد علاقه ايشان عبارتند از: معماری کامپیوتر، یادگیری عمیق و شبکه های عصبی نوری.
سمیه کوهی دانشیار دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف میباشد. ایشان مدرک کارشناسی دوگانه خود را در دو رشته مهندسی برق، گرایش الکترونیک، و مهندسی کامپیوتر، گرایش نرم افزار، در سال ۱۳۸۴ از دانشگاه صنعتی شریف اخذ نمود. در ادامه تحصیل در مقاطع تحصیلات تکمیلی، ایشان مدارک کارشناسی ارشد و دکترای خود را به ترتیب در سال های ۱۳۸۶ و ۱۳۹۱ در رشته مهندسی کامپیوتر، گرایش معماری کامپیوتر، از دانشگاه صنعنتی شریف اخذ کرد. ایشان تجربه یک دوره فرصت مطالعاتی یکساله در دانشگاه UCDavis, CA را در کارنامه دارد. دکتر کوهی پس از پایان تحصیل، در سال ۱۳۹۱ به عنوان استادیار دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف شروع به کار نمود. زمینه تحقیقاتی ایشان شامل طراحی و تکنیکها و ساخت ابزارهای محاسبات، پردازش و انتقال داده نوری میباشد. برای این منظور به
طور خاص روی دادههای حجیم، به عنوان مثال دادههای زیستی، تمرکز شده است. شبکههای نوری روی تراشه، شبکههای نوری مراکز داده و کامپیوتر نوری از جمله زمینههای اصلی تحقیقاتی ایشان است.