روش پیش‌تعلیم لایه‌به‌لایه دوسویه برای تعلیم شبکه‌های عصبی عمیق

نوع مقاله: مقاله علمی فارسی

نویسندگان

1 دانشجوی دکتری، دانشکده مهندسی پزشکی، دانشگاه صنعتی امیرکبیر، تهران، ایران

2 - دانشیار، دانشکده مهندسی پزشکی، دانشگاه صنعتی امیرکبیر، تهران، ایران

چکیده

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

کلیدواژه‌ها


عنوان مقاله [English]

Bidirectional Layer-by-layer Pre-training Method

نویسندگان [English]

  • Seyyede Zohreh Seyyedsalehi 1
  • Seyyed Ali Seyyedsalehi 2
1 Faculty of Biomedical Engineering, Amirkabir University of Technology (Tehran Polytechnic), Tehran, Iran
2 Faculty of Biomedical Engineering, Amirkabir University of Technology (Tehran Polytechnic), Tehran, Iran
چکیده [English]

In this paper, a bidirectional pre-training method for initializing weights of hetero-associative deep neural network was presented. Training of deep neural networks, because of confrontation with a large number of local minima, is not often converged. This is while through proper initializing weights instead of random values at the beginning of the training; it is possible to avoid many local minima. The bidirectional layer-by-layer pre-training method pre-train weights in forward and backward manners in parallel. Afterwards, the weight values resulted from their training are applied in the deep neural network. The bidirectional layer-by-layer pre-training was applied for pre-training of the classifier deep neural network weights, and revealed that both the training speed and the recognition rate were improved in Bosphorus and CK+ databases.

کلیدواژه‌ها [English]

  • Bidirectional
  • Hetero-associative
  • Deep Architecture
  • Pre-training
  • Hetero
  • associative
  • Learning Convergence
  • Multilayer Neural Network
  • Pre
  • Training

در چند سال اخیر با توجه به شواهد موجود مبنی بر حضور ساختارهای عمیق در مغز انسان [1]، محققین به سمت تعلیم شبکه‌های عصبی چند لایه عمیق گرایش پیدا کرده‌اند. این ساختارها قادر به یادگیری چندین سطح بازنمایی از ورودی می‌باشند [2]. لذا امکان استخراج سلسله‌مراتبی مؤلفه‌ها در آن‌ها فراهم می‌شود. به‌گونه‌ای‌که مؤلفه‌های سطح بالا به‌صورت ترکیبی از مؤلفه‌های سطح پایین در چندین سطح تشکیل می‌گردند [3]. این درحالیست که تعلیم معمول شبکه‌های با بیش از دو لایه پنهان، اغلب به نتایج ضعیفی منجر می‌شود. به‌طوریکه وقتی‌ تلاش می‌شود تمام لایه‌ها از طریق یک تابع معیار مانند میزان شباهت به ورودی‌ها یا شباهت به طبقه‌های مطلوب، تعلیم داده شوند نتایج ممکن است بدتر از مدل‌های کم عمق باشد [4]. این به‌دلیل افزایش تعداد کمینه‌های موضعی فعال در این ساختارها می‌باشد که به نوع توابع و مقداردهی اولیه پارامترهای شبکه بستگی زیاد دارند [5]. به‌عبارت دیگر در تعلیم ساختارهای عمیق شبکه، با افزایش تعداد لایه‌ها و نورون‌ها، مشکل کمینه‌های موضعی محسوس‌تر می‌شود [6]. لذا مقداردهی اولیه مناسب وزن‌های شبکه جهت همگرا نمودن تعلیم آن ضروری به‌نظر می‌رسد، به‌طوریکه ممکن است به چندین مرحله متوالی از پیش‌تعلیم نیاز شود به‌گونه‌ایکه هر مرحله پیش‌تعلیم، به‌عنوان پیش‌نیاز برای مرحله تعلیم بعدی، به‌منظور عبور دادن فرایند تعلیم از موانع کمینه‌های موضعی موجود در میان راه، مورد نیاز باشد. بنابراین در کنار رویکرد مستقیم و معمول تعلیم یک شبکه‌ عصبی چند لایه که از روش پس‌انتشار خطا استفاده می‌کند، رویکردهای جدیدی وجود دارند که با بالا رفتن پیچیدگی داده‌ و تعداد نورون‌ها، مفید واقع می‌شوند که تحت عنوان روش‌های پیش‌تعلیم مطرح هستند [7،8].

 اساساً روش‌های پیش‌تعلیم با هدف رهاسازی فرآیند تعلیم از کمینه‌های موضعی موجود در میان راه به‌عنوان یک مانع اساسی در روند آموزش، مورد استفاده قرار می‌گیرند. این روش‌ها به‌دنبال یافتن نقطه شروع مناسبی برای وزن‌های شبکه می‌باشند. روش‌های پیش‌تعلیم علاوه بر اینکه فرایند همگرایی تعلیم را تسهیل و تسریع می‌کنند، قدرت تعمیم شبکه را نیز بهبود می‌دهند. در [2,9] نشان داده شده است که با خطای تعلیم مساوی، شبکه‌ای که قبل از تعلیم، مقداردهی اولیه مناسب شده است، خطای آزمون پایین‌تری دارد. به‌عبارتی پیش‌تعلیم، پارامترهای شبکه را وادار می‌کند تا در منطقه‌ای از فضای پارامترها که جواب مطلوب در آن است، قرار بگیرند [2,10,11].

یکی از روش‌های موجود جهت پیش‌تعلیم شبکه‌های عمیق روش مشرف به هدف می‌باشد. این روش اولین بار جهت تعلیم شبکه‌های عصبی عمیق در [12] برای استخراج مؤلفه‌های اساسی غیرخطی استفاده شد و سپس در [14 ,13] نیز به‌کار رفت. در این روش ابتدا شبکه عصبی مورد استفاده یک شبکه عصبی گلوگاه[1] (BNN) یک لایه پنهان فرض می‌شود که در طی آموزش، به عمق آن افزوده می‌شود. در هر مرحله از رشد تعداد لایه‌ها و عمق شبکه، مقادیر تعلیم‌یافته وزن‌های شبکه کم‌عمق‌تر قبلی، به‌عنوان مقادیر اولیه پیش‌تعلیم‌یافته برای شبکه عمیق‌تر مرحله بعد مورد استفاده قرار می‌گیرند. بدین طریق مقادیر اولیه وزن‌های شبکه عصبی عمیق‌تر نسبت به مقادیر مطلوب نهایی آن‌ها در وضعیتی قرار می‌گیرند که به آن‌ها نزدیک‌تر و به‌عبارتی مشرف به هدف نهایی باشند. نشان داده شده است که این روش قادر به برطرف کردن کمینه‌های موضعی در مسیر شبکه‌های عصبی جلوسوی عمیق می‌باشد. در سال 2006، هینتون[2] روش تجزیه به ماشین‌های بولتزمان محدود شده[3] (RBM) را برای پیش‌تعلیم شبکه‌های عصبی چند لایه به‌منظور کاهش بعد غیرخطی ارائه داد. در این روش شبکه‌ چندلایه به تعداد متناظری RBM شکسته می‌شود و پیش‌تعلیم وزن‌ها از طریق این RBMها صورت می‌گیرد [15]. در [8،9] نیز روش پیش‌تعلیم لایه‌به‌لایه برای پیش‌تعلیم شبکه‌های خودانجمنی گلوگاه عمیق به‌منظور استخراج مولفه‌های اساسی آورده شده است که در این مقاله نسخه دوسویه آن برای پیش‌‌تعلیم شبکه‌های عصبی عمیق با کاربردهای دیگرانجمنی ارائه شده است. با توجه به اینکه روش‌های پیش‌تعلیم موجود برای یادگیری‌های خودانجمنی ارائه شده‌اند، این روش به‌عنوان راه‌حلی نو برای یادگیری دیگرانجمنی شبکه‌های عصبی عمیق می‌باشد. روش‌ پیش‌تعلیم لایه‌به‌لایه دوسویه که حالت کلی‌تری از روش پیش‌تعلیم لایه‌به‌لایه [9] است، به‌عنوان یک روش پیش‌تعلیم باسرپرستی با انتخاب مناسب شرایط اولیه، الگوریتم پس‌انتشار خطا را در جهت رسیدن به کمینه مطلوب کمک می‌کند. روش ارائه شده برای پیش‌تعلیم شبکه‌های عصبی عمیق با هدف بازشناسی تصاویر مورد ارزیابی قرار گرفته است.

در ادامه به معرفی روش پیش‌تعلیم لایه‌به‌لایه دوسویه پرداخته می‌شود. سپس در بخش سوم پیاده‌سازی‌ها و نتایج آن‌ها آورده شده است. در نهایت جمع‌بندی و نتیجه‌گیری در بخش چهارم ارائه می‌شود.

 

1- روش پیش‌تعلیم لایه‌به‌لایه دوسویه

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

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

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

از این طریق وزن‌های نورون‌های لایه‌های مختلف شبکه از یک روش پیش‌تعلیم نسبتاً کارآیی بهره‌مند می‌شوند. باید در نظر داشت که این روش پیش‌تعلیم لایه‌به‌لایه برای هر شبکه جلوسو با هر تعداد لایه پنهان قابل استفاده است. می‌توان نشان داد که روش ارائه شده برای پیش تعلیم وزن‌ها روش بسیار کارآیی است.

در روش پیش‌تعلیم لایه‌به‌لایه دوسویه، اگر شبکه عمیق مطابق شکل (1) داری 2n لایه وزن باشد، تجزیه ساختار آن به‌طور موازی از ابتدا و انتهای به‌ترتیب به‌طور جلوسو و عقب‌سو صورت می‌گیرد. به این‌صورت که در مسیر جلوسو BNNهای یک لایه پنهانی تعریف می‌شوند که وزن‌های ورودی آن‌ها (Wiها) بیانگر وزن‌های لایه موردنظر از شبکه عمیق ‌باشند. وزن‌های خروجی آن‌ها (Viها) نیز وزن‌های کمکی هستند که برای تعیین Wiها مورد استفاده قرار می‌گیرند. در این مسیر، BNN اول با بردار ورودی و BNN‌های بعدی با تصویر بردار ورودی BNN قبلی در لایه گلوگاه آن‌ها آموزش داده می‌شوند. در مسیر عقب‌سو نیز BNN اول با بردار خروجی و BNN‌های بعدی با تصویر بردار ورودی BNN قبلی در لایه گلوگاه آن آموزش داده می‌شوند. برخلاف BNNهای مسیر جلوسو، در مسیر عقب‌سو، وزن‌های خروجی‌‌BNNها در ساختار شبکه عمیق استفاده خواهند شد.

 

                           

 

شکل (1): نحوه تجزیه یک شبکه عصبی عمیق در روش پیش‌تعلیم لایه‌به‌لایه دوسویه

 

 

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

(1)

 

(2)

 

 و  در رابطه‌های (1) و (2) به‌ترتیب خطای خودانجمنی BNNهای iام و jام در مسیر جلوسو و عقب‌سو می‌باشند که برابر با خطای بازسازی ورودی در لایه خروجی تعریف شده‌اند. در این روابط  و  تصویر ورودی BNN‌های (i-1)ام و (j-1)ام در دو مسیر مطابق روابط (3) و (4) در لایه گلوگاه آن‌ها می‌باشند.

(3)

 

(4)

 

همچنین ، بردار ورودی BNN اول در مسیر جلوسو، برابر با  همان بردار ورودی شبکه عصبی عمیق و ، بردار ورودی BNN اول در مسیر عقب‌سو، برابر با بردار L خروجی مطلوب شبکه عصبی عمیق می‌باشند.  و  نیز که خروجی‌های BNN iام و jام در مسیر جلوسو و عقب‌سو می‌باشند، در روابط (5) و (6) تعریف شده‌اند.


(5)

 

(6)

 

 

در روابط فوق b مقدار سطح آستانه را برای تابع فعالیت نورون‌ها تعیین می‌کند. این روند تا وزن‌های n-1ام از مسیر جلوسو و وزن n+2ام از مسیر عقب‌سو ادامه می‌یابد. سپس تصویر ورودی‌ها در لایه گلوگاه دو BNN آخر از دو مسیر محاسبه و جهت تعلیم یک شبکه دیگرانجمنی یک لایه پنهان متشکل از وزن‌های Wn و Wn+1 مورد استفاده قرار می‌گیرند. بدین‌صورت مقادیر اولیه تمام وزن‌های شبکه عمیق به‌دست می‌آید که تعلیم آن‌ها مبتنی بر الگوریتم پس‌انتشار خطا صورت می‌گیرد.

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

 

2- پیاده‌سازی‌ها و نتایج

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

 

2-1- پایگاه داده‌ها

2-1-1- پایگاه داده بسفروس[4]

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

 

 

شکل (2): تصاویر مربوط به حالت‌های مختلف چهره برای یکی از افراد از پایگاه داده بسفروس [16].

 

تصاویر 95 نفر از این مجموعه به‌طور تصادفی جهت بررسی انتخاب شد. این تصاویر به‌صورت سیاه و سفید با 256 سطح خاکستری مورد استفاده قرار گرفت. همچنین جهت کاهش بار محاسبات وضوح این تصاویر به 114*92 کاهش داده شد.

در این تحقیق، این پایگاه داده برای بازشناسی چهره استفاده شده است. از آنجا که تعداد تصاویر مربوط به حالات مختلف چهره در آن برای تمام افراد یکسان نمی‌باشد، تصاویر مربوط به 12 حالت مشترک بین تمام افراد برای آموزش و سایر تصاویر برای آزمون کنار گذاشته شد. در نهایت مجموعه‌های آموزش و آزمون به‌ترتیب شامل 1126 و 1443 تصویر شدند. برچسب افراد نیز به‌صورت کدهای دودوئی 7تایی که بیانگر 95 کد مختلف معرف هویت افراد می‌باشند، تعریف شد.

 

2-1-2- پایگاه داده CK+

پایگاه داده CK+ توسعه‌یافته پایگاه داده کوهن-کند[6] می‌باشد [17]. در پایگاه داده کوهن-کند دنباله‌ای از تصاویر برای 6 حالت‌ احساسی افراد موجود است که از حالت خنثی تا حالت موردنظر تغییر می‌کنند. 

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

 

 

شکل (3): نمونه‌هایی از تصاویر پایگاه داده کوهن-کند برای حالت‌های احساسی مختلف بعد از تراز نمودن چهره‌ها و حذف اطلاعات اضافه اطراف تصاویر

 

همچنین تصاویر نیمه اول هر یک از این دسته‌ها حذف شدند، تا تصاویری که واقعاً نمایانگر حالت احساسی مربوطه هستند، نگه داشته شوند. در این مقاله، این پایگاه داده برای بازشناسی حالت‌های احساسی استفاده شده است. لذا تصاویر به دو دسته تقسیم شده‌اند. مجموعه آموزش، تصاویر مربوط به 96 نفر (2816 تصویر) می‌باشد که جهت آموزش شبکه عصبی عمیق بازشناس استفاده می‌شود. تصاویر مربوط به 10 نفر باقیمانده (351 تصویر) نیز برای آزمون به‌کار می‌روند. برچسب حالت‌های احساسی نیز به‌صورت کدهای دودوئی 4تایی که معرف حالت چهره افراد می‌باشند، تعریف شده‌اند.

 

2-1-3- پایگاه MNIST

این پایگاه شامل ارقام دستنوشتار 0 تا 9 انگلیسی می‌باشد که تصویر هر رقم آن به‌صورت یک تصویر خاکستری 28*28 پیکسل ذخیره شده است. مجموعه آموزش آن شامل 60000 تصویر و مجموعه آزمون حاوی 10000 تصویر می‌باشد [18]. برچسب‌های تعریف شده در این مقاله نیز کدهای دودوئی 3تایی بیان‌کننده عدد می‌باشند.

 

2-2- پیش‌پردازش

هر تصویر به‌صورت یک آرایه دو بعدی M×N از مقادیر روشنایی در نظر گرفته می‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌شود. اما از آنجاکه در ورودی شبکه، این آرایه باید به‌صورت یک بعدی ارائه شود، هر تصویر به یک بردار MN×1 تبدیل می‌شود. همچنین مقادیر پیکسل‌‌‌‌‌‌‌‌‌‌‌‌‌‌‌های هر تصویر چهره به محدوده صفر تا یک بهنجار می‌شوند.

 

