پیاده سازی شبکه عصبی عمیق در متلب – قسمت سوم : تماماً متصل

در درسنامه های قبل، لایه ی اول از شبکه های عصبی عمیق کانولوشن یعنی لایه ی کانولوشن و لایه ی دوم یعنی لایه ی Pooling را بررسی کردیم. در این قسمت، سایر لایه های این شبکه را مطالعه خواهیم کرد.

مقاله مرتبط :

تماما متصل ( Fully Connected ) :

لایه ی دیگری که در شبکه های عصبی عمیق وجود دارد، لایه ی تماما متصل یا Fully connected است. لایه های تماما متصل Feature map های ۲ بعدی حاصله از مرحله ی Pooling را به Feature vector یک بعدی تبدیل می کند.

لایه های تماما متصل همانند همتایان خود در شبکه های عصبی مصنوعی سنتی عمل می کنند و تقریبا ۹۰% پارامترهای یک شبکه CNN را شامل می شوند. لایه تماما متصل بما اجازه می دهد تا نتیجه شبکه را در قالب یک بردار با اندازه مشخص ارائه کنیم . از این بردار می توان برای دسته بندی استفاده کرد و یا اینکه از آن جهت ادامه پردازش های بعدی بهره برد.

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

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

برای پیاده سازی این لایه، روش های مختلفی پیشنهاد شده است که در ادامه یکی از روش ها کافیست روی نتیجه ی حاصل از آخرین لایه ی Pooling عملیات ستونی سازی پیاده شود. بصورت کد در محیط برنامه نویسی متلب ارائه شده است:

<strong>function [yy] = MyFullConn(im_pooling)
%im_pooling: Output of the finall pooling layer
[M,N,P]=size(im_pooling);

yy=zeros(M*N*P,1);
i=1;

for k=1:P
for m=1:M
for n=1:N
yy(i,1)=im_pooling(m, n, k);
i=i+1;
end
end
end
end</strong>

در درسنامه های بعدی، مراحل دیگر فرآیند یادگیری عمیق را ادامه خواهیم داد.

بیشتر بخوانید :

منبع شهاب

همچنین ببینید

فناوری تشخیص چهره و کاربردهای آن، تاریخچه تکنولوژی تشخیص چهره

فناوری تشخیص چهره و کاربردهای آن + تاریخچه

فناوری تشخیص چهره یک فناوری بیومتریک است که با استفاده از تجزیه و تحلیل الگوهایی …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *