Training MLP Neural Network in Images Compression by GSA Method
Subject Areas : ICTmaryam dehbashian 1 * , hamid zahiri 2
1 -
2 -
Keywords:
Abstract :
Image compression is one of the important research fields in image processing. Up to now, different methods are presented for image compression. Neural network is one of these methods that has represented its good performance in many applications. The usual method in training of neural networks is error back propagation method that its drawbacks are late convergence and stopping in points of local optimum. Lately, researchers apply heuristic algorithms in training of neural networks. This paper introduces a new training method based on the Gravitational Search Algorithm. Gravitational Search Algorithm is the latest and newest version of swarm intelligence optimization approaches. In this algorithm, the candidate answers in search space are masses that interact with each other by gravitational force and change their positions. Gently, the masses with better fitness obtain more mass and effect on other masses more. In this research, an MLP neural network by GSA method is trained for images compression. In order to efficiency evaluation of the presented compressor, we have compared its performance toward PSO and error back propagation methods in compression of four standard images. The final results show salient capability of the proposed method in training of MLP neural networks.
فصلنامه علمي- پژوهشي فناوري اطلاعات و ارتباطات ایران | سال دوم، شمارههاي 5 و 6 ، پاييز و زمستان 1389 صص: 53- 45 |
|
آموزش شبکه عصبی MLP در فشردهسازی تصاویر
با استفاده از روش GSA
مريم دهباشيان▪ * سيدحميد ظهيري **
* کارشناس ارشد، مهندسی الکترونیک، دانشگاه بیرجند
** استادیار، گروه مخابرات و الکترونیک، دانشکده مهندسی، دانشگاه بیرجند
تاريخ دريافت: 17/05/1389 تاريخ پذيرش: 05/09/1389
چکيده
یکی از حوزههای تحقیقاتی مهم در پردازش تصویر، فشردهسازی تصاویر است. تاکنون روشهای مختلفی برای فشردهسازی تصویر ارائه شدهاست، در این میان شبکههای عصبی مخاطبان زیادی را به خود جذب کردهاند. متداولترین روش آموزشی شبکههای عصبی، روش پس انتشار خطاست که همگرايي کند و توقف در بهينههای محلي از مهمترین نقاط ضعف آن محسوب میشوند . رویکرد جدید محققین، استفاده از الگوریتمهای ابتکاری در فرایند آموزش شبکههای عصبی است. در این مقاله، روش آموزشی نوینی مبتنی بر روش جستجوي گرانشي (GSA) معرفی میشود. روش جستجوي گرانشي آخرين و جديدترين نسخه از انواع روشهاي جستجو و بهينهسازي هوش جمعي است. در اين روش پاسخهاي كانديد در فضاي جستجو اجرامي هستند كه توسط نيروي گرانش بر يكديگر اثر گذاشته و موقعيتشان تغيير ميكند. به تدریج اجرام با برازندگي بهتر داراي جرم بيشتري میشوند و بر اجرام ديگر تاثير بيشتري میگذارند.
در تحقیق حاضر با استفاده از الگوریتم GSA یک شبکه عصبی MLP به منظور فشرده سازی تصاویر آموزش داده میشود.
▪ نویسنده عهدهدار مکاتبات (m.dehbashian@gmail.com)
برای ارزیابی کارایی فشردهساز ارائه شده عملکرد آن با الگوریتم بهینهسازی گروه ذرات و روش متداول پس انتشار خطا در فشردهسازی چهار تصویر استاندارد مقایسه میشود. نتايج نهایی گویای قابلیت چشمگیر روش GSA در آموزش شبکههای عصبی MLP میباشد.
كليد واژگان: الگوریتمهای ابتکاری، الگوریتم جستجوی گرانشی، شبکه عصبی چند لایه، فشرده سازی تصویر
1- مقدمه
از آنجا که انتقال تصاویر در میان مسیرهای ارتباطی فرایندی پر هزینه میباشد هدف اصلی در فشردهسازی تصویر کاهش تعداد بیت های مورد نیاز برای نمایش یک تصویر است.
افزونگی داده مهمترین مورد در فشردهسازی تصاویر1 دیجیتالی است. از انواع افزونگی داده میتوان به افزونگی رمزنگاری، افزونگی بین پیکسلی و افزونگی روان بصری اشاره نمود. الگوریتمهای فشردهسازی تصویر سعی در کاهش انواع افزونگیهای تصویر دارند اما استفاده از کدام نوع الگوریتم، به شدت به اطلاعات موجود در تصویر بستگی دارد. یک الگوریتم کاربردی فشردهسازی دادههایِ تصویر، بایستی اکثر ویژگیهای دادهها را حفظ کند و در حالیکه در یک محیط پر اتلاف کار میکند، بهره را بیشینه و از پیچیدگی الگوریتمی کمتری نیز برخوردار باشد ]1[.
شبكههاي عصبي مصنوعي در بسیاری از کاربردها همچون فرايندهاي كنترلي، دستهبندي دادهها و خوشهبندي اطلاعات مورد استفاده قرار میگیرند. همچنین از شبکههای عصبی مصنوعی در مسائل فشردهسازی تصویر نیز استفاده میشود. در ]2[ برتری عملکرد شبكههاي عصبي بر اغلب روشهای متداول در هنگام مواجهه با دادههای نویزی یا معیوب نشان داده شده است.
با توجه به تحقیقات انجام شده، شبکههای عصبی ابزار مناسبی برای فشردهسازی تصویر هستند. زیرا قابلیت پیشپردازش الگوهای ورودی را برای تولید الگوهای ساده تر با مولفه های کمتر دارند. تحقیقات زیادی در مورد استفاده از شبکههای عصبی برای فشردهسازی تصویر ارائه شده است، از جمله: الگوریتمهای آموزش تو در تو به همراه شبکههای عصبی چند لایه متقارن2 ]3[، شبکههای SOM ]4[، شبکههای تحلیل مولفههای اصلی ]5[، شبکههای پس انتشار خطا3 و الگوریتم استخراج اجزای اصلی وفقی. فهرستی از انواع روشهای شبکه های عصبی جهت فشرده سازی تصویر در ]6[ و ]7[ آمده است.
متداولترین الگوریتم آموزشی شبكههای عصبی، الگوریتم پس انتشار خطاست که توسط Romellhart توصیف شده است. در الگوریتم پس انتشار خطا در هر مرحله مقدار خروجی محاسبه شده جدید، با مقدار واقعی مقایسه شده و با توجه به خطای به دست آمده به اصلاح وزنهای شبکه پرداخته میشود، به نحوی که در انتهای هر تکرار اندازه خطای حاصل شده کمتر از میزان به دست آمده در تکرار قبلی باشد.
روشپس انتشار خطا اولین بار توسط Cottrell ]8[ مستقیما برای فشردهسازی تصویر بکار رفت و سپس توسط دیگران مطالعه و توسعه یافت. در ]1[ فشردهسازی تصویر با شبکه عصبی پس انتشار خطا و با استفاده از تابع توزیع تجمعی انجام شده است.
مشكل الگوريتم پس انتشار خطا همگرايي دير و توقف در نقاط بهينه محلي ميباشد، به همین دلیل تلاشهای فراوانی برای سرعت بخشیدن به همگرایی و بهبود دقت الگوریتم پس انتشار خطا در آموزش شبکههای عصبی صورت گرفته است، از آن جمله میتوان به استفاده از تطبیق مومنتوم ]9[ و نرخ یادگیری متغیر ]10[ اشاره کرد که به بهبود اندکی منجر شدند. همچنین با بزرگ کردن مصنوعی خطا برای نرونهای عمل کننده در ناحیه اشباع نتایج بهتری به دست آمدند ]11[. با استفاده از روشهای مختلف مرتبه دوم (برای مثال روش نیوتن، گرادیان مختلط و یا تکنیک بهینهسازی Levenberg-Marquardt ]21[) بهبود قابل توجهی را می توان بر روی عملکرد تشخیص مشاهده کرد، که بهطور وسیعی به عنوان یکی از مؤثرترین روشها در دقت تشخیص پذیرفته شده است.
در ]14-12[ برای تسریع در فرایند یادگیری، منطق فازی با الگوریتم های یادگیری شبکه عصبی یکپارچه شدند. در ]15[ نیز از روش بیز4 برای آموزش شبکه عصبی استفاده شده است.
رويكرد جديد در آموزش شبكه هاي عصبي استفاده از الگوريتمهاي ابتكاري است. روشهاي جستجوي ابتكاري الگوريتمهايي هستند كه با الهام از فرايندهاي فيزيكي و بيولوژيكي در طبيعت به وجود آمدهاند و غالب آنها به صورت جمعيتي عمل ميكنند. روشهاي جستجوي ابتكاري بر خلاف روشهاي كلاسيك بر مبناي تصادف عمل كرده و جستجوي فضا را به صورت موازي انجام ميدهند. تفاوت ديگر آنها در استفاده نكردن از اطلاعات گراديان فضا است. اين نوع روشها تنها از تابع برازندگي براي هدايت جستجو استفاده ميكنند.
از نمونههاي اين الگوريتمها، الگوريتم ژنتیک با الهام از علم وراثت و تكامل است که در ]16[ برای محاسبه ضرایب شبکه عصبی از این الگوریتم استفاده شده است. الگوریتم ابتکاری دیگر بازپخت شبيهسازي شده5 با الهام از مشاهدات ترموديناميك است، در ]17 [کارایی بهتر این روش در مقایسه با روش پس انتشار خطا نشان داده شده است. از الگوریتمهای ابتکاری دیگر میتوان به بهينهسازي گروه ذرات6 با تقليد از رفتار اجتماعي پرندگان اشاره کرد. در ]18[ کارایی برتر این روش در مقایسه با روش پس انتشار خطا نشان داده شده است. همچنین در ]20[ از الگوریتم PSO جهت آموزش شبکههای عصبی به منظور فشردهسازی تصاویر استفاده شده و کارایی برتر این الگوریتم بر روش پس انتشار خطا نشان داده شده است.
به تازگي در حوزه الگوریتمهای هوش جمعی7 ، روش بهينهسازي و جستجوي جديدي به نام الگوریتم جستجوي گرانشي8 معرفي شده است ]19[. اين الگوريتم، با الهام از مفاهيم جرم و نيرویجاذبه و با شبيهسازي قوانينمربوطه ارائه شده است.
در اين مقاله با استفاده از الگوريتم جستجوي گرانشي یک شبکه عصبی MLP به منظور فشردهسازی تصاویر آموزش داده میشود. برای ارزیابی کارایی شبکه عصبی آموزش دیده، عملکرد آن در فشردهسازی چهار تصویر استاندارد در شرایط کاملا یکسان با دو فشردهساز دیگر که در آنها شبکه عصبی MLP با روش متداول پس انتشار خطا و بهینه سازی گروه ذرات آموزش دیدهاند مقایسه میشود.
در بخش 2 مقاله الگوريتم جستجوي گرانشي معرفي ميشود. در بخش 3 نحوه آموزش شبکه عصبی MLP با استفاده از روش GSA معرفي خواهد شد. در بخش 4 عملکرد فشردهساز طراحی شده ارزیابی میشود و بخش 5 ضمن نتيجهگيري و بحث پيرامون نتايج به دست آمده مقاله را به انتها ميرساند.
2- الگوریتم جستجوی گرانشی
الگوریتم جستجوی گرانشی جدیدترین عضو خانواده الگوریتمهای هوشِ جمعی است که از قوانین جاذبه میان اجرام و حرکت نیوتنی الهام گرفته شده است. طبق قانون جاذبه نیوتن، هر جسم به به اجسام دیگر نیرو وارد نموده و آنها را به سمت خود جذب میکند. به وضوح هر چه این اجسام بزرگتر و نزدیکتر باشند، تاثیر این نیرو بیشتر خواهد بود. در نتیجه هر جسم با استفاده از نیروی جاذبه محل و مقدار جرم سایر اجسام را درک میکند، بنابراین میتوان از این نیرو به عنوان رسانهای برای تبادل اطلاعات استفادهکرد. از الگوریتم جستجوی گرانشی در حل مسائل بهینهسازی استفاده میشود. در این الگوریتم پاسخهای موردنظر موقعیت اجرام در فضای مسئله هستند، میزان اجرام نیز با توجه به تابع هدف تعیین میشود.
در ابتدا فضاي سيستم مشخص ميشود که شامل يك دستگاه مختصات چند بُعدي در فضاي تعريف مسئله است. پس از تشكيل سيستم، قوانين حاكم بر آن مشخص ميشوند. فرض ميشود تنها قانون جاذبه و قوانين حركت بر این سیستم حاكمند. صورت كلي اين قوانين تقريبا شبيه قوانين طبيعت است و به صورت زير تعريف میشوند:
سيستم به صورت مجموعهاي از m جرم تصور میشود. موقعيت هر جرم میتواند جوابي برای مسئله ميباشد. موقعيت بُعد d ازجرم i با نشان داده میشود.
, for i= 1, 2,...,m(1)
در رابطه فوق n نشان دهنده بُعد فضای پاسخ است.
در اين سيستم در زمان t، به هر جرم i از سوي جرم j در جهت بُعد d، نيرويي به اندازه وارد ميشود. مقدار اين نيرو طبق رابطه (2) محاسبه ميشود. G(t) ثابت گرانش در زمان t و فاصله بين دو جرم i و j ميباشد. براي تعيين فاصله بين اجرام مطابق رابطه (3) از فاصله اقليدسي (نُرم 2) استفاده میشود.
(2) (3)
در رابطه (2)، يك عدد بسيار كوچك است. نيروي وارد بر جرم i در جهت بُعد d در زمان t ()، برابر مجموع نيروهايي است كه k جرم برتر جمعيت بر جرم وارد ميكنند. مقصود از اجرام برتر، عاملهایی هستند که دارای برازندگی بیشتری باشند.
(4)
در رابطه فوق kbest بيانگر مجموعه k جرم برتر جمعيت است. همچنین در این رابطه randj عددی تصادفی با توزیع یکنواخت در بازه [0,1] است که برای حفظ خصوصیت تصادفی بودن جستجو در نظر گرفته میشود.
طبق قانون دوم نيوتن، هر جرم در جهت بُعد d شتابي ميگيرد كه متناسب است با نيروي وارد بر جرم i در آن جهت بخش بر جرم i. رابطه (5) شتاب جرم i درجهت بُعد d در زمان t را با نشان میدهد.
(5)
سرعت هر جرم برابر مجموع ضريبي از سرعت فعلي جرم و شتاب جرم طبق رابطه (6) تعريف ميشود. موقعيت جديد بُعد d از جرم i طي رابطه 7 محاسبه ميشود.
(6)
(7)
در روابط فوق سرعت بُعد d ام عامل i در زمان t و randi عددی تصادفی با توزیع یکنواخت در بازه [0,1] است که برای حفظ خصوصیت تصادفی بودن جستجو در نظر گرفته میشود. براي تنظيم ضريب گرانش از رابطه (8) استفاده ميشود.
(8)
ثابت گرانش پارامتری مناسب برای کنترل دو ویژگی کاوش9 و بهرهوری10 در این الگوریتم بهشمار میآید. مقادیر بزرگ آن موجب تقویت توانایی کاوشِ الگوریتم و مقادیر کوچک آن موجب افزایش توانایی بهرهوریِ الگوریتم میشود. از آنجا که در مراحل اولیه جستجو لازم است الگوریتم به جستجوی نقاط جدیدی در فضای مسئله پرداخته و در مراحل پایانی با افزایش توان بهرهوری به بهبود جوابهای دیده شده بپردازد، گزینه مناسب برای ثابت گرانش بایستی با یک مقدار اولیه بزرگ شروع شده و با گذشت زمان مقدار آن به تدریج کاهش یابد. طبق آزمایشهای متعدد انجام شده، استفاده از رابطه نمایی جهت کاهش ثابت گرانش در حل بسیاری از مسائل موثر است.
در رابطه (9) جرم عاملها بر مبنای تابع هدف آنها تنظیم میشود بگونهاي كه به عاملهای باشايستگي بیشتر، جرم بيشتري نسبت داده میشود.
(9)
در اين رابطه بيانگر ميزان برازندگي جرم i در زمان t است، best(t) و worst(t) به ترتیب بیانگر میزان شایستگی قویترین و ضعیفترین عامل جمعیت در زمان t هستند. در نهایت اندازه جرم عاملها طبق رابطه (10) نرمالیزه میشود.
(10)
در مسائل كمينهيابي ميتوان از روابط زير براي محاسبه بهترين و بدترين عاملها استفاده كرد.
(11)
(12)
شکل 1- فلوچارت الگوريتم جستجوي گرانشي
در ابتداي تشكيل سيستم، هر جسم به صورت تصادفي در يك نقطه از فضا قرار ميگيرد كه جوابي از مسئله است. در هر لحظه از زمان، اجرام ارزيابي شده، سپس تغيير مكان هر جرم پس از محاسبه روابط (1) تا (12) محاسبه ميشود. پارامترهاي سيستم نیز در هر مرحله بهروزرساني ميشوند. شرط توقف ميتواند پس از طي مدت زمان مشخصي تعيين شود ]19[. در شكل 1 فلوچارت الگوريتم GSA نشان داده شده است.
ویژگیهای مثبت الگوریتم GSA همچون همگراییِ سریع، عدم توقف در بهینههای محلی، کاهش حجم محاسباتی نسبت به الگوریتمهای تکاملی و عدم نیاز به حافظه در مقایسه با دیگر الگوریتمهای خانواده هوشِ جمعی، بستر جدیدی از تحقیقات را فرا روی محققین قرار داده است. از اینرو با توجه به زمینههای کاربردی مورد استفاده، نسخههای متفاوتی از این الگوریتم ارائه شده است که میتوان به الگوریتم جستجوی گرانشی باینری (BGSA)11 ]22[، الگوریتم جستجوی گرانشی نخبهگرای پیشرفته (AEGSA)12 ]23[ و الگوریتم جستجوی گرانشی چند هدفه (MOGSA) 13 ]24[ اشاره نمود. همچنین این الگوریتم تا بهحال در حوزههای مختلف بهینهسازی همچون داده کاوی، انتخاب ویژگی، مهندسی پزشکی، طراحی خودکار مدارات مجتمع آنالوگ، پردازش تصویر و بسیاری کاربردهای دیگر استفاده شده است. با توجه به مزایای الگوریتم GSA که در بالا به آن اشاره شد، بر آن شدیم تا از قابلیتهای این الگوریتم در فشردهسازی تصویر نیز استفاده نماییم.
3- آموزش شبکه عصبی MLP با استفاده از روش GSA
3-1- طراحی شبکه عصبی MLP
در این تحقیق برای فشردهسازی تصاویر از شبکه عصبی MLP بهره گرفته شده است. شبکه عصبی MLP از لایه ورودی، لایههای مخفی و لایه خروجی که هر کدام شامل تعداد نرونهای مشخصی است تشکیل میشود.
هر دو لایه ورودی و خروجی بهطور کامل به لایه میانی متصل هستند. ورودی به شبکه، یک بردار m بُعدی است، یعنی یک بلوک از پیکسلهایی که از تصویر استخراج شدهاند. فشردهسازی با تعیین مقدار n (تعداد نرونها در لایه مخفی) حاصل میشود، تعداد نرونها در لایه مخفی کمتر از تعداد نرونها در هر دو لایه ورودی و خروجی است. تصویر ورودی به بلوکهایی با اندازه k×k تقسیم میشود. تمام وزنهای متصل به نرونهای لایه مخفی به وسیله {wij, j=1,2,…,n and i=1,2,…,m} نمایش داده میشوند، که میتوان آن را به صورت یک ماتریس n×m نمایش داد. اتصالات از لایه مخفی به لایه خروجی با wji نمایش داده میشوند، که یک ماتریس m×n دیگر است و برابر با ترانهاده ماتریس w است. فشردهسازی تصویر با آموزش دادن شبکه به دست میآید، وزنهای wij بردار ورودی m بُعدی را به یک کانال باریک n بُعدی در لایه مخفی که n<m نگاشت میکنند و مقدار خروجی بهینهای را تولید میکند که کوچکترین میانگین مربعات خطا بین ورودی و خروجی را ایجاد میکند، در این روش نسبت فشردهسازی است.
مجموع ورودیها، Sh(i)، برای نرون i در لایه مخفی به صورت زیر محاسبه میشود:
(14)
که در آن وزن اتصال از j امین نرون ورودی به i امین نرون در لایه مخفی، ، j امین المان ورودی (مقدار پیکسل) است. به طور مشابه، مجموع ورودیها به i امین نرون خروجی به صورت زیر است:
(15)
جاییکه وزن اتصال از j امین نرون لایه مخفی به i امین نرون لایه خروجی است، و خروجی j امین نرون لایه مخفی است. از تابع سیگموئید برای محاسبه مقدار خروجی نرونهای لایههای مخفی و خروجی استفاده میشود.
زمانی که ورودی و خروجی شبکه عصبی به مقادیری در بازه ]1و0[ محدود میشود، شبکه کارایی بهتری از خود نشان میدهد، از این رو میتوان سطوح خاکستری در تصویر (که معمولا در بازه 0 تا 255 قرار دارند) را بر بزرگترین مقدار پیکسل موجود در تصویر تقسیم کرد و تصویر نرمالیزه شده را به شبکه عصبی اِعمال نمود.
برای آموزش شبکه، یک بلوک از تصویر به عنوان ورودی و خروجی مورد انتظار استفاده میشود، سادهترین راه برای استخراج چنین بلوکی تولید دو عدد تصادفی است که موقعیت گوشه سمت چپ بلوک را میدهد. مقادیر پیکسلهای بلوک استخراج شده از چپ به راست و بالا به پایین از طریق نگاشت پیکسل به عدد حقیقی به ورودی شبکه اعمال میشود. تابع مربعات خطا در طول آموزش مینیمم میشود. پس از آموزش، تصویری که باید فشرده شود به بلوکهای پیوسته بدون همپوشانی پارتیشن بندی میشود که هر یک از آنها در یک زمان به شبکه اعمال میشوند. خروجی نرونهای لایه مخفی ویژگیهای فشرده شده از بلوک ورودی را تشکیل میدهند. برای عملی شدن فشردهسازی، خروجی نرونهای لایه مخفی کوانتیزه میشود ]20[.
3-2- آموزش شبکه عصبی MLP توسط الگوریتم GSA
در فرایند آموزشِ شبکه عصبی MLP در فشردهسازی تصاویر، هدف نهایی جستجوي بهترین اوزان شبكه عصبي است که به کوچکترین میانگین مربعات خطا (MSE) منتهی شود، MSE مطابق رابطه زیر تعریف میشود:
(16)
و به ترتیب نشان دهنده تصویر اصلی و تصویر بازسازی شده است.
در این تحقیق استفاده از روش GSA برای یافتن بهترین اوزان شبکه عصبی پیشنهاد میشود.
با توجه به تعداد كل نرونهاي شبكه عصبي MLP مورد نظر، بردار وزنی به شكل تصادفي توليد ميشود.
(17)
در این رابطه Wn به تعداد کل نرونهای موجود در شبکه عصبی MLP بستگی دارد.
در روش GSA جمعيت اوليه اجرام (بردارهاي وزن) تولید میشود. موقعیت هر جرم، مجموعهای از وزنهای شبکه را برای تکرار جاری الگوریتم و بُعد هر جرم تعداد وزنهایی که در شبکه وجود دارد را نشان میدهد. اجرام در فضا حرکت میکنند و سعی میکنند خطا را مینیمم سازند. تغییر موقعیت یک جرم به معنای بهروزرسانی وزنهای شبکه در جهت کاهش MSE در تکرار جاری است. در هر تکرار، تمام اجرام موقعیتشان را با محاسبه سرعت جدید بهروزرسانی و به سمت موقعیت جدید حرکت میکنند.
موقعیت جدید مجموعهای از وزنهای جدید است که برای به دست آوردن MSE جدید استفاده میشود. این فرایند برای تمام اجرام تکرار میشود. جرم با حداقل MSE به عنوان بهترین جرمی که تاکنون پیدا شده است در نظر گرفته میشود. فرایند آموزش تا زمانی ادامه پیدا میکند که خطای قابل قبول توسط یک جرم به دست آید یا یک شرط خاتمه مانند تعدادی تکرار پیش فرض، برآورده شود. زمانی که فرایند آموزش خاتمه یافت، به ازای شایستهترین جرم (حداقل MSE)، بردار وزن متناظر با آن استخراج میشود.
4- ارزیابی عملکرد
برای ارزیابی عملکرد شبکه عصبی MLP طراحی شده در فشردهسازی تصاویر، از آن برای فشردهسازی چهار تصویر استاندارد استفاده میشود. برای انجام آزمایشها از چهار تصویر استاندارد به نامهای Lena، Goldhill ، Mandrill و Pepper استفاده میکنیم. این تصاویر 8 بیتی هستند و اندازه هر یک از آنها 512×512 میباشد و مقادیر شدت پیکسل آنها بین 0 تا 255 است.
شکل 1: تصاویر استاندارد مورد استفاده
در شرایط کاملا یکسان شبکه عصبی مورد نظر جهت فشردهسازی تصاویر توسط روشهای جستجوی گرانشی، بهینه سازی گروه ذرات و پس انتشار خطا آموزش داده میشود. تمام نتایج برای 3000 بار تکرار هر الگوریتم آورده شده است، همچنین با توجه به تصادفی بودن الگوریتمهای فوق، تمام آزمایشات برای 10 مرتبه تکرار انجام شده است. مشخصات روشهای بهکار گرفته شده برای آموزش به شرح زیر است:
· الگوریتم GSA
جمعيت اوليه اجرام در روش GSA برابر 15 میباشد. در رابطه (8)، مقدار a برابر 20 و مقدار b به صورت خطی از 1 تا 3 افزایش مییابد.
· الگوریتم PSO
نام تصویر | GSA | PSO | EBP |
Lena | 0.0275 | 0.0562 | 0.0763 |
Goldhill | 0.0337 | 0.0697 | 0.0794 |
mandrill | 0.0454 | 0.0572 | 0.0894 |
pepper | 0.0243 | 0.0521 | 0.0648 |
جمعيت اوليه ذرات برابر 15 میباشد، در این الگوریتم C1 و C2 مساوی 1 فرض میشوند. همچنین وزن اینرسی W به صورت خطی از 9/. تا 2/. کاهش مییابد.
· روش پس انتشار خطا (EBP)
در این روش h=0.4 فرض شده است.
4-1- نتایج آزمایشات
برای آزمایش از تصویر Lena به عنوان تصویر آموزش استفاده میشود. ابتدا تصویر به بلوکهایی با اندازه 8×8 تقسیم میشود. سپس هر دو شبکه ها با این بلوکها که هر کدام یک بردار 64 تایی هستند آموزش داده میشوند تا زمانیکه شبکهها همگرا شوند. پس از آموزش، هر سه شبکه با تصویر Lena و سه تصویر دیگر آزمایش میشوند و میانگین مربعات خطا به ازای هر تصویر به دست میآید.
نتایج حاصل از این آزمایشات برای دو نسبت فشردهسازی 4/1 (یک چهارم) و 8/1 (یک هشتم) به ترتیب در جداول 1 و 2، و تصاویر به دست آمده در شکلهای 4-2 نشان داده شده است. با توجه به مقدار میانگین MSE بهدست آمده در نتایج، به وضوح مشخص است که آموزش شبکه عصبی توسط روش GSA عملکرد بهتری نسبت به دو روش بهینه سازی جمعیت ذرات و پس انتشار خطا در فشردهسازی تصاویر دارد.
جدول 1: مقایسه میانگین MSE به دست آمده از آزمایش شبکه عصبی MLP توسط سه روش GSA، PSO و EBP با نسبت فشردسازی 4/1
نام تصویر | GSA | PSO | EBP |
Lena | 0.0156 | 0.0254 | 0.0563 |
Goldhill | 0.0132 | 0.0324 | 0.0584 |
mandrill | 0.0234 | 0.0276 | 0.0663 |
pepper | 0.0123 | 0.0215 | 0.0327 |
جدول 2: مقایسه میانگین MSE به دست آمده از آزمایش شبکه عصبی MLP توسط سه روش GSA، PSO و EBP با نسبت فشردسازی 8/1
شکل 2: تصاویر بازیابی شده Lena با نسبت فشردهسازی 4/1 الف) تصویر اصلی ب) روش GSA ج) روش PSO د) روش EBP
شکل 3: تصاویر بازیابی شده Pepper با نسبت فشردهسازی 4/1
الف) تصویر اصلی ب) روش GSA ج) روش PSO د) روش EBP
5- نتیجه گیری
شبكههاي عصبي مصنوعي ساختارهاي قدرتمندي براي دسته بندي دادهها و يادگيري الگوها دارند. بسياري از محققين تمايل دارند از اين ابزار استفاده نمایند اما با مسئله آموزش شبكه عصبي مواجه میشوند. الگوريتم جستجوي گرانشي از جمله جديدترين الگوريتمهاي ابتكاري است كه با الهام از قانون جاذبه و مفهوم جرم در طبيعت بنا نهاده شده است.
شکل 4: تصاویر بازیابی شده Mandrill با نسبت فشردهسازی 8/1
الف) تصویر اصلی ب) روش GSA ج) روش PSO د) روش EBP
در این مقاله پیشنهاد استفاده از الگوریتم جستجوی گرانشی برای آموزش شبکه عصبی MLP به منظور فشردهسازی تصاویر ارائه شده است. به این ترتیب میتوان با جستجوی بهترین اوزان شبكه عصبي، به بهترین فشردهسازی تصاویر دست یافت. از فشردهساز طراحی شده در فشردهسازی چهار تصویر استاندارد استفاده شده است.
عملکرد فشردهساز ارائه شده با دو فشردهساز دیگر که در آنها شبکه عصبی MLP با روش متداول پس انتشار خطا و بهینه سازی گروه ذرات آموزش دیده بودند، مورد مقایسه قرار گرفت. نتايج نهایی نشان میدهند که روش پیشنهادی بطور چشمگیری میزان فشرده سازی تصویر را نسبت به دیگر روشها بهبود بخشیده است.
در تحقیقات آتی سعی داریم با تکامل و ارتقاء الگوریتم GSA و استفاده از انواع ترکیبی آن نتایج بهتری از این روش بهینهسازی را در کاربردهای مختلف علوم مهندسی نشان دهیم.
6- مراجع
[1] S. Anna Durai, and E. Anna Saro, “Image Compression with Back-Propagation Neural Network using Cumulative Distribution
[2] Function”, World Academy of Science, Engineering and Technology, 2006.
[3] S. Kulkarni, B. Verma and M. Blumenstein, “Image Compression using a Direct Solution Method Based Neural Network”, Griffith University, Gold Coast Campus, QLD 4217, Australia.
[4] D.K Kumar, N. Mahalingam, "Nested neural networks for image compression", In IEEE Region 10 International Conference on Global Connectivity in Energy. 1998.
[5] C. Amerijckx, M. Verleysen, P. Thissen, and J.Legat, "Image Compression by Self-Organized Kohonen Map", In IEEE Transactions on Neural Networks, Vol. 9, No. 3, May 1998.
[6] J. MI, and D. S. Huang, "Image Compression Using Principal Component Neural Network", In IEEE International Conference on Control, Automation,Robotics and Vision, 2004.
[7] Robert D. Dony, Simon Haykin, “Neural Network Approaches to Image Compression”, In PROCEEDINGS OF THE IEEE, VOL. 83, NO. 2, FEBRUARY 1995.
[8] Hamdy S. Soliman, Mohammed Omari, “A neural networks approach to image data compression” In Applied Soft Computing 6, pp. 258–271, 2006.
[9] G. W. Cottrell, P. Munro and D. Zipser, "Image Data Compression by Back Propagation: An example of Extensional Programming", ICs Report 8702, 1987.
[10] A. A. Miniani, R. D. Williams, “Acceleration of back-propagation through learning rate and momentum adaptation”, Proc. International joint conference on neural networks, San Diego, CA, pp. 676-679, 1990.
[11] R. A. Jacobs, “Increased rate of convergence through learning rate adaptation”, Neural Networks, Vol. 1, No. 4, pp. 295-308, 1988.
[12] K. Balakrishnan, V. Honavar, “Improving convergence of back propagation by handling flat-spots in the output layer”, Proc. Second International Conference on Artificial Neural Networks, Brighton, U.K., pp. 139-144, 1992.
[13] W. Yan, S. Hongbao, “Improvement of Neural Network learning algorithm and its application in control”, Proc. The 3rd World Congress on neural networks, Hefei, Anhui, pp. 971-975, 2000.
[14] B. Bazartseren, G. Hildebrandt, K. P. Holz, “Short-term water level prediction using neural networks and neuro-fuzzy approach”, neuro computing, Vol. 55, No. 3–4, pp. 439–450, 2003.
[15] M.Engin, “ECG beat classification using neuro-fuzzy network”, Pattern Recognition Letters, Vol. 25, pp. 1715-1722, 2004.
[16] P. Kumar, S. N. Merchant, U. B. Desai, “Improving performance in pulse radar detection using Bayesian regularization for neural network training”, Digital Signal Processing, Vol. 14, No. 5, pp. 438–448, 2004.
[17] L. L. Rogers, F. U. Dowla, V. M. Johnson, “Optimal field-scale groundwater remediation using neural networks and the genetic algorithm”, Environmental Science and Technology, Vol. 29, No. 5, pp. 1145– 1155, 1995.
[18] A. L. Arnaud, P. J. L. Adeodato, G. C. Vasconcelos, R. F. O. Neto, “MLP neural networks optimization through simulated annealing in a hybrid approach for time series prediction”, Congresso de Soceidade Brasileira de computacäo, pp. 1110-1113, 2005.
[19] Y. P. Chang, C. N. Ko, “A PSO method with nonlinear time-varying evolution based on neural network for design of optimal harmonic filters”, Expert Systems with Applications, Vol. 36, pp. 6809–6816, 2009.
[20] E. Rashedi, H. Nezamabadi-pour, S. Saryazdi, “GSA: A Gravitational Search Algorithm”, Information Sciences, Vol. 179, pp. 2232–2248, 2009.اکبری، رضا؛ زیارتی، کوروش؛ " استفاده از بهینهسازی گروهی ذرات برای آموزش شبکههای عصبی و کاربرد آن در فشردهسازی تصویر" ، هشتمین کنفرانس سیستمهای هوشمند، دانشگاه فردوسی، مشهد، 1386.
[21] M. T. Hagan, M. Menhaj, “Training feed forward networks with the Marquardt algorithm”, IEEE transactions on Neural Networks, Vol. 5, No. 6, pp. 989-993, 1994.
[22] راشدی، عصمت؛ نظامآبادی پور، حسین؛ سریزدی، سعید؛ الگوریتم جستجوی گرانشی باینری، هشتمین کنفرانس سیستمهای هوشمند، دانشگاه فردوسی مشهد، 1386.
[23] دهباشیان، مریم؛ ظهیری، سیدحمید؛ الگوریتم جستجوی گرانشی نخبهگرای پیشرفته، اولین کنفرانس انرژیهای تجدیدپذیر و تولید پراکنده ایران، دانشگاه بیرجند، 1388.
[24] دهباشیان، مریم؛ ظهیری، سیدحمید؛ MOGSA : روشی جدید در بهینهسازی چند هدفه مبتنی بر الگوریتم جستجوی گرانشی، شانزدهمین کنفرانس ملی سالانه انجمن کامپیوتر ایران، دانشگاه صنعتی شریف، 1389.
[1] Image compression
[2] Multi Layer Perseptron (MLP)
[3] Error Back Propagation
[4] Bayesian
[5] Simulated annealing
[6] Particle swarm optimization (PSO)
[7] Swarm Intelligence Optimization
[8] Gravitational Search Algorithm (GSA)
[9] Exploration
[10] Exploitation
[11] Binary Gravitional Search Algorithm
[12] Advanced Elitism Gravitional Search Algorithm
[13] Multi Objective Gravitional Search Algorithm