2-3- مدل

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

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

 

جدول (1): پارامترهای  شبکه‌ عصبی عمیق بازشناس[7] (DCNN)

تعداد لایه‌های پنهان

3

تعداد نورون لایه پنهان

400-200-50

تابع نورون‌های لایه‌ پنهان

غیرخطی تک قطبی

تابع نورون‌های لایه‌ خروجی

غیرخطی تک قطبی

ضریب یادگیری

001/0

ضریب گشتاور

7/0

 

2-4- روش پیش‌تعلیم لایه‌به‌لایه دوسویه برای پیش‌تعلیم شبکه‌ عمیق بازشناس

مطابق روش ارائه شده در بخش (2)، این شبکه عمیق به دو BNN تک لایه و یک شبکه دیگرانجمنی یک لایه پنهان شکسته می‌شود. یکی از BNNها با بردار پیکسل‌ها و دیگری با بردار کدهای دودوئی که به‌عنوان برچسب‌های متناظر تعریف شده‌اند، به‌طور خودانجمنی تعلیم داده می‌شوند. تعداد تکرارهای تعلیم نیز در هر مرحله پیش‌تعلیم، برای دادگان چهره شامل تصاویر پایگاه داده‌های بسفروس و CK+ 500 تکرار و برای دادگان دستنوشتار با توجه به حجم بالای دادگان، 10 تکرار فرض شده است. چراکه تعلیم بیش از اندازه در مراحل پیش‌تعلیم منجر به تنظیم بیش از حد وزن‌ها روی دادگان آموزش می‌گردد که در نتیجه آن قدرت تعمیم شبکه عمیق پایین خواهد آمد. سپس تصویر ورودی‌ها در لایه پنهان هر BNN محاسبه و جهت تعلیم شبکه دیگرانجمنی یک لایه پنهان مورد استفاده قرار می‌گیرند. بدین‌صورت مقادیر اولیه تمام وزن‌های شبکه عمیق به‌دست می‌آیند.

 

2-5- نتایج

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

 

 

 

شکل (4): نمودار تغییرات خطای تعلیم شبکه عمیق بازشناس فرد با دو روش مقداردهی اولیه وزن‌ها به‌صورت تصادفی و با استفاده از پیش‌تعلیم لایه‌به‌لایه دوسویه روی پایگاه داده بسفروس

 

 

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

 

جدول (2): مقایسه درصد صحت بازشناسی افراد در پایگاه داده بسفروس توسط شبکه عصبی سه لایه پنهان بعد از تنظیم دقیق وزن‌ها

نحوه مقداردهی اولیه وزن‌های شبکه عصبی عمیق

تعداد تکرارها

داده آموزش

داده آزمون

تصادفی

5000

99.72%

86.52%

پیش‌تعلیم لایه‌به‌لایه دوسویه

40

100%

97.16%

 

نتایج جدول (2) نشان می‌دهد که با استفاده از این روش پیش‌تعلیم، نتایج بازشناسی فرد برای دادگان آزمون حدود 11% بهبود یافته است. قابل توجه است که نتیجه حاصل از شبکه پیش‌تعلیم شده مربوط به تکرار 40ام تعلیم می‌باشد که با لحاظ نمودن مراحل پیش‌تعلیم که شامل تعلیم 3 شبکه یک لایه پنهان با 500 تکرار تعلیم برای هریک می‌باشد، در مقایسه با 5000 تکرار تعلیم شبکه مقداردهی شده تصادفی مقدار کمتری است. خصوصاً اینکه در مراحل پیش‌تعلیم شبکه‌های یک لایه پنهان تعلیم داده می‌شوند که مدت زمان تعلیم آن‌ها در هر تکرار در مقایسه با تعلیم شبکه سه لایه پنهان بسیار کمتر می‌باشد.

در نمودار شکل (5) و جدول (3) نتایج روی پایگاه داده CK+ با هدف بازشناسی حالت احساسی در تصاویر چهره آورده شده است.

