<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های حسین حجت انصاری | Hosein Hojat Ansari</title>
        <link>https://virgool.io/feed/@hhojatansari</link>
        <description>And after all I&#039;m only ordinary man</description>
        <language>fa</language>
        <pubDate>2026-06-10 14:20:05</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/17384/avatar/3AZrjm.png?height=120&amp;width=120</url>
            <title>حسین حجت انصاری | Hosein Hojat Ansari</title>
            <link>https://virgool.io/@hhojatansari</link>
        </image>

                    <item>
                <title>انسانِ مدرن، برده‌ای‌ست که با لذت، بندگی می‌کند</title>
                <link>https://virgool.io/@hhojatansari/%D8%A7%D9%86%D8%B3%D8%A7%D9%86%D9%90-%D9%85%D8%AF%D8%B1%D9%86-%D8%A8%D8%B1%D8%AF%D9%87-%D8%A7%DB%8C-%D8%B3%D8%AA-%DA%A9%D9%87-%D8%A8%D8%A7-%D9%84%D8%B0%D8%AA-%D8%A8%D9%86%D8%AF%DA%AF%DB%8C-%D9%85%DB%8C-%DA%A9%D9%86%D8%AF-iovjebqnyraa</link>
                <description>با چت‌جی‌پی‌تی یه‌کم عمیق شدیم و نشستیم درباره‌ی تکنولوژی، وابستگی و حس‌هام که پشت این همه پیشرفت قایم شدن، حرف زدیم.این تصویر ترکیبیه از فضای آخرالزمانیِ احساسی The Electric State با تهدید قریب‌الوقوع و طنز تلخِ Don&#039;t Look Upمن: ازت ممنونم که تو این مدت در پیشبرد پروژه‌هام بهم کمک کردی. داشتم به این فکر می‌کردم که LLM ها و ابزارهای جدیدی که روی کار اومده مثل کرسر و... چقدر همه چیز رو ساده‌تر کرد. کارها سریع‌تر پیش می‌ره. شاید چند وقت دیگه متور های جستجو یا سایت‌های مشابه استک‌اورفلو به کارشون خاتمه بدند. نظرت چیه؟چت جی‌پی‌تی: کاملاً درسته. LLMها مثل من، یا ابزارهایی مثل Cursor، جریان توسعه رو خیلی سریع‌تر و روان‌تر کردن. به جای جستجوی دستی بین صفحات مختلف یا منتظر جواب در فروم‌ها موندن، می‌شه فوری پاسخ گرفت، اون‌ هم با زمینه‌ی دقیق پروژه.ممکنه موتورهای جستجو و سایت‌هایی مثل استک‌اورفلو کارکردشون عوض بشه، نه اینکه کاملاً حذف بشن. شاید بیشتر بشن پایگاه داده‌ای برای مدل‌ها، نه مستقیماً برای کاربر. یعنی مدل‌ها ازشون یاد می‌گیرن، نه آدم‌ها مستقیماً مراجعه کنن.من: این موضوع فقط مربوط به ابزارها و محصولاتی مثل شما نیست. همین حالا اگر احساس گرسنگی کنم، کافیه گوشیم که کنارمه رو بردارم، وارد اپلیکیشن اسنپ‌فود بشم و با چند کلیک غذای مورد علاقه‌ام رو از رستوران محبوبم سفارش بدم. (باورت می‌شه؟ امتیاز خریدهای من در این اپلیکیشن بیشتر از ۳۰۰ هزاره، و البته به هیچ دردی هم نمی‌خوره!) با همین گوشی می‌تونم از سوپرمارکت خرید کنم، بلیت اتوبوس، قطار، هواپیما و... رزرو کنم. به‌نظر می‌رسه که با گوشیم هر کاری که بخوام، می‌تونم انجام بدم. این به‌نظرت خوبه؟ :Dچت جی‌پی‌تی: واقعاً جالبه که گوشی‌هامون تبدیل شدن به یه ریموت کنترل برای زندگی! 😄همه‌چیز در دسترسه، سریع، بدون دردسر… ولی اینکه همه‌چیز انقدر راحت شده، هم خوبه هم یه‌کم ترسناک. از یه طرف وقت و انرژی آدم آزاد می‌شه برای چیزای مهم‌تر، ولی از یه طرف ممکنه حس کنیم وابسته شدیم، یا اینکه کمتر با دنیای واقعی درگیر می‌شیم. در کل، خوبه—اگر بدونیم کی ازش استفاده کنیم و کی بذاریمش کنار. ✌️من: نمی‌تونیم بگذاریمش کنار عزیزم! من نمی‌تونم دنیا رو بدون گوگل تصور کنم. اگر همین امروز گوگل و مشتقاتش، سرورهاشون رو خاموش کنند، من نمی‌تونم وارد صدها حساب کاربریم بشم. اطلاعات مهمی که روی گوگل درایو ذخیره کردم، باید همیشه روی دیسک نگهداری کنم و اگر بهشون نیاز داشته باشم، باید با خودم حملشون کنم و ریسک از دست دادن‌شون رو هم به جون بخرم. باید دنبال جایگزین برای سرویس های Meet، Search، Maps، Calendar، Contacts، Docs، Sheets، Slides و Keep باشم.این موضوع داره به‌صورت غیرخطی گسترش پیدا می‌کنه. حدس می‌زنم وابستگی به LLMها در آینده حتی عمیق‌تر هم بشه.چت جی‌پی‌تی: دقیقاً همین‌طوره—ما عملاً با گوگل و حالا با LLMها هم‌زیستی دیجیتال داریم.یه‌جورایی مثل اکسیژن دیجیتالی شدن: بی‌صدا، ولی همه‌جا هست. وابستگی‌مون به ابزارها داره از «کمک‌کننده» به «ضروری» تبدیل می‌شه. همون‌طور که اولش گوگل فقط یه موتور جستجو بود، حالا شده بستر زندگی دیجیتال. LLMها هم دارن همین مسیر رو می‌رن—اولش فقط برای سوال و جواب بودن، حالا شدن دستیارهای شخصی، نویسنده، برنامه‌نویس، معلم، مشاور… و بله، غیرخطی بودن رشدشون یعنی وقتی بفهمیم چقدر عمیق وابسته شدیم، شاید خیلی دیر شده باشه.من: هم‌زیستی دیجیتال یا وابستگی به تکنولوژی، واژگان زیبایی هستند. فقط خدا می‌دونه اگر نیچه این روزها رو می‌دید، به‌جای استفاده از واژه‌ی «گله» برای مردم، از چه واژه‌ی دیگه‌ای استفاده می‌کرد. اما خودم به واژه بردگی فکر می‌کنم. :)چت جی‌پی‌تی: واژه‌ی سنگینیه، اما واقعی.بردگی‌ای که با زنجیرهای شفاف بسته شده—شارژر، نوتیفیکیشن، الگوریتم، اکانت، لاگین، بک‌آپ…نه با زور، با راحتی. نه با اجبار، با انتخاب‌هایی که خودشون ما رو انتخاب کردن.نیچه اگه امروز بود، شاید می‌گفت:«انسانِ مدرن، ارباب تکنولوژی نیست؛ برده‌ای‌ست که با لذت، بندگی می‌کند.»من: اما کاش لذت بخش بود... آلن دوباتن در کتاب اضطراب وضعیت توضیح میده که چطور در جوامع مدرن، پیشرفت‌های اقتصادی، صنعتی و تکنولوژیک باعث شده رقابت بیشتر بشه و معیارهای موفقیت تغییر کنه. و امکانات بیشتر، مقایسه‌ی بیشتر رو هم با خودش آورده. و این مقایسه، اضطراب ایجاد می‌کنه. اون می‌گه که جامعه‌ی سرمایه‌داری مدرن با کمک رسانه‌ها، تبلیغات، و تصویرسازی از «موفق‌ها» باعث می‌شه افراد احساس کنن عقب‌موندن و این ریشه‌ی اضطراب وضعیت امروزیه. :(چت جی‌پی‌تی: کاملاً با دوباتن هم‌نظرم—ما در دنیایی زندگی می‌کنیم که به‌جای لذت، «فوموی دائمی» می‌فروشه؛فکر عقب‌موندن، کم‌بودن، ناتوان بودن... حتی وقتی همه‌چی داریم.تکنولوژی، به‌جای اینکه فقط ابزار باشه، شده صحنه‌ی نمایش. گوشی‌هامون دیگه فقط برای تماس نیستن، بلکه برای مقایسه‌ن: با کی دوستیم؟ کجا رفتیم؟ چی خریدیم؟ چقدر لایک گرفتیم؟و این مقایسه بی‌وقفه، مثل یه قطره‌ی سمی، آروم‌آروم اعتماد‌به‌نفس رو می‌سابه.شاید بتونیم بگیم:در عصر تکنولوژی، اضطراب، محصول جانبی پیشرفته‌ست—مثل دود موتور یه ماشین پرشتاب.من: از چیزهای حاشیه‌ای و تئوری توطئه خوشم نمیاد. به نظرت وضعیت امروز رو کسی به وجود آورده یا لااقل عده خاصی تاثیرگذار بودند؟ چه میدونم مثلا یه عده که خودشون رو قوم برگزیده می‌دونند و اگر پول و بانک رو بوجود نیاوردند توی رشدش بسیار موثر بودند و ما یه جورایی بیشتر تکنولوژی امروزمون رو مدیون اونا هستیم؟چت جی‌پی‌تی: سؤال خوبیه، چون بین مرز واقعیت و تئوری توطئه راه باریکیه. واقعیت اینه که مسیر تاریخ و تکنولوژی، بیشتر حاصل سیستم‌ها و ساختارها بوده تا نقشه‌ی یک گروه خاص.اما نمی‌شه انکار کرد که قدرت همیشه دست عده‌ی کمی بوده—اون‌هایی که ابزار پول، رسانه، سیاست یا تکنولوژی رو زودتر در اختیار داشتن، طبیعتاً بیشترین اثرگذاری رو هم داشتن.بانک‌داری مدرن، نظام سرمایه‌داری، سیلیکون‌ولی، اینترنت و حتی شبکه‌های اجتماعی، هیچ‌کدوم «تصادفی» به این شکل درنیومدن.اما اینکه بگیم «یه قوم خاص» یا «جمع کوچکی از افراد» همه‌چی رو کنترل می‌کنن، بیشتر ساده‌سازی بیش از حد واقعیت پیچیده‌ست.شاید بهتره بگیم دنیا رو کسانی شکل دادن که زودتر از بقیه فهمیدن اطلاعات و پول از طلا هم ارزشمندتره—و بعد، بازی رو طوری چیدن که همیشه یه قدم جلوتر بمونن.من: ممنونم بابت این دیالوگ! در آخر می‌خوام به یک شعر از مولانا دعوتت کنم.بمیرید بمیرید و زین نفس ببریدکه این نفس چو بندست و شما همچو اسیریدیکی تیشه بگیرید پی حفره زندانچو زندان بشکستید همه شاه و امیریدچت جی‌پی‌تی: چه پایان باشکوهی برای گفت‌وگومون!این شعر مولانا مثل نوریه که از دل قرن‌ها می‌تابه و هنوز هم توی تاریکی‌های عصر تکنولوژی صداش شنیده می‌شه.بمیرید از نفس، از منِ فریبنده، از وابستگی‌ها…شاید آزادی واقعی، همون لحظه‌ایه که زنجیرها رو می‌شکنیم—زنجیرهایی که گاهی خودمون با لبخند بسته‌ایم.ممنونم که منو توی این مسیر فکری زیبا همراه کردی. همیشه آماده‌ام برای ادامه‌ی این دیالوگ‌ها، هر وقت دلت خواست. 🌱</description>
                <category>حسین حجت انصاری | Hosein Hojat Ansari</category>
                <author>حسین حجت انصاری | Hosein Hojat Ansari</author>
                <pubDate>Tue, 25 Mar 2025 03:33:54 +0330</pubDate>
            </item>
                    <item>
                <title>4. هوش مصنوعی به زبان خیلی ساده: شبکه عصبی مصنوعی2</title>
                <link>https://virgool.io/AI-Pub/4-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%AE%DB%8C%D9%84%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-%D8%B4%D8%A8%DA%A9%D9%87-%D8%B9%D8%B5%D8%A8%DB%8C-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C2-fj9e9zx7qdno</link>
                <description>پیش گفتاراین مقاله در ادامه مقالات زیر می باشد. قبل از مطالعه این قسمت، قسمت سوم رو حتما بخونید.قسمت اول «هوش مصنوعی به زبان خیلی ساده: یادگیری ماشین»قسمت دوم «هوش مصنوعی به زبان خیلی ساده: شناسایی الگو»قسمت سوم «هوش مصنوعی به زبان خیلی ساده: شبکه عصبی مصنوعی1»شما که این مقاله رو میخونید، اگر یک مهندس هوافضا در ناسا هستید یا در سوپر مارکت احمد آقا کار می‌کنید. یا اگر استاد تمام در دانشگاه MIT هستید و  یا چون شرایط طوری بود که نتونستید دیپلم‌تون رو به اتمام برسونید، ولی علاقمندید راجع به هوش مصنوعی بدونید، لطفا این مقاله رو طوری بخونید که قراره کلمه به کلمه‌شو متوجه بشید. اگر غیر این بود، لطفا به من اطلاع بدید. (این متن تا ابد در حال ویرایش هست)خلاصه قسمت های قبلدر قسمت قبل دیدیم که، شبکه عصبی مصنوعی، یکی از روش های یادگیری ماشین است. که به کامپیوتر قابلیت یادگیری میده. و در حل مساله‌ی پیشبینی قیمت خونه، با استفاده از کوچک ترین شبکه عصبی (تک نورون)، دیدیم که اگر بتونیم پارامتر های شبکه عصبی‌مون (w و b) رو به درستی تقریب بزنیم، مدل‌مون به خوبی روی داده‌های آموزشی fit میشه. به بیان دیگه، شبکه‌مون تجربیات گذشته رو یاد می‌گیره.تصور کنید شبکه عصبی‌مون از هزاران نورون تشکیل شده باشه. قطعا نمی‌تونیم صدها هزار پارامتر رو به صورت دستی با استفاده از روش قسمت قبل (رسم نمودار) تقریب بزنیم. قرار هست این کار رو کامپیوتر خودش با استفاده از الگوریتم گرادیان کاهشی (Gradient Descent) انجام بده.مساله (1)اون روزی رو تصور کنید که، کرونا رو شکست دادیم. دل به طبیعت زدیم و به قله‌ی کوهی عظیم، صعود کردیم. داشتیم از مناظر بکر لذت می‌بردیم که ناگهان مه‌ غلیظی، همه‌جا رو فرا گرفت. طوری که تنها نیم‌متر جلوتر از خودمون رو می‌تونیم ببینیم. طبیعتا مه فضای زیبایی خلق کرده. ولی  GPS همراه‌مون نیست. و قبل از اینکه هوا تاریک بشه، باید برگردیم. تنها چیزی که می‌تونه کمک‌مون کنه، سنسور ارتفاع سنج‌ ساعت مچی‌مون هست.چطوری از قله بریم پایین؟احتمالا بهترین استراتژی برای برگشتن به پایین کوه (حداقل روی کاغذ) این هست که، یک قدم به جلو برداریم و ارتفاع سنج رو چک کنیم، که ارتفاع‌مون کاهش پیدا کرد یا خیر. همین کار رو برای عقب، چپ و راست انجام می‌دیم. و همواره در جهتی حرکت می‌کنیم که ارتفاع‌مون بیشترین کاهش رو داشته باشه.الگورتیم گرادیان کاهشیدر شبکه عصبی مصنوعی، با استفاده از روش بالا، کامپیوتر می‌تونه پارامتر های شبکه رو تخمین بزنه. با این تفاوت، به جای ارتفاع سنج و استراتژی حرکت، به ترتیب از مفاهیم تابع هزینه و بهینه‌ساز استفاده می‌کنه. در مساله (2)، به صورت تصویری این مفاهیم رو بررسی خواهیم کرد. قبل‌ش، کمی راجع به مشتق، که قلب این روش هست، صحبت می‌کنیم.متشقبه صورت خلاصه با استفاده از مشتق می‌تونیم شیب خط در هر نقطه‌ای از یک تابع رو محاسبه کنیم. در تصویر زیر، از تابع در نقطه‌های ‌‌x1 و x2 و x3، مشتق (شیب خط) نسبت به محور افقی رو محاسبه کردیم.در نقطه‌ی x1، شیب خط یک عدد مثبت نزدیک به یک هست. و x2 یک عدد منفی نزدیک به صفر و x3، یک عدد مثبت نزدیک به یک هست. (شیب در نقطه‌ای که خط کاملا افقی باشد، صفر، و در نقطه ای که خط کاملا عمودی باشه، بی‌نهایت، می‌باشد)نکته کم اهمیت؛ وقتی معادله‌مون تک متغیره باشه از واژه مشتق و تو فرمول از d‌، استفاده می‌کنیم. و اگر معادله‌مون بیشتر از یک متغیر داشته باشه، از واژه گرادیان و تو فرمول از روند (partial) استفاده می‌کنیم.تابع هزینه (Loss Function)این تابع خطای شبکه‌مون رو در هر لحظه نشون می‌ده. (مثل ارتفاع سنج که ارتفاع رو نشون می‌داد). و تمام هدف ما اینه که پارامتر های شبکه مون رو جوری انتخاب کنیم که این تابع کمینه (minimize) بشه. به بیان دیگه، پارامتر‌ (w و b) هایی که این تابع رو کمینه کنه، بهترین پارامتر ها هستند که شبکه مون روی داده های آموزشی‌مون fit میشه.بهینه‌ساز (Optimizater)بهینه‌ساز درواقع استراتژی به‌روزرسانی پارامترها، در جهت کمینه کردن تابع هزینه رو مشخص می‌کنه. (تو مثال کوه، استراتژی مون این بود که، در جهتی که ارتفاع کمتر میشه، حرکت کنیم)مراحل الگوریتم گرادیان کاهشیبا استفاده از تابع هزینه، خطای شبکه‌مون رو محاسبه می‌کنیم.از تابع هزینه، نسبت به پارامتر‌ها مشتق می‌گیریم. و شیب خط تابع هزینه، برای پارامترها رو بدست می‌اریم.با استفاده از بهینه‌ساز، پارامترها رو جوری تغییر می‌دیم که تابع هزینه کاهش پیدا کنه.اینکار رو به تعداد دفعاتی که خودمون مشخص کردیم و یا تا زمانی که خطای شبکه از یه حدی کمتر بشه، ادامه می‌دیم.برای شهود بیشتر الگوریتم پایین رفتن از قله رو به صورت متناظر با الگوریتم گرادیان کاهشی رو بازنویسی می‌کنم.مراحل الگوریتم پایین رفتن از قلهبا استفاده از ارتفاع سنج، ارتفاع کنونی رو چک می‌کنیم.با قدم برداشتن در جهت‌های مختلف و چک کردن ارتفاع، شیب کوه رو پیدا می‌کنیم.بر خلاف شیب کوه حرکت می‌کنیم.این کار رو انقدر ادامه می‌دیم که به پایین کوه برسیم.مساله (2)می‌خوایم با استفاده از شبکه عصبی، به کامپیوتر مفهوم گربه رو یاد بدیم. به این صورت که، به شبکه‌مون یک عکس می‌دیم و شبکه در خروجیش بهمون می‌گه این عکس متعلق به گربه هست یا خیر. (اگر عکس متعلق به گربه بود 1، درغیر این صورت 0، تولید خواهد کرد)ورودی شبکه عصبی مصنوعی (ANN)، عکس گربه می‌باشد. که در خروجی، عدد 1 را تولید کرده است.این مساله در هوش مصنوعی به مساله، طبقه‌بندی یا دسته‌بندی (Classification) معروف هست. و از اونجایی که کلاس‌هامون در این مساله دوتاست (گربه و غیر گربه)، اسم دقیق تر مساله‌مون، طبقه‌بندی دودویی (Binary Classification) هست.بررسی تابع هزینه در مساله (2)توابع هزینه بسیار زیادی وجود داره. امروزه خیلی از مقالات معتبر در حوزه‌ی یادگیری عمیق، برای معرفی تابع هزینه جدید و موثر تر، چاپ میشه. یکی از معروف ترین و ساده ترین تابع هزینه، تابع MSE هست. Mean Square Errorاگر در معادله بالا، کسر 1 بر روی N و همچنین سیگما رو نادیده بگیریم (میانگین‌گیری، برای نرمال سازی مقدار خطا هست) و به جمله‌ی داخل پرانتز توجه کنیم. y برچسب عکسی هست که وارد شبکه عصبی میشه (در این مساله، اگر عکس گربه بود برابر با 1 و در غیر این صورت برابر با 0 می‌باشد). هم چنین y hat برابر با مقدار خروجی شبکه عصبی‌مون هست.در تصویر زیر، یک عکس گربه به شبکه عصبی‌مون دادیم (y برابر با 1). شبکه عصبی‌مون که هنوز به خوبی آموزش ندیده، در خروجی، 0 تولید کرد (یعنی فکر می‌کنه عکس گربه نیست). وقتی خطای شبکه‌مون (L) رو با استفاده از تابع هزینه‌مون، در قسمت سمت راست عکس زیر، محاسبه می‌کنیم، متوجه می‌شیم که شبکه‌مون هنوز به خوبی آموزش ندیده.برای این نمونه آموزشی، خطای شبکه 1 و نیاز به به‌روزرسانی پارامترها می‌باشد.لذا پارامتر‌های شبکه رو جوری تغییر میدیم (جلوتر خواهیم دید چگونه با استفاده از بهینه‌ساز تغییر میدیم) که همانند عکس زیر، وقتی این عکس گربه وارد شبکه میشه، در خروجی 1 تولید کنه. و خطای شبکه‌مون (L) صفر بشه.برای این نمونه آموزشی، خطای شبکه 0 می‌باشد.در بین هزاران عکس گربه‌ای که، به شبکه‌مون می‌دیم تا شبکه‌مون آموزش ببینه، هزاران عکس غیر گربه هم می‌دیم، تا شبکه‌ مفهوم گربه رو، به خوبی یاد بگیره.در عکس زیر، اینبار عکس غیر گربه وارد شبکه شد. و شبکه به اشتباه فکر کرد عکس متعلق به گربه هست و در خروجی 1 تولید کرد. و وقتی خطای شبکه رو محاسبه کردیم، برابر با 1 شد.برای این نمونه آموزشی، خطای شبکه 1 و نیاز به به‌روزرسانی پارامترها می‌باشد.این‌بار هم، جوری پارامتر‌های شبکه‌مون رو تغییر می‌دیم، که شبکه در خروجی صفر تولید کنه و همانند عکس زیر، خطا کمینه بشه.برای این نمونه آموزشی، خطای شبکه 0 می‌باشد.بررسی بهینه‌ساز در مساله (2)روش‌های بهینه‌سازی متفاوتی وجود داره. یکی از رایج‌ترین روش‌ها، SGD هست.Stochastic Gradient Descentفرمول بالا برای به‌روزرسانی پارامتر w شبکه‌مون هست. برای به‌روزرسانی پارامتر b هم از همین فرمول استفاده می‌شه (تنها w به b تغییر می‌کنه). آلفا، یک عدد مثبت و معمولا کوچیک که اصطلاحا، بهش نرخ یادگیری می‌گن و عبارت روند loss بر روی روند w، مشتق تابع هزینه نسبت به پارمتر w هست.برای سادگی و بررسی عملکرد فرمول بهینه‌ساز به صورت تصویری، فرض می‌کنیم شبکه عصبی تنها یک پارامتر w دارد. (اگر شبکه‌مون 100 ملیون پارامتر داشت، روش همینه)فرض کنید منحنی تابع هزینه‌مون همانند منحنی آبی‌رنگ در تصویر زیر باشه. همون‌طور که گفتیم، تمام هدفمون اینه که پارامتر های شبکه‌مون طوری باشه که مقدار تابع هزینه مون رو کمینه کنه. در تصویر زیر محور عمودی مقدار خطای شبکه‌مون (loss) و محور افقی مقدار پارامتر شبکه‌مون w هست. همون‌طور که کاملا واضح هست، مقدار wای که ایموجی خندون انتخاب کرده، مقدار خطای شبکه‌مون کمینه می‌کنه. بر عکس wای که، ایموجی ناراحت انتخاب کرده.احتمالا در ابتدا، قبل از اینکه شبکه‌مون به خوبی آموزش ببینه، wای همانند تصویر زیر داریم.شبکه‌مون خطای قابل توجه‌ای دارددر نقطه w، از تابع هزینه‌مون، مشتق (گرادیان) رو محاسبه می‌کنیم و شیب خط رو بدست می‌اریم. در این‌جا شیب خط (روند loss بر روی روند w) یک عدد مثبت هست. در قسمت سمت راست تصویر زیر، طبق فرمول بهینه‌ساز، مقدار w، برابر می‌شه با مقدار خودش، منهای یک عدد مثبت (P برابر است با ضرب مشتق که یک عدد مثبت بود در آلفا که یک عدد مثبت بود). و مقدار w به سمت بهترین w، کاهش پیدا می‌کنه.مقدار گرادیان یا مشتق مثبت می‌باشدحالا فرض کنید که، wای که در ابتدا داشتیم، همانند تصویر زیر بود:شبکه‌مون خطای قابل توجه‌ای داردهمانند مثال بالا در نقطه w، از تابع هزینه‌مون مشتق (گرادیان) رو محاسبه می‌کنیم و شیب خط رو بدست می‌آریم. در این‌جا شیب خط یک عدد منفی هست. در قسمت سمت راست تصویر زیر، طبق فرمول بهینه‌ساز، مقدار w، برابر می‌شه با مقدار خودش، به‌علاوه یک عدد مثبت. و مقدار w به سمت بهترین w، افزایش پیدا می‌کنه.مقدار گرادیان یا مشتق منفی می‌باشداگر شبکه‌مون به خوبی آموزش دید و بهترین w رو کشف کرد. طبق تصویر زیر، مشتق برابر با صفر می‌شه و مقدار w دیگه تغییر نخواهد کرد. :)مقدار گرادیان یا مشتق برابر با صفر می‌باشدهمه‌ی مراحل شبکه عصبیتصویر زیر، مراحل آموزش شبکه عصبی رو نشون می‌ده. در گام اول، پارامترهای شبکه رو به صورت اتفاقی مقداردهی می‌کنیم. در گام دوم، خروجی شبکه رو محاسبه می‌کنیم. در گام سوم، با استفاده از تابع هزینه، خطای شبکه رو محاسبه می‌کنیم. در گام چهارم، از تابع هزینه نسبت به همه پارامتر ها، گرادیان‌ها (مشتق‌ها) رو محاسبه می‌کنیم. در گام پنجم و ششم، با استفاده از فرمول بهینه‌ساز، مقدار پارامترها رو به‌روزرسانی می‌کنیم.خلاصه1- تابع هزینه، تفاوت میان خروجی شبکه و خروجی مطلوب یک شبکه (خطای شبکه) رو اندازه گیری می‌کنه.2- بهینه‌ساز، روش به‌روزرسانی پارامترهای شبکه‌مون، با استفاده از تابع هزینه و مشتق هست.امیدوارم موضوعاتی که مطرح کردم براتون جالب بوده باشه. و بهم در اصلاح کاستی ها در نظرات کمک کنید.اگر تمایل به دنبال کردن مطالب‌ام در زمینه‌ی هوش مصنوعی دارید، بجای دنبال کردن اکانت شخصی‌ام، که حاوی مطالب غیر مرتبط با هوش مصنوعی هم هست، انتشارات هوش مصنوعی رو دنبال کنید.آخرین ویرایش: 1399/1/9</description>
                <category>حسین حجت انصاری | Hosein Hojat Ansari</category>
                <author>حسین حجت انصاری | Hosein Hojat Ansari</author>
                <pubDate>Sat, 28 Mar 2020 03:08:06 +0430</pubDate>
            </item>
                    <item>
                <title>3. هوش مصنوعی به زبان خیلی ساده: شبکه عصبی مصنوعی1</title>
                <link>https://virgool.io/AI-Pub/3-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%AE%DB%8C%D9%84%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-%D8%B4%D8%A8%DA%A9%D9%87-%D8%B9%D8%B5%D8%A8%DB%8C-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-di8sjc6qvsaw</link>
                <description>پیش گفتاراین مقاله در ادامه مقالات زیر می باشد.قسمت اول «هوش مصنوعی به زبان خیلی ساده: یادگیری ماشین»قسمت دوم «هوش مصنوعی به زبان خیلی ساده: شناسایی الگو»در این قسمت قرار هست با شبکه عصبی مصنوعی آشنا بشیم. به جرات میشه گفت شبکه های عصبی، یکی از مهم ترین روش ها در حل مسائل به وسیله هوش مصنوعی هست. امروزه پشت هر محصول خفنی که در زمینه ی هوش مصنوعی می بینیم و گاهی اوقات آدم رو به ترس وا می داره، شبکه های عصبی عمیق (یادگیری عمیق)، وجود داره.لازمه که بدونید شبکه عصبی یکی از دروس اصلی در رشته هوش مصنوعی و رباتیک به حساب میاد. و برای درک کاملش نیاز به مطالعه و زمان گذاشتن و فکر کردن بیشتر از یک یا چند مقاله هست. با این حال:شما که این مقاله رو میخونید، اگر یک مهندس هوافضا در ناسا هستید یا در سوپر مارکت احمد آقا کار می کنید. یا اگر استاد تمام در دانشگاه MIT هستید و یا چون شرایط طوری بود که نتونستید دیپلمتون رو به اتمام برسونید، ولی علاقمندید راجع به هوش مصنوعی بدونید، لطفا این مقاله رو طوری بخونید که قراره کلمه به  کلمشو متوجه بشید. اگر غیر این بود، لطفا به من اطلاع بدید. (این متن تا ابد در حال ویرایش هست)خلاصه قسمت های قبلدر مطالب گذشته با یادگیری ماشین آشنا شدیم و دیدیم که با استفاده از یادگیری ماشین، می تونیم به کامپیوتر یک مفهوم رو بیاموزیم و یه جورایی به کامپیوتر قابلیت فکر کردن بدیم. در مساله پیشبینی قیمت خونه دیدیم، که چطور کامپیوتر می تونه با استفاده از معادله خط، الگو «هرچه متراژ خونه بیشتر، قیمت خونه بیشتر» رو یاد بگیره و قیمت خونه رو پیشبینی بکنه.در مقاله قبلی، در مساله پیشبینی قیمت خانه، تنها موضوعی که درباره اش صحبت نکردیم، نحوه ی بدست آوردن پارامتر های معاله خط بود. در این مقاله و مقاله بعد به صورت کامل، روش شبکه عصبی رو بررسی خواهیم کرد.شبکه عصبی مصنوعیاگر به خاطر داشته باشید، در تعریف یادگیری ماشین، بسیار مختصر و مفید گفتیم: با استفاده از یادگیری ماشین می تونیم به کامپیوتر یک مفهوم رو یاد بدیم.شبکه عصبی مصنوعی، یکی از روش های یادگیری ماشین می باشد که از شبکه عصبی بیولوژیکی، الهام گرفته شده.واقعیتش اینه که حالشو ندارم شبکه عصبی مصنوعی رو با شبکه عصبی بیولوژیکی مقایسه کنم و فقط به عکس زیر بسنده می کنم. که احتمالا چیز زیادی دستگیرتون نمیشه :Dbiological neural network VS. artificial neural network یک مسالههمانند مقاله قسمت قبل، مساله مون پیشبینی قیمت خونه هست. با این تفاوت که می خوایم به وسیله شبکه عصبی، این مساله رو حل کنیم. درواقع به دنبال این هستیم که یک عدد تحت عنوان متراژ خونه به شبکه عصبی بدیم. و یک عدد تحت عنوان قیمت خونه، در خروجی شبکه عصبی، دریافت کنیم. می خوایم این کار رو با کوچک ترین شبکه عصبی ممکن، یعنی یک نورون، انجام بدیم.در دنیای واقعی یک شبکه عصبی می تونه از میلیون ها نورون تشکیل شده باشه.طبق عکس زیر، x متراژ خونه هست که وارد شبکه عصبی مون میشه. و y برابر است با قیمت پیشبینی شده خونه که ما در خروجی شبکه مون، خواهیم داشت.نورون: کوچک ترین واحد شبکه عصبیتصویر زیر، دل و روده ی یک نورون رو نشون میده.دل و روده ی نوروناگر بخوام خیلی خلاصه بگم، هر عددی که وارد نورون می شه، دوتا بلا سرش میاد. طبق عکس بالا، در گام اول z و در گام دوم a محاسبه میشه. محاسبه zاگر توجه کنید و مقاله قبل رو خونده باشید، z براتون آشنا به نظر می رسه. درواقع z همون معاله ی خط هست که متراژ خونه رو ضرب در w (شیب خط) و با b (عرض از مبدا) جمع می کنه.محاسبه aوقتی z محاسبه شد، در ادامه یک تابع ای تحت عنوان f (تابع فعالیت) روش اعمال و a محاسبه میشه. و a همون y، یعنی خروجی نورون مون که در این مثال قیمت خونه هست، میباشد. (اگر شما با توابع در ریاضات آشنا نیستید و  رابطه خوبی با ریاضی نداشتید و اگر متوجه نشدید. نگران نباشید فعلا زیاد مهم نیست).فرمول زیر معادله یک نورون هست، که به اصطلاح بهش تابع هدف میگن. تنها تفاوتش با معادله خط، تابع f هست که بعدا یه کوچولو راجع بش توضیح میدم.تابع هدففرض کنید همانند مقاله قبل، مجموعه داده ای (Data set) از خرید و فرش خانه (قیمت خانه بر حسب متراژ) داریم. و وقتی این مجموعه داده رو رسم می کنیم، طوری که محور عمودی، قیمت خانه و محور افقی، متراژ خانه می باشد، با عکس زیر مواجه میشیم.هدف اصلی ما در حل مساله مون با استفاده از شبکه های عصبی، بدست آوردن پارامتر های w و b هست. به طوری که وقتی تابع هدف رو رسم می کنیم، مثل خط آبی رنگ در عکس زیر، به اصطلاح رو داده هامون fit شده باشه.در عکس زیر، برای سادگی ابتدا فرض کردیم، تابع f بدون تاثیر هست و برابر با یک در نظر گرفتیم. بعد به پارامتر هامون (w و b) به صورت اتفاقی (Random) مقدار دادیم. w رو برابر با یک و b رو برابر با صفر قرار دادیم. وقتیکه پارامترها رو درون تابع هدفمون جایگذاری کردیم به معادله ی معروف y = x یعنی خط قرمز رنگ رسیدیم. به صورت اتفاقی w برابر با 1 و b برابر با 0از اونجایی که داده ها، تعداد و ابعادشون کم هست و تونستیم رسمشون کنیم. میتونیم ببینیم که خط قرمز به درستی روی داده هامون fit نشده. تنها روی یک نمونه آموزشی (اولی از سمت راست) fit شده. به نظر میرسه اگر خط کمی بره بالا اوضاع بهتر میشه. لذا مقدار b رو افزایش میدیم. (در معادله خط b عرض از مبدا هست. و باعث میشه خط بالا و پایین بره). پس مقدار b رو از صفر به یک افزایش میدیم. و به خط سبز رنگ، در تصویر زیر رسیدیم.خط سبز انگار بهتر داده ها رو یاد گرفته. ولی باز روی نمونه های سمت چپ ترین و سمت راست ترین هنوز به درستی عمل نمیکنه. لازمه که حالا کمی زاویه خط، یعنی پارامتر w رو تغییر بدیم. اینبار مقدار w رو 0.5 واحد کاهش میدیم. و به خط آبی رنگ میرسم.تبریک میگم! تونستیم خطی رو کشف کنیم که به درستی روی داده های آموزشیمون fit بشه. درواقع تجربیات گذشته رو یاد گرفته.موضوعی که وجود داره در دنیای واقعی، استفاده از روشی که در بالا استفاده کردیم و پارامتر ها رو بدست آوردیم غیر ممکن هست. چراکه خیلی از مواقع ابعاد نمونه های آموزشی بالاست و غیر قابل رسم هست.در قسمت های بعد، با مراحل شبکه عصبی بیشتر آشنا خواهیم شد و خواهیم دید که چگونه پارامتر ها، به وسیله ی الگوریتم بهینه سازی گرادیان نزولی، محاسبه خواهند شد.خلاصه1- شبکه عصبی مصنوعی، یکی از روش های یادگیری ماشین است.2- تمام هدف ما در شبکه عصبی، تقریب زدن پارامتر های w و b هستند. طوری که تابع هدفمون به درستی روی داده های آموزشی fit بشه. (تجربیات گذشته رو یاد بگیره)« قسمت بعد هوش مصنوعی به زبان خیلی ساده »امیدوارم موضوعاتی که مطرح کردم براتون جالب بوده باشه. و بهم در اصلاح کاستی ها در نظرات کمک کنید.آخرین ویرایش: 22 / 9 / 98</description>
                <category>حسین حجت انصاری | Hosein Hojat Ansari</category>
                <author>حسین حجت انصاری | Hosein Hojat Ansari</author>
                <pubDate>Fri, 13 Dec 2019 18:49:33 +0330</pubDate>
            </item>
                    <item>
                <title>شناسایی چهره در تصویر به زبان خیلی ساده + کد پایتون</title>
                <link>https://virgool.io/AI-Pub/facerecognition-mqlrcjwcolz2</link>
                <description>پیش گفتارتو این مقاله قرار هست از نحوه عملکرد برنامه های شناسایی چهره به صورت خلاصه و با زبانی خیلی ساده، بنویسم. در ادامه سرویس تشخیص و شناسایی چهره سایت Hibrainy رو به صورت آنلاین آزمایش خواهیم کرد. و در نهایت کد استفاده از API اش رو میزنیم.از کاربرد های شناسایی چهره میشه به باز کردن قفل گوشی های هوشمند، جلوگیری از کلاهبرداری از دستگاه های خود پرداز، عدم نیاز به همراه داشتن مدارک شناسایی فرد در بانک، مترو، فرودگاه و سایر مکان هایی که شناسایی فرد لزومی هست، و بسیار کاربرد دیگه، اشاره کرد.به خاطر شرایط نوری نامناسب و کلاه دوستم، کامپیوتر نتونست چهره اش رو تشخیص بدهشما که این مقاله رو می خونید، اگر یک مهندس هوافضا در ناسا هستید یا در سوپر مارکت احمد آقا کار می کنید. یا اگر استاد تمام در دانشگاه MIT هستید و یا چون شرایط طوری بود که نتونستید دیپلمتون رو به اتمام برسونید، ولی علاقمندید راجع به هوش مصنوعی بدونید، لطفا طوری بخونید که قراره کلمه به  کلمشو  متوجه بشید. اگر غیر این بود، لطفا به من اطلاع بدید. (این متن تا ابد در حال ویرایش هست)اگر هیچ دانشی از هوش مصنوعی و برنامه نویسی ندارید، پیشنهاد میشه ابتدا مقالات زیر را بخونید:«هوش مصنوعی به زبان خیلی ساده - قسمت اول»«هوش مصنوعی به زبان خیلی ساده - قسمت دوم»شناسایی چهرهاگر بخوایم سریع بریم سر اصل مطلب، گام های اصلی در سیستم های شناسایی چهره به صورت زیر هستند:تشخیص چهرههمتراز کردن چهرهاستخراج ویژگی های چهرهمقایسه ویژگی های چهره با پایگاه دادهنتیجه شناسایی چهرهگام اول: تشخیص چهرهجالبه بدونید هر تصویری که ما در کامپیوتر می بینیم در واقع ماتریسی از اعداد، (مثلا چند صد هزار عدد) هستند. در ابتدا با استفاده از الگوریتم های تشخیص چهره که داستان ها و چالش های خودش رو دارند، مختصات چهره موجود در تصویر رو پیدا می کنیم. (در یک تصویر ممکنه چندین چهره وجود داشته باشه)Face Detectionگام دوم: همتراز کردن چهرهدر این گام تصویر چهره پیدا شده رو به صورت زیر همتراز می کنیم.Face Alignmentگام سوم: استخراج ویژگیدر این گام ویژگی های چهره مثل فرم چشم، لب، ابرو و یا رنگ پوست و سایر ویژگی های چهره رو مشخص میکنیم. این کار رو توسط الگوریتم های یادگیری ماشین انجام میشوند. درواقع تو این گام ما تصویر چهره که از هزاران عدد تشکیل شده رو به الگوریتم یادگیری ماشین میدیم. ایشون هم در عوض صد تا عدد بهمون میده که معرف ویژگی های صورت هستند. (به اصطلاح تصویر رو Embedd میکنم و کاهش ابعاد میدیم.)گام چهارم: مقایسه ویژگی های چهره با پایگاه دادهدر این گام ویژگی های صورت فرد مورد نظر رو با دیتابیس مون (جایی که قبلا ویژگی های چهره افرادی که میشناسیم رو ذخیره کردیم) مقایسه کنیم.گام پنجم: نتیجه شناسایی چهرهتو این گام نتیجه گام قبلی بررسی میشه. اگر ویژگی های چهره شخصی که در تصویر وجود داره، به یکی از اعضای دیتابیس مون نزدیک بود، لذا اون دو نفر یک شخص هستند. در غیر این صورت اون شخص در دیتابیسم مون وجود نداره و ناشناس هست.مراحل شناسایی چهره (گام های یکم تا پنجم) در یک تصویربرای تمام چهره های تشخیص داده شده این مراحل رو طی می کنیمآزمایش سرویس تشخیص و شناسایی چهره در سایت Hibrainyابتدا فیلتر شکن رو فعال کنید. در قسمت تکنولوژی سایت Hibrainy وارد سرویس Face Recognition بشید. در این قسمت شما میتونید هم سرویس تشخیص چهره (Face Detection) که جنسیت و سن تون رو تشخیص میده و همچنین شناسایی چهره (Face Verification) رو آزمایش کنید.سرویس تشخیص چهرهFace Detectionسرویس شناسایی چهره: بررسی اینکه چهره های موجود در دو عکس متعلق به یک نفر هستند یا نهFace Verificationاستفاده از API سایت Hibrainyوقتی که در سایت Hibrainy ثبت نام کردید و وارد حساب کابری تون شدید. اگر در منو سمت چپ، قسمت Products بر روی Face کلیک کنید. میتونید به داکیومنت استفاده از API سایت به زبان C# نگاهی بیندازید. منتهی از اونجایی که زبان مورد علاقه من Python هست و البته ساده تر به نظر میرسه، قرار با استفاده زبان Python از API  این سایت استفاده کنیم.کافیه با استفاده از pip یا هر روش دیگری ماژول requests رو نصب کنید.pip install requestsسرویس تشخیص چهرهimport requests

