دسترسی نامحدود
مدت: ۳۶ساعت
گروه پشتیبانی
شبکههای عصبی، مدلهای یادگیری ماشینی هستند که کاربرد بسیار گسترده، وسیع و متنوعی در صنعت و دانش دارند. به ویژه، امروزه در شبیهسازیهای پیشرفته، ورودی بسیار جدی و موفق داشتهاند. به جرئت میتوان ادعا نمود که بخش عمدهای از شبیهسازیهای روز دنیا، با استفاده از آنها صورت میپذیرد. لذا، یادگیری صحیح، اصولی و جامعشان برای هر پژوهشگر یا متخصص صنعت، بسیار حائز اهمیت میباشد.
در دوره جامع کاربرد شبکههای عصبی در روش اجزای محدود، برای نخستین بار در میان مجموعههای آموزشی داخلی و خارجی، به تدوین سرفصلهای ترکیبی میان شبیهسازی و شبکههای عصبی پرداخته شده است تا دانشجو پس از گذراندن آنها، به سادگی بتواند از مهارتهای کسبشده در پژوهشها، پروژههای صنعتی و هر زمینهی تخصصی دیگر، بهرهمند گردد.
در روش اجزای محدود، محاسبات بر پایه جبر خطی و فرآیندهای تکرارشونده بنا شدهاند. لذا، به منظور درک مناسبتر از فضای حل مسائل، نیز استفاده مفید و موثر از تئوریها، میبایست آنها را با استفاده از رایانه، پیادهسازی نمود. بدین منظور، یکی از مناسبترین ابزارها، نرمافزار MATLAB میباشد. ساختار Scriptی، نزدیک بودن Scriptها به زبان انسان و سهولت پیادهسازی انواع عملگرهای ریاضیاتی، MATLAB را تبدیل به یکی از اجزای جدا ناشدنی جامعه مهندسی نموده است. لذا، در این دوره، ابتدا به منظور آشنایی اولیهی دانشجویان عزیز با MATLAB، استفاده از این غول محاسباتی آموزش داده شده است. درباره این فصل، لازم است دو نکته را بدانیم. اول آنکه تنها آن دسته از ابزارهای محاسباتیِ مورد نیاز در آن تدریس شده است و به منظور جلوگیری از اتلاف وقت و یادگیری مباحث غیر کاربردی، از بیان مسائل کامپیوتری صِرف، اجتناب شده است. نکته دوم آنکه، این فصل شامل مفاهیم پایه میباشد و در فصول آتی، هر کجا نیاز به استفاده از یک ابزار اختصاصی یا نکته ویژهای باشد، موضوع در همان فصل، به صورت جامع توضیح داده خواهد شد. یادگیری این فصل، کلید ورود به مباحث شبکههای عصبی مصنوعی و روش اجزای محدود، به صورت توامان میباشد.
یکی از مهمترین روشهای عددی در شبیهسازی انواع مسائل، روش اجزای محدود میباشد. اگرچه این روش بسیار عمیق و مبتنی بر تئوریهای پیچیده است. نیز، اگرچه این روش در طیف گستردهای از مسائل کاربرد دارد، که بیان تمامی تئوریها و کاربردهای آن شاید نیازمند ساعتها تدریس تخصصی باشد، اما، چارچوبها و ساختارهای کلی این روش، میان همه مسائل یکسان است. لذا طی این فصل به بررسی ساختارهای آن و ذکر گام به گام مراحل آن، خواهیم پرداخت. به منظور شناخت بهتر از نحوه کارکرد روش اجزای محدود و نیز قدرت آن در حل مسائل، به پیادهسازی انواع مسائل یکبعدی، دوبعدی و سهبعدی خواهیم پرداخت که در این پیادهسازی مفاهیم ارائه شده در فصل اول، به صورت مستقیم به کار خواهند آمد. همچنین در انتهای این فصل، با توجه به درک صحیحی که از روش اجزای محدود پیدا کردهایم، خواهیم یافت که شبکههای عصبی مصنوعی، در کدام بخش یا بخشهای آن قابلیت ورود داشته و فلسفه این ورود چه خواهد بود.
شبکههای عصبی چندلایه پرسپترون یا Multi-Layer Perceptron، متداولترین نوع شبکههای عصبی در کاربردهای مهندسی هستند که فلسفه و تئوری این شبکهها، مشترک با دیگر شاخههای یادگیری ماشین (Machine Learning)، به ویژه در شاخه یادگیری نظارتشده (Supervised Learning) میباشد. لذا یادگیری دقیق، عمیق و صحیح مباحث مرتبط با تئوری آن، از چند جنبه حائز اهمیتِ بسیار بالایی است. در این فصل، به طور مفصّل تئوری و پیادهسازی این نوع شبکههای عصبی را واکاوی نموده و با یکدیگر، گام به گام، حل مسائل ساده تا پیچیده را بررسی خواهیم نمود.
اگرچه شبکههای عصبی MLP، بسیار جامع و پرکاربرد در حل انواع مسائل، از جمله مسائل مهندسی میباشند، اما، دارای نقاط ضعف قابل توجهی نیز هستند که میبایست آنها را به درستی شناخت و در مسائلی که دارای برخی چالشهای اختصاصیاند، به دنبال بهبود آنها بود. به نظر میرسد خلا قابل توجهی در شناخت جایگزینهای شبکههای عصبی MLP، در میان کاربران وجود دارد. زیرا در بسیاری از موارد، استفاده ناصحیح از آنها مشاهده میگردد. در این فصل، ضمن شناخت دقیق نقاط قوت و ضعف این نوع شبکهها، به بررسی تفصیلی و موشکافانه شبکههای قدرتمند RBF، پرداخته شده است. مشابه با فصل سوم، در این فصل نیز، انواع مسائل پیادهسازی و تحلیل خواهند شد.
تاکنون متوجه شدهایم که علیرغم قدرت بسیار بالای شبکههای عصبی و در حل مسائل، وجود سه نکته، استفاده گسترده از این شبکهها را محدود مینماید. لزوم وجود دادههای فراوان، زمان زیاد جهت تنظیم مقادیر شبکه (بهینهسازی) و عدم تعیین دقیق مرزهای تصمیم مساله، عواملی هستند که به منظور گسترده نمودن کاربردهای شبکههای عصبی مصنوعی در انواع مسائل، نیاز به بازنگری اساسی دارند. مفهوم Kernel، آغازی بر بهبود موارد فوق بود که در نهایت منجر به توسعه شبکههای عصبی SVM، گردید. موضوعی که در فصل حاضر به تفصیل و با جزئیات دقیق، آموزش داده شده است. همچنین، مانند فصول گذشته، انواع مسائل، پیادهسازی و تحلیل گردیدهاند تا فرآیند یادگیری دانشجویان، هموارتر از گذشته گردد.
ورود به دنیای هوش مصنوعی، بدون تسلط بر زبان برنامهنویسی Python، در عمل امکانپذیر نخواهد بود. اکنون که به نحو شایستهای با تئوری شبکههای عصبی و نحوه پیادهسازی آنها آشنا شدهایم، شایسته است تا به دنیای برنامهنویسی Python هم ورودی جدی داشته باشیم. در این فصل، با یکدیگر اصول برنامهنویسی در پایتون را به همراه بررسی انواع متعددی از مثالها خواهیم آموخت. همچنین، کتابخانههای محاسبات علمی آن را نیز به تفصیل خواهیم شناخت تا هیچگونه خلائی در ادامه مسیر، برایمان وجود نداشته باشد.
یکی از غولهای محاسباتی در زمینه یادگیری ماشین، کتابخانه Scikit Learn میباشد. خواهیم دید تنها با نوشتن چند خط کد ساده، مراحل پیچیده گذشته را به سهولت به انجام خواهیم رساند و بیش از پیش از برنامهنویسی، Python، شبکههای عصبی و هوش مصنوعی لذت خواهیم برد. در این فصل، بررسی انواع مسائل Classification و Regression را با یکدیگر تجربه خواهیم نمود
تاکنون، هر آنچه میبایست از تئوری و پیادهسازی، چه در نرمافزار MATLAB و چه در زبان برنامهنویسی Python، بدانیم را به خوبی و عمیق فرا گرفتهایم. اکنون نوبت آن است تا تنها چالش باقیمانده، یعنی تولید دادگان را مرتفع نماییم. بهترین راه حل، استفاده از یک نرمافزار به منظور تولید دادگان مورد نیاز مسالهمان است. اما برای این هدف، لازم است تا فرآیندهای ساخت مدل، بارگذاری، تعریف مساله، استخراج نتایج و… را خودکار نماییم. فرآیندی که با Scriptنویسی، به سادگی هرچه تمامتر به انجام خواهد رسید. موضوعی که محور اصلی فصل حاضر را تشکیل خواهد داد.
اکنون، میبایست تمامی آنچه که فرا گرفتهایم را در قالب یک پروژه بسیار حرفهای و به نسبت پیچیده، ارزیابی نماییم. یک مسالهی چند فیزیکیِ همزمانِ مکانیکی- حرارتی را با استفاده از شبکههای عصبی، به راحتی شبیهسازی خواهیم نمود. همین!
اگر دوره را بدون بررسی مسائل بهینهسازی به اتمام برسانیم، گویی نمکی در غذا و چیز مهمی در دوره کم است! به جرئت میتوان ادعا نمود که هیچ صنعتی نیست تا با بهینهسازی سر و کار نداشته باشد. لذا، بسیار حائز اهمیت است تا بتوانیم با استفاده از مفاهیم فرا گرفته شده، به شبیهسازی این نوع از مسائل نیز بپردازیم. موضوعی که در فصل حاضر و به عنوان پروژه پایانی دوره، به طور مفصل بررسی گردیده است
دوره جامع کاربرد شبکههای عصبی در روش اجزای محدود، بر اساس ویرایش دوم کتاب Neural Networks, A Comprehensive Foundation، نوشته Simon Haykin، در بخش شبکههای عصبی و فصلهایی منتخب از ویرایش ششم کتاب A First Course in the Finite Element Method، نوشته Daryl Logan، در بخش روش اجزای محدود، طراحی و در 6 فصل (6 ساعت)، ارائه گردیده است. در تمامی فصلها، تئوریها به صورت کامل تدریس و با استفاده از نرمافزار MATLAB پیادهسازی گردیدهاند. با توجه به اهمیت زبان برنامهنویسی Python، نیز لزوم استفاده از نرمافزارهای شبیهسازی در تولید دادگان مورد استفاده شبکههای عصبی، در فصلی جداگانه اصول برنامهنویسی Python، به همراه نحوه Scriptنویسی در نرمافزار ABAQUS، به منظور تولید خودکار دادگان مساله، به صورت کامل آموزش داده شده است.
تاکنون، هر آنچه میبایست از تئوری و پیادهسازی، چه در نرمافزار MATLAB و چه در زبان برنامهنویسی Python، بدانیم را به خوبی و عمیق فرا گرفتهایم. اکنون نوبت آن است تا تنها چالش باقیمانده، یعنی تولید دادگان را مرتفع نماییم. بهترین راه حل، استفاده از یک نرمافزار به منظور تولید دادگان مورد نیاز مسالهمان است. اما برای این هدف، لازم است تا فرآیندهای ساخت مدل، بارگذاری، تعریف مساله، استخراج نتایج و… را خودکار نماییم. فرآیندی که با Scriptنویسی، به سادگی هرچه تمامتر به انجام خواهد رسید. موضوعی که محور اصلی فصل حاضر را تشکیل خواهد داد.
شبکههای عصبی، مدلهای یادگیری ماشینی هستند که کاربرد بسیار گسترده، وسیع و متنوعی در صنعت و دانش دارند. به ویژه، امروزه در شبیهسازیهای پیشرفته، ورودی بسیار جدی و موفق داشتهاند. به جرئت میتوان ادعا نمود که بخش عمدهای از شبیهسازیهای روز دنیا، با استفاده از آنها صورت میپذیرد. لذا، یادگیری صحیح، اصولی و جامعشان برای هر پژوهشگر یا متخصص صنعت، بسیار حائز اهمیت میباشد.
در دوره جامع کاربرد شبکههای عصبی در روش اجزای محدود، برای نخستین بار در میان مجموعههای آموزشی داخلی و خارجی، به تدوین سرفصلهای ترکیبی میان شبیهسازی و شبکههای عصبی پرداخته شده است تا دانشجو پس از گذراندن آنها، به سادگی بتواند از مهارتهای کسبشده در پژوهشها، پروژههای صنعتی و هر زمینهی تخصصی دیگر، بهرهمند گردد.
در روش اجزای محدود، محاسبات بر پایه جبر خطی و فرآیندهای تکرارشونده بنا شدهاند. لذا، به منظور درک مناسبتر از فضای حل مسائل، نیز استفاده مفید و موثر از تئوریها، میبایست آنها را با استفاده از رایانه، پیادهسازی نمود. بدین منظور، یکی از مناسبترین ابزارها، نرمافزار MATLAB میباشد. ساختار Scriptی، نزدیک بودن Scriptها به زبان انسان و سهولت پیادهسازی انواع عملگرهای ریاضیاتی، MATLAB را تبدیل به یکی از اجزای جدا ناشدنی جامعه مهندسی نموده است. لذا، در این دوره، ابتدا به منظور آشنایی اولیهی دانشجویان عزیز با MATLAB، استفاده از این غول محاسباتی آموزش داده شده است. درباره این فصل، لازم است دو نکته را بدانیم. اول آنکه تنها آن دسته از ابزارهای محاسباتیِ مورد نیاز در آن تدریس شده است و به منظور جلوگیری از اتلاف وقت و یادگیری مباحث غیر کاربردی، از بیان مسائل کامپیوتری صِرف، اجتناب شده است. نکته دوم آنکه، این فصل شامل مفاهیم پایه میباشد و در فصول آتی، هر کجا نیاز به استفاده از یک ابزار اختصاصی یا نکته ویژهای باشد، موضوع در همان فصل، به صورت جامع توضیح داده خواهد شد. یادگیری این فصل، کلید ورود به مباحث شبکههای عصبی مصنوعی و روش اجزای محدود، به صورت توامان میباشد.
یکی از مهمترین روشهای عددی در شبیهسازی انواع مسائل، روش اجزای محدود میباشد. اگرچه این روش بسیار عمیق و مبتنی بر تئوریهای پیچیده است. نیز، اگرچه این روش در طیف گستردهای از مسائل کاربرد دارد، که بیان تمامی تئوریها و کاربردهای آن شاید نیازمند ساعتها تدریس تخصصی باشد، اما، چارچوبها و ساختارهای کلی این روش، میان همه مسائل یکسان است. لذا طی این فصل به بررسی ساختارهای آن و ذکر گام به گام مراحل آن، خواهیم پرداخت. به منظور شناخت بهتر از نحوه کارکرد روش اجزای محدود و نیز قدرت آن در حل مسائل، به پیادهسازی انواع مسائل یکبعدی، دوبعدی و سهبعدی خواهیم پرداخت که در این پیادهسازی مفاهیم ارائه شده در فصل اول، به صورت مستقیم به کار خواهند آمد. همچنین در انتهای این فصل، با توجه به درک صحیحی که از روش اجزای محدود پیدا کردهایم، خواهیم یافت که شبکههای عصبی مصنوعی، در کدام بخش یا بخشهای آن قابلیت ورود داشته و فلسفه این ورود چه خواهد بود.
شبکههای عصبی چندلایه پرسپترون یا Multi-Layer Perceptron، متداولترین نوع شبکههای عصبی در کاربردهای مهندسی هستند که فلسفه و تئوری این شبکهها، مشترک با دیگر شاخههای یادگیری ماشین (Machine Learning)، به ویژه در شاخه یادگیری نظارتشده (Supervised Learning) میباشد. لذا یادگیری دقیق، عمیق و صحیح مباحث مرتبط با تئوری آن، از چند جنبه حائز اهمیتِ بسیار بالایی است. در این فصل، به طور مفصّل تئوری و پیادهسازی این نوع شبکههای عصبی را واکاوی نموده و با یکدیگر، گام به گام، حل مسائل ساده تا پیچیده را بررسی خواهیم نمود.
اگرچه شبکههای عصبی MLP، بسیار جامع و پرکاربرد در حل انواع مسائل، از جمله مسائل مهندسی میباشند، اما، دارای نقاط ضعف قابل توجهی نیز هستند که میبایست آنها را به درستی شناخت و در مسائلی که دارای برخی چالشهای اختصاصیاند، به دنبال بهبود آنها بود. به نظر میرسد خلا قابل توجهی در شناخت جایگزینهای شبکههای عصبی MLP، در میان کاربران وجود دارد. زیرا در بسیاری از موارد، استفاده ناصحیح از آنها مشاهده میگردد. در این فصل، ضمن شناخت دقیق نقاط قوت و ضعف این نوع شبکهها، به بررسی تفصیلی و موشکافانه شبکههای قدرتمند RBF، پرداخته شده است. مشابه با فصل سوم، در این فصل نیز، انواع مسائل پیادهسازی و تحلیل خواهند شد.
تاکنون متوجه شدهایم که علیرغم قدرت بسیار بالای شبکههای عصبی و در حل مسائل، وجود سه نکته، استفاده گسترده از این شبکهها را محدود مینماید. لزوم وجود دادههای فراوان، زمان زیاد جهت تنظیم مقادیر شبکه (بهینهسازی) و عدم تعیین دقیق مرزهای تصمیم مساله، عواملی هستند که به منظور گسترده نمودن کاربردهای شبکههای عصبی مصنوعی در انواع مسائل، نیاز به بازنگری اساسی دارند. مفهوم Kernel، آغازی بر بهبود موارد فوق بود که در نهایت منجر به توسعه شبکههای عصبی SVM، گردید. موضوعی که در فصل حاضر به تفصیل و با جزئیات دقیق، آموزش داده شده است. همچنین، مانند فصول گذشته، انواع مسائل، پیادهسازی و تحلیل گردیدهاند تا فرآیند یادگیری دانشجویان، هموارتر از گذشته گردد.
ورود به دنیای هوش مصنوعی، بدون تسلط بر زبان برنامهنویسی Python، در عمل امکانپذیر نخواهد بود. اکنون که به نحو شایستهای با تئوری شبکههای عصبی و نحوه پیادهسازی آنها آشنا شدهایم، شایسته است تا به دنیای برنامهنویسی Python هم ورودی جدی داشته باشیم. در این فصل، با یکدیگر اصول برنامهنویسی در پایتون را به همراه بررسی انواع متعددی از مثالها خواهیم آموخت. همچنین، کتابخانههای محاسبات علمی آن را نیز به تفصیل خواهیم شناخت تا هیچگونه خلائی در ادامه مسیر، برایمان وجود نداشته باشد.
یکی از غولهای محاسباتی در زمینه یادگیری ماشین، کتابخانه Scikit Learn میباشد. خواهیم دید تنها با نوشتن چند خط کد ساده، مراحل پیچیده گذشته را به سهولت به انجام خواهیم رساند و بیش از پیش از برنامهنویسی، Python، شبکههای عصبی و هوش مصنوعی لذت خواهیم برد. در این فصل، بررسی انواع مسائل Classification و Regression را با یکدیگر تجربه خواهیم نمود
تاکنون، هر آنچه میبایست از تئوری و پیادهسازی، چه در نرمافزار MATLAB و چه در زبان برنامهنویسی Python، بدانیم را به خوبی و عمیق فرا گرفتهایم. اکنون نوبت آن است تا تنها چالش باقیمانده، یعنی تولید دادگان را مرتفع نماییم. بهترین راه حل، استفاده از یک نرمافزار به منظور تولید دادگان مورد نیاز مسالهمان است. اما برای این هدف، لازم است تا فرآیندهای ساخت مدل، بارگذاری، تعریف مساله، استخراج نتایج و… را خودکار نماییم. فرآیندی که با Scriptنویسی، به سادگی هرچه تمامتر به انجام خواهد رسید. موضوعی که محور اصلی فصل حاضر را تشکیل خواهد داد.
اکنون، میبایست تمامی آنچه که فرا گرفتهایم را در قالب یک پروژه بسیار حرفهای و به نسبت پیچیده، ارزیابی نماییم. یک مسالهی چند فیزیکیِ همزمانِ مکانیکی- حرارتی را با استفاده از شبکههای عصبی، به راحتی شبیهسازی خواهیم نمود. همین!
اگر دوره را بدون بررسی مسائل بهینهسازی به اتمام برسانیم، گویی نمکی در غذا و چیز مهمی در دوره کم است! به جرئت میتوان ادعا نمود که هیچ صنعتی نیست تا با بهینهسازی سر و کار نداشته باشد. لذا، بسیار حائز اهمیت است تا بتوانیم با استفاده از مفاهیم فرا گرفته شده، به شبیهسازی این نوع از مسائل نیز بپردازیم. موضوعی که در فصل حاضر و به عنوان پروژه پایانی دوره، به طور مفصل بررسی گردیده است
شبکههای عصبی، مدلهای یادگیری ماشینی هستند که کاربرد بسیار گسترده، وسیع و متنوعی در صنعت و دانش دارند. به ویژه، امروزه در شبیهسازیهای پیشرفته، ورودی بسیار جدی و موفق داشتهاند. به جرئت میتوان ادعا نمود که بخش عمدهای از شبیهسازیهای روز دنیا، با استفاده از آنها صورت میپذیرد. لذا، یادگیری صحیح، اصولی و جامعشان برای هر پژوهشگر یا متخصص صنعت، بسیار حائز اهمیت میباشد.
در دوره جامع کاربرد شبکههای عصبی در روش اجزای محدود، برای نخستین بار در میان مجموعههای آموزشی داخلی و خارجی، به تدوین سرفصلهای ترکیبی میان شبیهسازی و شبکههای عصبی پرداخته شده است تا دانشجو پس از گذراندن آنها، به سادگی بتواند از مهارتهای کسبشده در پژوهشها، پروژههای صنعتی و هر زمینهی تخصصی دیگر، بهرهمند گردد.
در روش اجزای محدود، محاسبات بر پایه جبر خطی و فرآیندهای تکرارشونده بنا شدهاند. لذا، به منظور درک مناسبتر از فضای حل مسائل، نیز استفاده مفید و موثر از تئوریها، میبایست آنها را با استفاده از رایانه، پیادهسازی نمود. بدین منظور، یکی از مناسبترین ابزارها، نرمافزار MATLAB میباشد. ساختار Scriptی، نزدیک بودن Scriptها به زبان انسان و سهولت پیادهسازی انواع عملگرهای ریاضیاتی، MATLAB را تبدیل به یکی از اجزای جدا ناشدنی جامعه مهندسی نموده است. لذا، در این دوره، ابتدا به منظور آشنایی اولیهی دانشجویان عزیز با MATLAB، استفاده از این غول محاسباتی آموزش داده شده است. درباره این فصل، لازم است دو نکته را بدانیم. اول آنکه تنها آن دسته از ابزارهای محاسباتیِ مورد نیاز در آن تدریس شده است و به منظور جلوگیری از اتلاف وقت و یادگیری مباحث غیر کاربردی، از بیان مسائل کامپیوتری صِرف، اجتناب شده است. نکته دوم آنکه، این فصل شامل مفاهیم پایه میباشد و در فصول آتی، هر کجا نیاز به استفاده از یک ابزار اختصاصی یا نکته ویژهای باشد، موضوع در همان فصل، به صورت جامع توضیح داده خواهد شد. یادگیری این فصل، کلید ورود به مباحث شبکههای عصبی مصنوعی و روش اجزای محدود، به صورت توامان میباشد.
یکی از مهمترین روشهای عددی در شبیهسازی انواع مسائل، روش اجزای محدود میباشد. اگرچه این روش بسیار عمیق و مبتنی بر تئوریهای پیچیده است. نیز، اگرچه این روش در طیف گستردهای از مسائل کاربرد دارد، که بیان تمامی تئوریها و کاربردهای آن شاید نیازمند ساعتها تدریس تخصصی باشد، اما، چارچوبها و ساختارهای کلی این روش، میان همه مسائل یکسان است. لذا طی این فصل به بررسی ساختارهای آن و ذکر گام به گام مراحل آن، خواهیم پرداخت. به منظور شناخت بهتر از نحوه کارکرد روش اجزای محدود و نیز قدرت آن در حل مسائل، به پیادهسازی انواع مسائل یکبعدی، دوبعدی و سهبعدی خواهیم پرداخت که در این پیادهسازی مفاهیم ارائه شده در فصل اول، به صورت مستقیم به کار خواهند آمد. همچنین در انتهای این فصل، با توجه به درک صحیحی که از روش اجزای محدود پیدا کردهایم، خواهیم یافت که شبکههای عصبی مصنوعی، در کدام بخش یا بخشهای آن قابلیت ورود داشته و فلسفه این ورود چه خواهد بود.
شبکههای عصبی چندلایه پرسپترون یا Multi-Layer Perceptron، متداولترین نوع شبکههای عصبی در کاربردهای مهندسی هستند که فلسفه و تئوری این شبکهها، مشترک با دیگر شاخههای یادگیری ماشین (Machine Learning)، به ویژه در شاخه یادگیری نظارتشده (Supervised Learning) میباشد. لذا یادگیری دقیق، عمیق و صحیح مباحث مرتبط با تئوری آن، از چند جنبه حائز اهمیتِ بسیار بالایی است. در این فصل، به طور مفصّل تئوری و پیادهسازی این نوع شبکههای عصبی را واکاوی نموده و با یکدیگر، گام به گام، حل مسائل ساده تا پیچیده را بررسی خواهیم نمود.
اگرچه شبکههای عصبی MLP، بسیار جامع و پرکاربرد در حل انواع مسائل، از جمله مسائل مهندسی میباشند، اما، دارای نقاط ضعف قابل توجهی نیز هستند که میبایست آنها را به درستی شناخت و در مسائلی که دارای برخی چالشهای اختصاصیاند، به دنبال بهبود آنها بود. به نظر میرسد خلا قابل توجهی در شناخت جایگزینهای شبکههای عصبی MLP، در میان کاربران وجود دارد. زیرا در بسیاری از موارد، استفاده ناصحیح از آنها مشاهده میگردد. در این فصل، ضمن شناخت دقیق نقاط قوت و ضعف این نوع شبکهها، به بررسی تفصیلی و موشکافانه شبکههای قدرتمند RBF، پرداخته شده است. مشابه با فصل سوم، در این فصل نیز، انواع مسائل پیادهسازی و تحلیل خواهند شد.
تاکنون متوجه شدهایم که علیرغم قدرت بسیار بالای شبکههای عصبی و در حل مسائل، وجود سه نکته، استفاده گسترده از این شبکهها را محدود مینماید. لزوم وجود دادههای فراوان، زمان زیاد جهت تنظیم مقادیر شبکه (بهینهسازی) و عدم تعیین دقیق مرزهای تصمیم مساله، عواملی هستند که به منظور گسترده نمودن کاربردهای شبکههای عصبی مصنوعی در انواع مسائل، نیاز به بازنگری اساسی دارند. مفهوم Kernel، آغازی بر بهبود موارد فوق بود که در نهایت منجر به توسعه شبکههای عصبی SVM، گردید. موضوعی که در فصل حاضر به تفصیل و با جزئیات دقیق، آموزش داده شده است. همچنین، مانند فصول گذشته، انواع مسائل، پیادهسازی و تحلیل گردیدهاند تا فرآیند یادگیری دانشجویان، هموارتر از گذشته گردد.
ورود به دنیای هوش مصنوعی، بدون تسلط بر زبان برنامهنویسی Python، در عمل امکانپذیر نخواهد بود. اکنون که به نحو شایستهای با تئوری شبکههای عصبی و نحوه پیادهسازی آنها آشنا شدهایم، شایسته است تا به دنیای برنامهنویسی Python هم ورودی جدی داشته باشیم. در این فصل، با یکدیگر اصول برنامهنویسی در پایتون را به همراه بررسی انواع متعددی از مثالها خواهیم آموخت. همچنین، کتابخانههای محاسبات علمی آن را نیز به تفصیل خواهیم شناخت تا هیچگونه خلائی در ادامه مسیر، برایمان وجود نداشته باشد.
یکی از غولهای محاسباتی در زمینه یادگیری ماشین، کتابخانه Scikit Learn میباشد. خواهیم دید تنها با نوشتن چند خط کد ساده، مراحل پیچیده گذشته را به سهولت به انجام خواهیم رساند و بیش از پیش از برنامهنویسی، Python، شبکههای عصبی و هوش مصنوعی لذت خواهیم برد. در این فصل، بررسی انواع مسائل Classification و Regression را با یکدیگر تجربه خواهیم نمود
تاکنون، هر آنچه میبایست از تئوری و پیادهسازی، چه در نرمافزار MATLAB و چه در زبان برنامهنویسی Python، بدانیم را به خوبی و عمیق فرا گرفتهایم. اکنون نوبت آن است تا تنها چالش باقیمانده، یعنی تولید دادگان را مرتفع نماییم. بهترین راه حل، استفاده از یک نرمافزار به منظور تولید دادگان مورد نیاز مسالهمان است. اما برای این هدف، لازم است تا فرآیندهای ساخت مدل، بارگذاری، تعریف مساله، استخراج نتایج و… را خودکار نماییم. فرآیندی که با Scriptنویسی، به سادگی هرچه تمامتر به انجام خواهد رسید. موضوعی که محور اصلی فصل حاضر را تشکیل خواهد داد.
اکنون، میبایست تمامی آنچه که فرا گرفتهایم را در قالب یک پروژه بسیار حرفهای و به نسبت پیچیده، ارزیابی نماییم. یک مسالهی چند فیزیکیِ همزمانِ مکانیکی- حرارتی را با استفاده از شبکههای عصبی، به راحتی شبیهسازی خواهیم نمود. همین!
اگر دوره را بدون بررسی مسائل بهینهسازی به اتمام برسانیم، گویی نمکی در غذا و چیز مهمی در دوره کم است! به جرئت میتوان ادعا نمود که هیچ صنعتی نیست تا با بهینهسازی سر و کار نداشته باشد. لذا، بسیار حائز اهمیت است تا بتوانیم با استفاده از مفاهیم فرا گرفته شده، به شبیهسازی این نوع از مسائل نیز بپردازیم. موضوعی که در فصل حاضر و به عنوان پروژه پایانی دوره، به طور مفصل بررسی گردیده است
دوره جامع کاربرد شبکههای عصبی در روش اجزای محدود، بر اساس ویرایش دوم کتاب Neural Networks, A Comprehensive Foundation، نوشته Simon Haykin، در بخش شبکههای عصبی و فصلهایی منتخب از ویرایش ششم کتاب A First Course in the Finite Element Method، نوشته Daryl Logan، در بخش روش اجزای محدود، طراحی و در 6 فصل (6 ساعت)، ارائه گردیده است. در تمامی فصلها، تئوریها به صورت کامل تدریس و با استفاده از نرمافزار MATLAB پیادهسازی گردیدهاند. با توجه به اهمیت زبان برنامهنویسی Python، نیز لزوم استفاده از نرمافزارهای شبیهسازی در تولید دادگان مورد استفاده شبکههای عصبی، در فصلی جداگانه اصول برنامهنویسی Python، به همراه نحوه Scriptنویسی در نرمافزار ABAQUS، به منظور تولید خودکار دادگان مساله، به صورت کامل آموزش داده شده است.