همان‌طور که در نمودار شکل (5) مشاهده می‌شود، در نمودار خطای شبکه با مقادیر اولیه تصادفی بعد از تکرار 2500ام تعلیم، کاهش معناداری صورت نمی‌گیرد. لذا وزن‌های این مرحله برای شبکه بازشناس حالت استفاده می‌شود. برای شبکه پیش‌تعلیم شده نیز وزن‌های تکرار 90ام تعیلیم به‌کار رفته است.

 

 

 

شکل (5): نمودار تغییرات خطای تعلیم شبکه عمیق بازشناس حالت احساسی چهره با دو روش مقداردهی اولیه وزن‌ها به‌صورت تصادفی و با استفاده از پیش‌تعلیم لایه‌به‌لایه دوسویه روی پایگاه داده CK+

 


نتایج بازشناسی در جدول (3) نشان می‌دهند که استفاده از روش پیش‌تعلیم لایه‌به‌لایه دوسویه برای مقداردهی اولیه وزن‌های شبکه بازشناس‌، درصد صحت بازشناسی حالت را 14% بهبود می‌دهد.

 

جدول (3): مقایسه درصد صحت بازشناسی حالت‌های احساسی توسط شبکه عصبی سه لایه پنهان بعد از تنظیم دقیق وزن‌ها روی پایگاه داده CK+

روش‌ مقداردهی اولیه وزن‌های شبکه عصبی عمیق

تعداد تکرارها

داده آموزش

داده آزمون

تصادفی

2500

99.41%

73.70%

پیش‌تعلیم لایه‌به‌لایه دوسویه

90

99.96%

87.29%

 

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

 

 

 

شکل (6): نمودار تغییرات خطای تعلیم شبکه عمیق بازشناس ارقام روی پایگاه داده ارقام دستنوشتار با دو روش مقداردهی اولیه وزن‌ها به‌صورت تصادفی و با استفاده از پیش‌تعلیم لایه‌به‌لایه دوسویه


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

 

جدول (4): مقایسه درصد صحت بازشناسی ارقام دستنوشتار توسط شبکه عصبی سه لایه پنهان بعد از تنظیم دقیق وزن‌ها

روش‌های مقداردهی اولیه وزن‌های شبکه عصبی عمیق

تعداد تکرارها

داده آموزش

داده آزمون

تصادفی

600

99.88%

98.24%

پیش‌تعلیم لایه‌به‌لایه دوسویه

200

99.92%

98.56%

 

3- نتیجه‌گیری

در برخی موارد شبکه‌هایی با یک یا دو لایه پنهان در نگاشت داده ورودی به فضای خروجی موفق عمل نمی‌کنند. چراکه برای داده‌های پیچیده‌تر با بعد بالا مانند تصاویر چهره تبدیل ناگهانی ویژگی‌های داده‌ ورودی به خروجی که می‌تواند برچسب طبقات ورودی باشند، خطای شبکه را به میزان قابل توجهی افزایش می‌دهد. لذا نیاز به ساختارهای عمیق‌تر شبکه‌های عصبی می‌باشد تا در طی لایه‌های متعدد مؤلفه‌های عمیق‌تر داده‌ها استخراج شوند و سپس به کمک آن‌ها نگاشت مناسب به خروجی صورت گیرد. این در حالی است که با افزایش تعداد لایه‌های شبکه‌های عصبی، همگرائی تعلیم آن‌ها به‌دلیل افزایش کمینه‌های موضعی با مشکل مواجه می‌شود. به‌منظور حل این مشکل تاکنون برخی روش‌ها برای پیش‌تعلیم ساختارهای عمیق شبکه‌های عصبی در کاربردهای خودانجمنی ارائه شده‌اند. اما در این مقاله روش پیش‌تعلیم لایه‌به‌لایه دوسویه جهت مقداردهی مناسب وزن‌های اولیه شبکه‌های چندلایه با عملکرد دیگرانجمنی ارائه شده‌ است که به‌طور موازی در یک مسیر دوسویه به‌طور جلوسو و عقب‌سو به پیش‌تعلیم وزن‌های شبکه می‌پردازد. این روش برخلاف روش‌های پیش‌تعلیم پیشین [9,14] که صرفاً برای شبکه‌های عصبی خودانجمنی تعریف شده بودند، برای کاربردهای دیگرانجمنی شبکه‌های عصبی عمیق ارائه شده است. 

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



