چگونه يك شبكه عصبي هوشمند بسازيم؟ - مثالي از برنامهنويسي شيءگرا در شبكههاي عصبي و هوش مصنوعي
بيشتر...
[FONT=Arial, Helvetica, sans-serif][/FONT]
[FONT=Arial, Helvetica, sans-serif][/FONT]
قدرت و سرعت كامپيوترهاي امروزي به راستي شگفت انگيز است؛ زيرا كامپيوترهاي قدرتمند ميتوانند ميليونها عمليات را در كمتر از يك ثانيه انجام دهند. شايد آرزوي بسياري از ما انسانها اين باشد كه اي كاش ميشد ما نيز مانند اين دستگاهها كارهاي خود را با آن سرعت انجام ميداديم، ولي اين نكته را نبايد ناديده بگيريم كه كارهايي هستند كه ما ميتوانيم آنها را به آساني و در كمترين زمان ممكن انجام دهيم، ولي قويترين كامپيوترهاي امروزي نيز نميتوانند آنها را انجام دهند و آن قدرت تفكري است كه مغز ما انسانها دارد. حال تصور كنيد كه دستگاهي وجود داشته باشد كه علاوه بر قدرت محاسبه و انجام كارهاي فراوان در مدت زمان كوتاه، قدرت تفكر نيز داشته باشد يا به قول معروف هوشمند باشد!اين تصور در حقيقت هدف فناوري هوش مصنوعي يا Artificial Intelligence) AI) است. يكي از راهحلهاي تحقق اين هدف، شبكههاي عصبي است. شبكههاي عصبي در واقع از شبكههاي عصبي و سيستم عصبي انسان الگوبرداري ميكنند. برخي از محققان براين باورند كه هوش مصنوعي و شبكههاي عصبي دو راهحل متفاوت و در دو جهت مختلف هستند، ولي اين باور را نميتوان كاملاً صحيح دانست؛ چرا كه در حقيقت علم شبكههاي عصبي و هوشمصنوعي وابسته به هم هستند. بدينمعنا كه قبل از اينكه Symbolها بتوانند توسط هوش مصنوعي شناسايي شوند، بايد مراحلي طي شود. مثلاً تصور كنيد كه Symbolهايي مانند خانه، انسان يا ميز وجود دارند. قبل از اين كه AI بتواند هر كدام از اين Symbolها را شناسايي كند، بايد از تواناييها و صفات هر كدام از اينها اطلاع كامل حاصل كند. مثلاً تصور كنيد كه يك روبات كه هوش مصنوعي دارد، يك انسان را ميبيند، ولي از كجا ميفهمد كه اين جسم يك انسان است؟ مثلاً بر اساس مشخصاتي مثل داشتن دو پا، دست، صورت، دهان و قدرت تكلم. اما شما وقتي يك انسان ديگر را ميبينيد، نيازي نداريد كه اول تعداد پاهاي او را بشماريد و بعد بگوييد كه اين جسم، انسان است. مغز انسانها ميتواند با ديدن يك جسم فقط براي يك بار ياد بگيرد و اگر مجدداً آن جسم را مشاهده كرد، ميتواند سريع تشخيص دهد و قسمتهاي مختلف مغز ميتوانند به صورت همزمان فعاليت كنند و از اطلاعات درون مغز استفاده نمايند. شبكههاي عصبي در بسياري از پروژههاي هوش مصنوعي به كار گرفته ميشود. مثلاً براي برنامههاي تشخيص و الگوبرداري، شناسايي تصوير و كاراكتر، روباتها و برنامههاي *****ينگ اطلاعات. اين شبكهها امروزه حتي در اتومبيلهاي بيسرنشين نيز كاربرد دارد. به طوريكه با ديدن و بررسي رانندگي انسانها، ميتوانند رانندگي كنند. در اين مقاله اصول شبكههاي عصبي در برنامهنويسي شيءگرا مورد بررسي قرار ميگيرد. با استفاده از زبان #C و انجام دادن عمليات X-OR ساده ميتوانيد اولين برنامه ساده هوش مصنوعي خود را بنويسيد. لازم به ذكر است كه مثالي كه در اين مقاله از آن استفاده شده، از مقاله Matthew Cochran (سي شارپ كورنر) اقتباس شده است.

