؛ شادی ؛
1st August 2014, 09:19 PM
آشنایی با شبكههای عصبی (Neural Networks) - قسمت اول
http://www.ihoosh.ir/images/Article/2014/07/27/article52041.jpg
چکیده:
شبكههای عصبی را میتوان با اغماض زیاد، مدلهای الكترونیكی از ساختار عصبی مغز انسان نامید. مكانیسم فراگیری و آموزش مغز اساساً بر تجربه استوار است. مدلهای الكترونیكی شبكههای عصبی طبیعی نیز بر اساس همین الگو بنا شدهاند و روش برخورد چنین مدلهایی با مسائل، با روشهای محاسباتی كه بهطور معمول توسط سیستمهای كامپیوتری در پیش گرفته شدهاند، تفاوت دارد. میدانیم كه حتی سادهترین مغزهای جانوری هم قادر به حل مسائلی هستند كه اگر نگوییم كه كامپیوترهای امروزی از حل آنها عاجز هستند، حداقل در حل آنها دچار مشكل میشوند.
به عنوان مثال، مسائل مختلف شناسایی الگو، نمونهای از مواردی هستند كه روشهای معمول محاسباتی برای حل آنها به نتیجه مطلوب نمیرسند. درحالیكه مغز سادهترین جانوران بهراحتی از عهده چنین مسائلی بر میآید. تصور عموم كارشناسان IT بر آن است كه مدلهای جدید محاسباتی كه بر اساس شبكههای عصبی بنا میشوند، جهش بعدی صنعت IT را شكل میدهند. تحقیقات در این زمینه نشان داده است كه مغز، اطلاعات را همانند الگوها (pattern) ذخیره میكند.
فرآیند ذخیرهسازی اطلاعات بهصورت الگو و تجزیه و تحلیل آن الگو، اساس روش نوین محاسباتی را تشكیل میدهند. این حوزه از دانش محاسباتی (computation) به هیچ وجه از روشهای برنامهنویسی سنتی استفاده نمیكند و بهجای آن از شبكههای بزرگی كه بهصورت موازی آرایش شدهاند و تعلیم یافتهاند، بهره میجوید. در ادامه این نوشته به این واژگان كه در گرایش شبكههای عصبی، معانی ویژهای دارند، بیشتر خواهیم پرداخت.
شباهت با مغز
اگرچه مكانیسمهای دقیق كاركرد مغز انسان (یا حتی جانوران) بهطور كامل شناخته شده نیست، اما با این وجود جنبههای شناخته شدهای نیز وجود دارند كه الهام بخش تئوری شبكههای عصبی بودهاند. بهعنوان مثال، یكی ازسلولهای عصبی، معروف به نرون (Neuron) است كه دانش بشری آن را بهعنوان سازنده اصلی مغز میانگارد. سلولهای عصبی قادرند تا با اتصال بهیكدیگر تشكیل شبكههای عظیم بدهند. گفته میشود كه هر نرون میتواند به هزار تا ده هزار نرون دیگر اتصال یابد (حتی در این مورد عدد دویست هزار هم به عنوان یك حد بالایی ذكر شده است). قدرت خارقالعاده مغز انسان از تعداد بسیار زیاد نرونها و ارتباطات بین آنها ناشی میشود.
ساختمان هر یك از نرونها نیز بهتنهایی بسیار پیچیده است. هر نرون از بخشها و زیرسیستمهای زیادی تشكیل شده است كه از مكانیسمهای كنترلی پیچیدهای استفاده میكنند. سلولهای عصبی میتوانند از طریق مكانیسمهای الكتروشیمیایی اطلاعات را انتقال دهند. برحسب مكانیسمهای بهكاررفته در ساختار نرونها، آنها را به بیش از یكصدگونه متفاوت طبقهبندی میكنند. در اصطلاح فنی، نرونها و ارتباطات بین آنها، فرایند دودویی(Binary)، پایدار (Stable) یا همزمان (Synchronous) محسوب نمیشوند.
در واقع، شبكههای عصبی شبیهسازی شده یا كامپیوتری، فقط قادرند تا بخش كوچكی از خصوصیات و ویژگیهای شبكههای عصبی بیولوژیك را شبیهسازی كنند. در حقیقت، از دید یك مهندس نرمافزار، هدف از ایجاد یك شبكه عصبی نرمافزاری، بیش از آنكه شبیهسازی مغز انسان باشد، ایجاد مكانیسم دیگری برای حل مسائل مهندسی با الهام از الگوی رفتاری شبكههای بیولوژیك است.
روش كار نرونها
بهطور خلاصه، یك نرون بیولوژیك، پس از دریافت سیگنالهای ورودی (به شكل یك پالس الكتریكی) از سلولهای دیگر، آن سیگنالها را با یكدیگر تركیب كرده و پس از انجام یك عمل (operation) دیگر بر روی سیگنال تركیبی، آن را بهصورت خروجی ظاهر میسازد.
نرونها از چهار بخش اصلی ساخته شدهاند. دندریتها (Dendrite)، سوما (Soma)، اكسان (Axon) و بالاخره، سیناپس (synapse) دندریتها، همان اجزایی هستند كه بهشكل رشتههای طویل از مركز سلول به اطراف پراكنده میشوند. دندریتها نقش كانالهای ارتباطی را برای انتقالدادن سیگنالهای الكتریكی به مركز سلول بر عهده دارند. در انتهای دندریتها، ساختار بیولوژیكی ویژهای بهنام سیناپس واقع شده است كه نقش دروازههای اتصالی كانالهای ارتباطی را ایفا میكند.
در واقع سیگنالهای گوناگون از طریق سیناپسها و دندریتها به مركز سلول منتقل میشوند و در آنجا با یكدیگر تركیب میشوند. عمل تركیب كه به آن اشاره كردیم، میتواند یك عمل جمع جبری ساده باشد. اصولاً اگر چنین نیز نباشد، در مدلسازی ریاضی میتوان آنرا یك عمل جمع معمولی در نظر گرفت كه پس از آن تابع ویژهای بر روی سیگنال اثر داده میشود و خروجی به شكل سیگنال الكتریكی متفاوتی از طریق اكسان (و سیناپس آن) به سلولهای دیگر انتقال داده میشود.
البته تحقیقات جدید نمایانگر این واقعیت هستند كه نرونهای بیولوژیك بسیار پیچیدهتر از مدل سادهای هستند كه در بالا تشریح شد. اما همین مدل ساده میتواند زیربنای مستحكمی برای دانش شبكههای عصبی مصنوعی (Artificial Neural Network = ANN) تلقی گردد و متخصصان گرایش شبكههای عصبی یا هوش مصنوعی میتوانند با پیگیری كارهای دانشمندان علوم زیستشناسی، به بنیانگذاری ساختارهای مناسبتری در آینده دست بزنند.
http://www.ihoosh.ir/images/Article/2014/07/27/article52041.jpg
چکیده:
شبكههای عصبی را میتوان با اغماض زیاد، مدلهای الكترونیكی از ساختار عصبی مغز انسان نامید. مكانیسم فراگیری و آموزش مغز اساساً بر تجربه استوار است. مدلهای الكترونیكی شبكههای عصبی طبیعی نیز بر اساس همین الگو بنا شدهاند و روش برخورد چنین مدلهایی با مسائل، با روشهای محاسباتی كه بهطور معمول توسط سیستمهای كامپیوتری در پیش گرفته شدهاند، تفاوت دارد. میدانیم كه حتی سادهترین مغزهای جانوری هم قادر به حل مسائلی هستند كه اگر نگوییم كه كامپیوترهای امروزی از حل آنها عاجز هستند، حداقل در حل آنها دچار مشكل میشوند.
به عنوان مثال، مسائل مختلف شناسایی الگو، نمونهای از مواردی هستند كه روشهای معمول محاسباتی برای حل آنها به نتیجه مطلوب نمیرسند. درحالیكه مغز سادهترین جانوران بهراحتی از عهده چنین مسائلی بر میآید. تصور عموم كارشناسان IT بر آن است كه مدلهای جدید محاسباتی كه بر اساس شبكههای عصبی بنا میشوند، جهش بعدی صنعت IT را شكل میدهند. تحقیقات در این زمینه نشان داده است كه مغز، اطلاعات را همانند الگوها (pattern) ذخیره میكند.
فرآیند ذخیرهسازی اطلاعات بهصورت الگو و تجزیه و تحلیل آن الگو، اساس روش نوین محاسباتی را تشكیل میدهند. این حوزه از دانش محاسباتی (computation) به هیچ وجه از روشهای برنامهنویسی سنتی استفاده نمیكند و بهجای آن از شبكههای بزرگی كه بهصورت موازی آرایش شدهاند و تعلیم یافتهاند، بهره میجوید. در ادامه این نوشته به این واژگان كه در گرایش شبكههای عصبی، معانی ویژهای دارند، بیشتر خواهیم پرداخت.
شباهت با مغز
اگرچه مكانیسمهای دقیق كاركرد مغز انسان (یا حتی جانوران) بهطور كامل شناخته شده نیست، اما با این وجود جنبههای شناخته شدهای نیز وجود دارند كه الهام بخش تئوری شبكههای عصبی بودهاند. بهعنوان مثال، یكی ازسلولهای عصبی، معروف به نرون (Neuron) است كه دانش بشری آن را بهعنوان سازنده اصلی مغز میانگارد. سلولهای عصبی قادرند تا با اتصال بهیكدیگر تشكیل شبكههای عظیم بدهند. گفته میشود كه هر نرون میتواند به هزار تا ده هزار نرون دیگر اتصال یابد (حتی در این مورد عدد دویست هزار هم به عنوان یك حد بالایی ذكر شده است). قدرت خارقالعاده مغز انسان از تعداد بسیار زیاد نرونها و ارتباطات بین آنها ناشی میشود.
ساختمان هر یك از نرونها نیز بهتنهایی بسیار پیچیده است. هر نرون از بخشها و زیرسیستمهای زیادی تشكیل شده است كه از مكانیسمهای كنترلی پیچیدهای استفاده میكنند. سلولهای عصبی میتوانند از طریق مكانیسمهای الكتروشیمیایی اطلاعات را انتقال دهند. برحسب مكانیسمهای بهكاررفته در ساختار نرونها، آنها را به بیش از یكصدگونه متفاوت طبقهبندی میكنند. در اصطلاح فنی، نرونها و ارتباطات بین آنها، فرایند دودویی(Binary)، پایدار (Stable) یا همزمان (Synchronous) محسوب نمیشوند.
در واقع، شبكههای عصبی شبیهسازی شده یا كامپیوتری، فقط قادرند تا بخش كوچكی از خصوصیات و ویژگیهای شبكههای عصبی بیولوژیك را شبیهسازی كنند. در حقیقت، از دید یك مهندس نرمافزار، هدف از ایجاد یك شبكه عصبی نرمافزاری، بیش از آنكه شبیهسازی مغز انسان باشد، ایجاد مكانیسم دیگری برای حل مسائل مهندسی با الهام از الگوی رفتاری شبكههای بیولوژیك است.
روش كار نرونها
بهطور خلاصه، یك نرون بیولوژیك، پس از دریافت سیگنالهای ورودی (به شكل یك پالس الكتریكی) از سلولهای دیگر، آن سیگنالها را با یكدیگر تركیب كرده و پس از انجام یك عمل (operation) دیگر بر روی سیگنال تركیبی، آن را بهصورت خروجی ظاهر میسازد.
نرونها از چهار بخش اصلی ساخته شدهاند. دندریتها (Dendrite)، سوما (Soma)، اكسان (Axon) و بالاخره، سیناپس (synapse) دندریتها، همان اجزایی هستند كه بهشكل رشتههای طویل از مركز سلول به اطراف پراكنده میشوند. دندریتها نقش كانالهای ارتباطی را برای انتقالدادن سیگنالهای الكتریكی به مركز سلول بر عهده دارند. در انتهای دندریتها، ساختار بیولوژیكی ویژهای بهنام سیناپس واقع شده است كه نقش دروازههای اتصالی كانالهای ارتباطی را ایفا میكند.
در واقع سیگنالهای گوناگون از طریق سیناپسها و دندریتها به مركز سلول منتقل میشوند و در آنجا با یكدیگر تركیب میشوند. عمل تركیب كه به آن اشاره كردیم، میتواند یك عمل جمع جبری ساده باشد. اصولاً اگر چنین نیز نباشد، در مدلسازی ریاضی میتوان آنرا یك عمل جمع معمولی در نظر گرفت كه پس از آن تابع ویژهای بر روی سیگنال اثر داده میشود و خروجی به شكل سیگنال الكتریكی متفاوتی از طریق اكسان (و سیناپس آن) به سلولهای دیگر انتقال داده میشود.
البته تحقیقات جدید نمایانگر این واقعیت هستند كه نرونهای بیولوژیك بسیار پیچیدهتر از مدل سادهای هستند كه در بالا تشریح شد. اما همین مدل ساده میتواند زیربنای مستحكمی برای دانش شبكههای عصبی مصنوعی (Artificial Neural Network = ANN) تلقی گردد و متخصصان گرایش شبكههای عصبی یا هوش مصنوعی میتوانند با پیگیری كارهای دانشمندان علوم زیستشناسی، به بنیانگذاری ساختارهای مناسبتری در آینده دست بزنند.