[1] Bottleneck Neural Network

[2] Hinton

[3] Restricted Boltzmann Machine

[4] Bosphorus

[5] Bogazici

[6] Cohn-Kanade

[7] Deep Classifier Neural Network

 

[1]     Serre, T., Kreiman, G., Kouh, M., Cadieu, C., Knoblich, U., and Poggio, T., "A quantitative theory of immediate visual recognition", Progress in Brain Research, Computational Neuroscience: Theoretical Insights into Brain Function, Vol. 165, pp. 33–56, 2007.

[2]     Erhan, D., Manzagol, P.A. Bengio, Y. Bengio, S. Vincent, P. "The difficulty of training deep architectures and the effect of unsupervised pre-training", In Proceedings of the Twelfth International Conference on Artificial Intelligence and Statistics (AISTATS’09), pp. 153-160, 2009.

[3]     Bengio, Y., "Learning deep architectures for AI", Foundations and Trends® in Machine Learning, Vol, 2, No. 1, pp. 1-127, 2009.

[4]     Erhan, D., "Understanding deep architectures and the effect of unsupervised pre-training’, Ph.D. Thesis, Université de Montréal, 2011.

[5]     Bengio, Y., ‌"Evolving culture vs local minima", arXiv preprint arXiv: 1203.2990, 2012.

[6]     Plath, N., "Extracting low-dimensional features by means of deep network architectures", Ph.D. Thesis, Technische Universität Berlin, April 2008.

[7]     Seyyedsalehi S.Z. and Seyyedsalehi S.A., "Simultaneous learning of nonlinear manifolds based on the bottleneck neural network", Neural Processing Letters, Vol. 40, No. 2, pp. 191-209. 2014.

[8]     Seyyedsalehi S.Z. and Seyyedsalehi S.A., "New fast pre-training method for training of deep neural network", International Journal of Signal and Data Processing, Vol. 10, No. 1, pp. 13–26, 2013.

[9]     Seyyedsalehi S.Z. and Seyyedsalehi S.A., "New fast pre-training method for training of deep neural network learning", in Proc. 19th ICBME, 2012.

[10]     Bengio, Y., Lamblin, P.,   Popovici, D., and  Larochelle, H., "Greedy layer-wise training of deep networks", Advances in neural information processing systems 19 (NIPS'06), pp. 153-160, MIT Press, 2007.

[11]     Erhan, D., Bengio, Y., Courville, A., Manzagol, P.A., Vincent, P., Bengio, S., "Why does unsupervised pre-training help deep learning?", The Journal of Machine Learning Research, Vol. 11, pp. 625-660, 2010.

[12]     Nejadgholi I., Seyyedsalehi S.A., "Experiments towards bidirectional neural networks", Technical Report, Research Center of Intelligent Signal Processing, 2004.

[13]     Ghasemi M., "Nonlinear independent component analysis of Speech signal", M.S. Thesis, Amirkabir University of Technology, 2006.

[14]     Nejadgholi I., "A brain-inspired model of feature extraction and binding considering their interactions", Ph.D. Thesis, Amirkabir University of Technology, 2012.

[15]     Hinton, G.E. and Salakhutdinov, R.R., "Reducing the dimensionality of data with neural networks", Science, Vol. 313, No. 5786, pp. 504–507, 2006.

[16]     Savran, A., Alyüz, N., Dibeklioğlu, H., Çeliktutan, O., Gökberk, B., Sankur, B., Akarun, L., "Bosphorus Database for 3D Face Analysis", BIOID 2008, Roskilde University, Denmark, May 2008.

[17]     Lucey, P., et al. "The Extended Cohn-Kanade Dataset (CK+): A complete dataset for action unit and emotion-specified expression", in Computer Vision and Pattern Recognition Workshops (CVPRW), 2010 IEEE Computer Society Conference on. 2010. IEEE.

[18]     LeCun, Y. and Cortes, C., "The MNIST database of handwritten digits", 1998.