مدیر انجمن برنامه نویسی و رباتیک
يكي از كاربرد هاي جالب شبكه ي عصبي تشخيص دست خط (OCR) است. ما مي توانيم با ارايه ي نمونه هايي از دست خط هاي مختلف به همراه متن OCR مربوط به هر يك از آن دست خط ها، شبكه را آموزش دهيم (يادگيري Supervised).NumLearner..PNG
در اين تاپيك سورس VB.NET 2008 اي قرار داده شده كه رايانه را قادر مي سازد كه خواندن اعداد 0 تا 9 را فرا بگيرد. كاربر مي تواند با تعيين يكي از اعداد 0 تا 9 توسط LED ها و ComboBox و فشردن دكمه ي Learn ، آموزش را شروع كند. هرچه تعداد مراحل اجراي فرمان Learn بيش تر باشد، همگرايي شبكه بهتر خواهد بود.
پس از آموزش شبكه مي توان عددي دلخواه را با LED ها تعيين كرد و با كليك كردن روي دكمه ي Think شبكه بر اساس تجربه هاي پيشين، سعي مي كند عدد صحيح را در ComboBox مشخص كند.
در واقع در اين سورس، LED ها نقش پيكسل را ايفا مي كنند. از طرفي چون يك دست خط تصويري از تعداد زيادي پيكسل تشكيل شده، مي توان با تعميم اين سورس و اندكي تغيير يك نرم افزار OCR ساده را طراحي كرد.
بايد توجه داشت كه شبكه ي مورد استفاده در اين برنامه شبكه ي Perceptron بوده كه تابع تحريك آن Sigmoid Bipolar است. در نتيجه سرعت همگرايي شبكه براي كاربرد هاي OCR تقريبا" پايين خواهد بود. همچنين از به كارگيري Threshold در نرون ها پرهيز شده است.
در صورت داشتن هرگونه سوال در مورد سورس برنامه بنده در خدمتم.
آرمين برای مشاهده این لینک/عکس می بایست عضو شوید ! برای عضویت اینجا کلیک کنید
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
|
|
مدیر انجمن برنامه نویسی و رباتیک
سورس MATLAB این برنامه نیز پیوست شد.
برنامه در محیط GUIDE نوشته نشده بلکه شامل چهار عدد MFile است:
- learning برای یادگیری شبکه
- resetNet برای ریست کردن شبکه
- testNet برای تست شبکه
- thinking تابع تفکر شبکه
'چو ایران نباشد، تن من مباد
Dim Armin As Iranian
If Iran.Enabled = False Then Armin.Enabled = False
M A H R A D (02-02-12), Moein (02-02-12), Rezasam1 (02-02-12)
1 کاربر در حال مشاهده این موضوع. (0 عضو و 1 میهمان)
Bookmarks