<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>پست‌های انتشارات مرجع یادگیری هوش مصنوعی</title>
        <link>https://virgool.io/Artificialintelligence/feed</link>
        <description>انتشارات هوش مصنوعی با هدف بهبود و یادگیری افراد علاقه‌مند به این حوزه و یادگیری مباحث هوش و ماشین ایجاده شده است.
 وب سایت: https://mahdimashayekhi.ir</description>
        <language>fa</language>
        <pubDate>2026-04-14 22:19:18</pubDate>
        <image>
            <url>https://files.virgool.io/upload/publication/u84nqeytenab/hu5ihb.jpeg</url>
            <title>مرجع یادگیری هوش مصنوعی</title>
            <link>https://virgool.io/Artificialintelligence</link>
        </image>

                    <item>
                <title>توضیح اینترنت اشیاء در 5 دقیقه</title>
                <link>https://virgool.io/Artificialintelligence/%D8%AA%D9%88%D8%B6%DB%8C%D8%AD-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D8%B4%DB%8C%D8%A7%D8%A1-%D8%AF%D8%B1-5-%D8%AF%D9%82%DB%8C%D9%82%D9%87-ku1zzhcyroxr</link>
                <description>با عرض سلام و تبریک سال نو امسال  تصمیم گرفتم  مطالب داخل وبلاگم را خیلی خلاصه تر و مفید تر کنم تا همه بتوانند بصورت کاملا سریع محتوای داخل آنرا بخوانند خب در ادامه می پردازیم به اینکه اینترنت اشیاء چیست و چگونه کار می کند و کجاها کاربرد دارد.اینترنت اشیاء (IoT) یک فناوری جدید است که به کامپیوترها و دستگاه‌های الکترونیکی اجازه می‌دهد تا با یکدیگر و با انسان‌ها از طریق اینترنت ارتباط برقرار کنند و اطلاعات را با هم به اشتراک بگذارند. این فناوری این امکان را فراهم می‌کند که اشیاء مختلفی مانند خودروها، لوازم خانگی، دستگاه‌های پزشکی و غیره، با همدیگر و با انسان‌ها در ارتباط باشند و بتوانند از طریق اینترنت داده‌هایی را که جمع‌آوری می‌کنند، به اشتراک بگذارند.اینترنت اشیاء به دلیل قابلیت ارتباط بین اشیاء و جمع‌آوری داده‌هایی که توسط آن‌ها ایجاد می‌شود، این امکان را فراهم می‌کند که اطلاعاتی را درباره‌ی جهان و محیط زیست جمع‌آوری کرده و تحلیل کند. این امر می‌تواند برای بهبود مدیریت محیط زیست، بهبود کیفیت زندگی، بهینه‌سازی عملکرد صنایع و افزایش بهره‌وری در بسیاری از صنایع و بخش‌های مختلف مفید باشد.به‌طور کلی، IoT شامل سه بخش اصلی است: حسگرها، دستگاه‌ها و بسترهای ارتباطی. حسگرها اطلاعاتی را که از محیط جمع‌آوری می‌کنند، به دستگاه‌ها منتقل می‌کنند. دستگاه‌ها اطلاعات جمع‌آوری‌شده را پردازش کرده و آن‌ها را به بسترهای ارتباطی ارسال می‌کنند. بسترهای ارتباطی این اطلاعات را بین دستگاه‌ها و با سیستم‌  راهم می کند.به طور کلی با توجه به گسترش اینترنت و تغییر تعریف آن(اینترنت) بین انسان  به انسان و درحال حاضر انسان به ماشین و ماشین به ماشین کاربرد اینترنت اشیاء به شرح زیر است:1- در پزشکی:در حال حاضر در حوزه پزشکی پس از همه گیری خیلی از بیماران به خصوص بیمارانی که دارای بیماری خاص هستند به سمت  درمان  در خانه  می روند . درمان در خانه  یعنی اینکه  بیمار بدون اینکه  بخواهد از خانه اش  بیرون  برود با استفاده  از تجهیزاتی که  با اینترنت و هوش مصنوعی و پردازش تصویر با دکتر خود ارتباط گرفته و دکتر شخص مورد نظر را با استفاده  از تجهیزات تشخیصی مثل تب سنج و پالسی اکسیمتر و... بیمار را ارزیابی کرده سپس دارو (نسخه الکترونیکی) تجویز می کند. نمونه ای که مطالعه کردید درحال حاضر در انگلستان اجراست. یا نمونه  دیگر رامی توان شرکت فلیپس مثال این شرکت با استفاده اینترنت اشیاء تجهیزات پزشکی تولید شده توسط خودش را تحت نظر گرفته و قبل از اینکه دستگاه قطعات مستهلکش خراب شود تکنسین های شرکت آنرا تعمیر می کند.2-در کشاورزی:امروز باتوجه به اینکه کشاورزی به سمت ارگانیک شدن پیش می رود اینترنت اشیاء به کمک کشاورزان می آیند تا زمین خود را از آسمان و زمین با استفاده از کوادکوپترها و سنسور ها و ایستگاه های جمع آوری اطلاعات و نمایشگرها رصد و تجزیه تحلیل کنند تا کشاورزان کمتر از آفت کش ها و کود شیمیایی استفاده کنند و در نتیجه با کیفیت ترین محصولات را داشته باشند. یکی از مواردی که کشاورزان با آن دست و پنجه نرم می کنند آب و هوا است اینترنت اشیاء با استفاده از حسگر های خود به تجزیه و تحلیل آب و هوا پرداخته و کشاورز را از بلا های طبیعی که قرار است با آن دست و پنجه نرم کند آگاه کند تا کشاورز بتواند بهترین تصمیم را بگیرد. تا از خرابی محصولات  جلوگیری کنند.3-خانه هوشمند: شاید برایتان جالب باشد که اولین بار اینترنت اشیاء در حوزه خانه هوشمند استفاده  شده است. اولین تجهیز آن رله های هوشمند بودند که دارای یه تعداد خروجی(رله) و بر روی آن ریموت و دکمه و در بعضی از مدل ها به جای دکمه  مانیتور داشتند و قابلیت اتصال به مودم خانه  و بعدها قابلیت اتصال مستقیم  به تلفن همراه نیز داشتند. به طور مثال می توانید با متناسب با خروجی رله ها شخص می توانست تعدادی از تجهیزات خانه خود را کنترل کندمثلا اگر رله چهار تا خروجی داشت چهار وسیله  را از راه های دور و نزدیک کنترل نماید.امروزه با توجه به پیشرفت علم و نیاز به صرفه جویی منابع وکاهش هزینه ها عمده هدف اصلی شرکت های تولید کننده تجهیزات هوشمند سازی خانه افزایش بهره وری و کاهش میزان مصرف انرژی است .4- حمل و نقل:با پیشرفت اینترنت اشیاء و دادن توانایی کنترل  از راه دور و نزدیک  وسایل می توان به راحتی پی برد وسایل نقلیه در همه حوزه های حمل و نقل(ریلی_دریایی_زمینی-هوایی) و حتی ماشین های شخصی در امروزه روز درحال تبدیل شدن به هوشمند شدن با استفاده از اینترنت اشیاء می باشد واین هوشمند سازی  این صنعت به سرعت درحال افزایش است ( برای اولین بار در صنعت حمل و نقل از جی پی اس (موقعیت یاب ماهواره ای)استفاده می شود که بدون وابستگی به گیرنده های تلفن یا اینترنت بود که با این فناوری می توانیم اطلاعات دریافتی از این سامانه در زمینه موقعیت یابی (جی پی اس)برای کاربری همگانی در سراسر دنیا فراهم کنیم) ولی در امروز روز به وسیله اینترنت اشیاء در صنعت حمل و نقل هوشمند که وسایل نقلیه ای مجهز به سامانه اینترنت اشیاء شخص می تواند تجهیزات  خود را زیر نظر گرفته  و آنرا کنترل نماید به طور مثال در ایران یک  شرکت مسافربری در حوزه ریلی با استفاده از اینترنت اشیاء توانسته قطعات  مستهلک قطارش را زیر نظر گرفته  سپس قبل از اینکه  قطعه  مذکور در قطار خراب شود تکنسین قطار آنرا تعویض می نماید یا نمونه دیگر آن که خیلی در ایستگاه های مترو تهران مشاهده نموده ایم و آن چیزی نیست جز تابلو های نمایش حرکت قطار است که در آن از اینترنت اشیاء  استفاده شده است. 5- مدیریت ترافیک شهری :امروزه با توجه به واردات و افزایش تولید داخلی خودرو  زمان  و مدیریت آن در شهر های شلوغ  به یک مسئله  مهم بدل شده است یکی از این زیر مسائل پیدا کردن مسیر مناسب برای رسیدن به مقصد با برخورد به  کمترین حجم  از شلوغی است، اینترنت اشیاء به همراه پردازش تصویر و بعضی از مواقع  هوش مصنوعی به کمک راهور ها و پلیس راهنمایی و رانندگی  و صاحبین  خودرو می آید تا از ترافیک  و قفل شدن خیابان  ها جلوگیری به عمل آورند. عمده هدف اینترنت اشیاء در حوزه مدیریت  ترافیک  شهری مانیتورینگ دوربین ها در ستاد فرماندهی راهنمایی و رانندگی و کنترل چراغ های راهنمایی و رانندگی و به اشتراک گذاری اطلاعات دستگاه های مجاور هم برای کنترل راحت تر ترافیک شهری است . به طور مثال فرض کنید ماشین آتش نشانی می خواهد از یکی از خیابان  های اصلی پایتخت عبور کند وظیفه کنترل گر ها این است که خیابانی که ماشین آتش نشانی می خواهد از آن عبور کند را باز نگهدارند و بقیه خیابان ها رو بسته تا ماشین  آتش نشانی در سریع ترین زمان ممکن به محل حادثه برسد یا فرض کنید در اتوبان هستید و چند متر جلو تر تصادف شده و در اتوبان ترافیک شده است کنترل گر ها با استفاده از تابلو های اعلام سرعت  و دوربین های نظارتی و هوش مصنوعی و پردازش تصویر می تواند سرعت  تا حدی پایین بیاورد که از افزایش مضاعف ترافیک  جلو گیری بعمل آورد و ترافیک را  روان سازد .  6-شهر هوشمند:شاید بتوان  گفت  یکی از عظیم ترین بخش هایی که در آن اینترنت اشیاء در آن فعالیت کند شهر هوشمند است، شهر هوشمند به شهری گفته می شود.که تمامی تجهیزات(سلامت،امنیت،...) همه حوزه های فعال در آن شهر  به اینترنت بوده و با استفاده از حسگر ها و دوربین ها و غیره از طریق اینترنت بتوان آن را کنترل کردو درحال حاضر شهر هوشمند به صورت منطقه هوشمند قابل اجراست زیرا هزینه آن خیلی زیاد است و همه کشور ها حاضر به همچین کاری نیستند.به طور کلی هدف از شهر هوشمند تسهیل در کار شهروندان ساکن  در آن شهر و مدیریت راحت تر شهر نیز می باشد به طور مثال کشور سنگاپور و تایپه و آمستردام نمونه ای از شهر هوشمند نیز می باشند.شرکت هوشمند برند منطق سبز بزرگترین تولید کننده کالا های مصرفی برقی در حوزه اینترنت اشیاء این شرکت  درطراحی و تولید محصولات هوشمند سازی منازل و کارخانه ها و تجهیزات کنترل ابزار دقیق و  طراحی محصولات سفارشی سازی فعالیت می کند .برای کسب اطلاعات بیشتر به سایت زیر مراجعه  نمایید.https://gliot.ir/مرسی که مقاله  من را مطالعه کردید اگر نظری داشتید خوشحال می شوم که آنرا برایم  پایین این پست بنویسید.</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>سینا زینلی</author>
                <pubDate>Thu, 23 Mar 2023 19:34:50 +0330</pubDate>
            </item>
                    <item>
                <title>توسعه شهر هوشمند با اینترنت خدمات Internet of Services (IoS)</title>
                <link>https://virgool.io/Artificialintelligence/%D8%B4%D8%A8%DA%A9%D9%87-%D8%A7%DB%8C%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%AE%D8%AF%D9%85%D8%A7%D8%AA-internet-of-services-ios-%D8%AA%D9%88%D8%B3%D8%B9%D9%87-%D8%B4%D9%87%D8%B1%D9%87%D8%A7%DB%8C-%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A2%DB%8C%D9%86%D8%AF%D9%87-%D8%A8%D9%87%D8%AA%D8%B1-vpelynamnidg</link>
                <description>مقدمه:با روبرو شدن شهرها در سراسر جهان با چالش‌های بی‌سابقه‌ای مانند شهرنشینی سریع، تخریب محیط زیست و افزایش تقاضاهای برای منابع و خدمات، نیاز به توسعه شهری هوشمند و پایدار بیش از همیشه احساس می‌شود. در این شرایط، شبکه اینترنت خدمات Internet of Services (IoS) به عنوان یکی از عوامل کلیدی توسعه شهر هوشمند ظاهر شده است که قابلیت یکپارچه‌سازی خدمات و سیستم‌های مختلف در زیرساخت شهری را دارد و شهرهایی را که کارآیی، پایداری و قابلیت سکونت بهتری را به شهروندان خود ارائه می‌دهند را ایجاد می‌کند. در این مقاله، به بررسی مفهوم IoS و قابلیت آن برای تحول توسعه شهر هوشمند می‌پردازیم و خدمات و مزایای مختلفی را که IoS می‌تواند به محیط شهری اضافه کند، مورد بررسی قرار می‌دهیم.تحول اینترنت اشیاء: بررسی مفهوم و مزایای شبکه اینترنت خدمات (IoS)شبکه اینترنت خدمات (IoS) به مفهوم اتصال و یکپارچه‌سازی خدمات مختلف از طریق اینترنت اشاره دارد که به این خدمات امکان کار با هم به صورت امن را با یک راه‌حل کامل ارائه می‌دهد. این مفهوم به طور طبیعی یکی از پیشرفت‌های شبکه اینترنت اشیاء (IoT) است که بر روی اتصال دستگاه‌های فیزیکی تمرکز دارد.توسعه شهر هوشمند با اینترنت خدمات Internet of Services (IoS)
