شبکه های عصبی نوری

زمان تقریبی مطالعه 7 دقیقه

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

سیستم های کامپیوتری “یادگیری عمیق”، بر اساس شبکه های عصبی مصنوعی که رفتار مغز هنگام یادگیری مجموعه ای از نمونه ها راتقلید می کند، به موضوع داغ در علوم رایانه تبدیل شده است. علاوه بر فناوری هایی مانند نرم افزار تشخیص چهره و صدا، این سیستم ها می توانند با تحقیق در داده های وسیع پزشکی الگوهای مفید برای تشخیص بیماری ها پیدا کنند، یا به بررسی فرمول های شیمیایی به تهیه داروهای جدید بپردازند.

اما محاسباتی را که این سیستم ها باید انجام شود بسیار پیچیده و طاقت فرساست، حتی برای رایانه های قدرتمند امروزی!

در حال حاضر تیمی از محققان MIT روش جدیدی را برای چنین محاسباتی بوجود آوره اند که طبق مقاله استفاده از نور به جای الکتریسیته است که سرعت و کارایی برخی از محاسبات بخصوص یادگیری عمیق را بهبود می بخشد. نتایج آنها نیز در مجله Nature Photonics آورده شده است.

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

معماری های کامپیوتر سنتی نمی توانند تاثیر زیادی بر روی محاسبات مورد نیاز مهم شبکه عصبی داشته باشد، این محاسبات که عموما شامل ضرب ماتریسهای تکراری می باشد میتوانند برای تراشه های امروزی اعم از CPU و GPU طاقت فرسا باشند.

بعد از سالها تحقیق، این مقاله ادعا میکند که روشی را ایجاد کرده است که این عملیات(عملیات ماتریسی) را به صورت نوری انجام میدهد.این چیپ میتواند عملیات ضرب ماتریس را تقریبا به صورت لحظه ای انجام دهد واز طرفی بدون نیاز به انرژی! در این مقاله اجزاء اولیه و ضروری این سیستم مورد بحث و برسی قرار گرفته است اما هنوز یک سیستم جامع ارائه نشده است.

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

_config.yml

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

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

_config.yml

یک شبکه عصبی (ANN) از یک مجموعه از نورن های ورودی که به تعدادی لایه پنهان متصل شده اند و یک لایه خروجی تشکیل شده است. در هر لایه اطلاعات با استفاده از ترکیبات خطی(ضربهای ماتریسی) و توابع فعال سازی در شبکه گسترش داده میشوند.یک شبکه عصبی توسط داده هایی که به لایه ورودی داده میشوند و اجرای الگوریتم back propagation آموزش داده میشود.

در یک شبکه عصبی نوری (ONN) که در تصویر بالا (c) نمایش داده شده است سیگنال های ورودی به دامنه ای از پالس های نوری کد گذاری میشوند و توسط موجبر های یکپارچه فوتونی منتشر داده میشوند و از واحدی به نام واحد تداخل نوری(OIU) (در فیزیک تداخل موجپدیدهٔ ایجاد موجی با شکل دامنه جدید هنگام گذر همزمان دو موج یا بیشتر از یک نقطه است) عبور میکنند. نتیجه این عملیات از واحد هایی به نام (ONU) که کاربردی مشابه توابع فعال سازی را دارند عبور میکنند.عملیات ضرت ماتریسی توسط این دو واحد صورت میپذیرد.

به عقیده من ضرب ماتریس ها در واقع قلب یادگیری عمیق است. برای نشان دادن اهمیت این موضوع دوست دارم که این صفحه از پایان نامه یانگ گینگ جیابا عنوان (Learning Semantic Image Representations at a Large Scale) دانشگاه بروکلین را برای شما قرار بدهم، در صورتی که وقت کافی را دارید فصل ششم این پایان نامه اطلاعات جالبی دارد. شاید جالب ترین بخش این فصل عکس زیر باشد:

_config.yml

این تصویر نشان میدهد زمانی که برای انجام محاسبات در یک شبکه عصبی کانولوشن مصرف میشود به چه صورت است.این تصویر مربوط به زمان مصرف شده در یک مرحله forward در لایه های مختلف معماری الکس نت است . این عکس ضرورت بهینه سازی را دو چندان میکند.توضیح بیشتر خارج از بحث این پست است. در آینده یک پست به این بحث اختصاص خواهم داد.

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

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

برای نشان دادن این مفهوم در این مقاله محققین پردازنده نانوفوتونی قابل برنامه ریزی را برای اجرای یک شبکه عصبی که چهار حروف صدادار اصلی را تشخیص می دهد، تنظیم می کند. حتی با استفاده از این سیستم ابتدایی، آنها توانستند به یک سطح دقیق 77 درصدی در مقایسه با سطح حدود 90 درصدی سیستم های معمولی دست پیدا کنند، و هیچ مانع قابل ملاحظه ای برای افزایش دقت سیستم وجود ندارد.

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

این تحقیق همچنان نیاز به تلاش و زمان بیشتری برای بهره برداری کاربردی دارد . در صورت کاربردی شدن این سیستم میتوان از آن برای اتومبیل های راننده خودکار و یا هواپیماهای بدون سرنشین که نیاز به انجام محاسبات زیاد با انرژی کمتر در زمان محدود تری دارند استفاده کرد.

Written on June 28, 2017