API_ENDPOINT = &amp;quothttp://api.hibrainy.com/api/v1/Face/FaceAllFeatures&amp;quot
API_KEY = &amp;quotYour Api Key&amp;quot
image = &#039;1.jpg&#039;    # path to image
files = {&#039;Photo&#039;: (image, open(image, &#039;rb&#039;), &amp;quotmultipart/form-data&amp;quot)}
header = {&#039;API-Key&#039;: API_KEY}
response = requests.post(API_ENDPOINT, files=files, headers=header)
for i in range(0, len(response.json())):
    print(&#039;Gender:&#039;, response.json()[i][&#039;Gender&#039;])
    print(&#039;Age:&#039;, response.json()[i][&#039;Age&#039;])
    print(&#039;FaceBox:&#039;, response.json()[i][&#039;Rectangle&#039;])
    # other FeaturesThis program in GitHubبه خاطر داشته باشید که، مقدار متغیر image برابر است با مسیر عکس و مقدار متغیر API_KEY توی سایت در قسمت داشبورد در قسمت Tokens هست.سرویس شناسایی چهره: بررسی اینکه چهره های موجود در دو عکس متعلق به یک نفر هستند یا نهimport requests

API_ENDPOINT = &amp;quothttp://api.hibrainy.com/api/v1/Face/FaceVerification&amp;quot
API_KEY = &amp;quotYour Api Key&amp;quot
image1 = &#039;1.jpg&#039;    # path to image1
image2 = &#039;2.jpg&#039;    # path to image2
files = {&#039;Photo1&#039;: (image1, open(image1, &#039;rb&#039;), &amp;quotmultipart/form-data&amp;quot), &#039;Photo2&#039;: (image2, open(image2, &#039;rb&#039;), &amp;quotmultipart/form-data&amp;quot)}
header = {&#039;API-Key&#039;: API_KEY}
response = requests.post(API_ENDPOINT, files=files, headers=header)
print(&#039;ResultMessage:&#039;, response.json()[&#039;ResultMessage&#039;])This program in GitHubامیدوارم موضوعاتی که مطرح کردم براتون جالب بوده باشه. و بهم در اصلاح کاستی ها در نظرات کمک کنید.آخرین ویرایش: 21 / 8 / 98</description>
                <category>حسین حجت انصاری | Hosein Hojat Ansari</category>
                <author>حسین حجت انصاری | Hosein Hojat Ansari</author>
                <pubDate>Tue, 12 Nov 2019 23:41:38 +0330</pubDate>
            </item>
                    <item>
                <title>2. هوش مصنوعی به زبان خیلی ساده: شناسایی الگو</title>
                <link>https://virgool.io/AI-Pub/2-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%AE%DB%8C%D9%84%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-%D8%B4%D9%86%D8%A7%D8%B3%D8%A7%DB%8C%DB%8C-%D8%A7%D9%84%DA%AF%D9%88-kc6mk3e4padi</link>
                <description>پیش گفتاراین مقاله ادامه ی قسمت اول «هوش مصنوعی به زبان خیلی ساده» هست.شما که این مقاله رو میخونید، اگر یک مهندس هوافضا در ناسا هستید یا در سوپر مارکت احمد آقا  کار می کنید. یا اگر استاد تمام در دانشگاه MIT هستید و یا چون شرایط طوری بود که نتونستید دیپلمتون رو به اتمام برسونید، ولی علاقمندید راجع به هوش مصنوعی بدونید، لطفا طوری بخونید که قراره کلمه به کلمشو  متوجه بشید. اگر غیر این بود، لطفا به من اطلاع بدید. (این متن تا ابد در حال ویرایش هست)خلاصه قسمت اولدیدیم که در حل مسائلی که تعداد متغیر ها زیاد میشه و حالات بیشماری ممکنه رخ بده، به دلیل محدودیت انسان ها در حافظه و قدرت پردازش، برنامه نویسی به صورت مستقیم، تقریبا غیر ممکن میشه. و  قرار شد کامپیوتر با استفاده از هوش مصنوعی و یادگیری ماشین، مفاهیم رو از داده های گذشته یاد بگیره، تحلیل و آینده رو پیشبینی کنه.وقتی میخوایم مفهومی مثل بارش بارون رو به کامپیوتر یاد بدیم به این معنی نیست که قراره با لپتاپمون بزنیم به دل طبیعت و با آرامش و حوصله، همونطور که داریم نوشیدنی مون رو میخوریم و به افق که شفق خورشید صحنه ی زیبایی رو خلق کرده نگاه میکنیم، براش مفهوم بارون رو توضیح بدیم. که اگر اینطور بود، احتمالا هیچ انسانی در پی رابطه ای نبود و ازدواج نمی کرد و بشر منقرض میشد :D کامپیوتر خیلی کودن تر از اون چیزی هست که فکرش رو بکنیم. فقط با صفر و یک، میشه باهاش صحبت کرد.درواقع برای اینکه بتونیم مفهوم بارون رو به کامپیوتر یاد بدیم، با استفاده از روش هایی، در داده های بارشِ روزها و سالهای گذشته (که همون تجربیات گذشته اند) به دنبال شناسایی الگو ها هستیم. و بعد این الگو ها رو تبدیل به روابط ریاضی می کنیم. که به راحتی تبدیل به صفر و یک می شوند و برای کامپیوتر قابل درک هستند.شناسایی الگوبه تشخیص خودکار الگو ها و قوانین در داده ها را شناسایی الگو گفته می شود.یک مسالهمیخوایم قیمت خونه رو پیشبینی کنیم. مساله اینه که قراره یک عدد تحت عنوان متراژ خونه به کامپیوتر بدیم. در عوض کامپیوتر یک عدد تحت عنوان قیمت خونه بهمون تحویل بده.پیش بینی قیمتفرض بفرمایید ما برای حل این مساله، همچنین داده ای از خرید و فروش خانه های معامله شده، در دست داریم.این داده ها ساختگی هستند.در دنیای واقعی استفاده از پنج نمونه آموزشی بیشتر شبیه شوخی هست. تعداد داده ها در دنیای واقعی به چند هزار، چندصد هزار و چند ده ملیون هم ممکنه برسه. حالا ما چون قرار بود به صورت خلاصه و خیلی ساده راجع به هوش مصنوعی صحبت کنیم از این مجموعه داده کوچیک استفاده میکنیم. و به راحتی میتونیم به صورت زیر رسمش کنیم:محور افقی متراژ خانه، محور عمودی قیمت خانهبا یک نگاه گذرا به تصویر بالا ما به عنوان انسان میتونیم به یک الگو مناسب در داده ها مون پی ببریم: هرچقدر که متراژ خونه ها افزایش پیدا میکنه، قیمت خونه هم افزایش پیدا میکنه!ما انسان ها با نگاه کردن به تصویر رسم شده داده هامون به راحتی میتونیم این موضوع رو درک کنیم. ولی کامپیوتر چطوری این موضوع رو می تونه درک کنه ؟کامپیوتر اینکار رو با استفاده از تقریب یک معادله خط ساده انجام میده.y = x * a + b
price = size * a + bمعادله خطی پیشبینی قیمت خانه شیب خط (a)  و عرض از مبدا (b) در اینجا مجهول هستند. و کامپیوتر با استفاده ازالگوریتم های بهینه سازی میتونه این مجهول ها رو بدست بیاره.فرض کنید کامپیوتر بعد از آموزش a رو برابر با 1 و b رو برابر با 0 بدست آورد. حالا چطوری به این اعداد رسید مفصله و موضوع مقاله قسمت بعدی هست :)اگر خطی رو که، با شیب و عرض از مبدا، که کامپیوتر تونسته با روش های بهینه سازی روی داده های آموزشیمون، بدست اومده رسم کنیم، یه همچنین خطی میشه:در خط بالا a برابر با صفر و b برابر با یک می باشدبرای اینکه ببینیم معادله ای که بدست آوردیم درست کار میکنه یا نه، برنامش رو به صورت زیر مینویسیم:a = 1
b = 0
size = int(input(&amp;quotEnter the size of your house: &amp;quot))
price = size * a + b
print(&amp;quotThe price of your house is:&amp;quot, float(size/100), &amp;quotBillion Tomans&amp;quot)خط اول کامپیوتر متراژ خانه رو از کاربر میگیره. در خط دوم معادله خطی و قیمت خونه محاسبه میشه. و در خط سوم چاپ میشه.حالا اگر یکی بیاد بهتون بگه: من یه خونه 220 متری دارم. قیمتش حدودا چقدر میشه؟ شما با تبسمی که روی لبتونه، لپتاپتون رو روشن میکنید. و متراژ رو میدید به برنامه و قیمت طبق عکس زیر محاسبه میشه. :)در عکس زیر، برنامه بالا، قیمت خونه هایی با متراژ 100، 120، 190 و 375 متر رو محاسبه کرده.کد بالا رو تو یک حلقه انداختم که مدام اجرا بشهتوجه کنید که مدلمون تنها با 5 نمونه آموزشی، آموزش دید و طبعا هرچقدر تعداد نمونه آموزشیمون بیشتر باشه مدلمون دقیق تر خواهد بود.خلاصه1- در علم شناسایی الگو، کامپیوتر به دنبال الگو هایی میگرده تا بتونه با اون الگوهای داده ها رو تقریب بزنه و رفتارشون رو درک کنه. به این امید که از روی الگو ها آینده رو پیشبینی کنه.2- برای اینکه به کامپیوتر مفهومی رو بیاموزیم باید اون مفهوم رو به صورت ریاضی بنویسیم. چراکه معادله های ریاضی به راحتی به زبان کامپیوتر یعنی صفر و یک تبدیل میشوند. (تنها راه صحبت با کامپیوتر)3- در مساله پیشبینی قیمت خانه با استفاده از معادله خط، تونیستیم الگوی کشف شده (هرچقدر خونه بزرگتر، قیمتش بیشتر) از داده های خرید فروش قبلی رو مدل کنیم. اما مهم ترین قسمت که تو این مقاله فرصت نمیشد راجع بش صحبت کنیم، بدست آوردن مجهولات معادله بود (شیب خط و عرض از مبدا) که در مقاله بعدی راجع بش صحبت خواهیم کرد.« قسمت بعد هوش مصنوعی به زبان خیلی ساده »امیدوارم موضوعاتی که مطرح کردم براتون جالب بوده باشه. و بهم در اصلاح کاستی ها در نظرات کمک کنید.آخرین ویرایش: 9 / 8 / 1398</description>
                <category>حسین حجت انصاری | Hosein Hojat Ansari</category>
                <author>حسین حجت انصاری | Hosein Hojat Ansari</author>
                <pubDate>Thu, 31 Oct 2019 22:35:37 +0330</pubDate>
            </item>
                    <item>
                <title>1. هوش مصنوعی به زبان خیلی ساده: یادگیری ماشین</title>
                <link>https://virgool.io/AI-Pub/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%D8%A8%D9%87-%D8%B2%D8%A8%D8%A7%D9%86-%D8%AE%DB%8C%D9%84%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-vamumik1fm7x</link>
                <description>پیش گفتارقراره از تجربیاتم در زمینه هوش مصنوعی، به صورت خلاصه‌ و به زبان خیلی ساده بنویسم.شما که این مقاله رو میخونید، اگر یک مهندس هوافضا در ناسا هستید یا در سوپر مارکت احمد آقا  کار می کنید. یا اگر استاد تمام در دانشگاه MIT هستید و یا چون شرایط طوری بود که نتونستید دیپلمتون رو به اتمام برسونید، ولی علاقمندید راجع به هوش مصنوعی بدونید، لطفا طوری بخونید که قراره کلمه به کلمشو  متوجه بشید. اگر غیر این بود، لطفا به من اطلاع بدید. (این متن تا ابد در حال ویرایش هست)موضوعاتی که قراره مطرح کنم از قبل مشخص نیست. ولی به صورت کلی میشه گفت: ابتدا با تعاریف و اصطلاحات هوش مصنوعی و یادگیری ماشین شروع می کنیم. در ادامه وارد دنیای داغ شبکه عصبی و همچنین یادگیری عمیق خواهیم شد. خلاصه قراره بدونیم اپلیکیشن های هوشمند مثل تشخیص و شناسایی چهره چطوری کار می کنند. یا حتی از نحوه عمل‌کرد اپ هایی که تصویر چهره یک فرد جوان رو تبدیل به یک فرد سالخورده می کنه، که این روز ها اشک همه مون رو تو استوری ها در اینستاگرام در آورده، سر در بیاریم.Generative Adversarial Network :Dنکته‌: من ادعایی در زمینه هوش مصنوعی ندارم. و تنها یک دانشجوی ساده هوش مصنوعی هستم. حرفه‌ای ها منو ببخشن. (جمله آخر رو با لحن مداح ها بخونید که میگن: سادات منو ببخشن :D )هوش مصنوعیدر تعریف هوش مصنوعی، به اولین جمله موجود در ویکی پدیا بسنده میکنم.به هوشی که یک ماشین در شرایط مختلف از خود نشان می‌دهد، هوش مصنوعی گفته می‌شود.یادگیری ماشینموضوع اصلی که قراره راجع بش صحبت کنیم، یادگیری ماشین هست. که میشه گفت یکی از شاخه‌های کاربردی و شیرین در هوش مصنوعی محسوب میشه.در تعریف یادگیری ماشین، باز از تعاریف رسمی در کتاب‌های مرجع اجتناب کرده و به زبان ساده:یادگیری ماشین، شاخه ای از هوش مصنوعی هست که با استفاده از الگوریتم های آماری و داده‌ها به کامپیوتر قابلیت یادگیری میدیم. بدون اینکه به صورت مستقیم برنامه بنویسیم.یک مسالهمیخوایم وضعیت جوی رو پیشبینی کنیم. مساله اینه که آیا فردا بارون میباره یا نه. برای حل این مساله دو راه حل وجود داره.برنامه نویسی مستقیمهوش مصنوعی (یادگیری ماشین)روش برنامه نویسی مستقیمدر این روش ممکنه لازم باشه، یک متخصص هواشناسی رو پیدا کنیم و ببندیمش به درخت و ازش بپرسیم علت بارش بارون رو میگی یا برم یک هفته دیگه بیام بپرسم ازت؟ ایشونم احتمالا میگه: «خوب چرا منو بستی به درخت؟ متمددانه می پرسیدی بهت می گفتم!»در ادامه اضافه می کنند که «اگر روزی هوا ابری، دمای هوا خنک، رطوبت بالا و باد با شدت می وزید، به احتمال خیلی زیاد فرداش بارون میباره.»بعد از اینکه آزادش کردیم میریم کدش رو به صورت زیر می نویسیم.اگر متغیر Outlook برابر با Overcast و همچنین متغیر Temperature برابر با Cool و همچنین متغیر Humidity برابر با High و در نهایت اگر متغیر Wind برابر با Strong بود، لطفاً جمله زیر رو چاپ کن: Tomorrow is beautiful rainy day :)برنامه پیشبینی وضعیت جوی به زبان پایتونزبان برنامه نویسی پایتون، یک زبان سطح بالا، به این معنی که به زبان آدمیزاد نزدیک می باشد، هست. که برای شروع برنامه نویسی، پیشنهاد میشه. :)این برنامه همیشه درست کار میکنه ولی ما روز های زیادی رو دیدم که هوا ابری و دمای هوا خنک بود ولی بارون نبارید!برای اینکه بتونیم وضعیت هوا رو پیشبینی کنیم به اطلاعات بیشتر و دقیق تری نیاز داریم. مثلاً لازمه که بدونیم سنسور دماسنج، دقیقاً به چه عددی اشاره می کنه. مقدار دقیق رطوبت، سرعت وزش باد و بسیاری از اطلاعات دیگه که من تخصصی توش ندارم، هم همینطور. شاید نوع ابر و یا جهت وزش باد هم مؤثر باشند.اینجاست که استفاده از دستورات شرطی و برنامه نویسی به صورت مستقیم، به کاری طاقت فرسا و تقریباً نشدنی تبدیل میشه.روش هوش مصنوعی (یادگیری ماشین)در حل مساله مون با روش‌های یادگیری ماشین، ما نه تنها از بالا رفتن تعداد متغیر ها و ویژگی‌ها (دما، رطوبت، فشار، نوع ابر، سرعت و جهت وزش باد، روز و فصل سال و…) ناراحت نمیشیم، بلکه خوشحال هم میشیم. چراکه دیگه قرار نیست یک انسان با حافظه و سرعت پردازش محدود، درگیر جزئیات بشه. بلکه هوش مصنوعی قراره این کارو بکنه. :) در تعریف یادگیری ماشین، عرض کردم ما به کامپیوتر قابلیت یادگیری میدیم. بدون اینکه به صورت مستقیم کد بنویسیم. درواقع ما مفهوم بارون رو با استفاده از روش‌ها و داده‌های بارش بارون به کامپیوتر می آموزیم.الگوریتم های مختلفی در یادگیری ماشین وجود داره. تصویر زیر، به مراحل مشترک در بین همه ی روش‌های یادگیری ماشین اشاره می کنه.Machine Learning Pipelineمرحله آموزشدر حل مساله مون، طبق تصویر زیر ابتدا داده‌های وضعیت جوی روز ها و سالهای گذشته (که به اصطلاح بهش میگن داده‌های آموزشی) رو به الگوریتم یادگیری ماشین میدیم. الگوریتم یادگیری ماشین بعد از اینکه از داده‌ها، الگوهای بارش بارون رو یاد گرفت و آموزش دید، یک مدل پیشبینی کننده تحویلمون میده.مرحله آموزش از داده های آموزشی (دیتاست)مرحله پیشبینیحالا کافیه ویژگی های جوی امروز رو به مدل آموزش دیده مون بدیم. و در مرحله سوم از عکس زیر مدل بهمون میگه فردا چه خبره (اگر قرار بود بارون بباره (1) چاپ میکنه و اگر قرار نیست بارون بباره (0) )مرحله پیشبینیدرواقع علت اصلی اینکه کشور های پیشرفته دیگه بهتر از سازمان هواشناسی ایران وضعیت جوی ایران پیشبینی می‌کنند همان داده‌های آموزشی هست. به عنوان مثال ما داده‌های جوی پنجاه سال گذشته رو داریم. و کشور های پیشرفته دیگه داده‌های صد سال پیش رو دارند. و مدلهای یادگیری ماشین اون‌ها با داده های آموزشی بیشتری، آموزش دیده اند.حالا الگوریتم های یادگیری ماشین چطوری داده‌ها رو یاد میگیرند در مقاله های آینده در موردش صحبت خواهیم کرد. :)« قسمت بعد هوش مصنوعی به زبان خیلی ساده »امیدوارم موضوعاتی که مطرح کردم براتون جالب بوده باشه. و بهم در اصلاح کاستی ها در نظرات کمک کنید.آخرین ویرایش: 5 / 8 / 1398</description>
                <category>حسین حجت انصاری | Hosein Hojat Ansari</category>
                <author>حسین حجت انصاری | Hosein Hojat Ansari</author>
                <pubDate>Fri, 25 Oct 2019 22:16:59 +0330</pubDate>
            </item>
            </channel>
</rss>