[FONT=Arial, Helvetica, sans-serif][/FONT]
قدرت و سرعت كامپيوترهاي امروزي به راستي شگفت انگيز است؛ زيرا كامپيوترهاي قدرتمند ميتوانند ميليونها عمليات را در كمتر از يك ثانيه انجام دهند. شايد آرزوي بسياري از ما انسانها اين باشد كه اي كاش ميشد ما نيز مانند اين دستگاهها كارهاي خود را با آن سرعت انجام ميداديم، ولي اين نكته را نبايد ناديده بگيريم كه كارهايي هستند كه ما ميتوانيم آنها را به آساني و در كمترين زمان ممكن انجام دهيم، ولي قويترين كامپيوترهاي امروزي نيز نميتوانند آنها را انجام دهند و آن قدرت تفكري است كه مغز ما انسانها دارد. حال تصور كنيد كه دستگاهي وجود داشته باشد كه علاوه بر قدرت محاسبه و انجام كارهاي فراوان در مدت زمان كوتاه، قدرت تفكر نيز داشته باشد يا به قول معروف هوشمند باشد!اين تصور در حقيقت هدف فناوري هوش مصنوعي يا Artificial Intelligence) AI) است. يكي از راهحلهاي تحقق اين هدف، شبكههاي عصبي است. شبكههاي عصبي در واقع از شبكههاي عصبي و سيستم عصبي انسان الگوبرداري ميكنند. برخي از محققان براين باورند كه هوش مصنوعي و شبكههاي عصبي دو راهحل متفاوت و در دو جهت مختلف هستند، ولي اين باور را نميتوان كاملاً صحيح دانست؛ چرا كه در حقيقت علم شبكههاي عصبي و هوشمصنوعي وابسته به هم هستند. بدينمعنا كه قبل از اينكه Symbolها بتوانند توسط هوش مصنوعي شناسايي شوند، بايد مراحلي طي شود. مثلاً تصور كنيد كه Symbolهايي مانند خانه، انسان يا ميز وجود دارند. قبل از اين كه AI بتواند هر كدام از اين Symbolها را شناسايي كند، بايد از تواناييها و صفات هر كدام از اينها اطلاع كامل حاصل كند. مثلاً تصور كنيد كه يك روبات كه هوش مصنوعي دارد، يك انسان را ميبيند، ولي از كجا ميفهمد كه اين جسم يك انسان است؟ مثلاً بر اساس مشخصاتي مثل داشتن دو پا، دست، صورت، دهان و قدرت تكلم. اما شما وقتي يك انسان ديگر را ميبينيد، نيازي نداريد كه اول تعداد پاهاي او را بشماريد و بعد بگوييد كه اين جسم، انسان است. مغز انسانها ميتواند با ديدن يك جسم فقط براي يك بار ياد بگيرد و اگر مجدداً آن جسم را مشاهده كرد، ميتواند سريع تشخيص دهد و قسمتهاي مختلف مغز ميتوانند به صورت همزمان فعاليت كنند و از اطلاعات درون مغز استفاده نمايند. شبكههاي عصبي در بسياري از پروژههاي هوش مصنوعي به كار گرفته ميشود. مثلاً براي برنامههاي تشخيص و الگوبرداري، شناسايي تصوير و كاراكتر، روباتها و برنامههاي *****ينگ اطلاعات. اين شبكهها امروزه حتي در اتومبيلهاي بيسرنشين نيز كاربرد دارد. به طوريكه با ديدن و بررسي رانندگي انسانها، ميتوانند رانندگي كنند. در اين مقاله اصول شبكههاي عصبي در برنامهنويسي شيءگرا مورد بررسي قرار ميگيرد. با استفاده از زبان #C و انجام دادن عمليات X-OR ساده ميتوانيد اولين برنامه ساده هوش مصنوعي خود را بنويسيد. لازم به ذكر است كه مثالي كه در اين مقاله از آن استفاده شده، از مقاله Matthew Cochran (سي شارپ كورنر) اقتباس شده است.
بيشتر...