شبکه اینترنت خدمات (IoS) شامل یک طیف گسترده از خدمات است، از جمله محاسبات ابری، ذخیره و پردازش داده، رابط‌های برنامه‌نویسی (API) و نرم‌افزار به عنوان خدمات (SaaS) است. این خدمات می‌توانند از طریق ابزارهای مختلفی مانند تلفن همراه، تبلت و کامپیوتر قابل دسترسی باشند و به کاربران امکان دسترسی آسان به خدمات مورد نیاز را می‌دهند.یکی از مزایای کلیدی شبکه اینترنت خدمات (IoS)، امکان ارائه خدمات شخصی سازی و سفارشی شده به کاربران است. به عنوان مثال، یک ارائه دهنده خدمات بهداشتی می‌تواند از IoS برای جمع‌آوری و تجزیه و تحلیل داده‌ها از منابع مختلف مانند دستگاه‌های پوشیدنی و پرونده‌های پزشکی الکترونیکی استفاده کند تا برنامه‌های درمانی شخصی سازی شده را برای بیماران ارائه دهد.مزیت دیگر شبکه اینترنت خدمات (IoS)، ایجاد فرصت‌های تجاری و جریان درآمد جدید است. با بهره‌گیری از فناوری‌ها و خدمات IoS، شرکت‌ها می‌توانند محصولات و خدمات جدیدی را که با سیستم‌های موجود یکپارچه شده‌اند توسعه دهند و فرصت‌های جدیدی برای رشد و نوآوری ایجاد کنند.در کل، IoS یک توسعه مهم در تکامل اینترنت است و نقش قابل توجهی در شکل‌گیری آینده خدمات و برنامه‌های دیجیتال بازی می کند.ادغام اینترنت اشیا برای شهرهای هوشمند: چگونه اینترنت خدمات (IoS) به تصمیم در لحظه، راهکارهای شخصی‌سازی‌شده و مشارکت شهروندی کمک می‌کنداینترنت خدمات (IoS) می‌تواند با امکاناتی که در زیر ذکر می‌شوند، نقش حیاتی در توسعه شهرهای هوشمند ایفا کند:جمع‌آوری و تحلیل داده‌ها: IoS می‌تواند جمع‌آوری و تحلیل داده‌های مختلفی از منابعی مانند سنسورها، دوربین‌ها و دستگاه‌های تلفن همراه را فراهم کند که به تهیه بررسی‌های زمان واقعی از جوانب مختلف شهر مانند ترافیک، کیفیت هوایی و مصرف انرژی کمک کند.خدمات یکپارچه: IoS می‌تواند امکان ادغام خدمات مختلف درون شهری مانند حمل و نقل، انرژی، بهداشت و ایمنی عمومی را فراهم کرده، آنها را به صورت یکپارچه و هماهنگ در طراحی و اجرای یک تجربه بهتر برای ساکنان و بازدیدکنندگان ترکیب کند.شخصی‌سازی: IoS می‌تواند خدمات شخصی‌سازی شده را برای ساکنان و بازدیدکنندگان فراهم کند که براساس ترجیحات و نیازهای آنها مانند حمل و نقل، بهداشت و خدمات سرگرمی شخصی‌سازی شده باشند.کارایی و پایداری: IoS می‌تواند به بهینه‌سازی سامانه‌های مختلف شهری مانند حمل و نقل و انرژی کمک کرده، هدررفت را کاهش داده و کارایی را بهبود داده و محیطی پایدارتر را در شهر به ارمغان بیاورد.شرکت و مشارکت شهروندان: IoS می‌تواند مشارکت بیشتری از شهروندان در توسعه و مدیریت شهر را ممکن سازد، این امکان را برای ساکنان فراهم می‌کند تا نظرات و بازخورد خود را در مورد جنبه‌های مختلف زندگی شهری مانند خدمات عمومی، حمل و نقل و برنامه‌ریزی شهری ارائه دهند.بطور کلی، اینترنت خدمات پتانسیلی برای تحول زندگی، کار و تعامل ما با محیط شهری دارد و باعث می‌شود شهرها بیشتر بهینه، پایدار و قابل زندگی شوند.</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>محمد ناصر حاجی هاشم آباد</author>
                <pubDate>Sun, 19 Mar 2023 15:35:37 +0330</pubDate>
            </item>
                    <item>
                <title>هوش مصنوعی چیست؟</title>
                <link>https://virgool.io/Artificialintelligence/%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-%DA%86%DB%8C%D8%B3%D8%AA-kzdznhirgcct</link>
                <description>هوش مصنوعی شبیه سازی فرآیندهای هوش انسانی توسط ماشین ها به ویژه سیستم های کامپیوتری است. کاربردهای خاص هوش مصنوعی شامل سیستم های خبره ، پردازش زبان طبیعی، تشخیص گفتار و بینایی ماشین است.  اگر شما هم جزء کسانی هستید که واژه هوش مصنوعی به گوشتان خورده اما نمی‌دانید که هوش مصنوعی چیست یا آشنایی شما با هوش مصنوعی از طریق فیلم‌های تخیلی است که دیده‌اید و درک درستی از هوش مصنوعی ندارید، ما در این نوشته قصد داریم تا مفهوم واقعی هوش مصنوعی و هر آن چه که باید در موردش بدانید را به شما بگوییم. پس در ادامه با ما همراه باشید. در این مقاله ابتدا به این سوال پاسخ داده شده است که هوش مصنوعی چگونه کار می‌کند و سپس به مهم‌ترین مباحث و مفاهیم مرتبط با هوش مصنوعی طبق عناوین زیرپرداخته می‌شود.۱. هوش مصنوعی چگونه کار می کند؟به طور کلی، سیستم‌های هوش مصنوعی با دریافت مقادیر زیادی از داده‌های آموزشی برچسب‌گذاری شده، تجزیه و تحلیل داده‌ها برای همبستگی‌ها و الگوها و استفاده از این الگوها برای پیش‌بینی وضعیت‌های آینده کار می‌کنند. به این ترتیب، یک ربات چت که از نمونه‌هایی از چت‌های متنی تغذیه می‌شود، می‌تواند یاد بگیرد که تبادلات واقعی با افراد ایجاد کند، یا یک ابزار تشخیص تصویر می‌تواند با مرور میلیون‌ها مثال، شناسایی و توصیف اشیاء در تصاویر را بیاموزد.از آنجایی که تبلیغ در مورد هوش مصنوعی شتاب گرفته است، فروشندگان در تلاش برای معرفی نحوه استفاده محصولات و خدماتشان از هوش مصنوعی هستند. اغلب آنچه آنها به عنوان AI از آن یاد می کنند، به سادگی یکی از اجزای هوش مصنوعی است، مانند یادگیری ماشینی . هوش مصنوعی به پایه ای از سخت افزار و نرم افزار تخصصی برای نوشتن و آموزش الگوریتم های یادگیری ماشین نیاز دارد. هیچ زبان برنامه نویسی مترادف با هوش مصنوعی نیست، اما تعداد کمی از جمله «پایتون»،«آر» و «جاوا» محبوب هستند.برنامه نویسی هوش مصنوعی بر سه مهارت شناختی تمرکز دارد: یادگیری، استدلال و اصلاح خود. فرآیندهای یادگیری: این جنبه از برنامه نویسی هوش مصنوعی بر به دست آوردن داده ها و ایجاد قوانینی برای چگونگی تبدیل داده ها به اطلاعات عملی متمرکز است. قوانین، که الگوریتم نامیده می شوند، دستورالعمل های گام به گام را برای نحوه تکمیل یک کار خاص به دستگاه های محاسباتی ارائه می دهند. فرآیندهای استدلال: این جنبه از برنامه نویسی هوش مصنوعی بر انتخاب الگوریتم مناسب برای رسیدن به یک نتیجه دلخواه متمرکز است. فرآیندهای خود اصلاحی: این جنبه از برنامه نویسی هوش مصنوعی برای تنظیم مداوم الگوریتم ها و اطمینان از ارائه دقیق ترین نتایج ممکن طراحی شده است.۲ چرا هوش مصنوعی مهم است؟هوش مصنوعی مهم است زیرا اولاً می‌تواند به شرکت‌ها بینش‌هایی در مورد عملیات خود بدهد که ممکن است قبلاً از آن آگاه نبوده باشند ثانیاً در برخی موارد، هوش مصنوعی می‌تواند وظایف را بهتر از انسان‌ها انجام دهد. به‌ویژه هنگامی که صحبت از کارهای تکراری و جزئیات محور مانند تجزیه و تحلیل تعداد زیادی از اسناد قانونی برای اطمینان از پر شدن صحیح فیلدهای مربوطه می شود، ابزارهای هوش مصنوعی اغلب کارها را به سرعت و با خطاهای نسبتاً کمی تکمیل می کنند.این امر به رشد انفجاری کارایی کمک کرده و دری را برای فرصت‌های تجاری کاملاً جدید برای برخی از شرکت‌های بزرگتر باز کرده است. قبل از موج فعلی هوش مصنوعی، تصور استفاده از نرم افزارهای کامپیوتری برای اتصال مسافران به تاکسی سخت بود، اما امروزه «اوبر» با انجام این کار به یکی از بزرگترین شرکت های جهان تبدیل شده است. این برنامه از الگوریتم‌های یادگیری ماشینی پیچیده برای پیش‌بینی اینکه چه زمانی افراد احتمالاً در مناطق خاصی نیاز به سواری دارند، استفاده می‌کند، که کمک می‌کند تا رانندگان پیش از نیاز، به طور فعال در جاده‌ها حرکت کنند. به عنوان مثالی دیگر، گوگل با استفاده از یادگیری ماشینی برای درک نحوه استفاده مردم از خدمات و سپس بهبود آنها، به یکی از بزرگترین بازیگران برای طیف وسیعی از خدمات آنلاین تبدیل شده است. در سال ۲۰۱۷، ساندار پیچای، مدیرعامل این شرکت، اعلام کرد که گوگل به عنوان یک شرکت &quot;اول AI&quot; فعالیت خواهد کرد. بزرگ‌ترین و موفق‌ترین شرکت‌های امروزی از هوش مصنوعی برای بهبود عملکرد خود و کسب مزیت نسبت به رقبای خود استفاده کرده‌اند.۳ مزایا و معایب هوش مصنوعیمزایا و معایب هوش مصنوعی در ادامه لیست شده‌اند با این حال لازم است توجه شود که شبکه‌های عصبی مصنوعی و فناوری‌های هوش مصنوعی یادگیری عمیق، به سرعت در حال تکامل هستند، در درجه اول به این دلیل که هوش مصنوعی مقادیر زیادی از داده‌ها را بسیار سریع‌تر پردازش می‌کند و پیش‌بینی‌ها را دقیق‌تر از آنچه که انسان ممکن است انجام می‌دهد.در حالی که حجم عظیمی از داده‌هایی که به صورت روزانه ایجاد می‌شوند،مانند آوار یک محقق انسانی را دفن می‌کنند، برنامه‌های کاربردی هوش مصنوعی که از یادگیری ماشینی استفاده می‌کنند می‌توانند آن داده‌ها را دریافت کنند و به سرعت آن‌ها را به اطلاعات عملی تبدیل کنند. در زمان نگارش این مقاله، عیب اصلی استفاده از هوش مصنوعی این است که پردازش مقادیر زیادی از داده‌های مورد نیاز برنامه‌نویسی هوش مصنوعی، گران است.مزایا· در مشاغل مرتبط با جزئیات خوب است.· کاهش زمان برای کارهای سنگین داده؛· نتایج ثابتی را ارائه می دهد؛ · عوامل مجازی مبتنی بر هوش مصنوعی همیشه در دسترس هستند.معایب· گران؛· به تخصص فنی عمیق نیاز دارد.· عرضه محدود کارگران واجد شرایط برای ساخت ابزارهای هوش مصنوعی؛· فقط می داند چه چیزی نشان داده شده است.· عدم توانایی تعمیم از یک کار به کار دیگر.۴. هوش مصنوعی قوی در مقابل هوش مصنوعی ضعیفهوش مصنوعی را می توان به دو دسته ضعیف یا قوی طبقه بندی کرد.هوش مصنوعی ضعیف، همچنین به عنوان هوش مصنوعی باریک (Narrow AI) شناخته‌می شود، یک سیستم هوش مصنوعی است که برای انجام یک کار خاص طراحی و آموزش داده شده است. ربات های صنعتی و دستیاران شخصی مجازی مانند سیری اپل از هوش مصنوعی ضعیف استفاده می کنند. هوش مصنوعی قوی، همچنین به عنوان هوش عمومی مصنوعی (Artificial General Intelligence-AGI) شناخته می شود، برنامه ریزی را توصیف می کند که می تواند توانایی های شناختی مغز انسان را تکرار کند. هنگامی که با یک کار ناآشنا ارائه می شود، یک سیستم هوش مصنوعی قوی می تواند از منطق فازی برای اعمال دانش از یک دامنه به حوزه دیگر و یافتن راه حل به طور مستقل استفاده کند. در تئوری، یک برنامه هوش مصنوعی قوی باید بتواند هم آزمون تورینگ و هم آزمون اتاق چینی را پشت سر بگذارد.۵. انواع هوش مصنوعیآرند هینتزه (Arend Hintze)، استادیار زیست شناسی و علوم کامپیوتری و مهندسی در دانشگاه ایالتی میشیگان، در مقاله ای در سال ۲۰۱۶ توضیح داد که هوش مصنوعی را می توان به چهار نوع طبقه بندی کرد، که از سیستم های هوشمند ویژه کار که امروزه به طور گسترده استفاده می شود شروع می شود و به سیستم های حساس ادامه می‌یابد، که هنوز وجود ندارند. دسته بندی ها به شرح زیر است: نوع ۱: ماشین های راکتیو (Reactive machine). این سیستم‌های هوش مصنوعی حافظه ندارند و مختص وظایف هستند. به عنوان مثال Deep Blue یا آبی عمیق، برنامه شطرنج IBM که گری کاسپاروف را در دهه ۱۹۹۰ شکست داد. آبی عمیق می تواند مهره های روی صفحه شطرنج را شناسایی کند و پیش بینی کند، اما چون حافظه ندارد، نمی تواند از تجربیات گذشته برای اطلاع رسانی به آینده استفاده کند. نوع ۲: حافظه محدود(Limited memory). این سیستم های هوش مصنوعی دارای حافظه هستند، بنابراین می توانند از تجربیات گذشته برای اطلاع رسانی تصمیمات آینده استفاده کنند. برخی از عملکردهای تصمیم گیری در خودروهای خودران به این شکل طراحی شده اند. نوع ۳: نظریه ذهن (Theory of mind). نظریه ذهن یک اصطلاح روانشناسی است. وقتی برای هوش مصنوعی اعمال می شود، به این معنی است که این سیستم از هوش اجتماعی برای درک احساسات برخوردار است. این نوع هوش مصنوعی قادر به استنباط نیات انسان و پیش بینی رفتار خواهد بود، مهارتی ضروری برای سیستم های هوش مصنوعی برای تبدیل شدن به اعضای جدایی ناپذیر تیم های انسانی. نوع ۴: خودآگاهی (Self-awareness). در این دسته، سیستم‌های هوش مصنوعی حسی از خود دارند که به آنها آگاهی می‌دهد. ماشین های دارای خودآگاهی وضعیت فعلی خود را درک می کنند. این نوع هوش مصنوعی هنوز وجود ندارد.انواع هوش مصنوعی۶. نمونه هایی از انواع فناوری هوش مصنوعیهوش مصنوعی در انواع مختلف فناوری گنجانده شده است. در اینجا شش مثال آورده شده است: اتوماسیون. وقتی ابزارهای اتوماسیون با فناوری‌های هوش مصنوعی همراه شوند، می‌توانند حجم و انواع وظایف انجام‌شده را افزایش دهند. به عنوان مثال، اتوماسیون فرآیند روباتیک (RPA-Robotic Process Automation)، نوعی نرم افزار است که وظایف پردازش داده های تکراری و مبتنی بر قوانین را که به طور سنتی توسط انسان انجام می شود، خودکار می کند. هنگامی که با یادگیری ماشین و ابزارهای نوظهور هوش مصنوعی ترکیب می‌شود، RPA می‌تواند بخش‌های بزرگ‌تری از مشاغل سازمانی را خودکار کند و ربات‌های تاکتیکی RPA را قادر می‌سازد تا اطلاعات هوش مصنوعی را به همراه داشته باشند و به تغییرات فرآیند پاسخ دهند. فراگیری ماشین. این علم به کار بردن کامپیوتر بدون برنامه نویسی است. یادگیری عمیق زیرمجموعه‌ای از یادگیری ماشینی است که به زبان بسیار ساده می‌توان آن را خودکارسازی تجزیه و تحلیل پیش‌بینی‌کننده در نظر گرفت. سه نوع الگوریتم یادگیری ماشین وجود دارد:- یادگیری تحت نظارت (Supervised learning): مجموعه داده ها برچسب گذاری می شوند تا الگوها را بتوان شناسایی کرد و برای برچسب گذاری مجموعه داده های جدید استفاده کرد.- یادگیری بدون نظارت (Unsupervised learning): مجموعه داده ها برچسب گذاری نمی شوند و بر اساس شباهت ها یا تفاوت ها مرتب می شوند.-یادگیری تقویتی (Reinforcement learning): مجموعه داده ها برچسب گذاری نمی شوند، اما پس از انجام یک عمل یا چندین عمل، به سیستم هوش مصنوعی بازخورد داده می شود.بینایی ماشین (Machine vision): این فناوری به ماشین توانایی دیدن می دهد. بینایی ماشین اطلاعات بصری را با استفاده از دوربین، تبدیل آنالوگ به دیجیتال و پردازش سیگنال دیجیتال ضبط و تجزیه و تحلیل می کند. این بینایی اغلب با بینایی انسان مقایسه می شود، اما بینایی ماشینی به بیولوژی محدود نمی شود و می تواند برای مثال برای دیدن از طریق دیوار برنامه ریزی شود. در طیف وسیعی از کاربردها از شناسایی امضا تا تجزیه و تحلیل تصویر پزشکی استفاده می شود. بینایی رایانه‌ای که بر پردازش تصویر مبتنی بر ماشین متمرکز است، اغلب با بینایی ماشین ترکیب می‌شود. پردازش زبان طبیعی (Natural Language Processing-NLP): این پردازش زبان انسان توسط یک برنامه کامپیوتری است. یکی از قدیمی‌ترین و شناخته‌شده‌ترین نمونه‌های NLP، تشخیص هرزنامه است که به موضوع و متن ایمیل نگاه می‌کند و تصمیم می‌گیرد که آیا ناخواسته است یا خیر. رویکردهای فعلی NLP مبتنی بر یادگیری ماشینی است. وظایف NLP شامل ترجمه متن، تجزیه و تحلیل احساسات و تشخیص گفتار است.رباتیک: این رشته مهندسی بر طراحی و ساخت ربات ها تمرکز دارد. ربات ها اغلب برای انجام کارهایی استفاده می شوند که انجام آنها یا انجام مداوم آنها برای انسان دشوار است. به عنوان مثال، ربات ها در خطوط مونتاژ برای تولید خودرو یا توسط ناسا برای جابجایی اجسام بزرگ در فضا استفاده می شوند. محققان همچنین از یادگیری ماشینی برای ساخت ربات هایی استفاده می کنند که می توانند در محیط های اجتماعی تعامل داشته باشند.ماشین های خودران (Self-driving cars): وسایل نقلیه خودران از ترکیبی از بینایی کامپیوتر، تشخیص تصویر و یادگیری عمیق برای ایجاد مهارت خودکار در هدایت وسیله نقلیه در حالی که در یک خط معین می‌مانند و اجتناب از موانع غیرمنتظره مانند عابران پیاده استفاده می‌کنند.هوش مصنوعی تنها یک فناوری نیست. ۷. کاربردهای هوش مصنوعیهوش مصنوعی راه خود را به بازارهای مختلف باز کرده است. در اینجا نه نمونه آورده شده است.۱. مراقبت های بهداشتی: بزرگترین شرط بندی ها بر روی بهبود نتایج بیمار و کاهش هزینه ها است. شرکت‌ها از یادگیری ماشینی برای تشخیص بهتر و سریع‌تر از انسان استفاده می‌کنند. یکی از شناخته شده ترین فناوری های مراقبت های بهداشتی IBM Watson است. زبان طبیعی را می فهمد و می تواند به سوالاتی که از آن پرسیده می شود پاسخ دهد. این سیستم داده‌های بیمار و سایر منابع داده موجود را استخراج می‌کند تا یک فرضیه را تشکیل دهد، که سپس با یک طرح امتیازدهی اطمینان ارائه می‌کند. سایر برنامه های کاربردی هوش مصنوعی شامل استفاده از دستیاران سلامت مجازی آنلاین و چت بات ها برای کمک به بیماران و مشتریان مراقبت های بهداشتی در یافتن اطلاعات پزشکی، برنامه ریزی قرار ملاقات، درک فرآیند صدور صورت حساب و تکمیل سایر فرآیندهای اداری است. مجموعه ای از فناوری های هوش مصنوعی نیز برای پیش بینی، مبارزه و درک استفاده می شودهمه گیری هایی مانند COVID-19 .۲. تجارت: الگوریتم‌های یادگیری ماشینی در حال ادغام در پلت‌فرم‌های تجزیه و تحلیل و مدیریت ارتباط با مشتری ( CRM ) هستند تا اطلاعاتی را در مورد نحوه ارائه خدمات بهتر به مشتریان کشف کنند. چت بات ها برای ارائه خدمات فوری به مشتریان در وب سایت ها گنجانده شده اند. اتوماسیون موقعیت های شغلی نیز به موضوعی در میان دانشگاهیان و تحلیلگران فناوری اطلاعات تبدیل شده است.۳. آموزش:  هوش مصنوعی می تواند نمره دهی را خودکار کند و به مربیان زمان بیشتری بدهد. می تواند دانش آموزان را ارزیابی کند و با نیازهای آنها سازگار شود و به آنها کمک کند تا با سرعت خودشان کار کنند. آموزگاران هوش مصنوعی می‌توانند پشتیبانی بیشتری از دانش‌آموزان ارائه دهند و از ماندن آنها در مسیر مطمئن شوند. و می تواند مکان و نحوه یادگیری دانش آموزان را تغییر دهد، شاید حتی جایگزین برخی از معلمان شود.۴. امور مالی:  هوش مصنوعی در برنامه های مالی شخصی، مانندIntuit Mint یا TurboTax، مؤسسات مالی را مختل می کند. برنامه هایی مانند اینها داده های شخصی را جمع آوری می کنند و مشاوره مالی ارائه می دهند. برنامه های دیگری مانند IBM Watson در فرآیند خرید خانه به کار گرفته شده است. امروزه نرم افزار هوش مصنوعی بیشتر معاملات را در وال استریت انجام می دهد.۵. قانون: روند کشف از طریق غربال کردن اسناد در قانون اغلب برای انسان طاقت فرسا است. استفاده از هوش مصنوعی برای کمک به خودکارسازی فرآیندهای پر زحمت صنعت قانونی باعث صرفه جویی در زمان و بهبود خدمات مشتری می شود. شرکت‌های حقوقی از یادگیری ماشینی برای توصیف داده‌ها و پیش‌بینی نتایج، بینایی کامپیوتری برای طبقه‌بندی و استخراج اطلاعات از اسناد و پردازش زبان طبیعی برای تفسیر درخواست‌های اطلاعات استفاده می‌کنند.۶. تولید:  تولید در ترکیب روبات ها در جریان کار پیشرو بوده است . برای مثال، ربات‌های صنعتی که زمانی برای انجام وظایف منفرد برنامه‌ریزی شده بودند و از کارگران انسانی جدا می‌شدند، به طور فزاینده‌ای به عنوان ربات‌ها عمل می‌کردند : روبات‌های کوچک‌تر و چندوظیفه‌ای که با انسان‌ها همکاری می‌کنند و مسئولیت بخش‌های بیشتری از کار را در انبارها، طبقات کارخانه‌ها بر عهده می‌گیرند. و سایر فضاهای کاری۷. بانکداری:  بانک ها با موفقیت از چت بات ها استفاده می کنند تا مشتریان خود را از خدمات و پیشنهادات آگاه کنند و تراکنش هایی را انجام دهند که نیازی به دخالت انسانی ندارند. دستیارهای مجازی هوش مصنوعی برای بهبود و کاهش هزینه های انطباق با مقررات بانکی استفاده می شود. سازمان‌های بانکی همچنین از هوش مصنوعی برای بهبود تصمیم‌گیری برای وام‌ها و تعیین محدودیت‌های اعتباری و شناسایی فرصت‌های سرمایه‌گذاری استفاده می‌کنند.۸. حمل و نقل:  علاوه بر نقش اساسی هوش مصنوعی در به کار انداختن وسایل نقلیه خودران، فناوری‌های هوش مصنوعی در حمل‌ونقل برای مدیریت ترافیک، پیش‌بینی تاخیرهای پرواز و ایمن‌تر و کارآمدتر کردن کشتی‌های اقیانوسی استفاده می‌شوند.۹. امنیت:  هوش مصنوعی و یادگیری ماشین در صدر فهرست کلیدواژه‌هایی هستند که امروزه فروشندگان امنیتی برای متمایز کردن پیشنهادات خود از آن استفاده می‌کنند. این اصطلاحات همچنین نشان دهنده فناوری های واقعاً قابل دوام هستند. سازمان‌ها از یادگیری ماشین در نرم‌افزار مدیریت رویداد و اطلاعات امنیتی( SIEM ) و حوزه‌های مرتبط برای شناسایی ناهنجاری‌ها و شناسایی فعالیت‌های مشکوک که نشان‌دهنده تهدید هستند، استفاده می‌کنند. با تجزیه و تحلیل داده‌ها و استفاده از منطق برای شناسایی شباهت‌ها به کدهای مخرب شناخته شده، هوش مصنوعی می‌تواند هشدار حملات جدید و در حال ظهور را خیلی زودتر از کارکنان انسانی و تکرارهای فناوری قبلی ارائه دهد. فناوری در حال رشد نقش بزرگی در کمک به سازمان‌ها برای مقابله با حملات سایبری ایفا می‌کند.۸ هوش افزوده  (Augmented inteligenece) در مقابل هوش مصنوعیبرخی از کارشناسان صنعت بر این باورند که اصطلاح هوش مصنوعی بسیار با فرهنگ عامه مرتبط است و این باعث شده است که عموم مردم انتظارات غیرمحتملی در مورد اینکه چگونه هوش مصنوعی محیط کار و زندگی را به طور کلی تغییر خواهد داد، داشته باشد.· هوش افزوده برخی از محققان و بازاریابان امیدوارند که برچسب هوش افزوده ، که مفهومی خنثی‌تری دارد، به مردم کمک کند تا درک کنند که بیشتر پیاده‌سازی‌های هوش مصنوعی ضعیف هستند و به سادگی محصولات و خدمات را بهبود می‌بخشند. به عنوان مثال می توان به نمایش خودکار اطلاعات مهم در گزارش های هوش تجاری یا برجسته کردن اطلاعات مهم در پرونده های حقوقی اشاره کرد.· هوش مصنوعی. هوش مصنوعی واقعی، یا هوش عمومی مصنوعی، ارتباط نزدیکی با مفهوم تکینگی تکنولوژیکی دارد (technological singularity)- آینده ای که توسط یک ابر هوش مصنوعی اداره می شود که بسیار فراتر از توانایی مغز انسان برای درک آن یا نحوه شکل دادن به واقعیت ما است. این در قلمرو داستان های علمی تخیلی باقی می ماند، اگرچه برخی از توسعه دهندگان در حال کار بر روی این مشکل هستند. بسیاری بر این باورند که فناوری هایی مانند محاسبات کوانتومی می توانند نقش مهمی در تحقق AGI ایفا کنند و ما باید استفاده از اصطلاح هوش مصنوعی را برای این نوع هوش عمومی محفوظ نگه داریم.۹. استفاده اخلاقی از هوش مصنوعیدر حالی که ابزارهای هوش مصنوعی طیف وسیعی از عملکردهای جدید را برای مشاغل ارائه می دهند، استفاده از هوش مصنوعی سوالات اخلاقی را نیز مطرح می کند زیرا، خوب یا بد، یک سیستم هوش مصنوعی آنچه را که قبلاً آموخته است، تقویت می کند.این می‌تواند مشکل‌ساز باشد زیرا الگوریتم‌های یادگیری ماشین، که زیربنای بسیاری از پیشرفته‌ترین ابزارهای هوش مصنوعی هستند، به اندازه داده‌هایی که در آموزش داده می‌شوند هوشمند هستند. از آنجایی که یک انسان انتخاب می‌کند چه داده‌هایی برای آموزش یک برنامه هوش مصنوعی استفاده شود، پتانسیل سوگیری یادگیری ماشینی (machine learning bias) ذاتی است و باید به دقت نظارت شود.هرکسی که به دنبال استفاده از یادگیری ماشینی به عنوان بخشی از سیستم‌های واقعی و در حال تولید است، باید اخلاق را در فرآیندهای آموزشی هوش مصنوعی خود لحاظ کند و سعی کند از سوگیری جلوگیری کند. این امر به ویژه در هنگام استفاده از الگوریتم‌های هوش مصنوعی که ذاتاً در برنامه‌های یادگیری عمیق (deep learning) و شبکه‌های متخاصم تولیدی (Generative Adversarial Network) غیرقابل توضیح هستند، صادق است.توضیح پذیری یک مانع بالقوه برای استفاده از هوش مصنوعی در صنایعی است که تحت شرایط سخت انطباق مقرراتی کار می کنند . به عنوان مثال، مؤسسات مالی در ایالات متحده بر اساس مقرراتی عمل می کنند که آنها را ملزم می کند تا تصمیمات خود را برای صدور اعتبار توضیح دهند. با این حال، زمانی که تصمیم برای رد اعتبار توسط برنامه‌نویسی هوش مصنوعی گرفته می‌شود، توضیح اینکه چگونه این تصمیم گرفته شده است، می‌تواند دشوار باشد زیرا ابزارهای هوش مصنوعی که برای چنین تصمیم‌گیری‌هایی استفاده می‌شوند با از بین بردن همبستگی‌های ظریف بین هزاران متغیر عمل می‌کنند. هنگامی که فرآیند تصمیم گیری قابل توضیح نباشد، برنامه ممکن است به عنوان هوش مصنوعی جعبه سیاه (black box AI) نامیده شود .این مولفه ها استفاده مسئولانه از هوش مصنوعی را تشکیل می دهند.با وجود خطرات بالقوه، در حال حاضر مقررات کمی وجود دارد که بر استفاده از ابزارهای هوش مصنوعی حاکم باشد، و در مواردی که قوانین وجود دارد، معمولاً به طور غیرمستقیم به هوش مصنوعی مربوط می‌شوند. به عنوان مثال، همانطور که قبلاً ذکر شد، مقررات وام دهی منصفانه ایالات متحده مؤسسات مالی را ملزم می کند که تصمیمات اعتباری را برای مشتریان بالقوه توضیح دهند. این میزان استفاده وام دهندگان از الگوریتم های یادگیری عمیق را محدود می کند، الگوریتم هایی که طبیعتاً غیرشفاف هستند و قابلیت توضیح ندارند.مقررات عمومی حفاظت از داده‌های اتحادیه اروپا ( GDPR ) محدودیت‌های سختی را برای نحوه استفاده شرکت‌ها از داده‌های مصرف‌کننده تعیین می‌کند، که مانع آموزش و عملکرد بسیاری از برنامه‌های هوش مصنوعی مصرف‌کننده می‌شود.در اکتبر ۲۰۱۶، شورای ملی علم و فناوری گزارشی منتشر کرد که در آن نقش بالقوه مقررات دولتی ممکن است در توسعه هوش مصنوعی ایفا کند، اما توصیه نکرد که قوانین خاصی در نظر گرفته شود.تدوین قوانین برای تنظیم هوش مصنوعی آسان نخواهد بود، تا حدی به این دلیل که هوش مصنوعی شامل انواع فناوری‌هایی است که شرکت‌ها برای اهداف مختلف از آن‌ها استفاده می‌کنند، و تا حدودی به این دلیل که مقررات می‌تواند به قیمت پیشرفت و توسعه هوش مصنوعی تمام شود. تکامل سریع فناوری‌های هوش مصنوعی مانع دیگری بر سر ایجاد مقررات معنادار هوش مصنوعی است. پیشرفت های فناوری و کاربردهای جدید می تواند قوانین موجود را فوراً منسوخ کند. به عنوان مثال، قوانین موجود که حریم خصوصی مکالمات و مکالمات ضبط شده را تنظیم می کند، چالش ایجاد شده توسط دستیارهای صوتی مانند الکسای آمازون و سیری اپل را که جمع آوری می کنند اما مکالمه را توزیع نمی کنند، پوشش نمی‌دهد، به جز برای تیم های فناوری شرکت ها که از آن برای بهبود ماشین استفاده می کنند. الگوریتم های یادگیری و البته قوانینی که دولت ها برای تنظیم هوش مصنوعی وضع می کنند، مجرمان را از استفاده از این فناوری با نیت مخربانه باز نمی‌دارد.۱۰. محاسبات شناختی( Cognitive computing) و هوش مصنوعیاصطلاحات هوش مصنوعی ومحاسبات شناختی گاهی به جای یکدیگر استفاده می شوند، اما، به طور کلی، برچسب هوش مصنوعی در اشاره به ماشین هایی استفاده می شود که با شبیه سازی نحوه حس، یادگیری، پردازش و واکنش ما به اطلاعات در محیط، جایگزین هوش انسانی می شوند.برچسب محاسبات شناختی برای اشاره به محصولات و خدماتی که فرآیندهای فکری انسان را تقلید و تقویت می کنند، استفاده می شود.۱۱. تاریخچه هوش مصنوعیمفهوم اشیای بی جان دارای هوش از زمان های قدیم وجود داشته است. هفائستوس خدای یونانی در اسطوره ها به صورت فرضی با خدمتکاران روبات مانند از طلا به تصویر کشیده شد. مهندسان در مصر باستان مجسمه های خدایان را که توسط کشیشان متحرک شده بودند ساختند. در طول قرن‌ها، متفکرانی از ارسطو گرفته تا رامون لول، الهی‌دان اسپانیایی قرن سیزدهم تا رنه دکارت و توماس بیز، از ابزارها و منطق زمان خود برای توصیف فرآیندهای فکری انسان به عنوان نمادها استفاده کردند و پایه و اساس مفاهیم هوش مصنوعی مانند بازنمایی دانش عمومی (Knowledge Representation) را پی ریزی کردند.پشتیبانی از زمینه مدرن هوش مصنوعی، ۱۹۵۶ تا کنون.اواخر قرن نوزدهم و نیمه اول قرن بیستم اساسی ترین کار که باعث ایجاد رایانه مدرن شد پی ریزی گردید . در سال 1۸۳۶، چارلز بابیج Charles Babbage، ریاضیدان دانشگاه کمبریج و آگوستا آدا بایرون Augusta Ada Byron، کنتس لاولیس، اولین طرح یک ماشین قابل برنامه ریزی را اختراع کردند.دهه ۱۹۴۰ جان فون نویمان John Von Neumann،ریاضیدان پرینستون، معماری کامپیوتر برنامه ذخیره شده را در نظر گرفت - این ایده که برنامه کامپیوتر و داده هایی که پردازش می کند را می توان در حافظه کامپیوتر نگه داشت. و وارن مک کالوچ Warren McCullochو والتر پیتس Walter Pitts پایه و اساس شبکه های عصبی را بنا نهادند.دهه ۱۹۵۰ با ظهور کامپیوترهای مدرن، دانشمندان توانستند ایده های خود را در مورد هوش ماشینی آزمایش کنند. یک روش برای تعیین اینکه آیا کامپیوتر دارای هوش است یا خیر توسط ریاضیدان بریتانیایی و رمز شکن جنگ جهانی دوم، آلن تورینگ Alan Turing ابداع شد. آزمون تورینگ بر توانایی رایانه در فریب دادن بازجویان به این باور بود که پاسخ های آن به سؤالات آنها توسط یک انسان ساخته شده است.۱۹۵۶. به طور گسترده از حوزه مدرن هوش مصنوعی به عنوان شروع این‌سال در یک کنفرانس تابستانی در کالج دارتموث Dartmouthنام برده می شود. این کنفرانس که توسط آژانس پروژه های تحقیقاتی پیشرفته دفاعی (دارپا) Defense Advanced Research Projects Agency (DARPA) حمایت می شد، با حضور ۱۰ تن از افراد برجسته در این زمینه، از جمله پیشگامان هوش مصنوعی، ماروین مینسکی، الیور سلفریج و جان مک کارتی ، که به عنوان ابداع اصطلاح هوش مصنوعی شناخته می شود، برگزار شد. همچنین آلن نیول، دانشمند کامپیوتر، و هربرت آ. سیمون، اقتصاددان، دانشمند علوم سیاسی و روانشناس شناختی نیز حضور داشتند که نظریه پرداز منطقی پیشگامانه خود را ارائه کردند، یک برنامه کامپیوتری که قادر به اثبات برخی قضایای ریاضی است و از آن به عنوان اولین برنامه هوش مصنوعی یاد می شود. .دهه ۱۹۶۰. در پی کنفرانس کالج دارتموث، رهبران حوزه نوپای هوش مصنوعی پیش بینی کردند که هوش مصنوعی معادل مغز انسان در گوشه و کنار است و حمایت عمده دولت و صنعت را به خود جلب می کند. در واقع، نزدیک به ۲۰ سال تحقیقات پایه با بودجه خوب، پیشرفت های قابل توجهی را در هوش مصنوعی ایجاد کرد: برای مثال، در اواخر دهه ۱۹۵۰، نیوول و سایمون الگوریتم حل مسئله عمومی (GPS) را منتشر کردند که در حل مسائل پیچیده کوتاهی می کرد، اما پایه های اولیه را برای آن ایجاد کرد. توسعه معماری های شناختی پیچیده تر؛ مک کارتی Lisp را توسعه داد ، زبانی برای برنامه نویسی هوش مصنوعی که هنوز هم استفاده می شود. در اواسط دهه ۱۹۶۰، پروفسور جوزف وایزنبام MIT، ELIZA، یک برنامه پردازش زبان طبیعی اولیه را توسعه داد که پایه و اساس چت ربات های امروزی را بنا نهاد.دهه ۱۹۷۰ و ۱۹۸۰. اما به دلیل محدودیت در پردازش و حافظه کامپیوتری و پیچیدگی مشکل، دستیابی به هوش عمومی مصنوعی گریزان بود، نه قریب الوقوع. دولت و شرکت ها از حمایت خود از تحقیقات هوش مصنوعی عقب نشینی کردند، که منجر به یک دوره آیش از سال ۱۹۷۴ تا ۱۹۸۰ شد و به عنوان اولین &quot; زمستان هوش مصنوعی &quot; شناخته شد. در دهه ۱۹۸۰، تحقیق در مورد تکنیک‌های یادگیری عمیق و پذیرش صنعت از سیستم‌های خبره ادوارد فایگنبام، موج جدیدی از شور و شوق هوش مصنوعی را برانگیخت، اما پس از آن، بودجه‌های دولتی و حمایت‌های صنعتی از بین رفت. دومین زمستان هوش مصنوعی تا اواسط دهه ۱۹۹۰ ادامه داشت.دهه ۱۹۹۰ تا امروز افزایش قدرت محاسباتی و انفجار داده ها جرقه یک رنسانس هوش مصنوعی را در اواخر دهه ۱۹۹۰ زد که تا امروز ادامه داشته است. آخرین تمرکز بر هوش مصنوعی باعث پیشرفت در پردازش زبان طبیعی، بینایی کامپیوتر، روباتیک، یادگیری ماشینی، یادگیری عمیق و موارد دیگر شده است. علاوه بر این، هوش مصنوعی در حال ملموس‌تر شدن است، ماشین‌ها را نیرو می‌دهد، بیماری‌ها را تشخیص می‌دهد و نقش خود را در فرهنگ عامه تقویت می‌کند. در سال ۱۹۹۷، دیپ بلو از IBM، گری کاسپاروف، استاد بزرگ شطرنج روسی را شکست داد و اولین برنامه کامپیوتری بود که یک قهرمان شطرنج جهان را شکست داد. چهارده سال بعد، واتسون آی بی ام (IBM&#x27;s Watson) هنگامی که دو قهرمان سابق را در نمایش بازی Jeopardy شکست داد، مردم را مجذوب خود کرد.۱۲. هوش مصنوعی به عنوان یک سرویسArtificial Intelligence as a Service(AIaaS)از آنجایی که هزینه‌های سخت‌افزار، نرم‌افزار و کارکنان برای هوش مصنوعی می‌تواند گران باشد، بسیاری از فروشندگان اجزای هوش مصنوعی را در پیشنهادات استاندارد خود گنجانده‌اند یا به پلتفرم‌های هوش مصنوعی به عنوان سرویس ( AIaaS ) دسترسی دارند. AIaaS به افراد و شرکت‌ها این امکان را می‌دهد که هوش مصنوعی را برای اهداف تجاری مختلف آزمایش کنند و قبل از تعهد از چندین پلتفرم نمونه‌برداری کنند.پیشنهادات ابری محبوب هوش مصنوعی شامل موارد زیر است:· Amazon AI· IBM Watson Assistance· Microsoft Congnitive Services· Google AIجمع بندی:در این مقاله ابتدا به این سوال پاسخ داده شد که هوش مصنوعی چیست و چرا مهم است و پس از آن هم تقریباً تمام مباحث داغ پیرامون هوش مصنوعی شرح داده شد و در انتها برخی سرویسهای هوش مصنوعی معرفی گردید. امید است این مقاله مفید واقع شده باشد.ماخذ:https://www.techtarget.com/searchenterpriseai/definition/AI-Artificial-Intelligenceلطفا نظر خود را در خصوص متن فوق ارسال فرمایید.</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>Ali -Digital Marketing Expert</author>
                <pubDate>Wed, 15 Mar 2023 15:57:35 +0330</pubDate>
            </item>
                    <item>
                <title>رگرسیون خطی - Linear Regression - مهدی مشایخی</title>
                <link>https://virgool.io/Artificialintelligence/linear-regression-ag7ehb8ki9gl</link>
                <description>رگرسیون خطی در یادگیری ماشین -  مهدی مشایخی رگرسیون خطی در یادگیری ماشینرگرسیون خطی یکی از ساده‌ترین و محبوب ترین الگوریتم های یادگیری ماشین است. این یک روش آماری است که برای تجزیه و تحلیل پیش بینی استفاده می شود. رگرسیون خطی پیش بینی هایی را برای متغیرهای پیوسته/واقعی یا عددی مانند فروش، حقوق، سن، قیمت محصول و غیره انجام می دهد.الگوریتم رگرسیون خطی یک رابطه خطی بین یک متغیر وابسته (y) و یک یا چند متغیر مستقل (y) را نشان می‌دهد، از این رو رگرسیون خطی نامیده می‌شود. از آنجایی که رگرسیون خطی رابطه خطی را نشان می دهد، به این معنی که چگونگی تغییر مقدار متغیر وابسته را با توجه به مقدار متغیر مستقل پیدا می کند.مدل رگرسیون خطی یک خط مستقیم شیب دار ارائه می دهد که نشان دهنده رابطه بین متغیرها است. تصویر زیر را در نظر بگیرید:رگرسیون خطی - مهدی مشایخیاز نظر ریاضی، می توانیم یک رگرسیون خطی را به صورت زیر نمایش دهیم:y= a 0 +a 1 x+ eتوضیح :Y= متغیر وابسته (متغیر هدف)X= متغیر مستقل (متغیر پیش بینی کننده)a0= قطع خط (درجه آزادی اضافی می دهد)a1 = ضریب رگرسیون خطی (ضریب مقیاس برای هر مقدار ورودی).ε = خطای تصادفیمقادیر متغیرهای x و y مجموعه داده های آموزشی برای نمایش مدل رگرسیون خطی هستند.انواع رگرسیون خطیرگرسیون خطی را می توان به دو نوع الگوریتم تقسیم کرد:رگرسیون خطی ساده:اگر از یک متغیر مستقل برای پیش‌بینی مقدار یک متغیر وابسته عددی استفاده شود، به چنین الگوریتم رگرسیون خطی، رگرسیون خطی ساده می‌گویند.رگرسیون خطی چندگانه:اگر بیش از یک متغیر مستقل برای پیش‌بینی مقدار یک متغیر وابسته عددی استفاده شود، چنین الگوریتم رگرسیون خطی را رگرسیون خطی چندگانه می‌گویند.خط رگرسیون خطیخطی که رابطه بین متغیرهای وابسته و مستقل را نشان می دهد، خط رگرسیون نامیده می شود . یک خط رگرسیون می تواند دو نوع رابطه را نشان دهد:رابطه خطی مثبت:اگر متغیر وابسته در محور Y افزایش یابد و متغیر مستقل در محور X افزایش یابد، چنین رابطه ای را رابطه خطی مثبت می نامند.رابطه مثبت - مهدی مشایخیرابطه خطی منفی:اگر متغیر وابسته در محور Y کاهش یابد و متغیر مستقل در محور X افزایش یابد، به چنین رابطه ای رابطه خطی منفی می گویند.رابطه منفی - مهدی مشایخیپیدا کردن بهترین خط مناسب:هنگام کار با رگرسیون خطی، هدف اصلی ما یافتن بهترین خط مناسب است که به این معنی است که خطا بین مقادیر پیش‌بینی‌شده و مقادیر واقعی باید به حداقل برسد. بهترین خط مناسب کمترین خطا را خواهد داشت.مقادیر مختلف برای وزن ها یا ضریب خطوط (a 0 , a 1 ) خط رگرسیون متفاوتی را به دست می دهد، بنابراین ما باید بهترین مقادیر را برای 0 و 1 محاسبه کنیم تا بهترین خط مناسب را پیدا کنیم، بنابراین برای محاسبه این مقدار باید استفاده از تابع هزینهتابع هزینهمقادیر مختلف وزن یا ضریب خطوط (a 0 , a 1 ) خط رگرسیون متفاوتی را نشان می دهد و تابع هزینه برای تخمین مقادیر ضریب برای بهترین خط مناسب استفاده می شود.تابع هزینه ضرایب یا وزن های رگرسیون را بهینه می کند. نحوه عملکرد یک مدل رگرسیون خطی را اندازه گیری می کند.ما می توانیم از تابع هزینه برای یافتن دقت تابع نگاشت استفاده کنیم که متغیر ورودی را به متغیر خروجی نگاشت می کند. این تابع نگاشت با نام تابع فرضیه نیز شناخته می شود.برای رگرسیون خطی، از تابع هزینه میانگین مربعات خطا (MSE) استفاده می کنیم، که میانگین مربعات خطای رخ داده بین مقادیر پیش بینی شده و مقادیر واقعی است. می توان آن را به صورت زیر نوشت:برای معادله خطی بالا، MSE را می توان به صورت زیر محاسبه کرد:میانگین مربع خطا - مهدی مشایخیN = تعداد کل مشاهدهYi = مقدار واقعی(a1x i +a 0) = مقدار پیش بینی شده.باقیمانده ها: فاصله بین مقدار واقعی و مقادیر پیش بینی شده باقیمانده نامیده می شود. اگر نقاط مشاهده شده از خط رگرسیون دور باشند، پسماند بالا خواهد بود و بنابراین تابع هزینه بالا خواهد بود. اگر نقاط پراکندگی نزدیک به خط رگرسیون باشد، پسماند کوچک خواهد بود و در نتیجه تابع هزینه خواهد بود.گرادیان نزول:گرادیان نزولی برای به حداقل رساندن MSE با محاسبه گرادیان تابع هزینه استفاده می شود.یک مدل رگرسیون از شیب نزولی برای به روز رسانی ضرایب خط با کاهش تابع هزینه استفاده می کند.این کار با انتخاب تصادفی مقادیر ضریب انجام می‌شود و سپس به‌طور مکرر مقادیر را برای رسیدن به تابع حداقل هزینه به‌روزرسانی می‌کند.عملکرد مدل:خوب بودن تناسب تعیین می کند که چگونه خط رگرسیون با مجموعه مشاهدات مطابقت دارد. فرآیند یافتن بهترین مدل از بین مدل های مختلف بهینه‌سازی نامیده می شود. با روش زیر قابل دستیابی است:1. روش مربع R:R-squared یک روش آماری است که خوب بودن تناسب را تعیین می کند.قدرت رابطه بین متغیرهای وابسته و مستقل را در مقیاس 0-100 درصد اندازه گیری می کند.مقدار بالای R-square تفاوت کمتر بین مقادیر پیش بینی شده و مقادیر واقعی را تعیین می کند و از این رو مدل خوبی را نشان می دهد.به آن ضریب تعیین یا ضریب تعیین چندگانه برای رگرسیون چندگانه نیز گفته می شود.از فرمول زیر قابل محاسبه است:آر اسکوئر - مهدی مشایخیمفروضات رگرسیون خطیدر زیر برخی از مفروضات مهم رگرسیون خطی آورده شده است. اینها برخی از بررسی‌های رسمی هنگام ساخت یک مدل رگرسیون خطی هستند که تضمین می‌کند بهترین نتیجه ممکن را از مجموعه داده‌های داده شده به دست آورید.رابطه خطی بین ویژگی ها و هدف:رگرسیون خطی رابطه خطی بین متغیرهای وابسته و مستقل را فرض می کند.چند خطی بودن بین ویژگی ها کم یا بدون: چند خطی بودنبه معنای همبستگی زیاد بین متغیرهای مستقل است. به دلیل چند خطی بودن، یافتن رابطه واقعی بین متغیرهای پیش بینی و هدف ممکن است دشوار باشد. یا می‌توان گفت، تعیین اینکه کدام متغیر پیش‌بینی‌کننده بر متغیر هدف تأثیر می‌گذارد و کدام نه، دشوار است. بنابراین، مدل چند خطی بودن کمی بین ویژگی‌ها یا متغیرهای مستقل را فرض می‌کند.فرض Homoscedasticity:Homoscedasticity وضعیتی است که عبارت خطا برای همه مقادیر متغیرهای مستقل یکسان باشد. با homoscedasticity، نباید توزیع الگوی واضحی از داده ها در نمودار پراکندگی وجود داشته باشد.توزیع نرمال عبارات خطا:رگرسیون خطی فرض می کند که عبارت خطا باید از الگوی توزیع نرمال پیروی کند. اگر عبارات خطا به طور معمول توزیع نشوند، فواصل اطمینان یا خیلی گسترده یا خیلی باریک خواهند شد، که ممکن است در یافتن ضرایب مشکل ایجاد کند.می توان آن را با استفاده از نمودار qq بررسی کرد . اگر نمودار یک خط مستقیم را بدون انحراف نشان دهد، به این معنی است که خطا به طور معمول توزیع شده است.بدون خود همبستگی:مدل رگرسیون خطی هیچ خودهمبستگی را از نظر خطا فرض نمی کند. اگر در عبارت خطا همبستگی وجود داشته باشد، دقت مدل را به شدت کاهش می دهد. خودهمبستگی معمولاً در صورتی رخ می دهد که بین خطاهای باقیمانده وابستگی وجود داشته باشد.وبسایت من : اینجا کلیک کنید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.آدرس توییتر من برای مشارکت در گفت و گو ها : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@منبع : https://www.javatpoint.com/linear-regression-in-machine-learning</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Wed, 30 Nov 2022 19:41:24 +0330</pubDate>
            </item>
                    <item>
                <title>بیوانفورماتیک چیست | What is Bioinformatics</title>
                <link>https://virgool.io/Artificialintelligence/%D8%A8%DB%8C%D9%88%D8%A7%D9%86%D9%81%D9%88%D8%B1%D9%85%D8%A7%D8%AA%DB%8C%DA%A9-%DA%86%DB%8C%D8%B3%D8%AA-what-is-bioinformatics-h46xmvnt5ewc</link>
                <description>احتمالا اسم بیوانفورماتیک به گوش شما خورده باشه . اگر هم نشنیدید اینجا میخوام یه توضیح کوتاه بدم و این که این دانش به چه دردی میخوره ، با چه رشته هایی در ارتباط هست و باهاش چه کار هایی میکنیم.به طور کلی بگیم ، در این حوزه و دانش مربوطه، که میان رشته ای (subdiscipline) هست، مابه دنبال این هستیم که به وسیله کامپیوتر اطلاعاتی رو که از ژن ها و توالی ژن ها یا موارد دیگه  به دست میاریم رو تحلیل کنیم تا بتونیم دانش خودمون رو درباره بیماری ها زیاد کنیم یا از این اطلاعات برای بهداشت استفاده کنیم.حالا در تحلیل کردن این موارد ما معلولا با اطلاعات زیادی دست و پنچه نرم میکنیم. بنابراین  از یک دانش دیگه به اسم (Data science) کمک میگیریم. بریم تعریف علم داده رو این وسط ببینم:علم داده چیست ؟علم داده، علم بررسی داده های کلان ،که از تحقیقات و بررسی های دیگه به وجود می آیند،و تبدیل اونها به دانش هست.دو مورد قابل ذکره که بگیم:علم داده علمی جامع تر از Bioinformatics هست. یعنی وقتی یک نفر میخواد از علم داده برای تحلیل استفاده کنه، از ابزار های دیگه هم مثل ابزار بیوانفورماتیک هم استفاده می کنه.علم داده فقط اون چیزی نیست که شنیدیم برای تحلیل اطلاعات برای شرکت های بزرگ انجام میشه( خودم اینطوری فکر میکردم که این دانش خیلی محدوده ولی خیلی کاربرد های دیگه هم داره ) برای اینکه یک محصول یا خدمات رو به صورت هدفمند به مشتری برسونه.خوشحال میشم نظرات خودتون رو بهم بگید برای اینکه پست های بهتر و غنی تری آماده کنم.منبع:موسسه ملی تحقیقات ژنوم انسانی آمریکا</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>Mohammad Taha</author>
                <pubDate>Fri, 02 Sep 2022 13:13:20 +0430</pubDate>
            </item>
                    <item>
                <title>#هوش_مصنوعی برای شغل من چه خطری داره؟</title>
                <link>https://virgool.io/Artificialintelligence/dalle2-kgludr3s2eti</link>
                <description>جواب سوال تیتر اینه که: «بستگی داره».برای اینکه مشخص‌تر بشه، بیاید اول از چیزایی شروع کنیم که بستگی ندارن.هوش مصنوعی خیلی قدرتمنده. می‌تونه کارایی رو بکنه که برای انسان خیلی سخته، پس در میزان قدرتش تردیدی نداریم.منطق می‌گه چیزی که انقدر قدرت داره می‌تونه تاثیر زیادی هم روی زندگی ما داشته باشه. پس گذشته از اینکه خطر داره یا نه، احتمالا باعث تغییرات بزرگی توی زندگی ما می‌شه.داستان خطر چقدر جدیه؟در مورد این‌که دقیقا چقدر باید احساس خطر بکنیم بحث زیادی می‌شه کرد، اما دو سر طیف رو این‌جوری در نظر بگیرید: در این طرف یکی مثل #ایلان_ماسک وایساده و دائم داره توی رسانه‌ها، بدترین حالات ممکن رو توصیف می‌کنه و اشاعه می‌ده.ایلان ماسک به‌طور خلاصه می‌گه: «اگه از الان شل بگیریم و هوش مصنوعی رو با قواعد و قوانین سخت به زنجیر نکشیم، طولی نمی‌کشه که چموش بازی در میاره و بالاخره کار دستمون می‌ده.»در طرف دیگه، کسی مثل #ناوال_راویکانت رو میبینیم که عقیده داره: «هنوز زمان زیادی مونده تا بتونیم یک هوش مصنوعی کاملا مختار بسازیم که با آزادی عمل در سطح انسان بتونه برای خودش تصمیم بگیره. بنابراین حداقل توی عمر ما چنین چیزی رخ نمی‌ده و نباید بیش از حد بزرگش کرد»حرف ناوال راویکانت به‌طور خلاصه اینه که ما صرفا با چندتا دستگاه از مغز انسان عکس‌برداری کردیم و با این کار یک دید خیلی ناقص و سطحی از عملکردش در اختیار داریم. چیزی هم که به خوبی نشناسیم رو نمی‌شه مشابهش رو ساخت.ناوال عقیده داره مغز ما خیلی پیچیده‌تر از اونه که بخوایم به چندتا سیناپس در حال خاموش و روشن شدن ساده‌ش کنیم، بعد بریم چندتا خازن رو با سیم به همدیگه وصل کنیم و انتظار داشته باشیم عملکرد اینا در یک حد باشه.ناوال می‌گه ما اول باید بتونیم شناخت عمیقی از مغز و عملکردش پیدا کنیم، تا تازه در مرحله بعد بتونیم یه چیزی شبیه به همون رو بسازیم و ما با چنین نقطه‌ای، بیشتر از ۱۰۰ سال فاصله داریم.در حال حاضر هوش مصنوعی صرفا می‌تونه چیزایی که ما تعیین می‌کنیم رو یاد بگیره و باهاشون کارایی که بهش می‌گیم رو انجام بده.برای همین کاملا وابسته به چهارچوب و تصمیمات ما هست. خیلی مونده اونقدری خلاق بشه که بتونه خارج از چهارچوب ما تصمیمی بگیره.کدوم مشاغل اول حذف می‌شن؟ناوال توی مصاحبه در پادکست جو روگان مشخصا می‌گه:«خلاقیت آخرین سنگر هست و مشاغل حوزه‌ی خلاقه، آخرین گروهی هستن که باید احساس خطر بکنن. اتفاقا ما می‌تونیم با توسعه‌ی هوش مصنوعی کار گِل رو به کامپیوتر بسپریم و وقت بیشتری برای خلاقیت صرف کنیم. مگه این همون چیزی نیست که در نهایت انسان دنبالش می‌گرده؟»اتفاقا به نظر می‌رسه بر خلاف نگاه فلسفی ناوال به خلاقیت، کسایی که توی حوزه‌ی خلاقه کار می‌کنن اولین کسایی هستن که خطر از دست دادن شغل‌شون رو در عمل احساس کردن!کی فکرشو می‌کرد یک روز توییتر رو باز کنی و ببینی تدوین‌گرهای ویدیو دارن در مورد این صحبت می‌کنن که اگر قراره نرم افزار ادوبی با یک کلیک کاری رو انجام بده که برای ما یک هفته طول می‌کشه، قضیه واقعا جدیه!توی این مقاله که روی سایت videomaker.com منتشر شده توضیح می‌ده که نرم افزارهای جدید ویرایش تصویر ادوبی به مجموعه قابلیت‌های Sensei مجهز هستن. مثلا می‌تونن اجسام اضافی رو از تصویر حذف کنن، همون کاری که توی فتوشاپ به راحتی انجام می‌دیم، اما برای ویدیو. https://www.videomaker.com/how-to/editing/workflow/what-is-adobe-sensei-and-what-does-it-do/?utm_content=218905686&amp;utm_medium=social&amp;utm_source=twitter&amp;hss_channel=tw-15667774 یا مثلا فرض کنید می‌تونید فیلم رو به زبون‌های مختلف دوبله کنید و نرم افزار خودش به شکل اتوماتیک حرکات لب کاراکترها رو، با صدای جدید سینک می‌کنه!تازه هنوز هیچی نشده!توجه داشته باشید که این هنوز اول داستانه. کاری که چند سال دیگه هوش مصنوعی می‌تونه انجام بده در مقایسه با قابلیتای الانش، مثل میزان تفاوت آتاری با پلی استیشن ۵ هست.همین الانش هم این فقط تدوین‌کنندگان ویدیو نیستن که باید احساس خطر کنن. تصور کنید شما همین امروز می‌تونید انتخاب کنید به جای این‌که سر هر اصلاحیه با طراح چک و چونه بزنید، توی چند خط به هوش مصنوعی توضیح بدید چه طرحی می‌خواید و نتیجه رو تحویل بگیرید! چی از این بهتر؟!مثلا ازش بخواید براتون یه نقاشی قرون وسطایی از مادربزرگ در حال کار با لپ تاپش بکشه:یا می‌تونید بگید عکس واقع‌گرایانه از سگ گری‌هاند با عینک موتورسواری می‌خوام:یا اصلا عکس دختر فرانسوی در حال عشق ورزیدن به نون باگت روی جلد مجله چطوره...- هیچ‌کدام از شخصیت های موجود در تصاویر واقعی نیستند -مهم نیست که چی بگید و با چه سبکی بخواید، هوش مصنوعی می‌تونه مشابه بهترین آثار هنری خلق شده به دست انسان رو شبیه‌سازی کنه.چطوری به این‌جا رسیدیم؟الگوریتم‌های هوش مصنوعی برای این‌که به چنین قابلیتی برسن جزئیات تمام آثار خلق شده توسط بشر رو به شکل پیکسل به پیکسل به مورد بررسی قرار دادن. حجم اطلاعاتی که هوش مصنوعی روش یادگیری عمیق انجام داده برای انسان قابل تصور نیست.الگوریتم‌ها تونستن توی جزئیات آثار هنری پترن‌های مشابهی ردیابی کنن که با شبیه سازی اونا قادر هستن یه اثر هنری درست مشابه بهترین دست ساخته‌‌های بشر خلق کنن.موضوع حتی به تصویرسازی و تدوین هم خلاصه نمی‌شه، بلکه می‌تونه به مرور تمام مشاغل حوزه‌ی خلاقه رو در بر بگیره!اگر اسم ژنراتور متن یعنی GPT-3 به گوش‌تون خورده باشه احتمالا می‌دونید که قادره با گرفتن چند خط توضیح از شما، بر اساس اون‌ها متن کامل یک سناریو یا داستانو مقاله رو خلق کنه و تحویل بده.این یعنی نویسنده‌ها از این به بعد باید به دست آوردن شغل، با الگوریتم‌های هوش مصنوعی هم رقابت کنن!موضوع وقتی جالب‌تر می‌شه که بدونید چند نفر متن‌هایی که GPT-3 نوشته بود رو تحویل جونورهایی به اسم DallE2# و Midjourney# دادن و در حقیقت این هوش مصنوعی، برای داستان‌هایی که اون یکی هوش مصنوعی خلق کرده بوده تصویرسازی انجام داده!اینا چند نمونه از تصویرسازی‌های انجام شده برای داستان هستن. متن کامل داستان رو هم می‌تونید اینجا بخونید.تا اینجا باید در کنار تدوینگرها، اسم نویسنده‌ها، تصویرگرها، نقاشان و عکاس‌ها رو هم به لیست مشاغل در خطر اضافه کنیم.حتی استودیوهای فیلمسازی و انیماتورها هم از گزند هوش مصنوعی در امان نموندن! چون شما امروز می‌تونید به هوش مصنوعی فقط چند خط توضیح بدید و ازش ویدیویی تحویل بگیرید که قبلا برای ساختش به چندین انیماتور و تیم حرفه‌ای نیاز بود.این یعنی جایگزین کردن کل تیم خلاقه، مدیر هنری و استودیوی طراحی با چند خط کد!اگر بخوایم لیست رو تا جای ممکن ادامه بدیم، کم کم می‌بینیم که تمام مشاغل دارن یکی یکی با هوش مصنوعی جایگزین می‌شن:نویسندهتصویرسازگرافیستنقاشعکاستدوینگرانیماتورطراحتولید محتواو این لیست تا ابد ادامه داره...حالا دیگه خودتون بگید، هوش مصنوعی اومده که ما رو از کارای تکراری رها کنه تا با خیال راحت به خلاقیت‌مون بپردازیم؟ یا اومده که کار دستمون بده؟#کسب_و_کار #آینده #تکنولوژی #علم #بازار_کار #استخدام</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>سینا گلستانه</author>
                <pubDate>Wed, 31 Aug 2022 08:25:58 +0430</pubDate>
            </item>
                    <item>
                <title>زبان برنامه نویسی پایتون چیست؟</title>
                <link>https://virgool.io/Artificialintelligence/%D8%B2%D8%A8%D8%A7%D9%86-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87-%D9%86%D9%88%DB%8C%D8%B3%DB%8C-%D9%BE%D8%A7%DB%8C%D8%AA%D9%88%D9%86-%DA%86%DB%8C%D8%B3%D8%AA-lprrrnlerkhm</link>
                <description>زبان برنامه نویسی پایتون (Python Programming Language)، یک زبان برنامه نویسی قدرتمند، سطح بالا، شی گرا و حرفه ای است که همواره در حال گسترش بوده و از همین رو بسیاری از برنامه نویسان مبتدی آن را به عنوان اولین زبان برنامه نویسی برای خود انتخاب می کنند، زیرا پایتون به عنوان یک زبان همه منظوره (General-Purpose Language) تولید و توسعه یافته و محدود به توسعه نوع خاصی از نرم افزارها نیست.به بیان دیگر، میتوان از آن در هر زمینه فعالیتی، از تحلیل داده (Data Analysis) گرفته تا ساخت بازی های کامپیوتری استفاده نمود.مطالب مرتبط: زبان برنامه نویسی چیست؟همچنین از پایتون برای محاسبه معادلات پیچیده و تحلیل های داده استفاده می شود. و از نظر سطح علمی از محبوبیت بسیاری برخوردار است.یادگیری پایتون برای برنامه نویسان این بستر را فراهم نموده تا با صرف وقت کم و تلاش، اصول اولیه این زبان را فراگرفته و اولین برنامه کاربردی خود را با این زبان طراحی نمایند. تعداد کلمات کلیدی در پایتون اندک، ساده و کاملا قابل درک است. این موضوع درک و یادگیری این زبان را برای افراد مبتدی بسیار ساده کرده است.طبق نظرسنجی توسعه دهندگان Stack Overflow، در چند سال گذشته، پایتون در صدر فهرست محبوب ترین و پرطرفدارترین زبان های برنامه نویسی قرار گرفته است. پایتون توسط شرکت های معتبری مانند Intel و Facebook به کار گرفته میشود. پایتون یکی از چهار زبان اصلی در ساختار گوگل است و یوتیوب به صورت گسترده ای با پایتون طراحی شده است.در این آموزش قصد دارم؛ شمارا با این زبان قدرتمند آشنا نموده و کاربردهای مهم آن را برای با شما مورد بررسی قرار دهم.زبان برنامه نویسی پایتون چیست؟به بیان فنی، پایتون (Python) یک زبان برنامه نویسی شی‌گرا (Object-Oriented) و سطح بالا (High-Level) با معناشناسی (Semantic) پویای یکپارچه شده برای وب و ساخت و توسعه نرم افزارهای کاربردی (Application software) می باشد.این زبان برنامه نویسی که در سال ۱۹۹۱ برای اولین بار طراحی و منتشر شد، در زمینه توسعه نرم افزارهای کاربردی (Rapid Application Development) از جذابیت بسیاری برخوردار است. زیرا دارای انواع پویا (Dynamic Types) و انقیاددهنده پویا (Dynamic Binding) است.پایتون یک زبان اسکریپتی می باشد که کدهای آن در پلتفرم های لینوکس، ویندوز، مکینتاش، سیستم عامل های موبایل و حتی پلی استیشن قابل اجراست. و شرکت های معتبر و بزرگی مانند گوگل، یاهو، اینستاگرام، ناسا، یوتیوب و... در سطوح بالایی از آن استفاده می کنند.خواندن و ترجمه کدهای نوشته شده به زبان برنامه نویسی پایتون به دلیل شباهت بسیار به زبان انگلیسی، نسبت به دیگر زبان ها برای توسعه دهندگان (Developers) ساده تر می باشد.مطالب مرتبط: معرفی انواع زبان های برنامه نویسیعلاوه بر این، زبان برنامه نویسی پایتون از ماژول‌ ها (modules) و  بسته ها (packages) استفاده میکند. بدین معنا که برنامه های این زبان قابل طراحی به سبک ماژولار (modular) هستند و کدهای نوشته شده در یک پروژه در پروژه‌ های گوناگون دیگر نیز قابل استفاده مجدد می باشند.هنگامی که یک کاربر، ماژول یا بسته مورد نیاز خود را توسعه داد، خودش یا دیگر علاقمندان (در صورتی که کد در اختیار عموم قرار بگیرد) می توانند آن را برای استفاده در دیگر پروژه ها گسترش دهند. (Import) و (Export) کردن این ماژول ها نیز کار آسانی است.یکی از قابل توجه ترین مزایای زبان برنامه نویسی پایتون، دارا بودن کتابخانه (Library) و مفسر استاندارد (Standard Interpreter)، هم به صورت «دودویی» (binary) و هم «منبع» (source) به صورت رایگان می باشد. در پایتون هیچ انحصاری وجود ندارد، زیرا همه ابزارهای لازم برای آن در تمامی پلتفرم های اصلی موجود هستند. بنابراین، پایتون برای توسعه دهندگانی که نمی خواهند دغدغه هزینه های بالای توسعه را داشته باشند گزینه‌ای مناسب به شمار می آید.کاربرهای زبان برنامه نویسی پایتونهمانطور که پیش تر هم گفته شد پایتون یک زبان چند منظوره است به این معنی که میتوان از آن در بخش های مختلف توسعه نرم افزار استفاده نمود. در این بخش چند مورد از کاربرد های پایتون را برای شما شرح خواهیم داد.طراحی سایت با پایتونبیشتر توسعه دهندگان از زبان های برنامه نویسی مانند PHP و ASP برای طراحی وبسایت ها استفاده می کنند. این در حالیست که پایتون نیز دارای قدرت بالایی در زمینه توسعه وب می باشد.فریمورک های پایتون بسیاری برای توسعه وب وجود دارد، مانند جنگوDjango  و فلسک Flask. این فریمورک ها برای ایجاد سایت ها و اپلیکیشن هایی مانند Spotify، Reddit و Mozilla استفاده شده اند.به دلیل وجود کتابخانه ها و ماژول های گسترده ای که با فریمورک های پایتون ارائه می شوند، عملکردهایی مانند دسترسی به پایگاه داده، مدیریت محتوا و مجوز داده ها همگی امکان پذیر و به آسانی قابل دسترسی هستند. تطبیق پذیری زبان پایتون، سبب شده که به طور گسترده در توسعه وب مورد استفاده قرار گیرد.هوش مصنوعی و ماشین لرنینگ با پایتوناز زبان برنامه نویسی پایتون به دلیل ماهیت پایدار، انعطاف ‌پذیری و سادگی،‌ به‌ طور گسترده در زمینه‌ های یادگیری ماشین (ML) و هوش مصنوعی (AI) استفاده می‌ شود. الگوریتم های یادگیری ماشین از اهمیت بالایی برخوردار بوده و کاربردهای فراوانی دارند. برای نمونه گوگل برای جستجو از الگوریتم های ماشین لرنینگ استفاده می کند. پایتون در یادگیری ماشین عملکرد بسیار عالی داشته و بسیاری از افراد فعال در این حوزه از کتابخانه های پایتون استفاده می کنند.تجزیه و تحلیل داده ها با پایتونتجزیه و تحلیل داده ها یکی دیگر از زمینه های در حال توسعه است و زبان پایتون به دلیل سادگی و انعطاف پذیری، در این زمینه بسیار کاربرد دارد. روش ها و الگوریتم های مختلفی برای داده کاوی وجود دارد، اما به جرأت میتوان گفت بهترین زبان برنامه نویسی برای تجزیه و تحلیل داده و داده‌کاوی، پایتون می باشد. زبان برنامه نویسی پایتون دارای کتابخانه های بسیار گسترده و کاربردی در زمینه داده کاوی است.در حال حاضر یعنی هنگامی که ما روزانه داده های بسیاری تولید می کنیم، پلتفرم‌ های کارآمد مانند پایتون برای تجزیه و تحلیل، دستکاری و مدیریت و سازماندهی داده ها تقاضای بسیاری دارند. تحلیل داده می تواند اطلاعات بسیار مفیدی در اختیار افراد و شرکت ها قرار دهد.ساخت بازی رایانه ای با پایتونزبان های برنامه نویسی و موتورهای بازی سازی بسیار پیشرفته ای برای ساخت بازی های رایانه ای وجود دارد. زبان پایتون از جمله زبان های برنامه نویسی بسیار قوی و کاربردی در این زمینه است. وجود کتابخانه های کاربردی و رایگان، پایتون را به گزینه ای مناسب در این زمینه تبدیل نموده است. کتابخانه های وب مانند جنگو و فلسک، نه گفتن به پایتون را در انجام فعالیت های مربوط به توسعه وب بسیار دشوار می کنند. زبان پایتون به جهت توسعه نمونه های اولیه بازی ها بسیار کارآمد است.ساخت اپلیکیشن موبایل با پایتونیکی از جذاب ترین کاربرد های پایتون استفاده از آن جهت تولید اپلیکیشن های موبایل است. هر چند که اکثر برنامه نویسان با زبان‌ اندروید اقدام به ایجاد اپلیکیشن موبایل می کنند، اما پایتون نیز یکی از گزینه های مناسب برای انجام این کار است. برای فعالیت در این زمینه می توانید از فریم ورک Kivy و BeeWare استفاده نمایید.زبان پایتون از تمامی سیستم عامل های محبوب پشتیبانی می کند. همان کدها میتوانند بدون کامپایل مجدد روی پلتفرم های مختلف اجرا شوند.مزایای زبان برنامه نویسی پایتونزبان پایتون دارای کاربردهای متنوعی در شرکت های توسعه نرم‌افزار است. این موارد متنوع موجب شده پایتون جایگاه ویژه ای در میان زبان های برنامه نویسی پیدا کند. در ادامه برخی از مزایای این زبان برای شما توضیح خواهیم داد.چند منظوره بودنپایتون یک زبان برنامه نویسی همه منظوره با طیف وسیعی از کاربردهاست. از توسعه وب سایت گرفته تا توسعه بازی و توسعه رابط کاربری گرافیکی دسکتاپ، پایتون یک زبان بسیار کاربردی و همچنین یک انتخاب مناسب برای عملیات های امنیتی می باشد. امنیت اطلاعات، امنیت وب سایت و امنیت سایبری همگی قابلیت هایی هستند که با زبان پایتون قابل پیاده سازی می باشند. چندمنظوره بودن و وجود کتابخانه های گسترده و کدهای تمیز، بهره وری برنامه نویسان را به نسبت کار با زبان هایی مانند VB، «پِرل» (Perl)، جاوا، C++ ،C و C# دو تا ده برابر می‌کند.کتابخانه های گستردهبزرگترین مزیت پایتون تعداد کتابخانه هایی است که از آن پشتیبانی می کند. کتابخانه های پایتون یک قطعه کد از پیش نوشته شده هستند که می توانید آن را در پروژه خود یا مجموعه ای از ماژول ها قرار دهید. کتابخانه استاندارد Python که به زبان C نوشته شده است، مجهز به سینتکس، توکن ها و ماژول های اصلی می باشد. از این کتابخانه ها می توان برای نوشتن اسناد، تست خودکار، اسکریپت نویسی مرورگرهای وب، مدیریت پایگاه های داده، گرافیک و CGI، سرورهای ایمیل و... استفاده نمود.پایتون دارای کتابخانه های استاندارد بسیاری در زمینه های گوناگون مانند عملیات روی رشته ها، اینترنت، ابزارهای وب سرویس، رابط های سیستم عامل و پروتکل هاست. اغلب وظایف پرکاربرد در برنامه نویسی، با پایتون اسکریپت نویسی شده اند تا تعداد خطوط کد مورد نیاز برای نوشتن یک برنامه کاهش یابد.جامعه در حال توسعهجامعه توسعه دهندگان پایتون بسیار فعال است. با به کارگیری پایتون در فناوری های جدید مانند یادگیری ماشین یا هوش مصنوعی و امنیت سایبری، محبوبیت آن همچنان افزایش می یابد. تقریباً در 5 سال گذشته، تعداد برنامه نویسانی که از زبان پایتون استفاده می کنند، دو برابر شده است. در حال حاضر بیش از یک میلیون وبسایت، از پایتون برای برنامه نویسی بک اند استفاده می کنند.پایتون دارای یک جامعه بزرگ برای پشتیبانی است. این ویژگی سبب می‌شود به آسانی بتوانید مشکلات پیش آمده در مراحل یادگیری را برطرف کنید.سادگی در استفاده و یادگیریبرنامه نویسی پایتون از کلمات انگلیسی برای انتقال مفاهیم استفاده می کند و دارای نحوی آسان برای یادگیری است و همچنین خطوط کدهای نوشته شده در پایتون به آسانی قابل خواندن هستند. خوانایی کدها و طراحی کاربر پسند، از جنبه های مهم یک زبان برنامه نویسی هستند. پایتون برای درک و استفاده آسان از طراحی منظم، تمیز و ساختار یافته استفاده می کند.انعطاف پذیری، خوانایی و داشتن یک مفسّر ابرقدرت، پایتون را به یکی از ساده ترین زبان های شی گرا برای استفاده تبدیل کرده است.این زبان همچنین از پارادایم های برنامه نویسی متعدد مانند تابعی و شی گرا پشتیبانی می کند که امکان پیاده سازی آسان را فراهم میکند.مقیاس پذیریهمانطور گه پیش تر گفته شد، شما می توانید بدون هیچ نگرانی در مورد بازنویسی یا تطبیق کد برای سایر پلتفرم ها، تنها با افزایش مقیاس، نوشتن کد های برنامه را در پایتون انجام دهید.معایب زبان برنامه نویسی پایتوناگرچه پایتون مزایای بسیاری دارد، اما معایبی نیز وجود دارد که می تواند مانع روند توسعه شما شود. این مهم است که محدودیت ها را درک کنید و پروژه خود را بر اساس آن برنامه ریزی نمائید. در این بخش برخی از معایب پایتون را بررسی میکنیم.سرعت پاییناگرچه زبان پایتون بهره وری و سرعت توسعه بالایی دارد، اما در مورد زمان اجرا دارای یک نقطه ضعف است. از آنجایی که پایتون به جای استفاده از کامپایلر از مفسّر استفاده می کند، در مقایسه با سایر زبان های برنامه نویسی محبوب مانند جاوا یا C++ کند است. از سوی دیگر، پایتون برای بسیاری از کاربردهای وب سریع به شمار می آید.استفاده بسیار از حافظهبرنامه های پایتون به دلیل فلسفه طراحی خود حافظه بسیاری اشغال می کنند. ایدئولوژی &quot;هر چیزی که نیاز دارید از پیش ساخته شده است&quot; به این معنی است که پایتون یک فریمورک شگفت انگیز، سنگین و یکپارچه است. و کار با پایتون با فضای حافظه محدود، انتخاب مناسبی نیست.نامناسب جهت پردازش موبایلزبان پایتون قابلیت کافی برای تولید یک اپلیکیشن موبایل کامل را به تنهایی ندارد. زبان های دیگر مانند JAVA یا C++ برای توسعه موبایل بسیارمؤثرتر خواهند بود. اما برنامه های رابط کاربری گرافیکی جدید مانند KIvy و BeeWare ایجاد شده که می توانند برای اپلیکیشن های موبایلی بومی و چند پلتفرمی استفاده شود. پایتون جایگاه خود را در میان سکوهای دسکتاپ و سرور تثبیت کرده، اما در پردازش موبایل ضعیف عمل نموده است. به همین دلیل است که برنامه های کاربردی موبایل تاحدودی به کمک آن ساخته می شوند. از جمله برنامه های موبایل ساخته شده با پایتون می توان به Carbonnelle و Spotify اشاره نمود.خطاهای زمان اجرا (Runtime Errors)از آنجایی که زبان پایتون تایپ پویا می باشد، بنابراین دارای محدودیت های طراحی بسیاری است. که توسط برخی توسعه دهندگان این زبان بیان شده اند. این زبان نیاز به زمان تست بیشتری دارد و هنگامی که در نهایت برنامه ها در آن اجرا می شوند با خطاهایی رو به رو می شود.لایه‌های دسترسی پایگاه داده توسعه نیافتهدر مقایسه با دیگر فناوری های محبوب مانند JDBC و ODBC، لایه دسترسی به پایگاه داده پایتون اندکی تحت توسعه و ابتدایی به نظر می رسد و از همین رو قابلیت اعمال بر کسب و‌کارهایی که نیاز به تعامل‌های روان برای داده های پیچیده دارند، را ندارد.نتیجه گیریدر این مقاله به معرفی زبان برنامه نویسی پایتون، دلایل محبوبیت آن، ویژگی ها و کاربردها، مزایا و معایب و نسخه های گوناگون این زبان پرداختیم.یکی از مهمترین دغدغه های افرادی که به تازگی قصد دارند وارد دنیای برنامه نویسی شوند، انتخاب زبان برنامه‌نویسی مناسب است.در صورتی که شما هم به یادگیری این زبان علاقه‌مند هستید این اطلاعات می‌تواند برای شما مفید واقع شود. همچنین پیشنهاد بنده این است که در دوره های آموزشی مبتدی تا پیشرفته زبان برنامه نویسی پایتون در دانشکده مهندسی مکانیک دانشگاه تهران شرکت نمائید.</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>computerlearning</author>
                <pubDate>Mon, 29 Aug 2022 12:24:34 +0430</pubDate>
            </item>
                    <item>
                <title>تشخیص بیماری پارکینسون به وسیله هوش مصنوعی?</title>
                <link>https://virgool.io/Artificialintelligence/%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%D8%A8%DB%8C%D9%85%D8%A7%D8%B1%DB%8C-%D9%BE%D8%A7%D8%B1%DA%A9%DB%8C%D9%86%D8%B3%D9%88%D9%86-%D8%A8%D9%87-%D9%88%D8%B3%DB%8C%D9%84%D9%87-%D9%87%D9%88%D8%B4-%D9%85%D8%B5%D9%86%D9%88%D8%B9%DB%8C-qkv5uzoi3jlz</link>
                <description>ردیابی سنسور های پوشیدنی، تصویربرداری از بیمار در حال انجام ورزش های روتین یا آزمایش دست خط بیمار، کدام یک برای تشخیص پارکینسون بهتر است؟?محققان در Skoltech یک مطالعه مقایسه ای  بر اساس یادگیری ماشین(Machine Learning) را دراین سه روش نظارتی مبتنی بر بیمار انجام دادند تا بفهمند کدام تکنیک بیشترین اطمینان را برای پزشکان و همچنین بیشترین راحتی و کمترین زمان را برای بیماران دارد. این مطالعه در IEEE Transactions on Instrumentation and Measurement چاپ شده است.پارکینسون یک بیماری عصبی تحلیل برنده است که 10 میلیون نفر را در سراسر جهان درگیر خود کرده است?هوش مصنوعی به عنوان اهرمی برای حل مشکلات متعدد در سیستم بهداشت و درمان در نظر گرفته می‌شود، با این حال بزرگ ترین ویژگی آن، پتانسیل بالا در تشخیص و تعیین بهتر بیماری نسبت به انسان می‌باشد. پزشکان در حال حاضر بیماری پارکینسون را براساس ارزیابی علائم حرکتی بیمار، تاریخچه پزشکی و تندرستی فیزیکی و ذهنی انجام می‌دهند ولی علائم می‌توانند در افتراق از بیماری های نورولوژیک دیگر، سخت باشند.بدون هیچ راه کامل درمان بیماری، تشخیص زودرس بیماری پارکینسون می‌تواند اثرات عمیقی بر گزینه های درمانی و همچنین کیفیت زندگی بیمار بگذارد. دانشمندان در حال بررسی نشانه های آشکار شروع بیماری هستند.?تیمی از محققان Skoltech به رهبری استادیار Andrey Somov و دانشیار Dmitry Dylov الگوریتم‌های یادگیری ماشینی را برای تشخیص و اندازه‌گیری عینی علائم پارکینسون از طریق حسگرها طراحی کردند -شتاب‌سنج و ژیروسکوپ، ویدئو و تجزیه و تحلیل دست‌نویس. این مطالعه می‌تواند روزی به مردم در تشخیص و پاسخ آنها به درمان پزشکی کمک کند- به شرطی که آن ها دستگاه پوشیدنی مانند ردیاب تناسب اندام، وب‌کم، کامپیوتر و اتصال به اینترنت داشته باشند.?دانشجوی Ph.D به نام Ekaterina Kovalenko از Skoltech می گوید:&quot;ما داده‌های 120 نفر را جمع‌آوری کرده‌ایم - 35 نفر بدون پارکینسون و 85 نفر مبتلا به پارکینسون - با میانگین سنی 58 و نیم سال در حالی که آنها روی یک سری تکالیف حرکتی جلوی سه دوربین با استفاده از حسگرها کار می‌کردند. کارهایی که معمولاً حدود 15 دقیقه طول می کشد که شامل تا کردن یک حوله، پر کردن لیوان از آب، ضربه زدن با انگشت اشاره به انگشت شست و خواندن یک جمله پیچیده با صدای بلند، نوشتن آن و ترسیم یک مارپیچ می‌شد. این تمرینات تحت نظارت متخصصان مغز و اعصاب طراحی شده و از چندین منبع مختلف، از جمله مقیاس هایی که برای نظارت بر بیماری پارکینسون استفاده می شد و تحقیقات قبلی که در این زمینه انجام شده است بهره برده است. هر تمرین یک علامت هدف دارد که می تواند آن را آشکار کند.&quot;?در ادامه دانشجوی Ph.D به نام Aleksei Shcherbak از Skoltech افزود:&quot;همه افراد مبتلا به پارکینسون همه علائم بیماری را نشان نمی دهند، و ما سعی کردیم بفهمیم که آیا شناسایی می تواند به یک روش تشخیصی تنها تکیه کند: حسگر، دوربین یا دست خط. اگر چه تجزیه و تحلیل داده های حسگر بهترین نتایج را نشان داد، اما برای بیماران در مراحل بالاتر PD نامناسب است. اما بیمارانی که در مراحل ابتدایی تشخیص داده شده اند گزارش می دهند که حسگرهای پوشیدنی برای پوشیدن راحت هستند، به این معنی که در آینده نزدیک فناوری های پوشیدنی می توانند داده ها را به طور مداوم جمع آوری و ارزیابی کنند تا پیشرفت بیماری و خود بیماران را ردیابی کنند.&quot;?از نظر راحتی برای بیماران، رویکرد &quot;دست خط&quot; بهترین روش است زیرا برای انجام ترسیم مارپیچ و گرفتن عکس آن، زمان زیادی نمی برد. تجزیه و تحلیل ویدئو نیز برای بیماران مناسب است و امیدوارکننده ترین است، زیرا تشخیص به وسیله آن می تواند در زمان واقعی بدون هیچ محدودیتی در حالی که بیمار در حال انجام تمرینات است رخ دهد.?نویسنده همکار مقاله Dr. Ekaterina Bril می گوید:&quot;ما در نظر داریم که به غیر از تشخیص های افتراقی، پزشکان به ابزارهای عینی برای ارزیابی نوسانات حرکتی در بیماران مبتلا به PD نیاز دارند. این ابزارهای ارزیابی شده می توانند رویکرد شخصی تری را برای درمان ارائه دهند و به پزشکان در تصمیم گیری در مورد درمان پزشکی و در صورت نیاز، مداخلات جراحی مغز و اعصاب کمک کنند.&quot;✍️مترجم: آرش سلطانی?منبع: IEEE Transactions on Instrumentation and Measurement?تاریخ: May, 2022#Artificial_Intelligence#Machine_Learning#Parkinson#IEEE</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>Arash Soltani</author>
                <pubDate>Mon, 29 Aug 2022 00:29:01 +0430</pubDate>
            </item>
                    <item>
                <title>راهنمای سریع کار با گیت</title>
                <link>https://virgool.io/Artificialintelligence/%D8%B1%D8%A7%D9%87%D9%86%D9%85%D8%A7%DB%8C-%DA%A9%D8%A7%D8%B1-%D8%A8%D8%A7-%DA%AF%DB%8C%D8%AA-bwqmxlpipkjo</link>
                <description>مقدمهبرای مدیریت پروژه با گیت اول از همه لازمه که گیت رو روی سیستم عامل خودتون نصب کنین. بسته به سیستم عاملتون گیت رو باید به شیوه های متفاوتی نصب کنین.نصب گیت در سیستم عامل ویندوزدانلود گیتبرای نصب گیت در سیستم عامل ویندوز از طریق لینک زیر فایل نصبی نرم افزار رو دانلود کنین و اون رو نصب کنین. بعد از باز کردن لینک دو ورژن پرتابل و نصبی رو میتونین دانلود کنین. ورژن پرتابل بدون نصب کردن قابلیت اجرا شدن رو داره.https://git-scm.com/download/winنصب گیت در سیستم عامل ویندوزبرای نصب گیت در سیستم عامل ویندوز بعد از دانلود فایل نصبی به ترتیب تصاویر زیر عملیات نصب را دنبال کنید.نصب گیت در سیستم عامل مکدانلود گیتبرای دانلود گیت میتونین از طریق لینک زیر فایل سورس نرم افزار رو دانلود کنین و بعد از طریق سورس نرم افزار رو نصب کنین.https://mirrors.edge.kernel.org/pub/software/scm/git/نصب گیت از طریق دستوردر صورتی که تمایلی برای نصب گیت از سورس نداشتید میتوانید برای نصب گیت در سیستم عامل مک با یکی از دستورات زیر نرم افزار رو نصب کنین.$ sudo brew install gitor$ sudo port install gitنصب گیت در سیستم عامل گنولینوکسدانلود گیتبرای دانلود گیت برای نصب در سیستم عامل گنولینوکس، مثل سیستم عامل مک باید سورس گیت رو از سایت کرنل دانلود کنین و بعد نصب کنین.https://mirrors.edge.kernel.org/pub/software/scm/git/نصب گیت در گنولینوکس های دبیان بیسبرای نصب گیت در سیستم عامل های گنولینوکس دبیان بیس میتوانید از دستور زیر استفاده کنید.$ sudo apt-get install gitچنانچه ریپازیتوری مورد نظر وجود نداشت یا به ارور برخورد کردید به ترتیب از دستورات زیر استفاده کنید.$ sudo add-apt-repository ppa:git-core/ppa $ sudo apt-get update &amp;&amp; apt-get install gitنصب گیت در گنولینوکس های ردهت بیسبرای نصب گیت در سیستم عامل های گنولینوکس ردهت بیس میتوانید از دستورات زیر استفاده کنید.$ sudo yum update &amp;&amp; sudo yum install git$ sudo dnf update &amp;&amp; sudo dnf install gitنصب گیت در گنولینوکس های آرچ بیسبرای نصب گیت در سیستم عامل های آرچ بیس از دستور زیر استفاده کنید.$ sudo pacman -Syy &amp;&amp; sudo pacman -S gitکانفیگ اولیهبعد از نصب گیت نوبت کانفیگه، در این مرحله شما باید اسم و جیمیل خودتونو وارد کنین تا برای توسعه یک نرم افزار با گیت مشکلی نداشته باشید.کانفیگ اولیه در گنولینوکس و مکدر گنولینوکس یا مک یه ترمینال باز کنین و به ترتیب دستورات رو وارد کنید.$ sudo git config --global user.name &amp;quotUSER_NAME&amp;quotبه جای USER_NAME در دستور بالا اسم خودتونو به انگلیسی وارد کنین.$ sudo git config --global user.email &amp;quotGMAIL_ADDRESS&amp;quotبه جای GMAIL_ADDRESS در عبارت بالا ایمیل خودتونو وارد کنین.کانفیگ اولیه در ویندوز برای کانفیگ در ویندوز روی منوی استارت کلیک کنین و عبارت git رو سرچ کنین، روی نرم افزار git کلیک کنین و در ترمینال باز شده دستورات زیر را وارد کنید.$ git config --global user.name &amp;quotUSER_NAME&amp;quotبه جای USER_NAME در دستور بالا اسم خودتونو به انگلیسی وارد کنین.$ git config --global user.email &amp;quotGMAIL_ADDRESS&amp;quotایجاد ریپازیتوری برای مدیریت پروژه با گیتحالا که کانفیگ اولیه رو انجام دادین نوبت به استفاده از گیت میرسه. برای مدیریت پروژه با گیت باید در روت پروژه خود دستور git init را اجرا کنید. با استفاده از این دستور دایرکتوری فعلی تبدیل به یک ریپازیتوری خواهد شد و تمامی دایرکتوری ها و فایل های درون دایرکتوری فعلی توسط گیت قابل مشاهده خواهند بود.هرتغییری که روی فایل ها اعمال کنید توسط گیت دیده خواهد شد .ایجاد ریپازیتوری در ویندوزبرای ایجاد یا تبدیل دایرکتوری فعلی به ریپازیتوری در نرم افزار گیت دستور زیر را وارد کنید.$ git initایجاد ریپازیتوری در گنولینوکس و مکدر گنولینوکس و مک هم همانند ویندوز بعد از باز کردن ترمینال، برای ایجاد ریپازیتوری یا تبدیل دایرکتوری فعلی به ریپازیتوری، از دستور زیر استفاده کنید.$ git initنمایش وضعیت برای نمایش وضعیت ریپازیتوری از دستور زیر استفاده کنید. $ git statusذخیره تغییرات در stage بعد از ایجاد تغییرات در هر فایل شما باید تغییرات فایل در stage به صورت موقت ذخیره کنید. به عنوان مثال شما یک فایل به نام NAME را تغییردادید. برای ذخیره تغییرات به طور موقت در stage باید از دستور زیراستفاده کنید.$ git add Name ایجاد یک کامیت از تغییرات صورت گرفتهبه عنوان مثال فایل NAME رو تغییر دادین و تغییرات رو به stage انتقال دادین. چنانچه بخواین از این تغییرات یه لاگ داشته باشید یا بهتره بگم یه کامیت، از دستور git commit استفاده کنید.به جای MESSAGE NAME نام دلخواه خود را بنویسید. به عنوان مثال change the repository$ git commit -m &amp;quotMESSAGE NAME&amp;quotآپلود پروژه در گیت هاب یا یک سرور خاصتا به حال تمامی تغییرات رو در لوکال ذخیره کردیم. چنانچه بخواین تغییرات رو به گیت هاب بفرستین باید سرور رو با دستور git remote اضافه کنید.به جای NAME اسم دلخواه خودتونو وارد کنید.$ git remote add NAME &#039;https://github.com/amirhoseinsb&#039;لیست کردن  سرور هاچنانچه میخواستید لیست سرور ها رو مشاهده کنید، از دستور git remote -v استفاده کنید.$ git remote -v آپلود پروژه روی گیت هابچنانچه پروژه ای روی کامپیوتر دارید و میخواهید آن را روی سروری که اضافه کردید آپلود کنید، از دستور git push استفاده کنید. به جای SERVER NAME نام سرور خود که قبلا اضافه کردید را وارد کنید.$ git push &amp;quotSERVER NAME&amp;quotگرفتن تغییرات از گیت هابچنانچه پروژه ای در لوکال دارید و از تغییرات پروژه در سمت سرور مثلا گیت هاب اطلاع دارید، با دستور git pull میتوانید تغییرات رو دریافت کنید.$ git pullدانلود پروژه از گیت هابچنانچه پروژه ای در گیت هاب دارید و میخواهید آن را با استفاده از گیت دریافت کنید از دستور git clone استفاده کنید. به جای URL لینک پروژه خود در گیت هاب را واردکنید.$ git clone &amp;quotURL&amp;quotمرسی که وقت گذاشتید، هر سوالی داشتید بپرسیدعشق هستید و ماندگار</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>Amirhoseinsohrabi</author>
                <pubDate>Mon, 22 Aug 2022 23:52:15 +0430</pubDate>
            </item>
                    <item>
                <title>شروع یک مسئله ماشین لرنینگ با داده های کم قسمت ۷</title>
                <link>https://virgool.io/Artificialintelligence/%D8%B4%D8%B1%D9%88%D8%B9-%DB%8C%DA%A9-%D9%85%D8%B3%D8%A6%D9%84%D9%87-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%84%D8%B1%D9%86%DB%8C%D9%86%DA%AF-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%85-%D9%82%D8%B3%D9%85%D8%AA-%DB%B7-hnpexzpqwtwz</link>
                <description>سلام !قبل از هرچیز اول یه سر به قسمت قبلی ( قسمت ۶ ) بزن و بعد بیا برای ادامه کار . https://virgool.io/@omidesf485/%D8%B4%D8%B1%D9%88%D8%B9-%DB%8C%DA%A9-%D9%85%D8%B3%D8%A6%D9%84%D9%87-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%84%D8%B1%D9%86%DB%8C%D9%86%DA%AF-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%85-%D9%82%D8%B3%D9%85%D8%AA-%DB%B6-qexp54lpefrz خب، در ادامه ی قسمت ۷ ، به جمع بندی قسمت های ۴ تا ۶ که مربوط به بررسی survey ای که در مورد few shot learning  بود میپردازیم. در حقیقت هدف ما مطرح کردن موضوعاتی چون  کاربرد ها می باشد.1) بررسی applications : مبحث few shot learning در حوزه هایی همچون پردازش زبان طبیعی ، پردازش سیگنال و... کاربرد دارد .در Computer Vision :‌ بیشترین هدف FSL در کاربرد های بینایی ماشین است. از جمله character recognition ، image classification  در این دو زمینه دقت های بسیاری بالایی روی پایگاه داده های Omniglotو mini ImageNet بدست آمده و جای پیشرفت خیلی زیادی ندارد .اخیرا یک دیتاست بزرگ و متنوع ساخته شده از چندین پایگاه داده تصویری مختص few shot learning ساخته شده است . در این رفرنس میتوانید آنرا دانلود کنید . زمینه های دیگری نیز در computer vision نیز وجود دارد نظیر : motion prediction وaction localization و...در  Robotics : فیوشات در رباتیک نقش بسیار مهمی دارد برای مثال یادگیری حرکت بازو ها با استفاده از تقلید از نشان دادن این حرکت برای یک بار به ربات از این نمونه ها است. نمونه های دیگر visual navigation , continuous control و... است .در Natural Language Processing : کاربرد های زیادی نظیر parsing , translation , sentence completion ، پیش بینی قصد کاربران ، FewRel که کمبود داده های benchmark را برای تسک های fsl در پردازش زبان طبیعی برطرف میکند. در Acoustic Signal Processing : جدا از اولین تلاش های Fsl در تشخیص کلمات از روی صدا کاربرد هایی نظیر سنتز صدا مطرح هستند. یک کار بسیار محبوب شبیه سازی صدای کاربر از روی چند نمونه صدای کاربر میباشد. دیگر کاربرد ها :‌ از کاربرد های اخیر میتوان به :‌ کشف دارو های جدودید با few-shot - در سرچ برخلاف رندوم یا حریصانه  one-shot architecture search که با OAS شناخته میشود میتواند نتایج خوبی فقط با یک بار سرچ بدست آورد اشاره کرد.2) مقایسه: مقایسه ی تعدادی از متد های معرفی شده در سه مقاله ی اخیر رو روی دو پایگاه داده ی معروف omniglot و mini ImageNet را در تصویر زیر میتونید مشاهده کنید.جدول یک - مقایسه ی accuracy مدل های مختلف ( سبز ها از طبقه ی model  و قرمز های algorithm ) بر اساس میزان دانش قبلی موجود ، سرعت learn شدن مسئله ، تعداد task های مشابه با Task فعلی و دقت مورد نیاز در مقابل زمان اجرا و میزان محاسبات ، مدل انتخابی متفاوت است .3) نحوه انتخاب یک متد و مدل مناسب برای مسئله ی ماشین لرنینگ :در برخورد با یک مسئله ماشین لرنینگ هیچ گاه تمامی متدهای ممکن را اجرا نمیکنیم تا با مقایسه ی دقت های حاصل از آن بهترین متد را انتخاب کنیم. این کار هم زمان بر بوده و هم هزینه ی زیادی تحمیل میکند.بنابراین برای اینکه دامنه ی تعداد متد هایی که مناسب مسئله ی ما هستند را محدود تر کنیم و انتخاب بهتری داشته باشیم ابتدا باید مسئله را درست تعریف کنیم . به طور کلی جدای از اینکه مسئله ی ما few shot هست یا نه ، ابتدا بایستی کار های زیر را انجام دهیم.۱- روی دیتاست عمل Visualization of Data را انجام دهیم یعنی اینکه با استفاده از دستورات مناسب plot داده ها را رسم کرده چنانچه :هم پوشانی (overlap) داده ها زیاد بود اولین انتخاب KNN و بعد از آن Random Forest algorithm که از نوع non-linear classification  است انتخاب میشود. اگر بخواهیم داده ها را با یک خط مستقیم از هم جدا کنیم Logistic regression یا  Support Vector Machine انتخاب های مناسبی هستند.۲- بررسی حجم داده های مسئله چنانچه با استفاده از دستورات مناسب حجم دیتاست را بدست آوردیم ، دو حالت وجود دارد :۲-۱ ) مسئله large shot است . در این صورت تعداد کافی داده وجود داشته و میتوانیم از انواع و اقسام روش های ممکن ( البته با در نظر گرفتن معیار های دیگر نظیر سرعت اجرا ، سختی پردازش و .... ) استفاده کرد.۲-۲) مسئله few shot/one shot/zero shot است.در چنین مسائلی همانطور که مطرح کردیم ،کمبود داده ی اولیه برای train کردن مسئله ، موضوعی است که موجب میشود تعداد زیادی از متد ها عملا جوابدهی نداشته یا پس از انجام اعمالی نظیر augmentation مورد استفاده قرار بگیرند. اگر قسمت های قبلی را دنبال کرده باشید متوجه این موضوع شده اید که در مورد چنین مسائلی ابتدا باید تعیین کنیم که طبقه بندی انتخابی ما برای برخورد با مسئله چیست ؟ سه دسته کلی داریم :‌ ۱- یا باید روی دیتا کار کنیم ۲- یا روی مدل ۳- یا نهایتا روی الگوریتم همونطور که در آموزش های قبلی گفتیم ، هر کدام از این دسته ها دارای انواع و اقسام متد ها هستند.حالا فرض کنیم یک دیتاست در اختیار شما قرارداده اند و شما میخواهید یکی از این دسته بندی ها را انتخاب کنید . معیار شما برای انتخاب چیست ؟شاید اولین موضوعی که باید در اینگونه مسائل بررسی کنیم این است که آیا ، یک task مشابه از قبل ترین شده در اختیار داریم که بتوانیم از آن به عنوان prior knowledge استفاده کرد یا خیر.اگر چنین task ای از قبل نباشد، میبایست اولین انتخاب ما augmentation باشد.حالا چنانچه بتوانیم یک دیتاست مشابه با تعداد داده ی زیاد پیدا کنیم، میتوانیم از روش سوم مطرح شده در قسمت ۴ آمورزش روی دیتا یعنی Transforming Samples from Similar Data Sets استفاده کنیم اما اگر دیتاستی که در اختیار داریم با لیبل ضعیف یا بدون لیبل باشد از روش دوم مذکور و نهایتا چنانچه هیچ دیتاستی هم در اختیار نداشته باشیم از روش اول transforming samples from D_train و روش های معمول flip,crop و ... که در قسمت ۴ مطرح شد استفاده میکنیم . نکته : این موضوع که اگر task مشابه از قبل ترین شده  نداشته باشیم از روش augmentation استفاده میکنیم به این معنا نیست که اگر موجود باشد دیگر از این روش ها استفاده نمیکنیم. از آنجایی که عموما افزایش داده های مسئله به روش های مذکور منجر به افزایش accuracy میشود ، چنانچه از نظر قدرت پردازشی و زمانی مشکلی نداشته باشیم میتوانیم در متد های دیگر قبل از اجرای آنها ، ابتدا augmentation انجام دهیم.خب تا اینجا تکلیف دسته ی دیتا و زمان استفاده از متد های اون مشخص شد. حالا در قدم بعدی چنانچه دانش قبلی از مسائل مشابه داشته باشیم باید بین متد های الگوریتم یا مدل انتخاب کنیم. چنانه دانش قبلی دارای task های مشابه باشند multi-task learning برای محدود کردن فضای H  بسیار کار آمد هست.اما از این نظر که ‌ task جدیدی را بخواهیم اضافه کنیم مناسب نیست چون باید کل مدل از نو آموزش داده شود.زمانی که یک دیتاست داده ی بزرگ و دارای کلاس ها و نمونه های کافی از قبل  داشته باشیم میتوانیم از embedding model استفاده کنیم.این کار به خوبی داده ها را از هم دیگر برای کلاس بندی جدا میکند.اگر بخواهیم در کنار FSL تسک هایی برای generation و reconstruction هم داشته باشیم generative model ها گزینه های مناسبی هستند که در augmentation هم بکار می آیند. هرچند cost بسیار بالایی دارند.علاوه بر نکاتی که در بالا ذکر شد، میتوان با مراجعه به جدول یک میتوانید دقت ها را مقایسه کرده و همچنین برای دیتاست مخصوصی که دارید به سایت های نظیر paperwithcode مراجعه و روی دقت ها و جزئیاتی از پیاده سازی ها ( همچنین بررسی paper ها و github هر مدل )  تحقیق و مناسب ترین مدل ها را پیدا نمایید.خلاصه قسمت هفتم :در این قسمت از آموزش ، بحث few shot learning که در جلسات ۴و۵و۶ بود را به نوعی سازمان دهی کرده، برخی کاربرد ها ی بحث را بیان کردیم  و یک نقشه ی راه برای انتخاب مناسب ترین مدل جهت کار روی یک مسئله ی fsl ارائه دادیم. در اینجا قسمت آخر &quot; شروع یک مسئله ماشین لرنینگ با داده های کم &quot; را ارائه کردیم و این ۷ قسمت به پایان رسید. امیدوارم نقص ها ، کمبود ها و کاستی ها را از من پذیرا باشید و با نظرات خودتون به آپدیت کردن و منتشر کردن آموزش های جدیدتر کمک کنید.سری بعدی آموزش پرداختن به تعدادی از مهم ترین مدل های مطرح شده مثل Relation net , Proto net  و ...   خواهد بود.نکته : برای جمع آوری این مطلب ، از نتایج تجربی نویسنده ، تحقیقات ، این مقاله و بررسی برخی paper های درون مقاله مذکور استفاده شده است.</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>Omid Arab</author>
                <pubDate>Mon, 22 Aug 2022 14:28:36 +0430</pubDate>
            </item>
                    <item>
                <title>پکیج منیجر pip | مهدی مشایخی</title>
                <link>https://virgool.io/Artificialintelligence/%D9%BE%DA%A9%DB%8C%D8%AC-%D9%85%D9%86%DB%8C%D8%AC%D8%B1-pip-%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-kxspuqdiuhc7</link>
                <description>پکیج منیچر pip برای پایتون | مهدی مشایخیپیپ یک پکیج منیجر ساده ، قوی و قدرتمنده که به شما در نصب ، حذف و اپدیت کتابخانه های پایتون کمک میکنه. این پکیج منیجر طرفدارهای زیادی داره و زیاد مورد استفاده قرار میگیره و ما قراره توی این آموزش به صورت کامل پیپ pip رو آموزش بدیدم تا برای نصب کتابخانه های مورد نیازتون مشکل نداشته باشید و به راحتی هر کتابخانه ای رو دانلود و نصب کنید.پیپ pip یک پکیج منیجر برای پایتون است. یعنی ابزاری است که به شما امکان می‌دهد کتابخانه‌ها و وابستگی‌هایی را که به عنوان بخشی از کتابخانه استاندارد توزیع نشده‌اند، نصب و مدیریت کنید. نام پیپ توسط ایان بیکینگ در سال 2008 معرفی شدشما در نصب پایتون 3 وقتی در حال نصب هستید باید تیک گزنیه نصب پیپ pip رو بزنید تا براتون به صورت کامل و خودکار نصب بشه.اگر در هنگام نصب پایتون در اولین بار این کار رو نکردید مشکلی نیست ، میتونید فایل نصب پایتون که به این صورت اسم اون هست python-3.10.4.exe رو در محیطی که قبلا دانلود کردید دوباره باز کنید و با صفحه پایین روبرو میشید. فقط کافیه رو Customize installation کلیک کنید و تیک گذینه پیپ pip رو بزنید تا مراحل نصب براتون انجام بشه.توجه: در برخی از سیستم های لینوکس (یونیکس) مانند اوبونتو، pipدر یک بسته جداگانه به نام python3-pipارائه می شود که باید آن را نصب کنید. این دستور رو در محیط ترمینال تایپ کنید و اینتر بزنید.sudo apt install python3-pip به طور پیش فرض با مترجم نصب نمی شود.یا شما میتونید قبل از نصب پیپ pip چک کنید که در سیستم شما موجود هست یا نه. برای اینکار شما در ویندوز یک ترمینال مثل cmd باز کنید و تایپ کنید:where pip3و برای سایر سیستم عامل ها مثل مک و لینوکس : $ which pip3و برای تست نصب بودن پیپ pip  در یک محیط ترمینال مثلا در ویندوز cmd تایپ کنید pip و اگر نتیجه مثل عکس زیر بود یعنی با موفقیت نصب شده و مشکلی ندارد.ممکنه در ویندوز همیچین اروری در هنگام تایپ کرد pip و بعد از زدن دکمه اینتر دریافت کنید :&#x27;pip&#x27; is not recognized as an internal or external command,operable program or batch fileیعنی به درستی نصب نشده و باید مراحل نصب رو دوباره سپری کنید.میتونید از این روش هم برای نصب پیپ pip استفاده کنید :یک محیط ترمینال باز کنید و به مکانی که python نصب شده بریدpython get-pip.pyو به راحتی pip نصب شد ، تبریک میگم!نصب پکیج ها با pipپایتون به عنوان یک زبان شامل باتری در نظر گرفته می شود. این بi معناست که کتابخانه استاندارد پایتون شامل مجموعه گسترده ای از بسته ها و ماژول ها است که به توسعه دهندگان در پروژه های کدنویسی کمک می کند.در حال حاضر ، پایتون یک جامعه فعال دارد که مجموعه گسترده‌تری از کتابخانه ها را ارائه می‌کند که می‌تواند به شما در رفع نیازهای توسعه کمک کند. این کتابخانه ها در فهرست بسته Python منتشر می‌شوند که با نام PyPI (تلفظ Pie Pea Eye) نیز شناخته می‌شود. میزبان PyPI مجموعه گسترده ای از کتابخانه ، از جمله فریم ورک های توسعه، ابزارها و کتابخانه ها است. بسیاری از این بسته ها رابط های دوستانه ای را برای عملکرد کتابخانه استاندارد پایتون فراهم می کنند.برای بررسی وجود python pip دستور زیر را در محیط خط فرمان اجرا کنید. خط فرمان در ویندوز همان cmd یا powershell و در لینوکس همان ترمینال (Terminal) است.pip --versionما در اینجا برای مثال کتابخانه Numpy رو نصب میکنیم تا با روند اینکار آشنا بشید ، نصب سایر کتابخانه های پایتون هم به همین شکل هست با این تفاوت که باید اسم اون کتابخانه مدنظر رو تایپ کنید.در ویندوز یک محیط ترمینال مثل cmd باز کنید و کد زیر رو تایپ و سپس اینتر بزنید:pip install numpyو سپس منتظر دانلود شدن و نصب شدن بمانید ،برای سایر کتابخانه ها هم به همین شکل میتونید اینکار رو انجام بدید به عنوان مثال : pip install pandasو برای حذف یک کتابخانه هم از این روش میتونید استفاده کنید : pip unistall sklearnو برای آپدیت یک بسته یا همون کتابخانه از این دستور میتونید استفاده کنید :pip update scipyگاهی لازم داریم تا یک نسخه خاص غیر از آخرین ورژن پکیج را در پایتون نصب کنیم. برای اینکه مشخص کنیم مثلاً نسخه 2.1.4 از پکیج مورد نظر نصب شود، پس از نام پکیج، با آوردن == نسخه مورد نظر را می‌نویسیم.pip install numpy==2.4.6خلاصه :تبریک میگم شما تونستید pip رو نصب کنید و پکیج ها لازم رو از طریق روش های بالا نصب کنید یا حذف کنید و سایر کار های مورد نیاز ، پکیج منیجر پیپ pip یکی از بهترین روش ها برای نصب بسته های مورد نیاز شما هست. خوشحال میشیم این مقاله رو لایک کنید و اگه سوالی داشتید میتونید داخل لینکدین از من بپرسید!لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Sun, 21 Aug 2022 13:37:51 +0430</pubDate>
            </item>
                    <item>
                <title>ریاضیات برای ماشین 2 | مهدی مشایخی</title>
                <link>https://virgool.io/Artificialintelligence/%D8%B1%DB%8C%D8%A7%D8%B6%DB%8C%D8%A7%D8%AA-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%862-%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-dkaleo7d03gf</link>
                <description>ریاضیات برای ماشین قسمت 2 | مهدی مشایخیشما برای یادگیری ماشینی یا همون ماشین لرنینگ باید یکسری از مباحث ریاضیاتی که مرتبط با ماشین لرنینگ رو چه از نظر مفاهیم و تئوری یادبگیرد به این دلیل که کل مباحث ماشین بر اساس ریاضیات هست.اگه قسمت اول این آموزش رو ندیدید میتونید از طریق این لینک مشاهده کنید تا مباحث پایه و ابتدایی رو بدونید و باهشون آشنا باشید حتما.مفاهیم ریاضی مهم برای یادگیری ماشین :جبر خطیحساب دیفرانسیل و انتگرالنظریه احتمالریاضیات گسستهآمارشما باید مباحث بالا رو به خوبی بلد باشید ، که در ادامه این پست و پست های بعدی ما درمورد هرکدوم آموزش و صحبت میکنیم. در این بخش با مفاهیم آشنا میشیم!چرا باید جبر خطی رو یادبگیریم؟جبرخطی امروزه کاربرد زیادی در دنیای امروزی داره ، به عنوان مثال در مباحث یادگیری ماشین اگه بخوایم اشاره کنیم به عنوان مثال ما یک عکس دوچرخه رو نشون میدیم و شما باید بگید که چه عکسی رو میبینید که جواب آسانی داره ولی اگه بخوایم اون رو برای ماشین تجزیه و بفهمونیم خیلی کار سختیه و نیاز به درک مفاهیم جبر خطی داره!ماشین ها یا کامپیوترها فقط اعداد را درک می کنند. و این اعداد باید به گونه‌ای نمایش داده شوند و پردازش شوند که به ماشین‌ها اجازه دهد به جای یادگیری از دستورالعمل‌های از پیش تعریف‌شده مانند برنامه‌نویسی با یادگیری از داده‌ها، مسائل را حل کنند.اولین قدم برای یادگیری ریاضی برای ML یادگیری جبر خطی است.برای شروع کار با ماشین چقدر باید جبر خطی بدانید؟حال، سؤال مهم این است که چگونه می توانید این مفاهیم جبر خطی را یاد بگیرید. پاسخ این است که لازم نیست چرخ را دوباره اختراع کنید، فقط باید اصول جبر برداری را به صورت محاسباتی درک کنید و سپس یاد بگیرید که آن مفاهیم را با استفاده از NumPy برنامه ریزی کنید.نامپای NumPy یک کتابخانه محاسباتی و علمی در پایتون است که به ما امکان دسترسی به تمام مفاهیم اساسی جبر خطی را می دهد. این کتابخانه بسیار سریع است زیرا کدهای C کامپایل شده را اجرا می کند و تعداد زیادی توابع ریاضی و علمی دارد که می توانیم از آنها استفاده کنیم.شروع یادگیری ریاضیات برای یادگیری ماشینیدر تصویر زیر میتونید مفاهیم که قراره یادبگیرید و بدونید رو در یک تصویر به صورت کامل ببینید تا درکی کامل از این مباحث داشته باشید و دید وسیع تری به این موضوع داشته باشید. ابتدا در این پست به یادگیری مفاهیم میپردازیممیانگین (Mean) : به عنوان مثال ما اگر یک تعداد عدد داشته باشیم مثل &quot;25،23،56،12،45،35،26،24&quot; برای اینکه میانگین این تعداد عداد رو بدست بیاریم کافیه که فقط تمامی این عداد رو باهم جمع کنیم که میشه 246 و سپس تقسیم بر تعداد همین عداد کنیم که تعداد برابر با 8 که در نهایت به عدد 30/75 میرسیم که این عدد میانگین این مجموعه عداد هست.میانه (Median) : اگر ما مجموعه ای از عداد یا همون داده ها روداشته باشیم و ابتدا اونها رو به طور مرتب از عدد کمتر به بزرگ مرتب کنیم عددی که در وسط این مجموعه قرار گرفته میشود رو میانه گفته میشه ، در عداد فرد که مشخص هست عدد وسط کدوم هست ولی در عداد زوج چون دو عدد در وسط قرار میگیره میانگین اون دو عدد محاسبه میشه و عدد میانه گفته میشه.برای عداد فردبرای عداد زوجمثال در تصویر بالا میانه همان میانگین عدد 72 و 76 هست ولی اگر تعداد عداد فرد بود لازم به میانگین نیست!واریانس (Variance): واریانس معیاری برای تغییرپذیری است. با گرفتن میانگین مجذور انحرافات از میانگین محاسبه می شود. واریانس میزان پراکندگی مجموعه داده های شما را از میانگین داده ها به شما می گوید. هرچه پراکندگی داده ها بیشتر باشد، واریانس نسبت به میانگین بیشتر است.شما میتونید واریانس رو به راحتی با کتابخانه NumPy یا سایر بسته های محاسباته محاسبه کنید ولی در ادامه نحوه این کار رو ذکر میکنیم.مراحل محاسبه واریانسما در ابتدا یک مجموعه داده داریم که محاسبات رو اون انجام میشه.مرحله 1 : گرفتن میانگین کل مجموعهبرای گرفتن میانگین ، تمام عداد را جمع کنید، سپس آنها را بر تعداد عددها تقسیم کنید.مرحله 2 : انحراف هر نمره از میانگین را پیدا کنید.میانگین را از هر نمره کم کنید تا انحرافات از میانگین بدست بیاد. از آنجایی که x = 50 است، از هر نمره 50 حذف کنید.مرحله 3 : هر انحراف از میانگین را به توان 2 برسونید.هر انحراف از میانگین را در خودش ضرب کنید. این منجر به اعداد مثبت می شود.مرحله 4 : مجموع مربع ها را پیدا کنیدتمام انحرافات مربع را جمع کنید. این را مجموع مربعات می نامند.مرحله 5: مجموع مربع ها را بر  n – 1 یا N تقسیم کنیدمجموع مربع ها را بر n - 1 (برای یک نمونه) یا N (برای یک جامعه) تقسیم کنید.از آنجایی که ما با یک نمونه کار می کنیم، از  n – 1 استفاده می کنیم که در آن n = 6 است.انحراف معیار (Standard deviation): انحراف استاندارد (معیار) مقدار متوسط ​​تنوع در مجموعه داده شما است. به طور متوسط ​​به شما می گوید که هر مقدار چقدر از میانگین فاصله دارد. انحراف استاندارد بالا به این معنی است که مقادیر به طور کلی از میانگین فاصله دارند، در حالی که انحراف استاندارد پایین نشان می دهد که مقادیر نزدیک به میانگین خوشه بندی شده اند.مراحل محاسبه انحراف معیارشش مرحله برای یافتن انحراف معیار وجود دارد که دقیقا مشابه محاسبه واریانس هست و برای جلوگیری در اتلاف وقت نذاشتم ولی با این تفاوت که باید جذر همون واریانس به دست آمده رو بگیریم. این مجموعه داده ما هست.بعد از بدست آوردن واریانس این مجموعه مثل روش بالا که نحوه گرفتن واریانس بود بعد از اون کافیه فقط جذر بگیرید! به طور خلاصه برای واریانس گرفتن میشه گفت : میانگین مجموعه ، کم کردن تک تک مجموعه از میانگین ، به توان دوم رسوندن ، جمع مربعات و سپس تقسیم بر تعداد محموعه منهای عدد یک.و برای یافتن انحراف معیار، جذر واریانس را می گیریم.چارک ها برای مجموعه داده هامحدوده بین چارکی : در آمار توصیفی ، محدوده بین ربعی  به شما می گوید که توزیع نیمه میانی شما چقدر است. ربع ها هر توزیعی را که از کم به زیاد مرتب شده اند به چهار قسمت مساوی تقسیم می کنند. محدوده بین چارکی (IQR) شامل ربع دوم و سوم یا نیمه میانی مجموعه داده شما است.محاسبه بین چارکیمحدوده بین چارکی با کم کردن مقدار Q1 از مقدار Q3 بدست می آید:مقدارQ1 مقداری است که زیر آن 25 درصد توزیع (داده)قرار دارد، در حالی که Q3 مقداری است که زیر آن 75 درصد توزیع (داده)قرار دارد. می توانید Q1 را به عنوان میانه نیمه اول و Q3 را به عنوان میانه نیمه دوم توزیع در نظر بگیرید.این روش برای مجموعه های فرد هست ، شما برای مجموعه های زوج هم میتونید به راحتی اینکار رو انجام بدید با این تفاوت که باید میانگین بگیرید.انواع همبستگی در متغیرهاضریب همبستگی (correlation coefficient) : ضریب همبستگی عددی بین 1- و 1 است که قدرت و جهت رابطه بین متغیرها را به شما می گوید. به عبارت دیگر، نشان می دهد که اندازه گیری دو یا چند متغیر در یک مجموعه داده چقدر شبیه است.همبستگی بین داده هاضریب همبستگی به شما می گوید که داده های شما چقدر نزدیک به یک خط قرار می گیرند. اگر یک رابطه خطی دارید، یک خط مستقیم از بهترین تناسب را ترسیم خواهید کرد که تمام نقاط داده شما را در نمودار پراکنده در نظر می گیرد. هر چه نقاط شما به این خط نزدیکتر باشد، ضریب همبستگی قدر مطلق بالاتر و همبستگی خطی شما قوی تر می شود. اگر همه نقاط به طور کامل روی این خط باشند، شما یک همبستگی کامل دارید.انواع ضرایب همبستگی : شما می توانید از میان ضرایب همبستگی مختلف بر اساس خطی بودن رابطه، سطح اندازه گیری متغیرها و توزیع داده های خود انتخاب کنید.انوع ضریب همبستگی بین متغیرهاخلاصه : ممنون که تا آخر این مقاله رو خوندی ، ما توی این پست با یکسری مفاهیم کلی که برای ماشین لرنینگ لازم دارید ، آشنا شدیم و در ادامه پست های بعدی سایر مفاهیم و توضیح هرکدوم به صورت دقیق و کامل میپردازیم. با لایک هاتون میتونید به ما انرژی بدید تا مقالات بعدی رو زودتر آماده کنیم!لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Mon, 15 Aug 2022 14:19:31 +0430</pubDate>
            </item>
                    <item>
                <title>شروع یک مسئله ماشین لرنینگ با داده های کم قسمت ۶</title>
                <link>https://virgool.io/Artificialintelligence/%D8%B4%D8%B1%D9%88%D8%B9-%DB%8C%DA%A9-%D9%85%D8%B3%D8%A6%D9%84%D9%87-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%84%D8%B1%D9%86%DB%8C%D9%86%DA%AF-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%85-%D9%82%D8%B3%D9%85%D8%AA-%DB%B6-qexp54lpefrz</link>
                <description>سلام !قبل از هرچیز اول یه سر به قسمت قبلی ( قسمت ۵ ) بزن و بعد بیا برای ادامه کار . https://virgool.io/@omidesf485/%D8%B4%D8%B1%D9%88%D8%B9-%DB%8C%DA%A9-%D9%85%D8%B3%D8%A6%D9%84%D9%87-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%84%D8%B1%D9%86%DB%8C%D9%86%DA%AF-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%85-%D9%82%D8%B3%D9%85%D8%AA-%DB%B5-lbdo3dbuun1h خب، در ادامه ی قسمت ۵ ، به بررسی الگوریتم از موارد طبقه بندی مسائل میپردازیم : ۵) مبحث Algorithm :الگوریتم یک استراتژي برای سرچ در فضای فرضیه کلی H  برای یافتن پارامتر تتا θ از بهترین فضای فرضیه h*  در مسائلی که داده ی اندک دارند  می باشد.یادآوری :‌فضای فرضیه H و فرضیه ی h : تعریف این دو اصطلاح رو با یک مثال شرح میدم . فرض کنید یک مسئله ی linear classification داریم . برای جدا سازی داده ها به دو دسته ی + و - ، چندین حالت میتونیم خط جداسازی رسم کنیم. به مجموعه ی همه ی این حالت هایی که میتونیم فرض کنیم و خط جداسازی رسم کنیم ، فضای فرضیه ی H گفته میشه و به هر کدوم از این خط ها یعنی فرض ها h میگیم. حالا اون خطی که بهترین جداسازی رو انجام بده h*  مینامیم و دوست داریم که در مسائل خودمون همواره فرض ها یعنی همون h هایی رو پیدا کنیم ( h^ :فرضی که مسئله ی ماشین لرنینگ ما پیدا میکنه ) که تا حد امکان به h* نزدیک باشه. به همه ی خط های قرمز جدا کننده ، H و به هر خط h گفته میشود.علامت سوال داده های تست ما هستند.پارامترθ : به مجموعه ی همه ی پارامتر هایی که h از آن استفاده میکند گفته میشود. به عبارت ساده تر، مثلا در مسئله ی linear classification برای بیان یک فرضیه ( یکی از خط های جدا کننده که گفتیم اسمش h) هست یک معادله داریم که دارای عرض از مبدا و شیب هست :h= θ0 + θ1*x  به این عرض از مبدا و شیب پارامتر های θ گفته میشود. تفاوت بین algorithm و model چیست ؟ یک الگوریتم در ماشین لرنینگ پروسه ای را روی دیتا اجرا کرده و مدل را میسازد یعنی در اصل خروجی الگوریتم مدل است.در بخش مدل ها ما مدل های مختلفی را بررسی کردیم که برخی ، داده ها را از فضای چند بعدی به دو بعد embedded میکرد،برخی پارامتر های قابل share کردن را به اشتراک میگذاشتند و ... اما تفاوت آن متد ها با متد های این بخش این است که در این دسته ی الگوریتم اولا ما روی initialization اولیه ی θ0 و نحوه ی بهبود سریع آن برای رسیدن به θ مناسب و همچنین روی optimize کردن خودکار آن بحث میکنیم.خب بریم ادامه ی بحث . در هر iteration  ، پارامتر های تتای ما به این صورت تغییر میکنن θt = θt−1 + Δθt−1 که عبارت  Δθt−1 آپدیت کننده ی تتا هست.مثلا برای مسئله stochastic gradient descent (SGD) پارامتر های تتا به این صورت آپدیت میشن : زمانی که supervised information ما به اندازه کافی بزرگ باشه، سمپل کافی برای آپدیت پارامتر θ وجود داره، اما زمانی که با یک مسئله ی FSL طرف هستیم، تعداد شات ها کم و خطای ERM هم به اندازه ی کافی قابل اعتماد نیست. متد های این بخش ، از دانش قبلی برای تعیین θ استفاده میکنند به این صورت که : یک پارامتر θ0 اولیه ی خوب برای مسئله فراهم میکند یابه طور مستقیم یک optimizer را برای خروجی دادن مراحل جستجو یادمیگیرد.بر اساس اینکه دانش قبلی چطور روی استراتژی جستجو تاثیر گذار باشه، متد ها را به این صورت تقسیم بندی میکنیم : در استراتژي Refining existing parameters ، یک θ0 اولیه از task های دیگه یادگرفته میشه و سپس به وسیله ی D train مجدد اصلاح میشود. در استراتژي Refining meta-learned parameters ، یک θ0 اولیه از مجموهه task هایی متا لرن میشه که از همان توزیع تسک های مشابه تسک فیوشات بدست آمده اند و سپس به وسیله ی D train بیشتر اصلاح میشود.در استراتژي Learning the optimizer ، این استراتژي یک متالرنر را به عنوان optimizer را یادمیگیرد تا مراحل جستجو را به طور مستقیم برای هر لرنر مثل تغییر جهت یا step size خروجی دهد.5-1 ) استراتژي Refining Existing Parameters :این استراتژي ، θ0 را از یک مسئله ی از پیش آموزش دیده ی مرتبط به عنوان یک initialization اولیه خوب   بدست می آورد و آنرا به وسیله ی داده های ترین برای θ بهبود میدهد. یعنی ایده کلی این هست که θ0 برخی ساختار های کلی یک large scale data را منتقل میکند و میتوانیم با چند iteration با استفاده از داده ی D train بهبود دهیم.سه متد در این استراتژي قابل بررسی است : 5-1-1 ) متد Fine-tuning Existing Parameter by Regularizationاین استراتژي ، پارامتر از قبل ترین شده ی یک مسئله ی FSL با استفاده از regularization  ، تیون میکند.منظم سازی یا regularization چیست ؟  زمانیکه شبکه های پیچیده برای مسائل ساده در نظر می گیرید شبکه بعد از چندین epoch دچار overfitting مبشه که در این شرایط یکی از راههای جلوگیری از overfitting کاهش حجم شبکه هستش که یکی میشه جراحی شبکه که یه بخش هایی از شبکه کنار گذاشته بشه و راهی دیگر برای حجم صفر کردن برخی از وزن ها از طریق regularization هستش که در این روش وزن های کوچک تشویق به بزرگ شدن و وزن ها بزرگ جریمه شده و بف صفر میل می کنند روش های مرسوم برای اینکار روش ها l1,l2 هستند تحت lasso و ridge هستند که از مجموع وزن ها هر لایه جهت تعدیل وزن ها مورد استفاده میشه در روش l1 ازجمع  قدرمطلق  وزنها و در روش l2 از جمع مجذور وزن ها استفاده میشه البته روش سومی هم وجود داره که از ترکیب دو روش l1 و l2 هستش.در رفرنس ۲۱ : گفته شده که ، یک CNN از پیش آموزش داده شده روی image net ، برای classification با استفاده از large data set برای جدا کردن پس زمینه تیون میشود . برای fine tune کردن θ0 با استفاه از D trian ، میشه از gradient descent  استفاده کرد ولی باعث overfitting میشه.  بنابراین برای جلوگیری از این اتفاق راه حل های زیر هست :‌متد early-stopping (بیش از ۹۰۰ star و ۲۵۰ fork در گیت هاب ) : این متد نیاز به یک validation set از D train دارد تا با استفاده از آن پروسه ی ترین شدن را مانیتور کرد ، بدین ترتیب زمانی این پروسه متوقف میشود که بهبود دیگری در پرفورمنس روی validation set حاصل نشود .این متد validation loss را مورد بررسی قرار میدهد و اگر برای چند epoch کاهش پیدا نکند ، آموزش دیدن متوقف میشود. همانطور که در تصویر مشخص است ، برای جلوگیری از overfit و underfit شدن در نقطه ای که دقت داده های test و train هر دو در بیشترین نقطه ( همان کمترین Loss ) هستند، با استفاده از الگوریتم early stopping همان epoch را متوقف میکنیم. سه متد دیگر Updating related parts of θ0 together و Using a model regression network و Selectively updating θ0 نیز معرفی شده اند.5-1-2 ) متد Aggregating a Set of Parametersگاهی اوقات پارامتر θ0 مناسبی برای شروع کار نداریم، ولی مسائل مشابه دیگری هستند که میتونیم با استفاده از aggregate کردن پارامتر های اونها ، θ0 مناسبی رو پیدا کنیم . مثلا برای تشخیص چهره ما قبلا مدل هایی برای تشخیص گوش و بینی و ... داریم و حالا پارامتر های θ آنها را با هم تجمیع میکنیم. همانطوری که در بخش دیتا گفته شد ما میتوانیم دیتاهای بدون لیبل یا با لیبل های مشابه را ، augment کنیم. اما در این استراتژی بجای استفاده مستقیم از سمپل ها، متدهای زیر را معرفی میکنیم که مدل های از پیش آموخته شده ( از پارامترهای  θ0’s آنها) استفاده میکند. فقط مسئله ی اصلی ما نحوه ی adapt کردن آنها با D train است.prior knowledge ما یا از دسته ی Unlabeled data set است یا Similar data sets  که در بخش ۳ برای augment کردن گفتیم . برا این اساس میتوان رویکرد های متفاوتی برای adapt کردن با داده D train در نظر گرفت.5-1-3 ) متد Fine-Tuning Existing Parameter with New Parametersگاهی پارامتر θ0 که از دانش قبلی منتقل شود  به تنهایی برای task FSL ما کافی نیست . از این رو از یک پارامتر دلتا δ نیز برای دخالت دادن داده ی ترین استفاده میکنیم. بنابراین در اصل :  θ = {θ0, δ } که ما θ0 را در طی  لرن کردن δ،آنرا fine tune میکنیم .به طور مثال  در رفرنس ۶۰ ، لایه های پایینی یک CNN از پیش آموخته شده را برای embedding ( همان θ0 ) استفاده و با استفاده از D train یک linear classifier را روی فیچر های embedded شده  learn میکند.( همانδ) 5-2 ) استراتژي Refining meta-learned parameters :متد های این بخش از متالرنینگ برای اصلاح و refine کردن پارامتر θ0 اولیه استفاده میکنند.θ0 به طور پیوسته به وسیله ی متالرنر optimize میشود.این تفاوت با استراتژي ۵-۱ یعنی Refining Existing Parameters است که θ0 ثابت بود. یکی از مهم ترین متد های این استراتژي ، MAML  ( Model agnostic Meta-learning) است.این مدل برای هر تسک لرنینگ که با gradient descent آموزش داده شده باشد قابل استفاده است.مثل  classification, regression, and reinforcement learning کلمه ی agnostic به معنای این است که این متد میتواند در بسیاری از زمینه استفاده شود که FSL یک نمونه خاص آن است. در بررسی این استراتژی ابتدا باید به مفهموم meta learning مجددا بپردازیم. میدانیم که deep learning بر اساس عملکرد یادگیری شبیه به مغز انسان به وجود آمده اند. فرض کنید که ۱۰۰۰ عکس گربه و سگ به یک کودک ۱ ساله و همزان به یک الگوریتم deep learning   نشان دهید.پس از این کار هم الگورتیم deep learning و هم کودک ، توانایی تشخیص گربه و سگ را خواهند داشت. اما حالا اگر یک تصویر سگ نشان دهیم چه اتفاقی می افتد ؟ کودک به راحتی میتواند تشخیص دهد که تصویر متفاوتی را مشاهده کرده و اگر تصویر اسب دیگری به اون نشان دهیم آنرا در دسته بندی اسب قرار میدهد. اما الگورتیم deep learning ما نه ! چون deep learning اصولا بر اساس تعداد زیادی از مثال ها و استخراج فیچر از آنها بنا شده و روی یک تصویر اسب تنها دچار overfitting میشود اینجاست که meta learning وارد میشود. خب فرق بین few shot learning و meta learning چیست؟ باید توجه کنیم که fsl یک task است یعنی یک مسئله است که تعداد داده های اندکی دارد. اما meta learning یک متد و روش است. در حقیقت میتوان گفت مابین متد های موجود که یکی از آنها meta learning ، دیگری standard learning و ... است کدام یک برای fsl بهتر است ؟ متد MAML چنین optimization ای را پیشنهاد میدهد:تتا ، پارامتر های مدل است. L لاس فانکشن بوده و Ti~p(t) به معنای کلیه تسک هایی که روی یک مسئله میتواند رخ دهد. مثلا برای کلاسیفکیشن ، تسک جداسازی گربه از سگ و تسک جداسازی اسب و میمون. آلفا لرنینگ ریت و علامت دل هم گرادیان است.  با اصلاح مداوم θ0 با استفاده از چند شات اندک در D train ، متالرنر θ0 را به سرعت بهبود میدهد تا با few shot ما سازگار شود. الگوریتم MAML با اعمال تعداد کمی تکرار از gradient descent  روی تعداد اندکی داده آموزشی از یک task جدید، تعمیم عملکردی خوبی از آن وظیفه را ایجاد کنند.علامت فای همان عبارت gradient descent در تصویر قبلی است.یک متا مدل داریم که میتواند روی هر تسکی که داریم اجرا شود. آنرا کپی میکنیم و برای چندین تسک عملیات train شدن با چند شات اندک را انجام میدهیم و آنرا با گرادیان کاهشی آپدیت میکنیم.سپس در مرحله بعدی خطای هر کدام را محاسبه کرده و نهایتا مجموع آنرا به عنوان فانکشن لاس بدست میآوریم.در آخر در مرحله backpropagation خطاها لاس را به عقب برگردانده و اعمال میکنیم. پیشرفت های جدید MAML عمدتا به سه بخش تقسیم میشوند : دسته ی Incorporating task-specific information : میدانیم که MAML برای همه تسک ها initialization یکسانی دارد .این برای تسک هایی که مشابه هم دیگر نباشند خوب نیست.رفرنس ۷۹ پارامتر θ0 را از زیر مجموعه ای از پارامتر های اولیه مناسب برای هر تسک جدید انتخاب میکند.دسته ی Modeling the uncertainty of using a meta-learned θ0 : میدانیم که یادگیری با چندشات اندک ،خطر عدم قطعیت را افزایش میدهد. متد هایی برای در نظر گرفتن عدم قطعیت برای θ0  و ϕs و    ϕs,n هست.دسته ی Improving the refining procedure : اصلاح θ0 با استفاده از گرادیان کاهشی با چند step اندک ممکن است قابل اعتماد نباشد. به همین دلیل در برخی منابع از regularization استفاده میشود. 5-3 ) استراتژيLearning the Optimizer :در استراتژی 5-2  متالرنر از گرادیان کاهشی استفاده میشد. اما در این استراتژي متد  یک optimizer را یاد میگیرد که به طور مستقیم میتواند آپدیت را خروجی دهد ( منظور از آپدیت مقداری است که به θ0 در معادله ی شماره ۴ در بالا اضافه میشد ) .بنابراین نیازی به tune کردن step size یا جهت سرچ نیست ، به طور اتوماتیک این الگوریتم آن را انجام میدهد. به تصویر سگ سفید وسط نگاه کنید. هر تصویری که از داده های ترین فیوشات وارد شود ، ابتدا وارد learner شده و پس از   یادگیری مقدار fi(t-1) را خروجی میدهد. همچنین یک سیگنال ارور نیز به بخش متالرنر داده شده delta fi(t-1) خروجی داده میشود و نهایتا جمع این دو مقدار fi (t) را شکل میدهد. بنابراین میتوان گفت یک optimizer داریم که توسط learner روی task ما اثر میگذارد. نهایتا در fi(t) مقدار loss بین داده ترین و لیبل آن محاسبه شده و به عنوان error signal به متالرنر بعدی داده میشود. پس از لرنینگ یک Task متالرنر ما پیشرفته شده و روی داده تست به خوبی عمل میکند.5-3 ) خلاصه و جمع بندی استراتژي‌:اصلاح پارامتر ها موجب کاهش تلاش برای سرچ کردن در فضای فرضیه H میشه. با تنظیم کردن یک θ0 اولیه ی مناسب متد ها معمولا نیاز به cost‌محاسباتی کمتری برای یافتن یک فرضیه h مناسب در فضای فرضیه دارند .از آنجایی که θ0 از task هایی غیر از تسک فعلی تعیین میشود ممکن از دقت فدای سرعت شود .از این رو دو استراتژی دیگر برا اساس متالرنینگ وجود دارد.با یادگیری از مجموعه ای از task های مرتبط θ0 میتواند به پارامتر task-specific ϕt نزدیک شود.استپ های یادگیری با meta learner میتواند به طور مستفیم الگوریتم learning را هدایت کند یعنی meta learner به عنوان یک optimizer عمل میکند.هم اکنون موضوعاتی مثل تصویر در برابر متن و تشخیص دانه های ریز غذای حیوانات و ... هنوز open هستند و نیاز به جای کار بیشتری دارند.خلاصه قسمت ششم :در این قسمت از آموزش به ادامه ی دسته بندی اصلی ای که در مورد FSL داشتیم پرداختیم و از سه مبحث اصلی DATA,MODEL و ‌Algorithm به مبحث آخر یعنی Algorithm پرداختیم. اگر آموزش های قبل رو مشاهده کرده باشید ، در قسمت ۴ و ۵ به مباحث مدل و دیتا هم پرداختیم. از در مبحث Algorithm به سه استراتژی اصلی پرداختیم و نهایتا ریز جزئیات آنها را بیان کردیم.در قسمت بعدی : به جمع بندی این سه قسمت،مقایسه مدل ها و ادامه مباحث میپردازیم. نکته : برای جمع آوری این مطلب ، از نتایج تجربی نویسنده ، تحقیقات و همچنین این مقاله  استفاده شده است.منتظر نظرات پیشنهادات و انتقادات شما هستم. تشکر</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>Omid Arab</author>
                <pubDate>Sun, 14 Aug 2022 12:14:53 +0430</pubDate>
            </item>
                    <item>
                <title>نصب و راه اندازی Anaconda | مهدی مشایخی</title>
                <link>https://virgool.io/Artificialintelligence/%D9%86%D8%B5%D8%A8-%D9%88-%D8%B1%D8%A7%D9%87-%D8%A7%D9%86%D8%AF%D8%A7%D8%B2%DB%8C-anaconda-%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-hgxzow4h1ys9</link>
                <description>محیط آناکوندا | مهدی مشایخی
در این آموزش، نحوه راه اندازی یک محیط توسعه یادگیری ماشین پایتون با استفاده از Anaconda را خواهید فهمید. پس از تکمیل این آموزش، یک محیط پایتون کارآمد برای شروع یادگیری، تمرین و توسعه نرم افزار یادگیری ماشینی و یادگیری عمیق خواهید داشت.این روش برای پلتفرم های Windows، Mac و Linux مناسب هستند. اگر آشنایی با آناکوندا ندارید به طور خلاصه یه محیط کامل هست که هرچیزی برای یادگیری ماشینی و یادگیری عمیق نیاز دارید داخل اون هست که درواقع یک پکیج منیجر هست.دانلود Anacondaدر این مرحله بسته Anaconda Python را برای پلتفرم شما دانلود می کنیم.آناکوندا یک محیط رایگان و آسان برای استفاده برای پایتون هست.1. وارد صفحه اصلی آناکوندا شوید ، اینجا کلیک کنید.2. از قسمت صفحه اصلی روی &quot;Download&quot; کلیک کنید تا به صورت مستقیم دانلود شود .3. دانلود به صورت هوشمند سیستم عامل شما رو تشخص میده ولی اگر اینطور نبود میتوند از گذینه های پایین دکمه دانلود استفاده کنید. با این کار بسته Anaconda Python در کامپیوتر شما دانلود می شود.نصب Anacondaدر این مرحله نرم افزار آناکوندا پایتون را روی سیستم شما نصب می کنیم.1. روی فایل دانلود شده دوبار کلیک کنید.2. ویزارد نصب را دنبال کنید.نصب سریع و بدون پیچیدگی هست.هیچ سوال پیچیده یا نکته‌ای فکر نمیکنم وجود داشته باشه هنگام نصب چون بسیار آسان هست.محیط گرافیکی آناکوندادر عکس پایین محیط گرافیکی آناکوندا رو میبیند که پیچیدگی خاصی نداره و مجموعه از ابزار های یادگیری ماشین هست از نظیر ژوپیتر نوت بوک ، اسپایدر ، ژوپیتر لب و ...با جستجوی Anaconda Navigator (anaconda3) در منوی سرچ میتونید به این محیط دسترسی داشته باشید.محیط گرافیکی آناکوندامهم ترین ابزار ها این مجموعه : ژوپیترلب (JupyterLab)ژوپیتر نوت‌بوک (Jupyter Notebook)کیوت‌کنسول (QtConsole)اسپایدر (Spyder)گلوویز (Glueviz)اورنج (Orange)آراستادیو (Rstudio)ویژوال استودیو کد (Visual Studio Code)این بخش نیاز به توضیحات دیگه نداره و یکسری مجموعه ابزار هست که در پست های بعدی با اون ها آشنا میشیم.کار با Anaconda و دستورات خط فرماندر این بخش با دستوارت خط فرمان اناکوندا کار میکنیم تا با اون ها آشنایی داشته باشید.1. یک ترمینال (پنجره خط فرمان مثل CMD) را باز کنید. در ویندوز با فشار دادن کلیک های لوگوی ویندوز و دکمه R رو کیبورد و تایپ کلمه CMD میتونید اینکار رو بکیند2. برای مطمئن شدن از نصب آنکوندا دستور زیر رو تایپ کنید:conda -Vشما باید موارد زیر (یا چیزی مشابه) این را ببینید:conda 4.2.93. برای اطمینان از نصب پایتون در همان مکان تایپ کنید:python -Vشما باید موارد زیر (یا چیزی مشابه) این را ببینید:Python 3.5.2 :: Anaconda 4.2.0 (x86_64)4. اطمینان از آپدیت بودن آناکوندا :conda update condaconda update anacondaممکن است لازم باشد برخی از بسته ها را نصب کرده و یا آپدیت کنید.5. محیط SciPy خود را نصب یا آپدیت کنید.اسکریپت زیر ورژن کتابخانه های کلیدی SciPy را که برای توسعه یادگیری ماشین نیاز دارید چاپ می کند، به همراه : SciPy، NumPy، Matplotlib، Pandas، Statsmodels، و Scikit-learn.می‌توانید «python» را تایپ کنید و دستورات را مستقیماً وارد کنید در همان مکان خط فرمان یا همون CMD. از طرف دیگر، توصیه می کنم یک ویرایشگر متن باز کنید مثل VS Code یا ... و اسکریپت یا همون کد های زیر را در ویرایشگر خود کپی کنید.# scipyimport scipyprint(&#039;scipy: %s&#039; % scipy.__version__)# numpyimport numpyprint(&#039;numpy: %s&#039; % numpy.__version__)# matplotlibimport matplotlibprint(&#039;matplotlib: %s&#039; % matplotlib.__version__)# pandasimport pandasprint(&#039;pandas: %s&#039; % pandas.__version__)# statsmodelsimport statsmodelsprint(&#039;statsmodels: %s&#039; % statsmodels.__version__)# scikit-learnimport sklearnprint(&#039;sklearn: %s&#039; % sklearn.__version__)اسکریپت را به عنوان یک فایل با نام:  versions.py ذخیره کنید. &quot;این اسم دلخواه هست و فرقی نداره&quot;در خط فرمان، دایرکتوری خود را به جایی که اسکریپت را ذخیره کرده اید تغییر دهید و تایپ کنید:python versions.pyاگر نمیدونید که چطور دایرکتوری یا محل کنونی خط فرمان رو چطور باید تغییر داد میتونید در کامنت ها از من بپرسیدشما باید خروجی را مانند زیر ببینید:scipy: 0.18.1numpy: 1.11.1matplotlib: 1.5.3pandas: 0.18.1statsmodels: 0.6.1sklearn: 0.17.1این کار ها به این منظور هست که بررسی کنید نصب به درستی اتفاق افتاده یا نه که در بیشتر موارد مشکلی نداره ولی گفتم که بدونید.کتابخانه scikit-learnدر این مرحله، کتابخانه اصلی مورد استفاده برای یادگیری ماشین در پایتون به نام scikit-learn را آپدیت می کنیم.1. بروزرسانی scikit-learn به آخرین نسخهدر ترمینال تایپ کنید:conda update scikit-learnاز طرف دیگر، می‌توانید یک کتابخانه را با تایپ کردن یک نسخه خاص به‌روزرسانی کنید:conda install -c anaconda scikit-learn=0.18.1با این روش میتونید هر نسخه ای که نیاز دارید و دوست دارید رو دانلود کنید.با اجرای مجدد اسکریپت versions.py با تایپ کردن، تأیید کنید که نصب با موفقیت انجام شد و scikit-learn به روز شد:python versions.pyشما باید خروجی را مانند زیر ببینید:scipy: 0.18.1numpy: 1.11.3matplotlib: 1.5.3pandas: 0.18.1statsmodels: 0.6.1sklearn: 0.18.1کتابخانه های یادگیری عمیق را نصب کنیددر این مرحله، کتابخانه‌های پایتون را که برای یادگیری عمیق استفاده می‌شوند، نصب می‌کنیم، به‌ویژه: Theano، TensorFlow و Keras.توجه : من توصیه می کنم از Keras برای یادگیری عمیق استفاده کنید و Keras فقط نیاز به نصب یکی از Theano یا TensorFlow دارد. شما به هر دو نیاز ندارید! ممکن است هنگام نصب TensorFlow در برخی از ماشین های ویندوز مشکلاتی وجود داشته باشد.1. کتابخانه یادگیری عمیق Theano را با تایپ کردن:conda install theano2. کتابخانه یادگیری عمیق TensorFlow (همه به جز ویندوز) را با تایپ کردن:conda install -c conda-forge tensorflowاز طرف دیگر، می‌توانید با استفاده از pip و نسخه خاصی از tensorflow برای پلتفرم خود نصب کنید.دستورالعمل نصب تنسورفلو را ببینید .3. با تایپ کردن کلمه Keras آن را میتونید نصب کنید:pip install kerasپیپ یا همون pip هم یک پکیج منیجر مثل آناکوندا هست که در آموزش های بعدی روش نصب و استفاده رو خواهیم گذاشت ، ولی خیلی ساده تر و کوچیک تر از کوندا هست.4. مطمئن بشید که محیط یادگیری عمیق شما نصب شده و به درستی کار می کند.یک اسکریپت ایجاد کنید که شماره نسخه های هر کتابخانه را چاپ کند، همانطور که قبلا برای محیط SciPy انجام دادیم.# theanoimport theanoprint(&#039;theano: %s&#039; % theano.__version__)# tensorflowimport tensorflowprint(&#039;tensorflow: %s&#039; % tensorflow.__version__)# kerasimport kerasprint(&#039;keras: %s&#039; % keras.__version__)اسکریپت را در فایل deep_versions.py ذخیره کنید . اسکریپت را با تایپ کردن اجرا کنید: مانند اسکریپ قبلی ، اینکار برای اطمینان از درست نصب شدن کتابخانه ها هست.python deep_versions.pyشما باید خروجی مانند زیر را ببینید:theano: 0.8.2.dev-901275534cbfe3fbbe290ce85d1abf8bb9a5b203tensorflow: 0.12.1Using TensorFlow backend.keras: 1.2.1خلاصهتبریک میگم، شما اکنون یک محیط توسعه پایتون برای یادگیری ماشین و یادگیری عمیق دارید. اکنون می توانید یادگیری ماشینی و یادگیری عمیق را در ایستگاه کاری خود یاد بگیرید و تمرین کنید. ضمنا شما میتونید از داخل محیط گرافیکی آناکوندا تمام این کار ها رو به راحتی انجام بدید و با مراجعه به بخش Environments کتابخانه های که نیاز دارید رو تیک بزنید و روی دکمه install یا همون نصب کلیک کند.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@مسیر یادگیری ماشین : اینجا کلیک کنید.5 الگوریتم یادگیری ماشینی پرکاربرد : اینجا کلیک کنید.پایتون چیست و چه کاربردی دارد : اینجا کلیک کنید.</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Wed, 10 Aug 2022 15:16:32 +0430</pubDate>
            </item>
                    <item>
                <title>ریاضیات برای ماشین 1 | مهدی مشایخی</title>
                <link>https://virgool.io/Artificialintelligence/%D8%B1%DB%8C%D8%A7%D8%B6%DB%8C%D8%A7%D8%AA-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%82%D8%B3%D9%85%D8%AA-1-%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-qri2tobcxsyt</link>
                <description>ریاضیات برای ماشین | مهدی مشایخیسلام.توی این سری پست میخوایم در مورد ریاضیات لازم برای ماشین یا همون &quot;Machine Learning&quot; به طور کامل و آسان صحبت کنیم و تاجایی که امکان داره قابل درک برای شما عزیزان باشه ، همیشه میگن که برای هوش مصنوعی و مباحث زیر شاخه های اون نیاز به ریاضیات قوی و زیادی داره ولی من این باور رو ندارم چون فقط لازمه کار درک این مباحث هست نه اینکه شما بیاید ضرب ماتریسی یا سایر موارد رو انجام بدید به این دلیل که کتابخانه های پایتون از شما سریعتر و بهتر انجام میدند.لازمه یادگیری ماشین درک یکسری مفاهیم تئوری هست که بخشی از این مباحث هم مربوط به ریاضیات هست که قراره تا حد امکان بهتون یاد بدیدم تا دیگه مشکلی نداشته باشید از این بابت!مفاهیم ابتدایی و پایه در ریاضیاتاسکالر : درواقع هرچیزی که شامل عدد باشه میشه اسکالر مثل &quot;0،1،2،3،4،5،6،7،8،9&quot; که شامل تمام اعداد میشه مثل اعداد منفی ، اعداد اعشاری و سایر. اسکار ها آرایه های صفر بعدی در پایتون هستن به این دلیل که نه سطر دارند و نه ستون!اسکالر ها | Scalersوکتور : مجموعه از اسکالر ها رو داخل یک بردار قرار بدیم به آنها وکتور میگیم. وکتور ها به دو صورت سطری یا ستونی هستند. وکتور ها در پایتون مجموعه ای از آرایه های تک بعدی هستند به این دلیل که یا سطر دارند یا ستونوکتور سطری | Vectorsماتریس : مجموعه از سطر ها و ستون ها هستند که در واقع همون وکتور های سطری و ستونی هستند که به کنار هم امدند و یک ماتریس رو تشکیل دادند.ماتریس ها از نوع آرایه های 2 بعدی در پایتون هستند به این دلیل که ماتریس ها هم سطر دارند و هم ستون که باعث تشکیل یک فضای دو بعدی میشه.ماتریس | مجموعی از سطر ها و ستون هااگه به شما گفتند که یک ماتریس 4 در 4 هست ربطی به ابعاد اون نداره و فقط تعداد سطرها و ستون ها اون به ترتیب 4 هست ، یعنی عدد اول بیانگر تعداد سطر ها هست و عدد دوم بیانگر تعداد ستون ها هست.درایه : به اجزای داخل یک ماتریس یا وکتور درایه گفته میشود که منظور همون اعداد داخل ماتریس ها و وکتور ها هست. تعداد درایه های یک ماتریس از ضرب تعداد ستون ها و سطر ها یک ماتریس به دست میاد. مثلا یک ماتریس 3 در 3 تعداد 9 درایه داره.عداد داخل ماتریس | عداد هایلایت شدههر درایه مکانی برای خودش روی ماتریس ها داره ، مثلا در عکس بالا مکان درایه 7 &quot;همون عدد 7 در تصویر بالا&quot; رو پیدا کنیم ، خب همون طور که میبیند در سطر اول و ستون دوم قرار داره یعنی ( 2 , 1 ) عدد 1 همون سطر و عدد 2 ستون هست.تنسور : به صورت کلی یک ابر ماتریس بهش گفته میشه ، یعنی ما همون ماتریس رو داریم ولی به جای درایه ها که عدد داشتیم بجای اونها دوباره ماتریس داشته باشیم. تانسور ها همون آرایه های 3 بعدی هستند که ابعاد بزرگ و وسیعی دارند.تنسور | عنصر نارنجی رنگنکته : عکس ها و تصاویر مجموعه ای تنسور ها در فضای واقعی هستند ، هرعکس از تعدادی پیکسل و هر پیکسل از 3 رنگ RGB تشکیل شده که بعدها در پردازش تصویر متوجه این موضوع به خوبی خواهید شد.به طور نهایی اگه بخوام جمع‌بندی کنیم این بود که اسکالر ها صفر بعدی هستن و به اعداد اسکالر می گویند ، وکتور ها مجموعه ای از اسکالر ها هستند که یا سطر دارند یا ستون که به صورت عمودی یا افقی هستند ، ماتریس ها هم مجموعه ای از چند وکتور به صورت افقی و عمودی هست که باعث تشکیل یک ماتریس میشه و درنهایت تنسور ها یا همون تانسر ها مجموعه بزرگ یا همون یک ابر ماتریس هستند که به جای درایه های عددی   یک ماتریس قرار گرفته شده است.برای یادگیری مباحث ماشین باید از مباحث ساده و مفاهیم شروع کنید ، در پست های بعدی ادامه این مفاهیم و همچنین شما رو با جبر خطی و امار و دگیر مباحث آشنا میکنیم و بعد سراغ آموزش کتابخونه های پایتون برای ماشین لرنینگ میریم.قسمت بعدی این اموزش رو میتونید با لینک دنبال کنید : اینجا کلیک کنید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Sun, 07 Aug 2022 19:40:41 +0430</pubDate>
            </item>
                    <item>
                <title>مسیر یادگیری ماشین(Machine Learning) | مهدی مشایخی</title>
                <link>https://virgool.io/Artificialintelligence/%D9%85%D8%B3%DB%8C%D8%B1-%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%D9%85%D8%A7%D8%B4%DB%8C%D9%86machine-learning-%D9%85%D9%87%D8%AF%DB%8C-%D9%85%D8%B4%D8%A7%DB%8C%D8%AE%DB%8C-mnkpevvppqik</link>
                <description>سیر یادگیری ماشین لرنینگ | Roadmap for Machine Learningاز کجا شروع کنیم و چگونه موفق شویم؟دریابید که سفر یادگیری ماشینی خود را از کجا باید شروع کنید، روی چه نوع پروژه هایی می توانید در طول مسیر کار کنید و چگونه می توانید در این زمینه پیچیده موفق شوید.عصر داده فرا رسیده است، و اگر به اندازه کافی برای آن آماده نشده اید، نگران نباشید، ما هنوز هم می توانیم به شما کمک کنیم تا وارد کشتی شوید.ممکن است پول دنیا را به چرخش درآورده باشد، اما تنها چیزی که لازم است داده ها و اطلاعات در دوران معاصر است. استفاده از این دو مفهوم اساسی و تجزیه و تحلیل و استفاده از چنین داده هایی به ما کمک می کند تا به طور واقعی داده های ارزشمندی را جمع آوری و تجزیه و تحلیل کنیم که ما را از رقبا جلوتر نگه می دارد.یادگیری ماشینی به طور خلاصهبه طور کلی، یادگیری ماشین زیرشاخه‌ای از هوش مصنوعی است که برای تصمیم‌گیری یا پیش‌بینی بر اساس الگوهای قبلی موجود در داده‌ها استفاده می‌شود. این راهی است برای اینکه کامپیوترها از تجربه یاد بگیرند و بر اساس آن برای تکرار فرآیندها و نتایج تنظیم شوند، بدون اینکه از قبل با دستورالعمل های خاصی مانند الگوریتم های سنتی برنامه ریزی شوند.به عبارت ساده‌تر: اساساً ماشین‌ها را هوشمندتر می‌کند و آنها را قادر می‌سازد تا یاد بگیرند، پیش‌بینی کنند و با رفتار گذشته سازگار شوند. این راهی برای دستیابی به هوش مصنوعی بدون نیاز به مشخص کردن همه قوانین و فرآیندها از قبل است.نقشه راه یادگیری ماشین (Machine Learning)زبان برنامه نویسیمرحله اول : یادگیری زبان برنامه نویسیشما باید قبل از یادگیری هرچیزی ابتدا باید یک زبان برنامه نویسی که مناسب یادگیری ماشین باشه رو به خوبی یادبگیرید و به طور کامل مفاهیم اون زبان رو درک کنید. پیشنهاد من به شما زبان برنامه نویسی پایتون(Python)  هست ، به این دلیل که این زبان کتابخانه های زیادی برای یادگیری ماشین داره و امکانات زیادی میتونه به شما بده و از جهتی یادگیری زبان پایتون بسیار راحتتر نسبت به زبان های برنامه نویسی دیگه هست.یکی دیگر زبان های برنامه نویسی برای این حوزه زبان برنامه نویسی آر (R) هست که بیشتر و برای آمار خوبه و اصلا توصیه نمیکنم که در ابتدا به سمت این زبان برید چون شما گیج میشید و باعث میشه و مفاهیم برنامه نویسی رو نتونید به خوبی درک کنید شما باید در پایتون با مباحث زیر آشنایی خوبی داشته باشید و مفاهیم رو به خوبی درک کنید تا به مشکل نخورید!متغیر ها (Variables) انواع داده ها (Data Types)اعداد در پایتون (Numbers) متون در پایتون (Strings)عملگر ها (Operators) لیست ها (Lists)تاپل ها (Tuples)ست ها (Sets)دیکشنری ها (Dictionaries)دستورات شرطی (If/Else )حلقه ها (Loops)توابع (Functions)آرایه ها (Arrays)کلاس ها و شئ گرایی (Classes/Objects)کتابخانه های پایتون برای ماشین لرنینگمرحله دوم: یادگیری کتابخانه های پرکاربردتا اینجا که پایتون یادگرفتید لازمه تا کتابخانه های که مورد نیاز یادگیری ماشین هست رو یادبگیرید تا برای انجام مباحث ماشین بهتون کمک کنه ، لازمه بدونید که لازم نیست صد درصد این کتابخانه ها رو یادبگیرید و باید درک نسبی از این کتابخانه ها داشته باشید تا مسائلی مثل آمار و احتمال رو به راحتی محاسبه کنید یا به آسانی بتونید دیتا ها رو به صورت گرافیکی نمایش بدید و بتونید درک بهتری از داده ها داشته باشید.لیستی از کتابخانه های از پایتون که باید آنها رو یادبگیرید و به خوبی بتونید باهاشون ارتباط برقرار کنید.نام پای (NumPy) : برای محاسبات ریاضی و آماری استفاده میشودپانداس (Pandas) : برای دیتا ها و اطلاعات و دستبندیسای پای (SciPy) : برای محاسبات ریاضیات پیشرفته تر و آماریاسکی لرن (Scikit learn) : الگوریتم ها و پیش پردازش های ماشین متپلات لیب (Matplotlib) : نمایش گرافیکی نمودار هاسیبورن (Seaborn) : نمایش گرافیکی نمودار ها در پست های بعدی و مقالات آینده تمامی کتابخانه ها معرفی شده به صورت آسان بهتون آموزش خواهیم داد!ریاضیات برای یادگیری ماشینمرحله سوم : یادگیری ریاضیات مربوط به ماشیناگر بگیم که ماشین لرنینگ یا همون یادگیری ماشین نیاز به ریاضیات نداره و اصلا لازم نیست ریاضی یادبگیریم بدونید که داریم خودمون رو فریب میدیم و واقعیت این طور نیست ولی شما هم نگران نباشید تا راه حل رو بهتون بگم و بعد تصمیم بگیرید.یادگیری ماشین نیاز به ریاضی داره اما اون ریاضی که من مثلا بهتون بگم یک ضرب ماتریسی انجام بدید و اون امار و احتمال خسته کننده دانشگاه نه! توی یادگیری ماشین ما باید فقط درک کنیم اون مبحث ریاضی رو و لازم به حل کردن نیست ، چرا؟ چون اون کتابخونه های که بالا معرفی کردم بهت همه اینکار ها رو انجام میده و از منو شما هم سریع ترهمثلا وقتی میشنوی واریانس تو باید بدونی جواب بدست آمده از کجا آمده و چطور کار میکنه و باید درک رو این مباحث داشته باشید تا سردرگم نشیدتوی مقالات و پست های آینده هم حتما درمورد مفاهیم ریاضی های مورد نیاز برای ماشین صحبت میکنیم و همه مباحث لازم رو بهتون آموزش میدیم ، پس نگران هیچ چیز نباشید!شما باید مباحثی مثل جبر خطی ، آمار و احتمال و .... از این دسته مباحث رو بلد باشید تا بتونید درک خوبی داشته باشید و بفهمید.مرحله چهارم : یادگیری مفاهیم ماشین لرنینگشما توی شروع لازم نیست ابتدای کار برید الگوریتم ها پیچیده و مباحث پیشرفته رو یادبگیرید ، فقط کافیه کم کم مفاهیم ماشینی رو مثل اینکه داده چی هست؟ پردازش چی هست؟ و سایر موارد رو یادبگیرید تا مفاهیم رو خوب درک کنید. شما باید کلمات تخصصی حوزه خودتون بشناسید و با اون ها آشنا باشید.بعد از درک مفاهیم بهتره همه چیز هایی که تا اینجا یادگرفتید رو تمرین و تکرار کنید تا به خوبی در ذهنتون باقی بمونه و به اصطلاح توی یه لوپ یا همون حلقه آموزش ببنید و تمرین کنید. مثلا شما یه موضوعی رو نمیدونید و میرید سرچ میکنید تا یادبگیرید و بعد باید اونو تمرین کنید و همین طور ادامه بدید ، اینم بدونید که مباحث هوش مصنوعی و ماشین تمومی نداره و مدام باید دنبال یادگیری باشید.الگوریتم های یادگیری ماشینمرحله پنجم : یادگیری مباحث پیشرفته ماشین لرنینگدرپایان کار باید بهتون بگم که باید مباحث پیشرفته تر رو مثل الگوریتم های ماشین ، معیار های ارزیابی ، تست، آزمایش ، پیش پردازش ، جمع آوری داده و کلی مباحث دیگه که باید به خوبی بدونید.برای آشنایی با پنج الگوریتم پرکاربرد ماشین میتونید اینجا کلیک کنید و این مقاله رو مشاهده کنیددر یادگیری ماشینی، الگوریتم ها دستورالعمل هایی هستند که به کامپیوتر می گویند چه کاری انجام دهد. در برخی موارد، آنها می توانند به سادگی &quot;اگر X درست است پس Y را انجام دهید&quot; یا فرمول های پیچیده تر که ممکن است دارای شرط و تکرار باشند، باشند.بسیاری از الگوریتم‌ها در یادگیری ماشینی اساساً با پردازش نقاط داده، داشتن یک خروجی خاص برای هر نقطه داده (مثلاً طبقه‌بندی ایمیل به عنوان هرزنامه یا عدم) و استفاده از مدل‌های ریاضی برای پیش‌بینی خروجی‌های آینده کار می‌کنند.در حال حاضر، می توانید با این مجموعه گسترده از موضوعات شروع کنید.یادگیری نظارت شده: یادگیری نظارت شده نوعی از یادگیری ماشینی است که در آن مجموعه ای از داده های آموزشی به کامپیوتر داده می شود و وظیفه آن یادگیری نحوه نگاشت این ورودی ها به خروجی های مورد نظر است.یادگیری بدون نظارت: یادگیری بدون نظارت نوعی از یادگیری ماشینی است که در آن داده‌هایی به رایانه داده می‌شود، اما به آنها گفته نمی‌شود که خروجی‌های صحیح چه چیزی باید باشد. هدف یافتن ساختار در داده ها و یادگیری از آن است.طبقه‌بندی: طبقه‌بندی وظیفه شناسایی این است که یک کالا بر اساس نمونه‌های برچسب‌گذاری شده به کدام دسته تعلق دارد. نمونه هایی از این برچسب ها به شرح زیر است: هرزنامه در مقابل هرزنامه نیست، تومورهای بدخیم در مقابل خوش‌خیم، و غیره.تشخیص الگو: تشخیص الگو وظیفه یادگیری ماشینی برای شناسایی الگوها در داده ها است. داده ها شامل متغیرهای ورودی (مانند پیکسل) و متغیرهای هدف (مانند بدخیم بودن یا نبودن تومور) است.سیستم‌های توصیه‌گر: سیستم‌های توصیه‌کننده برنامه‌هایی هستند که با توجه به مجموعه‌ای از اولویت‌های موجود، پیش‌بینی می‌کنند که کاربر چه مواردی را می‌خواهد. این نوع سیستم به طور گسترده در جایزه نتفلیکس، در موتورهای جستجو مانند گوگل یا بینگ، در شبکه های اجتماعی برای پیش بینی توصیه های دوستان استفاده می شود.یادگیری تقلیدی: یادگیری تقلیدی روشی از یادگیری ماشینی است که شامل یادگیری از نمایش است. از مشاهدات رفتار یک متخصص برای یادگیری نحوه انجام وظایف بدون هیچ دستورالعملی در مورد نحوه حل آنها استفاده می کند.نتیجهزمینه یادگیری ماشینی گسترده است و چیزهای زیادی برای یادگیری وجود دارد. بنابراین، بهترین راه برای شروع سفر یادگیری ماشینی خود این است که با هدف نهایی در ذهن شروع کنید، مانند «من می‌خواهم داده‌های کسب‌وکارم هوشمندتر شوند» یا «من به یک سیستم توصیه‌کننده برای وب‌سایت خود نیاز دارم». ممنونیم که تا آخر این مقاله رو خوندید با لایک کردنتون میتونید به ما انرژی بدید و انگیزه بگیریم!آموزش های تکمیلی :آشنایی با پنج الگوریتم یادگیری ماشینی : اینجا کلیک کنید.آموزش ریاضیات یادگیری ماشینی : اینجا کلیک کنید.یادگیری کامل پکیج منیجر پایتون pip : اینجا کلیک کنید.لینک حمایت مالی برای ادامه راه : اینجا کلیک کنید.آدرس لینکدین من و جواب به سوالات شما : اینجا کلیک کنید.انجام پروژه های ماشین لرنینگ و یادگیری عمیق در تلگرام : Mashayekhi_Ai@</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>مهدی مشایخی</author>
                <pubDate>Wed, 03 Aug 2022 14:57:29 +0430</pubDate>
            </item>
                    <item>
                <title>شروع یک مسئله ماشین لرنینگ با داده های کم قسمت ۵</title>
                <link>https://virgool.io/Artificialintelligence/%D8%B4%D8%B1%D9%88%D8%B9-%DB%8C%DA%A9-%D9%85%D8%B3%D8%A6%D9%84%D9%87-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%84%D8%B1%D9%86%DB%8C%D9%86%DA%AF-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%85-%D9%82%D8%B3%D9%85%D8%AA-%DB%B5-lbdo3dbuun1h</link>
                <description>سلام !قبل از هرچیز اول یه سر به قسمت قبلی ( قسمت ۴ ) بزن و بعد بیا برای ادامه کار . https://vrgl.ir/Ge0Su خب در ادامه ی قسمت ۴ ، به بررسی Model از طبقه بندی معرفی شده در قسمت قبل میپردازیم. ۴) مبحث Model : برای تخمین یک hypothesis به اسم h^  مدل باید یک فضای hypothesis به نام H که شامل مجموعه ای از h ها است را تعیین کرده به طوری که فاصله ی بین  h بهینه ( h*)  و h^ کم باشد. در FSL با سمپل های کم ، H کوچک است و فقط چند مدل ساده مثل linear classifier بکار می آید.در حالی که در مسائل واقعی و پیچیده نمیتوان با این مدل های ساده مسئله را پرزنت کرد . متد های این بخش  برای محدود کردن یک فضای H بزرگ تر به یک فضای H~ کوچکتر با استفاده از دانش قبلی ، مورد استفاده قرار میگیرند.در نتیجه ERM قابل اعتماد تر شده و ریسک overfitting  کاهش میابد.بر اساس دانش قبلی ، دسته بندی های بحث مدل ، به صورت زیر است : ۱-۴) استراتژي Multitask learning : زمانی که چندین task برای یادگیری باشد،‌مالتی تسک لرنینگ میتواند به طور همزمان با استفاده از اطلاعات  عمومی تسک ها     و   اطلاعات مختص هر تسک کار یادگیری را انجام دهد. از این رو برای FSL میتواند استفاده شود. چند نمونه را در اینجا میبینیم. اگر C تسک داشته باشیم که تعدادی از آنها few-shot  و تعداد دیگری large-shot   باشند که هر کدام از تسک ها شامل دو دسته از اطلاعات D train  و D test  هستند، ما آن دسته از تسک ها که few-shot هستند را به عنوان target در نظر میگیریم و آن دسته که large-shot هستند را به عنوان source در نظر میگیریم.  لرنینگ یادمیگیرد تا پارامتر تتا را تعیین کند . از آنجایی که این تسک ها به طور همزمان انجام میگیرند ، پارامتر تتا برای هر تسک ، به وسیله ی تسک دیگری محدود میشود . بنا براین ما متد ها را به دو دسته تقسیم میکنیم :‌  sharing parameters  و  tying parameters  . ۱-۱-۴) متد parameter sharing : این استراتژي به طور مستقیم برخی پارامتر ها را بین تسک ها اشتراک گذاری میکند. همانطور که در رفرنس ۱۶۰ گفته شده ، دو شبکه ، لایه های اولیه خود را به عنوان generic information به اشتراک میگذارند و لایه های مختلف پایانی را برای خروجی های مختلف یادمیگیرند. سه رفرنس مختلف برای نحوه ی شیر کردن این اطلاعات معرفی شده است . ۶۵،۹۱ و ۱۲ ( برای اطلاعات بیشتر به این مراجع مراجعه نمایی)۲-۱-۴) متد parameter tying : این متد کاری میکند که پارامتر های تتا ی تسک های مختلف ، شبیه به هم باشند.یکی از این رویکرد ها regularization کردن پارامتر های تتا میباشد. در رفرنس ۱۵۱ تفاوت های بین تتا ها جریمه میشوند و در رفرنس ۸۵ یک cnn برای تسک source و یکی برای target وجود دارد و این لایه های این دو cnn  در یک جهت قرار میگیرند ( به وسیله ی برخی پارامتر های منظیم سازی ) ۲-۴ ) استراتژی Embedding Learning : در این استراتژی هر xi ای که در ابعاد بالاتر داریم را به ابعاد پایین تر تعبیه میکنیم به طوری که سمپل های مشابه در کنار هم و غیر مشابه ها دور از هم دیگر باشند. سپس می توان یک فضای  hypothesis کوچک‌تر را ساخت که متعاقبا نیاز به نمونه‌های آموزشی کمتری دارد.تابع embedding که این کار را انجام میدهد،‌از دانش قبلی به علاوه  برخی از  اطلاعات مخصوص به تسک استفاده میکند. سه جزء اصلی داریم : فانکشن f که داده های X test را به فضای کم بُعد z میبرد.فانکشن g که داده های Xi را به را به فضای کم بُعد z میبرد.فانکشن مشابهت S(0,0)  که مشابهت f(X test ) و G(X i) را اندازه گیری میکند.بنابراین سمپل هایی از  X test به کلاس مربوط به X i ، مرتبط ( assign ) میشود که f(X test ) و G(X i) مشابه بوده اند .اگرچه میتوان از یک فانکشن مثلا همان f هم برای Xtest و X i استفاده بجای دو تا f و g  استفاده کرد اما طبق رفرنس ۱۴و ۱۵ ، این کار دقت را بالاتر میبرد. بر اساس اینکه آيا پارامتر های f  و g در سراسر تسک ها متفاوت هستند یا نه، میتوان متد های FSL را به دسته های زیر تقسیم کرد : 1- دسته ی  task-specific embedding model 2- دسته ی task-invariant 3- دسته ی hybrid ۱-۲-۴)‌ بررسی دسته task-specific embedding model : این متد  یک embedding function را بر اساس هر task با استفاده از اطلاعات همان Task یادمیگیرد. هر جفت سمپل در D train به عنوان جفت سمپل در رفرنس ۱۳۰ به حساب می آید.در نتیجه تعداد داده های سمپل افزایش یافته و embedding function میتواند فقط با اطلاعات  task-specific  آموزش ببیند.۲-۲-۴)‌ بررسی دسته Task-invariant Embedding Model : این متد ها ،‌یک تابع embedding function از یک دیتاست بزرگی که شامل سمپل های کافی هستند را با خروجی های مختلف ، لرن میکند و سپس در یک مسئله ی Few-shot روی D train ها بدون ترین کردن جدید استفاده میکند.یعنی اینکه در یک مسئله با دیتا ست بزرگ دو فانکشن f و g لرن شده و برای مسئله FSL صرفا داده های تست را به F می دهیم و داده های train را به g .اولین نمونه ی مدل embedded در رفرنس ۳۶ ، سمپل ها را با استفاده از یک کرنل embed‌ میکرد . اخیرا embedding های جدیدتری به وسیله ی یک convolutional siamese net  لرن میشود. کرنل یک ماتریس است که انجام اعمالی مثل blurring, sharpening, outlining  و... بکار میرود و در ماشین لرنینگ نیز برای feature extraction جهت یافتن مهم ترین نقاط تصویر بکار میرود .اگرچه مدل های  Task invariant پارامتر های مدل را با استفاده از D train مختص به fsl آپدیت نمیکند اما بسیاری از روش های این دسته سناریوی FSL را در طی ترین کردن embedding model  شبیه سازی میکند.فرض کنید که ترین ست های D c را داریم که در N کلاس هستند.که ما U تا از آنها را  برای ترین استفاده میکنیم . embedding model ما بر اساس بهینه کردن  بالاترین پرفورمنس در N_U کلاس باقی مانده عمل میکند.بنابراین generalization خوبی برای few shot لرنینگ ، مدل ما دارد .اولین نمونه یک  linear embedding را از روی D c می آموخت اما اخیرا با استفاده از متالرنینگ   task-invariant embedding های پیچیده تری انجام میشود. مانند : متد Matching Netsیکی از متد های مهم و بروز FSL ، متد Matching Net هست، که در یک آزمایش توانست روی پایگاه داده ی image net دقت را از 87.6% به  93.2% و omniglot را از ۸۸ به ۹۳.۸ برساند.  در رفرنس اصلی  بیان میکند که ما از ایده هایی از متریک لرنینگ روی ویژگی های عمیق عصبی و پیشرفت هایی که در افزایش شبکه عصبی با حافظه جانبی استفاده میکنیم.متد Matching Nets امبد فانکشن های f و g را برای ترین کردن Xi و تست کردن X test یادمیگیرد.مثلا resLSTM طراحی های بهتری را برای f,g ارائه میکند.( رفرنس ۳)در مقاله ی اصلی رفرنس ۱۳۸ ، بیان میکند که علیرغم پیشرفت های بسیار زیاد در حوزه ی vision و language  روش supervised deep learning راه حل رضایت بخشی برای مسائل d  با داده اندک ارائه نمیکند. در این مقاله ایده هایی برای  metric learning  برا اساس فیچر های شبکه عصبی و نیز بر اساس پیشرفت های augment کردن شبکه های عصبی با حافظه ی خارجی ارائه میکند.متد Prototypical Networks (ProtoNet)ایده اصلی این است که بجای مقایسه ی f و g متد protonet  فقط f را با کلاس  prototype دیتای train  مقایسه میکند. برای هر کلاس n ، پروتوتایپ برابر است با : ثابت k تعداد سمپل های داده های ترین از کلاس n است.به طور تجربی نشان داده شده است که این روش به استیبل تر شدن نتایج و کاهش هزینه محاسباتی کمک میکند. در رفرنس های ۱۴۱ و ۱۰۸ نمونه هایی آورده شده است. متد های دیگرمتد هایی مثل ARC که از LSTM استفاده میکند تا X test ها را با C n مقایسه کند و سپس نتیجه این مقایسه را به عنوان یک intermediate embedding ، تعبیه کند.همچنین از یک biLSTM برای امبد کردن همه ی مقایسه ها به عنوان final embedding استفاده میکند در رفرنس اصلی ذکر شده که توانایی بهبود ۱.۵ درصدی روی Omniglot داشته است. در رفرنس ۱۱۹ در مورد این متد توضیح داده شده است .متد Relation Net یکی دیگر از متد ها است که از CNN برای امبد کردن X test و  X i به فضای Z استفاده کرده ، سپس آنهارا کانکت کرده و به عنوان fed به یک CNN دیگر میدهد تا Score مشابهی را نتیجه دهد. متد Graph neural network ، یکی دیگ از متد ها است که در رفرنس ۸۴ و ۱۱۵ مقاله آمده و برای بهره برداری از اطلاعات همسایه های محلی استفاده میشود.در FSL  به صورت Reinforcement کاربرد برای کاربرد هایی نظیر continuous control and visual navigation که اطلاعات موقتی مهم است کاربرد دارد .متد Simple Neural Attentive Learner (SNAL) ، یک شبکه ی Embedding  با لایه های  temporal convolution و attention layers است . temporal convolution layer اطلاعات را step های زمانی گذشته aggregate کرده در حالی که attention layer ، به طور انتخابی به time step های مربوط به ورودی توجه میکند .۳-۲-۴)‌ بررسی دسته Hybrid Embedding Model : گرچه مدل های task invariant میتوانند روی tsak های جدید با هزینه محاسباتی کم پیاده سازی شوند اما نمیتوانند دانشی از task فعلی ارائه نمایند. زمانی که D train ما فقط چند مثال دارد، مثل بیماری های خاص و ... مدل های task invariant embedding  مناسب نیستند. مدل های هایبرید مدل های task-invariant را  با استفاده از اطلاعات task-specific که از دانش قبلی آموخته شده ، سازگارمیکند. این کار به یه این صورت است که ، مدل  یک فانکشن  از &quot; اطلاعات استخراج شده از D train به عنوان ورودی &quot; و &quot; یک  embedding  به عنوان خروجی &quot; را لرن کرده و به عنوان پارامتر ‌f  استفاده میشود. در رفرنس ۱۴ مدل learnet یک task-invariant convolutional siamese net را با ترکیب اطلاعات specific مربوط به D train بهبود می دهد.این مدل یک متالرنر را با چندین meta-training set آموزش میدهد و سپس هر X i مربوط به D train را به پارامترهای لرنر مپ میکند.( همان convolutional siamese net) . در این روش پارامتر f همانطور که در تصویر بالا مشخص است با X i ها ( که همان D train ) هستند تغییر میکند که منجر به hybrid شدن آن میشود. در رفرنس ۱۳ لایه ی classification مربوط به لرنر با ridge regression جابجا میشود به این صورت که پارامتر ها میتوانند به طور موثری در فرم بسته ( closed-form) بدست آورده شوند. ۳-۴)‌ استراتژي learning with external memory : این استراتژي اطلاعات را با استفاده از اکسترنال مموری از D train استخراج کرده و در حافظه    ذخیره میکند.هر سمپل جدید X test با یک میانگین وزن دار از محتوای استخراج شده ی مموری پیش بینی میشود.الگوریتم Key-Value Memory Networks یکی از الگوریتم های متداول است که در FSL استفاده میشود.حافظه به عنوان جفت های (M key,M value)در نظر گرفته میشود.ابتدا X test با استفاده از f مانند استراتژي قبلی embed میشود اما برخلاف استراژي قبلی مستقیما استفاده نمیشود ،بلکه در حافظه نوشته شده و صرفا برای پاسخ به کوئری های با بیشترین تشابه بین اسلات ها استفاده میشود. اساس این کار تابع s(f(X test),M key(i))است، که تشابه بین داده تست و داده درون اسلاید حافظه را خروجی میدهد.به این صورت که M value های استخراج شده ترکیب میشوند و به عنوان ورودی یک کلاسیفایر ساده مثل سافت مکس داده میشود.اگر اسلات ها پر نباشد ، سمپل جدید نوشته میشود و اگر پرباشد ، تصمیم گرفته میشود کدام اسلات جایگزین شود.در جدول زیر متد های این استراتژي آورده شده است.از آنجایی که هر X test به وسیله ی میانگین وزن دار value های استخراج شده از مموری پرزنت میشود ، کیفیت key-value های درون حافظه مهم است ، بر این اساس به دو دسته تقسیم میشوند:دسته ی refining representation و refining parameters۱-۳-۴)‌ دسته ی refining representation  : متدMemory-augmented Neural Networks  یا همان  MANN ، به این صورت است که یک embedding function لرن میشود سپس سمپل های کلاس های یکسان را با Value یکسان مپ میکند.سمپل های یک کلاس مشابه سپس  class representation خود را با یکدیگر refine میکنند. (‌رفرنس 114) در رفرنس ۱۲۱ این class representation را میتوان به عنوان یک refined class prototype در متد ProtoNet دید.رفرنس ۱۰۴ ، ماژول surprise-based memory به این صورت است که M را آپدیت میکند زمانی که نتواند یک X i را به خوبی نشان دهد. بدین طریق  که اپدیت M با استفاده از X i را انجام میدهد به صورتی که M بهتر شود و هزینه ی محاسبات پایین تر بیاید.در رفرنس های ۱۴۹،۱۶۴،65 ,۱۲۵ میتوان متد های دیگر را هم دید. ۲-۳-۴)‌ دسته ی refining parameters  : متد Learnet  را به یاد بیاورید که اطلاعات D train به یک embedding function g داده میشد تا برای X test های جدید پارامترایز شود. حالا این parameter میتواند با یک مموری جایگزین شود. در رفرنس 96 متد MetaNet یک classification model را با استفاده از وزن های &quot;slow&quot; پارامترایز میکند به طوری که از یک multiple data set متالرن میشود و با وزن های  &quot;fast&quot; پارامترایز میکند به طوری که از task-specific embedding  برای D train استفاده میشود.در رفرنس ۲۲،  MN-Net از یک مموری برای refine کردن embedding learned در Matching Net استفاده میکند به طوریکه خروجی برای پارامترایز کردن CNN برای learnet استفاده شود.۴-۴) استراتژي Generative Modeling : در این استراتژی احتمال توزیع p(x) از روی X i های مشاهده شده به کمک دانش قبلی ، پیش بینی میشود.معمولا پیش بینی p(x) به همراه p(x |y) , p(y) انجام میشه که X داده ها و Y  لیبل ها هستند. متد های این کلاس با تسک های زیادی سر و کار دارند. مثل:تسک های  generation , recognition   reconstruction ,  image flipping .در این استراتژی فرض می‌شود که x از توزیع P (x, θ) که با θ پارامترایز شده بدست می آید. معمولا یک متغییر پنهان به اسم z وجود دارد به صورتی که : z ∼ p(z;γ )بنابراین : x ∼ 	 sigma ( p(x |z; θ )p(z;γ )dz )توزیع p(z;Y) که از دیتاست های دیگر به دست می آید ، به وحود آورنده ی prior knowldge است که برای fsl نیاز و واجب است. با ترکیب D train با p(z;Y)  توزیع احتمالی پیشین محدود میشود ! به عبارت دیگر فضای فرضیه ی H به یک فضای کوچکتر H~ تبدیل میشود.با توجه به متغییر پنهان z ما این استراتژي را به سه دسته تقسیم میکنیم : ۱-۴-۴)‌ دسته ی Decomposable Components  :  اگرچه داده های سمپل در FSL کمیاب هستد اما ممکن است با شیرکردن آنها با یکدیگر نتایج خوبی بدست بیاید. مثلا برای مدل تشخیص چهره میتوان از ترکیب کردن مدل های تشخیص چشم ،فرم صورت و فرم بینی استفاده و آنها را ترکیب کرد.برای نمونه Bayesian One-shot یکی از متد هایی است که برای کپچر کردن تعاملات بین اجزای تجزیه پذیر و کلاس  تارگت استفاده میشود.متده های دیگری مثل  Bayesian Program Learning و... نیز استفاده میشود.۲-۴-۴)‌ دسته ی Groupwise Shared Prior  : در این روش بحث میشود که  تسک های مشابه احتمالات مشابهی دارند. مثلا برای کلاسیفیکیشن بین گربه،ببربنگال و پلنگ، گربه و پلنگ سمپل های فراوانی دارند اما ببر بنگال به دلیل خطر انقراض سمپل کمی دارد. بنابراین فرد میتواند از احتمالات رخ دادن گربه و پلنگ در این مسئله استفاده کند. در رفرنس ۱۱۳ ، یک مجمو.عه از دیتا ست ها به صورت سلسله مراتبی دسته بندی میشوند. این دیتاست ها با هم دیگر احتمالات کلاس های قبلی را یادمیگیرند. برای یک دسته بندی جدید فرد ابتدا باید گروهی که کلاس جدید به آن تعلق دارد را پیدا کرده و سپس آنرا با class prior که از groupwise shared prior probability بدست آمده مدل کند.در رفرتس ۱۲۹ هم مرحله ی یادگیری فیچر ها با استفاده از ماشین بولتزمن انجام میگیرد.۳-۴-۴)‌ دسته ی Parameters of Inference Networks  : برای پیدا کردن بهترین  θ باید معادله زیر ماکسیمم شود :به دلیل وجود عبارت مخرج، این مسئله یک مسئله ی رام نشدنی است. به همین خاطر از یک توزیع q(z; δ ) استفاده میکنند تا p(z|x; θ,γ ) راتخمین بزنند. اخیرا این  q(z; δ ) با amortized variational inference with the inference network تخمین زده شده است.پس از لرن شدن ، inference network میتواند برای یک تسک جدید به طور مستقیم با کارامدی بیشتر و دانش انسانی کمتر استفاده شود.شبکه های  inference network  به دلیل تعداد زیاد پارامتر هایی که دارند معمولا با دیتاست های کمکی آموزش داده میشوند.مثال های زیادی از این شبکه ها برای مسائل fsl هست مثل :variational auto-encoder,autoregressive model,generative adversarial networks,.... خلاصه قسمت پنجم :این قسمت از آموزش، دارای متن کمی سنگین تر و گاها نامفهوم بود. از آنجایی که مقالات survey خلاصه شده ای از چندین مقاله هستند و شرح کاملی ندارند ، برای فهم کامل و درک عمیق باید به رفرنس هایی که مابین متن معرفی میکند مراجعه و دقیق تر مطالعه نمود.در قسمت قبلی گفتیم که Taxonami (طبقه بندی) بحث به سه دسته ی ،دیتا ، مدل و الگوریتم تقسیم میشود. همچنین مبححث دیتا را بررسی کردیم.در این قسمت به مبحث مدل پرداختیم و گفتیم به ۴ دسته اصلی تقسیم میشود :Multi task learning : parameter sharing-parameter tyingembedding learning :task-specific(mAP)- task invariant(matching net-ProtoNet-GNN-SNAIL ...) - hybrid (Learnet ...)learning with external memory : refining representation(MANN ...)- refining parameters(MetaNet , MN-Net ,..)general modeling در قسمت بعدی : به ادامه ی این مقاله و مبحث  الگوریتم خواهیم پرداخت .نکته : برای جمع آوری این مطلب ، از مقاله ی &quot;Generalizing from a Few Examples: A Survey on Few-shot Learning &quot; استفاده کرده ایم.از اینکه تا این ۵ قسمت اصلی همراه ما بودید ، سپاسگذارم و منتظر نظرات و پیشنهادات شما هستم.مسلما این آموزش دارای اشکالاتی نیز هست که بسیار خوشحال میشم با من مطرح کنید.</description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>Omid Arab</author>
                <pubDate>Wed, 03 Aug 2022 10:37:30 +0430</pubDate>
            </item>
                    <item>
                <title>شروع یک مسئله ماشین لرنینگ با داده های کم قسمت ۴</title>
                <link>https://virgool.io/Artificialintelligence/%D8%B4%D8%B1%D9%88%D8%B9-%DB%8C%DA%A9-%D9%85%D8%B3%D8%A6%D9%84%D9%87-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%84%D8%B1%D9%86%DB%8C%D9%86%DA%AF-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%85-%D9%82%D8%B3%D9%85%D8%AA-%DB%B4-aitlr88viam9</link>
                <description>سلام !قبل از هرچیز اول یه سر به قسمت قبلی ( قسمت ۳ ) بزن و بعد بیا برای ادامه کار . https://vrgl.ir/eKiWp خب در ادامه قسمت سوم،‌در این قسمت قصد داریم به بررسی چند مقاله مرور ( survey ) در حوزه موضوع few shot learning بپردازیم .مقالات survey مقاله هایی هستند که فرض میکنن شما دانش اولیه در مورد موضوع را دارید و صرفا به طبقه بندی تحقیقات انجام شده ، دورنمای این موضوع تحقیقاتی در آینده ، ارزیابی و مقایسه راهکار ها و روشهای اون میپردازن. در حقیقت در این مقالات،نویسنده چند مقاله دیگر رو بررسی کرده ( ۵-۸ تا) و خلاصه ای از اون ها،مقایسه روش های اون ها و... ارائه میده . سایت های خوبی که میشه از این مقالات درش پیدا کرد ، google scholar , Springer , ACM  و... هستند. موضوع few shot learning یکی از موضوعاتی بود که جزو راه حل ها مطرح کردیم و حالا میخوایم دقیق تر بررسی کنیم. مقاله ی اول  تحت عنوان &quot;Generalizing from a Few Examples: A Survey on Few-shot Learning &quot; هست که بررسی میکنیم .این مقاله ۱۶۶ مقاله ی دیگر را که در منابع لیست آنها را آورده بررسی کرده و survey آنرا ارائه میدهد. ۱-۱ و ۱-۲ ) معرفی و مقدمه :در قسمت معرفی، به بررسی مفهوم ماشین لرنینگ و مثال هایی از اون میپردازه. سپس توضیح میده که چه زمانی ممکنه داده ها کم باشه ( مثلا به دلایل امنیتی،حریم خصوصی،مسائل اخلاقی و ...)و few shot learning به عنوان یکی از داغ ترین موضوعات ماشین لرنینگ ،‌چطور و به چه نوع مسائلی کمک میکنه. به طور مثال ،‌few shot learning میتونه در کاهش دادن بار جمع آوری اطلاعات لیبل بسیار کمک کننده باشه. موارد کاربرد اون در دسته بندی تصاویر،بازیابی تصاویر،تشخیص ژست،تشخیص واقعه در ویدیو و... هستند. همچنین approach های مختلف این مسئله شامل متا لرنینگ ، یادگیری تعبیه شده و مدل های مولد رو بیان میکنه.روند مقاله به این صورت هست کهابتدا یک تعریف کلی از FSL میده ( همون few shot learning ) بعد از اون لیستی از مسائل مرتبط با FSL رو بیان میکنه و ارتباط و تفاوت شون رو بررسی میکنه. سپس به مسئله اصلی FSL در مسائل supervised که همان حداقل کردن خطای تجربی ِ غیر قابل اطمینان هست میپردازه که بر اساس تجزیه خطا صورت میگیره. ارائه دادن یک دید کلی از data ،model  و algorithm  که سه دسته کلی برای بررسی موضوع هست ارائه خواهد شد و در مورد مزایا و معایب صحبت خواهد کرد . در نهایت پیشنهاد هایی برای آینده ی FSL در مورد setup ,techniques و application ها داده خواهد شد.۱-۲) تعریف FSL : مسئله ی  FSL یک زیر موضوع از ماشین لرنینگ است . ماشین لرنینگ یک مسئله ی یادگیری بر اساس تجربیات ( داده های ترین ) زیادی است که مسئله از قبل دارد و FSL یک مسئله ی ماشین لرنینگ با نظارت بوده که تجربیات  آن( داده ترین ) کم است . گاهی به آن N-way-K-shot هم میگن که شامل i تا داده ترین در N کلاس و هر کلاس K شات است ( i=NK) یک نمونه مثال FSL از مقاله ذکر شدهمثلا در مثال بالایی ، یک مسئله ی تولید کاراکتر به صورت دست خط با تعداد اندکی داده ی سمپل و دانش از قبل داشته ی روابط و اجزای مسئله ، کار یادگیری را انجام داده و معیار ارزیابی آن هم پاس شدن تست تورینگ ( عدم تشخیص دست خط انسان یا ماشین توسط یک discriminator ) است . نکته اینجاست که در مسائل یادگیری ماشین معمولی ، ما فقط &quot;supervised information&quot; را برای داده هایمان داریم ، اما در مسائل با داده اندک ( FSL )  به تنهایی این مورد کافی نیست ( چون حجم اندکی دارد ) و برای همین به دانش قبلی &quot; prior knowledge&quot; نیاز دارد . ( مثل متد Bayesian network ) دانش قبلی عبارت است از :هر گونه اطلاعاتی که یادگیرنده در مورد عملکرد ناشناخته ای قبل از دیدن سمپل ها از قبل دارد. نکته : چنانچه مجموعه ی &quot;supervised information&quot; برای هر کلاس فقط یک تصویر داشته باشد ، one shot learning  گفته و اگر خالی باشد zero shot learning گوییم ( ZSL ) ۲-۲) مسائل مرتبط با FSL و مقایسه آنها : مسئله ی Weakly supervised learning  یک مسئله ی یادگیری با داده های ضعیف اصطلاحا نامیده میشود که داده های آن ( ناقص ، نادقیق ، نادرست و پر از نویز هستند )‌.  مسئله ی FSL نیز  ، همین داده های ضعیف را داراست که فقط تعداد خیلی کمی از سمپل ها اطلاعات به درد بخور دارند . براساس اینکه یک معلم ( یا به اصطلاح  oracle ) دخالتی در یادگیری بکند یا نه میتوان این مسائل را تقسیم کرد ۱- مسائل Semi-supervised learning : ترکیبی از تعداد کمی داده برچسب دار و تعداد زیادی بدون برچسب۲- مسائل Positive-unlabeled learning : مورد خاصی از  Semi-supervised learning است که در آن فقط نمونه های مثبت و بدون برچسب را به مسئله داده میشود . ۳- مسائل Active learning : که داده های بدون برچسب را توسط یک معلم یا اوراکل به طور تعاملی  برچسب دار میکند. بر اساس این سه مواردی که گفته شد، weakly supervised learning فقط شامل مسائل با برچسب و بدون برچسب هست اما FSL  مسائل reinforcement learning ( یادگیری تقویتی بر اساس سیستم پاداش ) را هم شامل میشه. مسائل  weakly supervised learning از فقط از داده های بدون دیتا به عنوان داده اضافی استفاده میکنند در حالی که FSl از انواع مدل های از پیش یادگیری شده ، داده ها در دامنه ها و مدل های دیگه هم برای یادگیری استفاده میکند . مسئله ی بعدی  Imbalanced learning است. این مسئله با داده های نامتوازن ( مثلا داده هایی که به ندرت رخ میدهد مثل کشف موارد نادر مثبت یک بیماری ) سروکار دارد.در مقابل FSL که یادگیری را با تعداد سمپل اندک و از روی دانش قبلی بدست می آورد ، این مسئله آموزش میبیند که بین همه ی داده های مثبت یکی را انتخاب کند. مسئله بعدی transfer learning است . در قسمت های قبلی به طور سربسته گفتیم که few/zero/one shot learning به نوعی transfer learning هستند اما این تعریف کامل نیست. یادگیری انتقالی به طور دقیق تر مسئله ای است که از source domain/tasks با داده ی فراوان به target domain/task  با داده اندک دانش را انتقال میدهد. Domain adaptation نوعی از transfer learning است که task های منبع و هدف یکسان اما دامنه آنها متفاوت است .ترنسفر لرنینگ در FSL استفاده میشود و با تغییرات اندکی روی آن مناسب مسائلی میشود که داده سمپل بسیار کمی دارند.مسئله ی بعدی دسته مسائل meta-learning هستند .این مسائل یادگیری را با دیتای فراهم شده و یادگیری استخراج شده در حین کار توسط متالرنر صورت میدهد. در حقیقت به  آن یادگیری برای یادگیری گفته میشود. ایم مسئله در مسائلی مثل learning optimizers ،  dealing with the cold-start problem in collaborative filtering و   guiding policies by natural language استفاده شده است .متد هایی که در متالرنینگ به کار گرفته میشود در FSL نیز میتوان به کار گرفت . در حقیقت بخش meta learner درون متالرنینگ به عنوان prior knowledge در نظر گرفته میشود . ۲-۳) مسئله ی اصلی :در اکثر مسائل ماشین لرنینگ ، خطای پیش بینی وجود دارد که ما را به بهترین حالت پیش بینی نمیرساند . ما در مورد تجزیه کردن این خطا برای بکار بردن اون در FSL صحبت میکنیم. خطای ریسک تجربی یا همان (‌Empirical Risk Minimization)‌ با فرمول زیر نشان داده میشود : برای اطلاعات بیشتر در مورد مسئله ERM تحقیق کنید. نکته ای که کافیست بدانیم این هست که هرچه تعداد نمونه های ما بیشتر شود خطا کمتر خواهد شد.در FSL برای مینیمم کردن این خطا باید از دانش قبلی استفاده کرد.۲-۴) مسئله taxonomy (طبقه بندی):براساس اینکه برای مینیمم کردن خطای تجربی باید از دانش قبلی استفاده کنیم ، پیکربندی موضوع را به صورت زیر تعریف میکنیم : ۱- دیتا : این متد ها برای افزایش داده ی ترین با استفاده از دانش قبلی استفاده میشوند و تعداد سمپل ها را زیاد میکنند ( augmentation ) ۲- مدل : این متد ها تلاش میکنند تا با استفاده از دانش قبلی  پیچیدگی فضای فرضیه ها (H) را کاهش دهند.۳-الگوریتم : این متد تلاش میکند تا با استفاده از دانش قبلی به دنبال تتا ای بگردد که بهترین h را در H را بیان کند. دانش قبلی استراتژي این جستجو را با فراهم کردن مقداردهی اولیه و هدایت کردن گام های جستجو فراهم میکند.۳) دیتا :در دسته بندی بالا ابتدا به مورد دیتا پرداخته میشود، در این مقاله ابتدا روش های دستی augmentation را بررسی میکند،روش هایی مثل flip ، crop، rotation  و... سپس به این موضوع میپردازد که این روش هم هزینه ی زیادی تحمیل کرده و هم همه ی حالت های ممکن را در بر نمیگیرد . بنابراین به روش های زیر میپردازد :‌۳-۱) دسته ی transforming samples from D_train :در این استراتژي داده های train  به چندین sample تبدیل میشوند به طوری که پروسه ی این transformation به عنوان دانش قبلی برای تولید تصاویر جدید در نظر گرفته میشود. در حقیقت یک transformer یادمیگیرد که چگونه از روی داده های ترین داده های مشابه تولید کند و یک دیتا ست بزرگ بسازد. سپس این دیتاست بزرگ به یک مسئله ماشین لرنینگ داده میشود.سپس دو رفرنس شماره 53 و 74 را بررسی میکند. در رفرنس 53  فرض میشود که همه ی دسته ها متغییر های transformable خودشون رو با هم اشتراک گذاری کرده و یک transformer یادمیگیرد که تغییرات بین جفت سمپل ها را از دیگر کلاس ها به (xi , yi )  خودش منتقل کند. در رفرنس ۷۴ بجای برشمردن متغییر های جفت سمپل ها ، هر xi را به چندین سمپل با استفاده از مجموعه ای از ویژگی های قدرتمند مستقل رگرسیون ( که از مجموعه بزرگی از تصاویر یادگرفته شده ) transform کرده و label مربوط به xi اصلی را به سمپل های جدید اختصاص میدهد.  هم چنین بیان میکند که یک زیرفضای پیوسته ای از اتریبیوت ها برای اضافه کردن تغییرات اتریبیوت ها به X  اضافه میشود. ۳-۲) دسته ی Transforming Samples from a Weakly Labeled or Unlabeled Data Set : این استراتژی D train را به وسیله ی انتخاب سمپل هایی شبیه به label هدفی که داریم از یک مجموعه بزرگ که به طور ضعیف لیبل گذاری شده یا اصلا نشده است ، افزایش میدهد. مثلا در یک ویدیو ، گوینده حرکات بسیار زیادی انجام میدهد و میتوان از این حرکات استفاده نمود. اما مسئله ی اصلی نحوه ی انتخاب سمپل ها است . در رفرنس ۱۰۲ از یک svm برای یادگیری هر لیبل هدف در D train استفاده شده که لیبل را برای سمپل های با برچسب گذاری ضعیف پیش بینی میکند. نهایتا آن هایی که لیبل مشابه با لیبل هدف دارند به D train اضافه میشوند . در رفرنس ۳۲ ، به جای یادگیری یک classifier ، از label propagation برای لیبل زدن دیتا ست بدون لیبل استفاده میشود . در رفرنس ۱۴۸ ، از یک استراتژی progressive استفاده شده است. سمپل های انتخابی به برچسب های pseudo-label  اختصاص میبابند و CNN مورد نظر آپدیت میشود. ۳-۳) دسته ی Transforming Samples from Similar Data Sets : این استراتژي D train را با aggregate کردن و adapt ورودی و خروجی های یک دیتا ست مشابه اما بزرگ تر ، افزایش میدهد. وزن هایی بر اساس میزان مشابهت بین سمپل ها اختصاص می یابد. در رفرنس ۱۳۳ ،‌وزن ها از یک مجموعه متن کمکی استخراج میشود. در رفرنس ۴۶ ، از آنجایی که ممکن است نمونه های ها استخراج شده از کلاس هدف  FSL نباشند افزایش دادن مستقیم سمپل های aggregate شده ممکن است موجب گمراهی شود به همین منظور از GAN استفاده میشود که طراحی شده تا x های مصنوعی غیر قابل تشخیصی را تولید نماید. در رفرنس ۴۲،‌ دو جنریتور هست، یکی برای مپ کردن سمپل  های FSL به کلاس بزرگتر و دیگری برای مپ کردن سمپل ها از یک کلاس بزرگتر به FSL ( جهت جبران کمبود داده های در GAN ) ۳-۴) خلاصه و مقایسه : انتخاب هر کدام از استراتژي ها بستگی به کاربرد دارد. گاهی تعداد زیادی سمپل با برچسب ضعیف یا بدون برچسب داریم اما از FSL  استفاده میکنیم چون هزینه ی زیادی جهت جمع آوری داده ها و هزینه محاسبات آن باید بپردازیم.در این حالت میتوان از روش دوم استفاده کرد.زمانی که جمع آوری یک دیتا ست بزرگ بدون لیبل دشوار باشد، اما کلاس های few shot مشابهی موجود باشد ،‌میتوان سمپل ها را از این ها استخراج کرد .( روش اول ) استفاده از روش افزایش دیتا ، کار FSL  را بسیار آسان میکند اما مشکل اینجاست که اغلب سیاست افزایش داده معمولا برای هر data set مخصوص است و نمیتوان در data set های دیگر بکار برد. برای رفع آن در رفرنس ۲۷ روش autoaugment پیشنهاد شده که به طور خودکار سیاست نحوه افزایش داده را می‌ آموزد . علاوه بر این مشکل ، متد های گفته شده عموما برای تصاویر به کار برده میشود این درحالی است که برای متن و صدا که دارای ساختار بوده و دشوار تر هستند در رفرنس ۱۴۴ پیشنهاد هایی شده است . خلاصه قسمت چهارم :این قسمت از آموزش، دارای متن کمی سنگین تر و گاها نامفهوم بود. از آنجایی که مقالات survey خلاصه شده ای از چندین مقاله هستند و شرح کاملی ندارند ، برای فهم کامل و درک عمیق باید به رفرنس هایی که مابین متن معرفی میکند مراجعه و دقیق تر مطالعه نمود. در این قسمت ، به تعریف مقاله ی survey پرداختیم و یک مقاله در زمینه FSL  را برای مرور انتخاب کردیم. ابتدا یک معرفی از کلیت مقاله، سپس معرفی خود FSL ، مقایسه ی آن با مسائل مشابه ، مسئله ی ERM یعنی کم کردن ریسک تجربی را مطرح کردیم و به یک طبقه بندی اصلی پرداختیم . گفتیم در این طبقه بندی ، دیتا ، مدل و الگوریتم مورد بررسی قرار میگیرد که در این قسمت مدل را بررسی کردیم و سه استراتژی برای افزایش آن ارائه دادیم. نهایتا این سه استراتژي را با هم مقایسه کردیم . در قسمت بعدی : به ادامه ی این مقاله و مبحث مدل و الگوریتم خواهیم پرداخت . نکته : برای جمع آوری این مطلب ، از مقاله ی &quot;Generalizing from a Few Examples: A Survey on Few-shot Learning &quot;  استفاده کرده ایم.از اینکه تا این ۴ قسمت اصلی همراه ما بودید ، سپاسگذارم و منتظر نظرات و پیشنهادات شما هستم.مسلما این آموزش دارای اشکالاتی نیز هست که بسیار خوشحال میشم با من مطرح کنید. </description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>Omid Arab</author>
                <pubDate>Mon, 25 Jul 2022 10:28:49 +0430</pubDate>
            </item>
                    <item>
                <title>شروع یک مسئله ماشین لرنینگ با داده های کم قسمت ۳</title>
                <link>https://virgool.io/Artificialintelligence/%D8%B4%D8%B1%D9%88%D8%B9-%DB%8C%DA%A9-%D9%85%D8%B3%D8%A6%D9%84%D9%87-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%84%D8%B1%D9%86%DB%8C%D9%86%DA%AF-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%85-%D9%82%D8%B3%D9%85%D8%AA-%DB%B3-uorxgersaw3x</link>
                <description>سلام !قبل از هرچیز اول یه سر به قسمت قبلی ( قسمت ۲ ) بزن و بعد بیا برای ادامه کار . https://vrgl.ir/FsNCF خب همونطور که در قسمت قبلی آموزش گفتیم حالا قرار هست در ادامه ی راه حل های حل یک مسئله ماشین لرنینگ با داده کم ، به را حل ۷ ام و ۸ ام بپردازیم:راه حل ۷ ام و ۸ ام تقریبا به یک موضوع میپردازند و اون هم تولید داده های اضافی هست . این که روی مسائل با داده های کم کار کرده و اون ها رو بهینه کنیم ، قطعا کار چالش برانگیز و قابل ستایشی هست اما گاهی میشه با چند تکنیک ، همون داده های اندک را گسترش بدیم . ۷) راه augmentation :به انواع و اقسام تکنیک هایی که برای تولید &quot; training sample &quot; جدید از روی نمونه ی اصلی انجام میشه میشه  augmentation گفته میشه. انواع اقسام کار هایی که میشه روی یک تصویر انجام داد و تصاویر جدید از روی اون تولید کرد مثل : اعمال crop,flip,rotate,change brightness  و ....منبعبا انجام این اعمال روی تصاویر ، میتوان تصاویر جدید زیادی تولید کرده و به training set خود اضافه کنیم .برای این کار میشه از کتاب خانه هایی در پایتون استفاده کرد که بصورت ذخیره کردن تصاویر روی حافظه ، یا به صورت آن تایم این کار رو صورت داده  و همزمان کار یادگیری انجام بده .۸) راه data generation : تولید کردن یکسری داده های مصنوعی با استفاده از تکنیک های مختلف ، که ویژگی های آماری نمونه های اصلی را دارا هستند اما منطبق با آنها نیستند.روش اول : SMOTE یکی از روش های برطرف کردن بیش برازش یا همون overfitting در مسائل ،‌استفاده از این الگوریتم جهت برای دیتا ست های هست که بالانس داده در آنها رعایت نشده. مثلا برای تشخیص موز از سیب ۱۰۰۰ عکس موز و ۲۰۰ عکس سیب داریم یا باید downsample  کرده و به صورت رندوم ( یا روش دیگر ) عکس سیب ها را کم کنیم ( که خب بخشی از داده ها از دست میره ، خصوصا اگه با مسئله few data مواجه باشیم ، داده ها برای ما اهمیت بالایی داره و نباید از دست داد )  یا با روش upsample  تعداد سیب ها را به ۱۰۰۰ برسانیم تا تعادل ایجاد شود. تمرکز SMOTE روی کلاسی است که اقلیت تعداد را داشته و با درون یابی نقاط همسایه ها ، داده های جدید رو تولید میکنه . SMOTE از الگوریتم K-Nearest Neighbors برای پیدا کردن همسایه ها استفاده میکنه . منبع روش دوم : Borderline SMOTEدر این روش ، کار همانند همان SMOTE ساده است ، منتهی نقاطی که تولید میشوند در ناحیه ی مرزی بین دو کلاس هست ، جایی که امکان اشتباه دسته بندی شدن یک نقطه زیاده . در اون نقاط داده هایی رو تولید میکنه تا این اشتباه بتونه با افزایش حجم داده جبران بشه.منبع مثلا در تصویر بالا اگر X13  و  X12 از کلاس A  و نقط های X14 و X11  از کلاس B  باشند ، چون X1 در مرز این دوکلاس هست ، ماشین برای انتخاب دسته درست دچار مشکل خواهد شد، بنابراین از الگوریتم Borderline SMOTE برای تولید دیتا در اطراف X1  استفاده میکنیم . روش سوم : ADASYNاین روش نیز همانند روش SMOTE بوده با این تفاوت که ،‌برای تولید داده های جدید ، چگالی داده ها در یک نقطه را در نظر گرفته و داده های جدید را در نقاطی که دارای چگالی کمتری باشند تولید میکند . منبعمثلا در تصویر بالا نقطه های x1 و x4 در منقطه ی کم تراکم هستند و داده های مصنوعی s1 تا s4 در این ناحیه ها تولید و کلاس آنها از جنس کلاس اقلیت ( در اینجا دایره های آبی است ) روش چهارم : GANsالگوریتم GANs  مخفف Generative Adversarial Networks به معنای &quot;شبکه های مولد متخاصم!&quot; هست. حالا کار این الگویتم چیه ؟کار اصلی این الگورتیم ، یادگیری از طریق مقایسه کردن هست. چیزی شبیه به ورزشکار بوکسی که برای آمادگی در مسابقات ،‌خود را با حریفانش مقایسه کرده و تخمینی از قدرت خود به دست می آورد . الگوریتم gan تلاش میکند داده هایی را تولید کند که از داده های اصلی قابل تشخیص نباشد. افرادی که در تصویر بالایی میبینید ، وجود خارجی ندارند !‌چهره این افراد با همین الگوریتم توسط nvidia در سال ۲۰۱۷ ساخته شد. اپلیکیشن های face app  و سرگرمی دیگر از همین الگوریتم استفاده میکنند. کلیت این الگوریتم به این صورت هست که از یک دیتا جنریتور مصنوعی با یک نویز ،‌دیتای فیک درست کرده و همزمان با دیتای ریل به یک discriminator میدهد. چنانچه  discriminator تشخیص تقلبی بودن داده ی جنریت شده را بدهد ، داده را رد کرده و یک فیدبک از علت رد آن به جنریتور داده میدهد . به این صورت همواره جنریتور سعی در بهبود پیدا کردن و قوی تر شدن کرده و  discriminator هم قوی تر میشود. این کار تا جایی ادامه پیدا میکند که دیگر discriminator تشخیص تقلبی و اصلی را ندهد . روش پنجم : Variational Autoencoderاین الگوریتم که مخفف AVE  می باشد، الگوریتمی است که در تصاویر ، ویژگی های پنهان شده ( latent attributes ) را بر اساس یک توزیع احتمال بررسی میکند.منبعمثلا برای تصاویر بالا ،اگر ویژگی لبخند زدن را بررسی کنیم، مقادیر discrete (گسسته ) توصیف جامعی از لبخند نیست اما توزیع احتمالی یک بازه را برای آن در نظر میگیرد. و لبخند ژکوند مونالیزا را با احتمال ۱۰۰ درصد رد نمیکند!خودرمزگذار یا Autoencoder یک الگوریتم یادگیری ماشین بدون نظارت است که یک تصویر به عنوان ورودی دریافت می کند و با استفاده از تعداد بیت کمتر آن را بازسازی می کند. این کار ممکن است شبیه فشرده سازی تصویر به نظر برسد ، اما بزرگترین تفاوت بین الگوریتم های فشرده سازی تصاویر و خودرمزگذار ها این است که در مورد خودرمزگذار ها ، فشرده سازی با یادگیری مجموعه داده های آموزشی به دست می آید. در حالی که فشرده سازی معقول و منطقی زمانی حاصل می شود که تصویری مشابه مجموعه آموزشی استفاده شده باشد ، خودرمزگذار ها هر تصویری را فشرده سازی می کنند.در ساده ­ترین حالت یک خودرمزگذار شامل یک encoder (رمزگذار) و decoder (رمزگشا) به همراه تنها یک لایه پنهان می­باشد. ورودی به encoder داده شده و خروجی از decoder استخراج می­شود. در این نوع شبکه به جای آموزش شبکه و پیش­بینی مقدار تابع هدف در ازای ورودی X ، خودرمزگذار آموزش می­بیند که ورودی خود را بازسازی کند.یک شبکه عصبی خودرمزگذار با تنظیم مقادیر خروجی هدف برابر با مقادیر ورودی، پس‌انتشار را انجام می‌دهد و بدین ترتیب خودرمزنگار آموزش داده می‌شود تا اختلاف بین داده‌ها و بازسازی آن را به حداقل برساند (یعنی تفاوت بین بردار واقعی خروجی و بردار خروجی مورد انتظار، که در آن خروجی مورد انتظار همان بردار ورودی است). در نتیجه، خودرمزنگار‌ها قادر به یادگیری بدون ناظر هستند.روش ششم : روش های غیر تکنیکالعلاوه بر روش های گفته شده در بالا ،میتوان از یکسری روش های غیر تکنیکالی برای افزایش داده ها استفاده کرد : مثل:جمع آوری داده با برنامه ها :مثلا جمع آوری عادت کاربران در ساعت استفاده از گوشی با نصب یک اپلیکیشن نظر سنجی و ...خلاصه قسمت سوم :در این قسمت از موضوع augmentation شروع کردیم و توضیح دادیم که چی هستبعد از اون به مبحث data generation  و انوع روش های اون SMOTE , BSMOTE , ADASYN , GANs و VAE پرداختیم .تا اینجا در این سه قسمت ، دید کامل و کلی نسبت به دسته بندی موضوعاتی که در این زمینه هست پیدا کردیم و در مورد ۸ روش  و دسته بندی  برخورد با مسائل با دیتای اندک در این سه قسمت اطلاعات کسب کردیم : ۱- پیچیدگی کم  ۲- حذف داده پرت ۳-مهندسی بهینه کردن فیچر ها  ۴-روش ترکیبی که خود روش ترکیبی به چهار روش تقسیم شد : voting-staking-bagging-boosting (در قسمت ۱ ) ۵-cross validation  و ۶- transfer learning ( قسمت ۲ )  و نهایتا ۷- augmentation و ۸- data generation در قسمت بعدی : به معرفی الگوریتم های بیشتری در هر یک از این دسته بندی ها خواهیم پرداخت و شاید در قسمت های جلوتر ، دسته بندی جدیدتری هم اضافه کنیم. نکته : برای جمع آوری این مطلب ، از نتایج تجربی نویسنده و همچنین سایت https://neptune.ai و منابع زیر تصاویر استفاده شده است. از اینکه تا این ۳ قسمت اصلی همراه ما بودید ، سپاسگذارم و منتظر نظرات و پیشنهادات شما هستم. مسلما این آموزش دارای اشکالاتی نیز هست که بسیار خوشحال میشم با من مطرح کنید.  </description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>Omid Arab</author>
                <pubDate>Sat, 16 Jul 2022 15:56:51 +0430</pubDate>
            </item>
                    <item>
                <title>شروع یک مسئله ماشین لرنینگ با داده های کم قسمت ۲</title>
                <link>https://virgool.io/Artificialintelligence/%D8%B4%D8%B1%D9%88%D8%B9-%DB%8C%DA%A9-%D9%85%D8%B3%D8%A6%D9%84%D9%87-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%84%D8%B1%D9%86%DB%8C%D9%86%DA%AF-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%85-%D9%82%D8%B3%D9%85%D8%AA-%DB%B2-v6fvhzkc6cmk</link>
                <description>سلام !قبل از هرچیز اول یه سر به قسمت قبلی بزن و بعد بیا برای ادامه کار . https://virgool.io/@omidesf485/%D8%B4%D8%B1%D9%88%D8%B9-%DB%8C%DA%A9-%D9%85%D8%B3%D8%A6%D9%84%D9%87-%D9%85%D8%A7%D8%B4%DB%8C%D9%86-%D9%84%D8%B1%D9%86%DB%8C%D9%86%DA%AF-%D8%A8%D8%A7-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7%DB%8C-%DA%A9%D9%85-%D9%82%D8%B3%D9%85%D8%AA-%DB%B1-ubvylolzztqb خب همونطور که در قسمت قبلی آموزش گفتیم حالا قرار هست در ادامه ی راه حل های حل یک مسئله ماشین لرنینگ با داده کم ، به را حل ۵ ام بپردازیم : ۵) راه cross validation : اگه تا اینجای بحث رو به خوبی متوجه شده باشید ، میدونید که وقتی مسئله دچار overfitting هست چنانچه  دیتاست های متفاوتی رو برای train کردن به اون بدیم ، روی نتایج test تاثیر خیلی زیادی میذاره؛ علت هم واضحه! وقتی overfitting داریم یعنی مدل ما بیش از حد با داده های Train منطبق میشه.پس وقتی داده ترین متفاوتی و جدیدی بدیم ، این داده های جدید هم مجدد به نحو دیگری overfit میشه.اما به طور ایده آل نباید این اتفاق بیافته . یعنی این که مدل ما باید به نحوی باشه که نویز رو بتونه فیلتر کنه و اجازه تغییر آنچنانی رو نده. در حالت کلی اگر ما داده های  train رو مثلا ۹۰ درصد  و داده های تست رو ۱۰ درصد در نظر بگیریم و عملیات یادگیری ماشین رو انجام بدیم ممکن هست داده های بدرد بخور از دست برود ، چرا که توزیع داده های مهم در در بخش train یا در test بیافتد. بنابراین ، از کراس ولیدیشن برای تقسیم بندی دیتا ها به چند دسته ( fold ) استفاده میکنیم . یکی از حالت های عمل کراس ولیدیشن ، تبدیل دیتا ها مثلا به ۳ فولد ( هر فولد ۳۳.۳۳ درصد ) و انجام iteration ( تکرار ) مثلا ۳ بار برای یادگیری است که هر بار فولد مجزا و متفاوتی رو برای تست انتخاب میکنه . حالا این همه چیز که گفتیم چه ربطی به مسائل با داده کم داشت ؟ اگر در مسائل با داده کم بیایم و فولد های خودمون رو برای تست  اینطور تقسیم کنیم که فقط یک داده برای تست و مابقی train باشد و این عملیات را k بار انجام دهیم ، به این کار کراس ولیدیشن از نوع n-fold میگن .( همچنین leave-one-out یا loocv )  هم گفته میشود.با انجام این کار میتونیم در مسائل با داده کم ، Train بهتری داشته باشیم و با میانگین گیری نتایج iteration ها، داده های تست رو با دقت بیشتری تشخیص بدیم . ۶) راه transfer learning شاید مهم ترین و متداول ترین راه حل مسائل با داده ی کم ، همین روش باشد. یک نکته بگم که این مبحث به طرز قابل توجهی مشابه با مبحث few shot learning - zero shot learning -one shot learning - meta learning مشابه هست و اصلا میشه گفت همگی یک هدف دارن : آموزش مسئله با داده های اندک. مثلا در تعریف meta learning میگن : از زیر شاخه های یادگیری ماشین است که هدف آن طراحی مدلی است که به سرعت و با تعداد کمی نمونه های آموزشی، مهارت های جدید را یاد بگیرد و با محیط های جدید تطبیق یابد.در این روش یادگیری برای یادگیری انجام میشود ! یعنی مدل یادمیگیرد که چگونه وزن های خود را بروز کند تا بتواند نتایج بهتری روی دقت ها بدست اورد.یا در تعریف transfer learning : آموزش شبکه عصبی بر روی مجموعه داده های بزرگ ممکن است هفته ها طول بکشد. خوشبختانه، این زمان را می توان به لطف  مدل های از پیش آموزش دیده کوتاه کرد - به عبارت دیگر، استفاده از یادگیری انتقالی.در تعریف few-shot-learning : آموزش شبکه عصبی عموما روی تصاویری که داده های سمپل آن بسیار اندک و در حد چند سمپل میباشد. . ( برای هر label تنها چند سمپل ) در تعریف one-shot-learning : آموزش شبکه عصبی عموما روی تصاویری که داده های سمپل آن تنها یک تصویر  در هر کلاس را شامل شود . ( برای هر label تنها یک سمپل ) در تعریف zero-shot-learning : آموزش شبکه عصبی عموما روی تصاویری که هیچ داده ی سمپل ای وجود نداشته باشد. ( برای هر label هیچ سمپل ! ) البته بین مفاهیمی که گفته شد تفاوت های ریز بسیار زیادی هست که با سرچ کردن میتونید پی ببرید،ولی در حد چند خط که یک دید کلی ( نه دقیق ! )‌داشته باشید ، کافیه.خُب ، تا اینجا نیاز بود این مفاهیم رو درک کنیم ، حالا بریم سر اصل مطلب : چطور از Transfer learning یا مفاهیم مشابه دیگه ای که گفتیم در حل مسائل با داده اندک استفاده کنیم ؟‌اون چیزی رو که در این مجال بشه از این موضوع ارائه کرد صرفا یکسری توضیحات و مفاهیم هست ، ریز جزئیات ،کد زدن عملی و ... نیازمند مباحث جداگانه ای هست که میتونین با سرچ کردن پیدا کنین یا اگر شرایط فراهم بود در ادامه همین مباحث در مورد اون صحبت خواهیم کرد. در  فرآیند یادگیری مدل ها به روش معمولی ( تصویر بالایی) ، ما یک سری داده داریم، به مدل میدیم و مدل فیچر های اون رو استخراج میکنه ، نهایتا از یک classifier برای assign کردن لیبل خاص به دیتا استفاده میکنیم .اما در مسائل transfer learning ( تصویر پایینی ) ما یک سری داده داریم، به مدل میدیم اما مدل از فیچر های مسئله ی train شده ی دیگری از قبل ،‌برای این مسئله استفاده کرده و توی اون قسمت NEW TASK از یک classifier به صورتی که تغییرات اندکی روی وزن ها با استفاده از دیتای جدید بده استفاده میکنیم . (چقدر استفاده!)توضیح خلاصه دیگر در مورد روش حل مسئله ی few/one shot learning آنکه ، ما ابتدا یک مسئله ی حل شده قبلی داریم، داده ها (siamese network) را به دو دسته ی positive و negative  تقسیم میکنیم. بخش positive مربوط به جفت دیتا هایی است که لیبل مشابه دارند و negative مربوط به جفت دیتاهایی که لیبل مشابه ندارند.مسئله را train میکنیم.حال که مسئله ما train شد یک support set  تعریف شده داریم که یک شات در هر کدام هست .( همان دیتایی مسئله اصلی که قرار هست یادگیری روی اون انجام بشه )  قبل از هرکاری باید با استفاده از یک CNN  فیچر های تصاویر را بدست بیاوریم .نکته و سختی کار اینجاست که support set  نباید شامل کلاس های training set  باشد یعنی صرفا از آن ترین ست برای آموزش دیدن یک ماشین استفاده کرده ایم و حالا مسئله را به صورت انتقالی برای support set  خود حل میکنیم.در مورد مسئله ی zero shot learning هم که اصلا support Set ما خالی هست و صرفا باید از فیچر های مسئله ی از قبل حل شده استفاده کنیم . خلاصه قسمت دوم :در این قسمت از  موضوع cross validation شروع کردیم و توضیح دادیم که ارتباط اون با مسائل less/few data  چی هست ( leave-one-out) بعد از اون به مبحث فوق العاده مهم transfer learning و تکنینک ها و مفاهیم مشابه اون ( meta learning  - few/one/zero-shot-learning ) به طور خیلی خلاصه پرداختیم . در قسمت بعدی : به موضوع  راه حل های augmentation و generate data ( expand data set )   میپردازیم.نکته : برای جمع آوری این مطلب ، از نتایج تجربی نویسنده و همچنین سایت https://neptune.ai و بخشی از آموزش آقای milad farzalizadeh استفاده شده است.هدف این آموزش ، دید کلی نسبت به موضوع مسائل با دیتای اندک است و به جزئیات پیاده سازی و ... در آموزش های دیگری خواهیم پرداخت ) </description>
                <category>مرجع یادگیری هوش مصنوعی</category>
                <author>Omid Arab</author>
                <pubDate>Wed, 13 Jul 2022 15:54:31 +0430</pubDate>
            </item>
            </channel>
</rss>