<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های Omid Mollaei</title>
        <link>https://virgool.io/feed/@omidmollaei</link>
        <description></description>
        <language>fa</language>
        <pubDate>2026-06-17 06:28:49</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/919574/avatar/pBuS5b.jpeg?height=120&amp;width=120</url>
            <title>Omid Mollaei</title>
            <link>https://virgool.io/@omidmollaei</link>
        </image>

                    <item>
                <title>فرایادگیری (Meta-learning)  در یادگیری ماشین (2)</title>
                <link>https://virgool.io/@omidmollaei/%D9%81%D8%B1%D8%A7%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-meta-learning-%D8%AF%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%86-2-qolzajxqhfcd</link>
                <description>مقدمه :مدل های یادگیری، معمولا برای اینکه بتوانند بدرستی مسئله ای که برای آن پیاده سازی می شوند را حل کنند ، نیازمند حجم زیادی از داده های غالبا برچسب خورده ، متناسب با آن مسئله می باشند . در یک الگوی کلی و سنتی ، پس از جمع آوری این داده ها ، یک الگوریتم متناسب با نوع مسئله و داده های در دسترس انتخاب شده و این الگوریتم یادگیرنده بر روی این داده ها پیاده سازی می شود باامید اینکه پس از آموزش بتواند آن مسئله ی خاص را با دقت قابل قبولی حل کند . اکثر مدل های یادگیری ماشین معمولا به همین شکل ، برای هر مسئله جدید مهندسی میشوند و از ابتدا فرآیند آموزش را طی میکنند تا دوباره بتوانند آن مسئله جدید را حل کنند . در یادگیری ماشینی سنتی تر ، معمولا توسعه دهنده می بایستی برای مسئله ، نمونه های آموزشی را فراهم میکرد که هر نمونه دارای چندین ویژگی (features) می باشد . ویژگی های که برای آموزش مدل از آنها استفاده می شود ، میباستی دارای بهره اطلاعاتی قابل قبولی باشند و با کنار هم قرار گرفتند بتوانند مجموعه داده ای را فراهم کنند که مدل یادگیرنده بتواند با یادگیری ازآن ویژگیها و کشف الگوهای مابین آنها ، خطای خود را کاهش دهد و به دقت قاب قبولی برسد . چالش اصلی در این الگوی توسعه ، گاها دشواری انتخاب ویژگی ها و مهندسی آنها می باشد . چراکه یادگیری مستقیما از طریق ویژگی های هر نمونه آموزشی و برچسب مرتبط با آن می باشد .اما با پیشرفت شبکه های عصبی ( و به کل یادگیری عمیق ) نیاز به انتخاب و مهندسی ویژگی بطور دستی تا حد زیادی کاهش یافته است . چرا که ماهیت شبکه های عصبی مصنوعی به گونه ای می باشد که در طی فرآیند آموزش می توانند به خودی خود مهندسی ویژگی ها را انجام داده و بخش های مهمتر از تمام ویژگی های یک داده را به خودی خود تشخیص دهند . اما شبکه های عصبی مصنوعی برای اینکه بتوانند بدرستی فرآیند آموزش خود را طی کنند ، نیازمند حجم (بسیار) زیادی از داده های آموزشی می باشند ( بسیار بیشتر از الگوریتم های کلاسیک تر همانند SVM ). دقت یک مدل عصبی ، تا حدودی همبستگی زیادی با تعداد پارامتر هایش دارد و هر چه تعداد این پارامترها بیشتر میشود ، نیازمند حجم بیشتری از داده های آموزشی غالبا برچسب خورده می باشیم تا بتوانیم مدل را آموزش دهیم .  معملا در سناریو هایی که حجم زیادی از داده های برچسب خورده در دسترس بوده است ( و یا طی فرآیند های معمولا پرهزینه جمع آوری شده است )، نتایج حاصل از آموزش شبکه های عصبی مصنوعی بسیار امیدوار کننده بوده است .  اما چالش اصلی زمانی بوجود می آید که :1 . برای یک مسئله ، داده آموزشی در دسترس نباشد .2 .    در صورت در دسترس بودن داده آموزشی ، تعداد آنها بسیار ناچیز باشد.3 . جمع آوری داده های جدید تر امکان پذیر نباشد و یا هزینه بسیاز زیادی داشته باشد .4 . منابع محاسباتی زیادی در اختیار نباشد .5 . محیطی که قرار است مدل برای آن ساخته شود  تا زمان اجرا ویژگی هایش ناشناخته باشد.6 . … .در این شرایط ، توسعه یک شبکه عصبی به روش های مرسوم ، امکان پذیر نمیباشد و اگر نیز پیاده سازی شود ، عملکرد قابل قبولی نخواهد داشت .در سالهای اخیر ، دانشمندان با مطالعه ویژگی های فرآیند یادگیری انسان متوجه شده اند که روش و توانایی یادگیری یک انسان بسته به نوع محیط و نوع داده ها ( به عبارتی همان ورودی ها بر اساس حواس خود ) می تواند متفاوت می باشد .  به عبارتی دیگر استراتژی یادگیری انسان در شرایط مختلف ، متفات می باشد و هر بار به روشی خاص بسته به نوع مسئله ای که با آن سروکاردارد ، این کار را انجام می دهد . می توان گفت که  یک انسان از همان ایام کودکی خود ، با برخورد با مسائل مختلف ، به تدریج یاد میگیرد که چگونه می تواند یاد بگیرد . یادگیری نحوه یادگیری سطح بالاتری از خود یادگیری است . بنابراین این گونه نیست که مغز انسان بخواهد ازهر مسئله به شکلی یکسان  بیاموزد . نتیجه این شیوه یادگیری این است که یک انسان در برخورد با مسائل جدید ، می تواند تنها با چندین نمونه و مثال ازآن و یا حتی گاها بدون هیچ مثالی و صرفا بر اساس تعریف آن مسئله جدید ، درک قابل قبولی از آن پیدا کند و بتواند عملکردی مناسب در مواجهه با آن مسئله داشته باشد .برای مثال به دو تصویر زیر توجه کنید :تصویر سمت راست : پولک پوست ، جانوری شب زی با حس بویایی قوی که از حشره ها تغذیه میکند . معمولا در آسیای مرکزی و آمریکای لاتین زندگی میکند  تصویر سمت چپ : آرمادیلو یا زرهدوز ، پستاندار کوچکی است بسیار نادر ، که به خاطر پوسته سخته بدنش آن را یا این نام می خوانند . این پستاندار در قاره آمریکا زندگی میکند .  برای چند ثانیه به تصاویر بالا بنگرید و یان دو جانور را با هم مقایسه کنید . به احتمال شما اولین بار است که این جانوران را می بینید و قبلا جاندران دیگر را به خوبی می شناختید . حالا به تصویر زیر دقت کنید:اگر فرض کنیم شما در زندگی خود حتی یکبار هم نام این دو جاندار را نشنیده اید ، اما به راحتی می توانید تشخیص دهید که این تصویر ، جانوری ازنوع تصویر سمت راست ( پولک پوست) در بالا می باشد . ذهن شما توانایی یادگیری و شناسایی این جاندار را تنها با یک تصویر را دارد ، هر چند که قبلا حتی یکبار هم عکسی از این جاندار را ندیده بودید . در بدترین حالت اگر نمی توانستید با یک عکس اولیه آن را تشخیص دهید ، با افزودن تعداد انگشت شماری عکس به تصاویر بالا ، به احتمال فراوان می توانستید از حالا به بعد ، این دو جاندار در هر تصویری را تشخیص دهید . اما آیا یادگیری برای کامپیوتر ها نیز به همین سادگی امکان دارد ؟ اگر در حین آموزش مدل ، تصویری از پولک پوست در مجموعه آموزشی نباشد ، آیا مدل می تواند بعدا آن را تشخیص دهد ؟  حتی اگر تصویر پولک پوست در مجموعه آموزشی وجود داشته باشد ، آیا مدل می تواند با همین تعداد بسیار کم ( در این مثال ، یک تصویر برای انسان ) توانایی تشخیص آن را پیدا کند ؟پاسخ در حالت عادی ، خیر است .حال مثالی از مقایسه یادگیری انسان در مقابل یک برنامه کامپیوتری می زنیم.فرض کنید می خواهیم یک شبکه عصبی برای طبقه بندی تصاویر بالا آموزش دهیم . برای اینکار می بایستی :1. یک شبکه عصبی Multi class classifierرا طراحی کنیم.2. برای هر طبقه/ کلاس تعداد تقریبا زیادی نمونه آموزشی جمع آوری کنیم.3. پس از انجام پیش پردازش های لازم ، شبکه عصبی را آموزش دهیم .شبکه عصبی ما پس از آموزش تنها توانایی طبقه بندی تصاویری را دارد که متعلق به یکی از کلاس های موجود در مجموعه داده آموزشی می باشد . پس اگر تصویر زیر را بعنوان ورودی به شبکه بدهیم ، شبکه عصبی با یک علامت سوال بزرگ مواجه می شود .یک برنامه کامپیوتری پس از آموزش  تنها می تواند تصاویری را تشخیص دهد که قبلتر تعداد زیادی از نمونه های مشابه آنها را پردازش کرده باشد . به عبارتی ها میتواند تنها در مسئله ای استفاده شود که صرفا برای آن آموزش دیده است .  تمام ! پس دوباره به محدودیت هایی رسیدیم که در اول بحث به آنها اشاره کردیم . حال چاره چیست؟  آیا برنامه هایی وجود دارند که بتوانند کاری به جز آنچه که قبلا بر روی آن آموزش دیده اند انجام دهند ؟  چگونه می توانیم مدل هایی آموزش دهیم که بتوانند با حداقل داده به یک مسئله جدید آگاه شوند و بتوانند آن را حل کنند؟ برای پاسخ به این سوال  باید به روش انجام این کار توسط انسان فکر کنیم .فرایادگیری/ Meta-learning  :شاید ما قبلا تصاویر زیادی از حیوانات مختلف را دیده باشیم و بتوانیم نمونه جدید ولی مشابه با آن حیواناتی که قبلا با آنها آشنا هستیم را تشخیص دهیم و برچسب بزنیم . این کار را برنامه کامپیوتری نیز پس ازآموزش می تواند انجام دهد . ولیکن ما به عنوان یک انسان میتوانیم با دیدن تعداد اندکی از تصاویر یک جاندار جدید که نمونه آن را ندیده ایم ،  به راحتی به ویژگی های آن پی ببریم و می توانیم آن را با سایر حیواناتی که قبلا با آنها آَشنا هستیم ، مقایسه کنیم .در حالی که یک مدل کامپیوتری ، در حالت عادی ، در تحلیل تصاویر جدید و به کل داده هایی که قبلتر نمونه مشابه آن را ندیده است ، ضعف دارد و عملا درکی از آن ندارد . تفاوت چیست؟انسان در طول زندگی خود یادگرفته است که چگونه می تواند یاد بگیرد . به همین دلیل وقتی با مسئله ای جدید با داده های جدید روبرو میشود ، تنها با تعداد کمی مثال ، می تواند ویژگی های آن مسئله جدید را شناسایی کند و عملکردی متناسب با آن مسئله را داشته باشد . اما یک برنامه کامپیوتری در حالت عادی تنها می تواند با طی کردن فرآیندی موسوم به آموزش (Training) ، از داده های اولیه خود یاد بگیرد و پس از اتمام یادگیری خود ، نمی تواند داده ها و مسائل جدید را به درستی  پردازش کند . چرا که یک برنامه کامپیوتری در حالت عادی همانند یک انسان توانایی یادگرفتن نحوه یادگیری متناسب با مسئله جدید را ندارد . از گذشته روش های مختلفی برای پیاده سازی این ویژگی انسانی در قالب یک مدل کامپیوتری / مدل هوش مصنوعی امتحان شده است . اما در سالهای اخیر ، با آشکار شدن قدرت فوق العاده شبکه های عصبی مصنوعی (Artificial Neural Networks / ANN) ، تحقیقات پیرامون این موضوع بسیار داغ تر شده است و در مدتی کم ، نتایج ارزشمندی حاصل شده است .پس می توانیم فرایادگیری (متالرنینگ یا Meta-learning) را اینگونه تعریف کنیم :یادگیری اینکه چگونه یاد بگیریم . یادگیری اینکه در برخورد با مسائل جدید ، چگونه می توانیم با تعداد اندکی نمونه و مثال ، آن مسئله را درک کنیم. فرایادگیری ، یادگیری فرآیند یادگرفتن است . فرایادگیری یکی از زیر شاخه های ماشین لرنینگ ( و در کل هوش مصنوعی ) می باشد که هدف آن ، توسعه برنامه هایی می باشد به قادر باشند همانند یک انسان ، تنها با دیدن چندین نمونه از یک مسئله وشرایط جدید ، ویژگی آن را درک کنند و بتوانند خو را با آن تطبیق دهند .هدف یک الگوریتم فرایادگیری ، یادگیری نحوه یادگیری است.بدین ترتیب :1. نیاز به جمع آوری داده برای آن مسئله جدید ، که گاها پرهزینه میباشد ، به حداقل می رسد .2. دیگر نیازی نیست که برای هر مسئله جدید ، مجددا یک مدل جدید آموزش دهیم .هوش مصنوعی هایی که بر اساس یک مکانیزم  فرایادگیری آموزش می بینند درنهایت دارای ویژگی های زیر خواهند بود :1. می توانند تا حدودی مسائلی را انجام دهندکه بر روی آن آموزش ندیده اند .( ولی آنها یادگرفته اند که چگونه میتوانند مسئله جدید را یاد بگیرند )2. وابستگی به مسئله خاصی ندارند . (Task-agnostic)3. بطور کلی یک فرایادگیر می بایستی در برخورد با مسائل جدید ، با افزایش تعداد نمونه هایی که از آن مسئله می بیند ، دقتش بالا برود.فرایادگیری بطور کلی ، مفهومی انتزاعی تر نسب به یادگیری دارد . به همین دلیل ممکن است در برخی مسائل بیان کردن تعریفی از فرایادگیری متناسب با آن مسئله کمی دشوار باشد .نکته : معمولا به تعداد نمونه های آموزشی از یک مسئله جدید که یک فرایادگیر برای تطابق خود با آن جدید ، پردازش میکند ، shot گفته میشود . پس few-shot  learning حالتی است که مدل فرایادگیر ما خود را با تعداد کمی نمونه آموزشی از مسئله جدید بهینه میکند . همچنین one-shot learning به معنای بهینه سازی مدل تنها با یک نمونه آموزشی برای یک مسئله جدید می باشد و در نهایت zero-shot learning به معنای بهینه سازی مدل بدون هیچگونه نمونه آموزشی از آن مسئله هدف می باشد . روش های فرایادگیری :به دلیل انتزاعی بودن این مفهوم نمی توان صریحا بیان کرد که ، فرآیادگیری روش  یا روش های به خصوصی دارد . اما در ادامه به برخی از روش های کلی که در سالهای اخیرا موفق به پیاده سازی این شیوه یادگیری بوده اند اشاره میکنیم :Metric-based meta-learning: (فرایادگیری مبتنی بر یک معیار)هدف این روش های فرایادگیری ، فراگیری نحوه نگاشت نمونه های یک مسئله در یک فضای برداری به نحوی می باشد که نمونه های مشابه ( دارای ویژگی های شبیه به هم) ، قریب به هم قرار گیرند . در این روش های ، تابعی فراگرفته میشود که هر نمونه از مسئله را به نقاطی از یک فضای برداری (vector space)  نگاشت میکند . نمونه های موفقی از این دسته روش ها در مسائل few-shot classification پیاده سازی شده است (طبقه بندی تصاویر جدید با تعداد اندکی از تصاویر برچسب خورده با آن نمونه ).به عنوان مثال : ( هدف یادگیری تابعی است که بتواند یادبگیرد نمونه های مشابه از یک کلاس جدید را تشخیص دهد و آنها را دریک فضای برداری ، قریب به هم نگاشت کند . )این تابع ، بر روی تعداد زیادی داده ه ای که برچسب آن به راحتی در دسترس است ،  آموزش می بیند .در طی آموزش با این مکانیزم ، مدل به تدریج یاد میگیرد که چگونه می تواند ویژگی های تصاویر را برای مقایسه کردن استخراج کند . در نهایت با دیدن تصاویر از یک مسئله جدید ، می تواند ارتباط بین آنها را کشف کند . در مثال زیر ، مدل ما در حین آموزش نمونه مشابه ای از تصاویر زیر را ندیده است. ولیکن یادگرفته است که چگونه میتواند تصاویر ناشناخته را به یکدیگر مقایسه کند :شبکه عصبی سیامی (Siamese Network) نوع خاصی از روش های مبتنی بر معیار می باشد . Optimization-based meta-learningاین دسته از روش ها بربهینه سازیالگوریتم ها به نحوی تمرکز دارد که بتوانند به سرعت با بهینه سازی وزن های مدل با تعداد کمی نمونه آموزشی، خود را با مسئله جدید وفق دهد . یادگیری تقویتی (Reinforcement learning)  می تواند نمونه ای از این روش ها باشد .سایر روش های فرایادگیری :Model-Agnostic Meta-learning (MAML)Model-Based Meta-learningMemory-Augmented Neural NetworkMeta NetworksBayesian Meta-learningجمع بندی :فرآیادگیری ، روشی برای یادگیری نحوه یادگیری است .فرایادگیری ، باعث بهینه سازی مدلها در مدت زمان کوتاه تری میشود .فرآیادگیری باعث تعمیم بهتر مدلها می شود و در نتیجه می توان از یک مدل با حداقل بهینه سازی برای چندین مسئله استفاده کرد .فرآیادگیری باعث میشود مدل های هوش مصنوعی در محیط های ناشناس عملکرد معقول تری از خود نشان دهند .برای آموزش یک مدل فرایادگیر، به داده کمتری نیاز داریم .اینگونه مدلها ، انعطاف پذیری بالاتری دارند و می توان در مسائل مختلفی از آنها استفاده کرد.در یک مدل فرآیادگیر، نیاز کمتری برای بهینه سازی پارامترهای اصلی داریم . چراکه خود مدل می بایستی یاد بگیرد که خود را بهینه کند .سیستم هوش مصنوعی فرایادگیر ، گامی بزرگ درجهت رسیدن هوش مصنوعی در سطح انسانی می باشند.… .منابع :Meta-Learning in Neural Networks: A Survey (https://arxiv.org/abs/2004.05439)Few-Shot Object Detection: A Comprehensive Survey (https://arxiv.org/abs/2112.11699)https://www.geeksforgeeks.org/meta-learning-in-machine-learning/https://www.youtube.com/@ShusenWangEng</description>
                <category>Omid Mollaei</category>
                <author>Omid Mollaei</author>
                <pubDate>Sat, 15 Jul 2023 22:39:59 +0330</pubDate>
            </item>
                    <item>
                <title>فرایادگیری یا (Meta Learning) در یادگیری ماشین (1)</title>
                <link>https://virgool.io/@omidmollaei/%D9%81%D8%B1%D8%A7%DB%8C%D8%A7%D8%AF%DA%AF%DB%8C%D8%B1%DB%8C-%DB%8C%D8%A7-meta-learning-%D8%AF%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%86-mglat4p4r0p0</link>
                <description>متالرنینگ در یادگیری ماشین یعنی چه ؟ همین ابتدای مطلب نکته ای است که می بایستی به آن اشاره کرد .  وقتی می گوییم فرایادگیری در یادگیری ماشین ، منظورمان میتواند دو مفهوم مختلف باشد که با هم اشتراکاتی دارند . در این مقاله ما ابتدا به فرایادگیری در مفهوم کلاسیک تر می پردازیم . اما توصیه میکنم که مقاله بعدی در خصوص دیگر مفهوم آن در یادگیری ماشین را نیز مطالعه فرمایید .  متالرنینگ در مفهوم کلاسیک  تر: در یادگیری ماشین ، به الگوریتم هایی که از رفتار الگوریتم های دیگر یاد میگیرند ، فرایادگیر می گویند و به فرآیند آموزش فرایادگیر ها ، فرایادگیری یا متالرنینگ گفته می شود . بعبارتی دیگر فرایادگیری در یادگیری ماشین، به الگوریتم های یادگیری اشاره دارد ، که از سایر الگوریتم های یادگیری یاد می گیرند . معمولا ، این به معنای استفاده از الگوریتم های یادگیری ماشینی است که یاد میگیرند چگونه پیش بینی سایر الگوریتم های یادگیری ماشین را در زمینه یادگیری گروهی به بهترین شکل ترکیب کنند .برای درک بهتر می تواند این مفهوم را اینگونه تشبیه کرد :یک شرکت مالی را در نظر بگیرید که متشکل از یک رییس و سه کارمند  می باشد . کار اصلی این شرکت تصمیم گیری برای خرید سهام جهت کسب سود است . روش کاری آنها نیز بدین صورت می باشد : هر بار که جلسه ای برای تصمیم گیری در خصوص خریدن یا نخریدن سهام باشد ، هر سه کارمند بر اساس دانش و تجربه شخصی خود و دیتای در دسترس ، نظر خود را به رییس اعلام میکند . بدین ترتیب رییس شرکت ، نظر هر یک از سه کارمند خود را دراختیار دارد . نکته مهم این است که هر یک از کارمندان ، مستقلا و فقط بر اساس دانشی که قبلا از بازار کسب کرده اند،  نظر خود را به رییس اعلام میکند و هیچ وابستگی به کارمندان دیگر ندارد .  حال تصمیم گیرنده نهایی برای خریدن یا نخریدن سهام ، رییس است . رییس به نوبه خود شناخت کافی از هر یک ازکارمندان خود را دارد و می داند که رفتار هر یک ازآنها در شرایط مختلف بازار چگونه است و هر بار با توجه به شرایط بازار می بایستی بیشتر به نظر کدام یک توجه کند . بنابراین در اینجا رییس تصمیم نهایی خود را بر اساس نظرات مختلف کارمندان خود میگیرد . به عبارتی خروجی حاصل از تحلیل هر یک از کارمندان بعنوان ورودی تصمیم گیری به رییس داده میشود و تصمیم نهایی را شخصی که در سطح بالاتری قرار دارد انجام می دهد .تشبیه مکانیزم یک مدل فرایادگیریاما Meta به چه معناست ؟ این کلمه اشاره به سطحی بالاتر دارد. معمولا از این کلمه برای بالا بردن سطح انتزاع استفاده میشود و اشاره به اطلاعاتی درباره اطلاعات دیگر دارد. بعنوان مثال حتما تاکنون کلمه ی “Meta-data” را شنیده اید : به داده هایی که توصیف گر داده های دیگر می باشند ، Meta-data  می گویند . فرایادگیری / Meta Learning : فرایادگیری به یادگیری در مورد یادگیری اشاره دارد .به عبارتی دیگر به فرآیند یادگیری یک الگوریتم بر اساس خروجی الگوریتم های دیگر  به عنوان ورودی خود ، فرایادگیری یا Meta Learning  می گویند . در یک پروژه یادگیری ماشین ، ممکن است به نقطه ای برسیم که مدل های مختلفی را برای پیش بینی مستقیما بر روی دیتا خود آموزش داده ایم . به عنوان مثالی دیگر فرض کنید ، برای یک مسِئله طبقه بندی ، مدل های زیر را مستقیما  برای پیش بینی بر روی داده های خود ترین کرده ایم :A Support vector machine classifierA Logistic regression classifierA Decision tree classifierمعمولا در چنین حالتی ، می بایستی این سه مدل را بر روی داد های مختلف تست ارزیابی کنیم و تصمیم بگیریم که در شرایط مختلف از کدام یکی از این سه مدل برای تصمیم گیری استفاده کنیم و یا اصلا چگونه میتوانیم خروجی این مدل ها را با هم ترکیب کنیم که یک مدل نهایی تصمیم گیرنده دقیق تر ایجاد کنیم . ایده اصلی فرایادگیری همین است . اینکه مدلی را بعد از این سه مدل در نظر بگیریم که خود از رفتار مدل های دیگر یاد بگیرد. به این مدل فرایادگیر میگوییم.  این مدل به عنوان وروی ، خروجی مدل های دیگر را دریافت میکند و از این رو میتوانیم بگوییم که این مدل، از یادگرفته های مدل های دیگر یاد میگیرد . چرا که مدل های پایین دستی  ، یادگرفته های خود را طبق الگوی هایی در خروجی خود نمایش می دهند و فرایادگیر ما می تواند متوجه رفتار هریک از این مدلها بر اساس داده ورودی شود ( تا حدودی) .پس با توجه به شکل و توضیحات فوق ، میتوانیم بگوییم که یک فرآیند فرایادگیری شامل مدل های یادگیرنده از داده ها ( که گاها در این مقاله به آنها مدلهای پایین دست نیز می گوییم ) و یک مدل فرایادگیر است.الگوریتم های یادگیری ماشین پایین دستی  ، ازداده های جمع آوری شده یاد میگیرند  که ورودی خود را پس از آموزش کافی و مناسب به یک خروجی نگاشت کنند . در حالت عادی که فرایادگیر  وجود ندارد ، معمولا این یادگیری می بایستی به نحوی باشد که خطای این  مدل ها ، بر اساس یک تابع هزینه (loss function)  ، حداقل باشد . ولی وقتی پای یک فرایادگیر  در میان باشد ، این مدلها می بایستی به نحوی فرآیند آموزش خود را طی کنند که در نهایت خروجی آنها که بعنوان ورودی به فرایادگیر داده میشود ، باعث شود که فرآیادگیر حداقل خطا را تولید کند و نه خود آنها . الگوریتم های فرایادگیری از خروجی سایر الگوریتم های یادگیری ماشینی که از داده ها  یاد میگیرند ، یاد میگیرند . این بدین معناست که فرایادگیری مستلزم حضور سایر الگوریتم های یادگیری است که قبلا روی داده ها آموزش دیده اند .الگوریتم‌های فرا یادگیری از خروجی الگوریتم‌های یادگیری یاد میگیرد  و براساس پیش‌بینی‌های مدل‌های دیگر، پیش‌بینی می کند . بدین ترتیب فرایادگیری در سطحی بالاتر ازیادگیری ماشین انجام می شود . اگر الگوریتم های یادگیری ماشین یاد بگیرند که چگونه از اطلاعات در داده‌ها برای پیش‌بینی به بهترین شکل استفاده کنند، فرا یادگیری یا فرا ماشین یاد می‌گیرد که چگونه از پیش‌بینی‌های الگوریتم‌های یادگیری ماشین به بهترین شکل استفاده کند تا پیش‌بینی کند.متاالگوریتم :مدل های یادگیری ماشینی پایین دستی ، می توانند به دو صورت استفاده شوند . اول اینکه هر یک  مستقلا آموزش ببیند و سپس از نتایج آنها برای آموزش فرایادگیر استفاده شود . یا اینکه بطور همزمان با فرایادگیر آموزش ببینند که معمولا نتایج حاصل از روش دوم دقیق تر می باشند . در هر حالت اول به الگوریتمی که فرایادگیری را به تنهایی پس از آموزش دیدن مدل های پایین دستی آموزش میدهد ، متاالگوریتم می گویند . در حالت دوم نیز همان الگوریتمی که همزمان فرایادگیر و مدل های یادگیری ماشینی پایین دستی را آموزش میدهد ، متاالگوریتم نامیده میشود . به مدل نهایی فرامدل (Meta Model)  گفته میشود .آموزش مدل های یادیگیری ماشین ( پایین دستی ) عملا یک فرآیند جست و جو است . جست و جو در فضای پارامترها برای یافتن آن پارامترهایی که باعث کاهش یک تابع هزینه و یا افزایش یک معیار (metric)  میشود . معمولا به این فرآیند جست و جو ، بهینه سازی (Optimization) می گویند . این فرآیند خود به تنهایی سبب نمی شود که ما اسم آن را فرایادگیری بگذاریم . در حقیقت این فرایند خلاصه ای است از مراحلی که تمام الگوریتم های یادگیری ماشین انجام میدهند . اما در سطحی بالاتر از آموزش دادن یک مدل ، فرایادگیری قرار دارد . فرآیادگیری می توانند شامل مواردی همچون :1. پیدا کردن بهترین روش پیش پردزاش داده ها2. الگوریتم های یادگیری3. انتخاب پارامتر های اصلی (Hyper parameters)و بطور خلاصه تمام مراحلی باشد که باعث شود دقت نهایی مدل افزایش یابد.</description>
                <category>Omid Mollaei</category>
                <author>Omid Mollaei</author>
                <pubDate>Fri, 14 Jul 2023 15:28:36 +0330</pubDate>
            </item>
                    <item>
                <title>شهر هوشمند و IOT</title>
                <link>https://virgool.io/@omidmollaei/%D8%B4%D9%87%D8%B1-%D9%87%D9%88%D8%B4%D9%85%D9%86%D8%AF-%D9%88-iot-a29ioqom85xa</link>
                <description>مقدمه :شهرهای هوشمند حوزه  مهمی هستند که امروزه در اوج خود به سر می برند. اینترنت اشیاء نقش بسیار مهمی در به وجود آمدن شهرهای هوشمند دارد. مردمی که در شهرهای هوشمند زندگی می کنند، زندگی اجتماعی توسعه یافته تر و شرایط اقتصادی بهتری دارند. همچنین این مردم سطح دانش بالاتری نسبت به بقیه دارند و بطور کلی شرایط زندگی ساکنین شهرهای هوشمند از کیفیت بالاتری برخوردار است. در شهرهای هوشمند مردم در زمان و هزینه های خود برای انجام دادن کارهای روزمره خود براحتی صرفه جویی می کنند. اکوسیستم شهرهای هوشمند می تواند از مردم در برابر اتفاقات و بلایای طبیعی محافظت کند. شهرهای هوشمند به هر طریقی از اتلاف وقت در زندگی روزمره جلوگیری میکنند. در این مقاله توضیح میدهیم که شهر هوشمند چیست ، چگونه ایجاد میشود، چه کاربردها و چالشهایی دارد، و همچنین در خصوص تکنولوژی این شهرها بویژه IOT  صحبت خواهیم کرد.به چه شهری هوشمند می گوییم ؟ شهر هوشمند به شهری گفته می شود که در آن مردم از تکنولوژی و روش های الکترونیکی مختلف موجود، به وفور برای انجام کارهای روزمره خود استفاده می کنند. به همین دلیل است که بحث اینترنت اشیاء در شهرهای هوشمند بسیار داغ و کاربردی است. هوشمندی یک شهر ، یک صفت مفهومی نسبی است. یعنی اگر مردم شهر  A نسبت به مردم شهر B  از تکنولوژی استفاده بیشتری کنند، می توانیم بگوییم که شهر A  نسبت به شهر B  هوشمندتر است. در شهرهای هوشمند مردم هر روزه با سنسورها و دستگاه های مختلفی سر و کار دارند.استفاده از تکنولوژی های مختلف ، بویژه اینترنت اشیاء در شهرهای هوشمند علاوه بر راحت کردن زندگی مردم آن شهر ، باعث بوجود آمدن حجم زیادی از داده ها و اطلاعات مختلف می شود. این داده ها خود می توانند به ما در کشف الگوهای موجود در سبک زندگی مردم کمک کنند. با استفاده از اینترنت اشیاء در شهرهای هوشمند، نیاز به کنترل و نظارت بر سیستم های مختلف به وسیله خود انسانها بسیار کاهش می یابد و در عوض تکنولوژی این کار را برای ما انجام می دهد. در سالهای اخیر تحقیقات زیادی بر روی توسعه شهرهای هوشمند انجام شده است. اینترنت اشیاء به بشر برای ساختن جوامع مدرن تر کمک زیادی کرده است و در آینده نزدیک، دیگر نیازی به تعامل انسان با انسان، یا انسان با رایانه برای نظارت و کنترل سیستم ها وجود نخواهد داشت. شهرهای هوشمند ، بستری هستند که با استفاده از فناوری اطلاعات و ارتباطات بوجود می آیند و هدف اصلی از توسعه این شهرها، افزایش کیفیت زندگی مردم و کاهش هزینه ها چه از نظر مالی و چه از نظر زمانی می باشد.تکنولوژی می تواند بر نقاط و جنبه های مختلف یک شهر تاثیرگذار باشد، مانند: شبکه خرید و فروش هوشمند، خیابان ها و جاده های هوشمند، سیستم کنترل ترافیک هوشمند، سامانه حمل و نقل هوشمند، امنیت شهری هوشمند، پارک های هوشمند و یا سامانه های بازیافت زباله هوشمند.هوشمندی در هر یک از این موارد، اشاره به استفاده از تکنولوژی در آن بخش دارد. به عنوان مثال وقتی می گوییم کشاورزی هوشمند، منظورمان استفاده از فناوری و تکنولوژی در بخش کشاورزی است، به طوری که سبب افزایش کیفیت محصولات (افزایش بهر وری) و کاهش هزینه شود. هوشمندی در بخش ها و جنبه های مختلف یک شهر، در نهایت سبب بوجود آمدن شهر هوشمند می شود.رشد سریع جمعیت شهری، سبب بوجود آمدن مشکلات و دغدغه های متعددی در زندگی ساکنین آن شهر می شود، که هوشمند شدن شهرها می تواند این مشکلات را تا حدودی کاهش دهد. در مفهوم شهر هوشمند جنبه های مختلف زندگی شهروندان با استفاده از فناوری تسهیل میابد. طراحی و توسعه شهرهای هوشمند با استفاده از معماری های گوناگون انجام می شود و معمولا چشم انداز هوشمند سازی یک شهر توسط عوامل آن در اختیار مردم شهر قرار داده می شودتا مردم نیز نسبت به این موضوع آگاهی پیدا کنند.شهرهای هوشند مکان های مناسبی برای سرمایه گذاری شرکت های اقتصادی بزرگ می باشند. همچنین این شرکت ها خود نیز دلیلی برای هوشمندتر بودن شهر ها می باشند:&quot; شهر هوشمند از تکنولوژی های اینترنت اشیاء برای جمع آوری اطلاعات از منابع مختلف استفاده می کند و با تحلیل و پردازش این اطلاعات با مردم تعامل می کند و سبب افزایش کیفیت زندگی مردم و خدمات دولتی می شود &quot;شهر هوشند نمایانگر یک سبک زندگی توسعه یافته است. تکنولوژی در شهرهای هوشمند ، برای مردم آن شهر نیازی همانند آب و غذا است. شهر هوشمند به مردم کمک می کند تا بهترین را حل های ممکن را برای مسائل خود بیابند. تکنولوژی های شبکه سازی در شهرهای هوشمند نقش بسیار مهمی دارند.در این بخش به بررسی برخی از تکنولوژی های اینترنت اشیاء در شهرهای هوشمند میپردازیم: LPWANS: از این تکنولوژی برای اتصال سنسورهای مختلف به یکدیگر در یک شبکه واحد استفاده می شود. این شبکه ها با وجود هزینه های کمی که دارند، بسیار می توانند کارآمد و مفید باشند و از بسیاری از دستگاه های گوناگون که در فاصله زیادی از هم واقع شده اند، پشتیبانی مناسبی را به عمل آورند.2. RFID:فناوری شناسه رادیویی، سامانه شناسایی بی سیمی است که قادر به تبادل داده ها بوسیله برقراری ارتباط بین یک tag ، که به یک کالا، کارت و ... متصل شده است و یک بازخوان( Reader) است . سامانه RFID  از سیگنالهای الکترونیکی و الکترومغناطیسی برای خواندن و نوشتن داده ها بدون تماس بهره می برد.3. WSNS:شبکه های بی سیمی هستند که از سنسورهای مختلف برای تشخیص عوامل محیطی مانند شرایط جوی، صدا،  دما، شرایط روشنایی محیط، تشخصی حرکت و خواندن اعداد استفاده می کنند. این سنسورها اطلاعات جمع اوری شده را به شبکه WSN  متصل به آن ارسال میکنند.4. LI-FI:این تکنولوژی می تواند اینترنت پر سرعت را با استفاده از چراغ های LED (نور) به جای امواج رادیویی بصورت بی سیم در اختیار اجزای شبکه متصل قرار دهند. پرتوهای نور حامل داده در این تکنولوژی را نمی توان با چشم مشاهده نمود.5. MQTT:یک پروتکل سبک و سریع می باشد که می تواند امکان برقراری ارتباط بین دستگاه ها( شامل سنسورها و برنامه های کاربردی مختلف) را فراهم کند.سیستم ها و برنامه های موجود فعلی:زیرساخت هوشمند:در شهرهای هوشمند توسعه زیرساخت ها با استفاده از فناوری انجام می شود که منجر به کار آمدی و پایداری بیشتر می شود. در این شهرها میتوان ساخت و سازها و نقشه ها را بصورت بهینه تر طراحی کرد. توسعه زیرساخت های هوشمند باید با هدف صرفه جویی در انرژی و سازگار با محیط زیست اجرا شود. در توسعه زیر ساخت های هوشمند بسیاری از فناوری های حوزه اینترنت اشیاء نقشی کلیدی دارند.پارکینگ هوشمند:در دنیای فوق سریع امروزی، پارکینگ های هوشمند یک نیاز اجتناب ناپذیر می باشند. پارکینگ های هوشمند مبتنی بر اینترنت اشیاء می توانند دغدغه بسیاری از مردم را حل نمایند. فناوری های پارک خودرو به صورت هوشمند به کمک اینترنت اشیاء می تواند مشکلات مردم در پارک خودرو در شهرهای شلوغ را کاهش دهد. سنسورهای IOT  متصل به خودرو یا تابلوهای راهنمایی و رانندگی می تواند فضای خالی برای پارک کردن خودرو را تشخیص دهد و به رانندگان خودروها نمایش دهد. همچنین میتوان اطلاعات را از سنسورهای مختلف ترافیکی جمع آوری و یکپارچه کرد و با پردازش آنها بر روی یک فضای ابری ، به تحلیل سامانه ها های ترافیکی پرداخت. نتایج حاصل از این پردازش ها را می توان برای تصمیم گیری های مختلف به کار برد و یا در اختیار رانندگان قرار داد. سیستم های پارک هوشمند بطور گسترده از سنسور تشخیص فاصله، التراسونیک و سنسورهای مجاورت استفاده می کنند. این سیستم ها با تشخصی ورود و خروج خودروها و تحلیل زمانی میتوانند، به هر راننده یک مکان برای پارک خودرو خود پیشنهاد دهند، به طوری که مشکلات ناشی از تعداد زیاد خودروها، به حداقل برسد. . این سیستم ها می توانند از طریق تلفن های همراه و برنامه های کاربردی با رانندگان تعامل برقرار کنند. در نهاین همه این فرآیند ها و پردازه ها منجر به سهولت پارک خودرو و نظم عمومی خیابان ها می شود. از پروتکل MQTT  در این سیستم ها استفاده زیادی می شود. این پروتکل ، امکان برقراری ارتباط بین انواع سنسورهای ترافیکی در خودروها و خیابان ها را فراهم می کند.مدیریت هوشمند زباله:مدیریت زباله یک پروسه بسیار مهم در هر شهر می باشد،که خود نیز شامل زیز بخش های مختلفی از قبیل جمع آوری، انتقال، تفکیک، بازیافت و دفن می باشد. یک سیستم هوشمند مدیریت زباله می تواند بسیاری از مشکلات موجود در این زمینه را مرتفع نماید. مشکلاتی همانند آلودگی هوا، انباشت زباله ها در خیابان ها ، گسترش بیماری های واگیردار به دلیل نگهداری نادرست زباله، بوی نامطبوع زباله ها و...در سطح ابتدایی مدیریت هوشمند زباله، سنسورهای مختلفی برای تشخیص نوع زباله و در نهایت تفکیک مناسب آنها استفاده می شوند. در همین حال سنسورهایی برای تشخیص حجم زباله انباشته شده وجود دارد، که به محض عبور حجم زباله از یک آستانه مشخص، به راننده کامیون زباله هشدار پر شدن سطل زباله را میدهد. این ایده گرچه ساده ، اما بسیار مفید است و سبب می شود که زباله در مراحل بعدی براحتی حمل ، بازیافت و دفن شود. همچنین می توان با یکپارچه سازی داده های سنسورهای موجود در سیستم مدیریت زباله، به اطلاعات با ارزشی رسید. به عنوان مثال در هر نقطه ی شهر چه زباله ای بیشتر تولید می شود؟ یا مردم آن منطقه بیشتر کدام مواد غذایی را اسراف می کنند؟ در نهایت با پیشرفت هایی که در حوزه انرژی بوجود آمده است، می توان از برخی از این زباله هایی که بدرستی تفکیک شده اند، تولید انرژی کرد و محیط زیست را پاکیزه نگه داشت.روشنایی هوشمند:سنسورهای روشنایی محیطی، سنسورهای مجاورت و فوتودیودها، سنسورهایی هستند که از آنها در راه اندازی  سیستم های هوشمند روشنایی محیط بسیار زیاد استفاده می شود. سنسورهایی که در گره های لامپ های نور مجتمع می شوند، با تشخیص حرکت و شدت نور، روشن و خاموش شدن این لامپ به صورت خودکار در می آورند. گرچه شاید این کار و ایده بسیار ساده ای باشد، اما تصور کنید که وقتی در مقیاس بالا از این لامپ ها استفاده شود، می توان تا چه حدی در مصرف انرژی صرفه جویی کرد. سیستم های روشنایی هوشمند، یک محیط را به بخش های مختلف تقسیم بندی می کنند و بر اساس معیارهایی مانند جمعیت یا میزان رفت و آمد در هر یک از این بخش ها، انرژی مورد نیاز برای تامین روشنایی آن بخش را مدیریت می کنند. سیستم، میزان نیاز هر بخش به نور را محاسبه می کند و به همان میزان، نور را برای آن بخش فراهم می کند. که این کار باعث جلوگیری از مصرف بیش از حد انرژی در ان بخش می شود.نظارت هوشمند بر محیط:در حال حاظر مخاطرات زیست محیطی که با آن مواجه هستیم ،مایه نگرانی می باشد. انواع مختلف سیستم های نظارت و کنترل بر محیط را میتوان با استفاده از اینترنت اشیاء برای نظارت بر عوامل مهم مانند آلودگی هوا، آلودگی آب و ... راه اندازی کرد. سنسورهای رطوبت، سنسورهای دما، سنسورهای آب و بعضی سنسورهای دیگر از جمله سنسورهایی هستند که می توان برای نظارت بر محیط طبیعی، از آنها استفاده کرد. اگر بخواهیم این نظارت را بصورت دستی و با روش های کلاسیک انجام دهیم ، بسیار هزینه بر و زمان بر خواهد بود. پس از جمع آوری اطلاعات از سنسورهای مختلف و یکپارچه سازی این اطلاعات، می توان از ابزارها و نرم افزارهای مختلفی برای تحلیل و پردازش آنها استفاده کرد. و در نهایت از نتایج این پردازش ها برای تصمیم گیری استفاده نمود.دقت داده های جمع آوری شده و نتایج حاصل در زمانی که از سنسورها برای نظارت بر محیط استفاده می کنیم، بسیار بالاتر از دقت داده هایی است که بدون سنسور جمع آوری می شوند. نظارت بر محیط طبیعی با استفاده از اینترنت اشیاء به ما کمک می کند تا بطور قابل توجهی از آلودگی منابع طبیعی مانند منابع آبی و بلایای مرتبط جلوگیری کنیم. بعنوان مثال سیستم نظارت بر آب نه تنها میزان خلوص و میزان در دسترس بودن آب را به ما می گوید، بلکه می تواند به ما در تشخیص منبع آب های آلوده و شناسایی محل ترکیب آن با آب پاکیزه کمک کند. آلودگی می تواند بر بهره وری از خاک نیز تاثیر گذارد. استفاده زیاد از آفت کش ها، یکی از دلایل عمده آلودگی خاک است. تقریبا سالانه هزاران نفر تنها به طور مستقیم به دلیل مواد شیمیایی همانند آلودگی آب و خاک جان خود را از دست می دهند. می توان با استفاده از تکنولوژی و اینترنت اشیاء بسیار بهینه تر و مفیدتر بر منابع طبیعی نظارت کرد و از بروز حوادثی از این قبیل جلوگیری کرد.یکی دیگر از کاربردهای اینترنت اشیاء ، محافظت از گونه های متفاوت زیستی است. ما تنوع زیستی عظیمی داریم و گونه های مختلفی وجود دارند که در خطر انقراض هستند. با کمک اینترنت اشیاء می توان الگوهای مختلفی را در زندگی این گونه ها مانند عادات تغذیه ، مهاجرت و جفت گیری را بررسی و مطالعه  نمود، بدون ان که اختلالی در زندگی طبیعی این گونه ها ایجاد شود.سیستم های کاربردی بالقوه:شبکه هوشمند:شبکه هوشمند به معنی ترکیب یک شبکه الکتریکی و یک شبکه ارتباطی است. شبکه های هوشمند ،ب خشی از شهر های هوشمند هستند بطوری که در آن تمامی سیستم های نظارتی اعم از سیستم هوشمند روشنایی، سیستم هوشمند مدیریت ترافیک، پارکینگ هوشمند، جاده های هوشمند، سیستم هوشمند نظارت بر محیط زیست و ... را میتوان در یک شبکه منفرد و متمرکز کنترل کرد. به این شبکه Smart Grid گفته می شود. این شبکه را میتوان با استفاده از شبکه های انتقال، نرم افزارها، سنسورها، ترنسفورماتورها و حسگرها و سیستم های تعبیه شده پیاده سازی کرد. در شبکه های هوشمند ارتباط دو طرفه بین کاربر و سخت افزار برقرار می شود، استفاده از شبکه های هوشمند در بلند مدت، سبب صرفه جویی در مصرف انرژی می شود.جاده های هوشمند:با استفاده از تکنولوژی جاده های هوشمند، می توان حرکت خودروها با استفاده از سنسورهای حرکتی و سیگنال های ترافیکی رصد کرد.جاده هوشمند ساخته شده با استفاده از حسگرها و فناوری اینترنت اشیاء، باعث رانندگی امن و روان می شود. اطلاعاتی از قبیل امنیت جاده، شیب جاده، حداکثر سرعت مجاز در آن جاده، وضعیت ترافیکی، پارکینگ ها، شرایط آب و هوایی مقصد، انتخاب کوتاه ترین مسیر و ... را میتوان در اختیار راننده قرار داد.با استفاده از سنسورهای حرکت، سنسور اولتراسونیک و دیگر سنسورها در جاده های هوشمند می توان خطر رانندگی در مناطق پر خطر مانند کوهستان ها و مناطق پر تردد را کاهش داد و جان هزاران نفر را که هر ساله به دلیل تصادفات جاده ای از دست می رود، نجات بخشید. جاده های هوشمند میتوانند امنیت عابرین پیاده را بالا ببرند، به صورت کلی، هدف از توسعه جاده های هوشمند،کاهش تصادفات در این جاده هاست.ایمنی عمومی هوشمند:تامین ایمنی عمومی یکی ازمهمترین وظایف است که دولت های سراسر دنیا با آن روبرو هستند. در بسیاری از کشورهای توسعه نیافته، جنایاتی که رخ می دهد، توسعه کلی کشورها را متوقف می کند. بخشی از ایمنی عمومی را می توان با ترکیب داده های سنسورهای صوتی و دوربین های مدار بسته تضمین کرد. هنگامی که از اینترنت اشیاء برای تامین امنیت عمومی استفاده شود، افراد می توانند راحت تر از موقعیت های اضطراری نجات یابند. هرگونه حادثه در مکان های عمومی را می توان به سرعت و به راحتی شناسایی کرد و کمک هایی برای آنها ارسال کرد و کار مراکز اضطراری را ساده تر کرد. این سیستم می تواند از ساکنین شهرها در برابر هرگونه خطر و جنایت محافظت نماید. فناوری های هوشمند عمومی، سرعت و کیفیت ارتباطات را تقویت می کند، این فناوری می تواند به هر طریقی به جامعه در زمان بروز بحران کمک کند.حمل و نقل عمومی هوشمند:در دنیای پر شتاب امروزی نمی توان قیمتی برای زمان تعیین کرد. و با استفاده از سیستم حمل و نقل هوشمند در سطح شهر میتوان از اتلاف مدت زمانی که در انتظار اتوبوس یا مترو هستیم ، جلوگیری کرد. با استفاده از سنسورها میتوان الگوهایی که مسافرین برای استفاده از سامانه های حمل و نقل عمومی دارند را شناسایی کرد و حرکت اتوبوس ها و متروها را بر اساس نتایج کسب شده از این الگوها، موقعیت بندی و زمان بندی کرد تا در هیچ جای شهر، مسافری به دلیل کمبود سامانه حمل و نقل وقت خود را از دست ندهد. همچنین می توان با استفاده از سنسورهای مختلف شرایط مسافران در طول مدت زمانی که در حال استفاده از سامانه حمل و نقل عمومی هستند را بهبود داد. مثلا می توان دمای محیط درون را بصورت خودکار تنظیم کرد تا مسافران از شرایط عمومی رضایت کامل داشته باشند. علاوه بر این می توان تمام جنبه های سفر مانند بلیط فروشی،تخصیص صندلی، تمهیدات ویژه برای معلولان جسمی و ... را با استفاده از سیستم های هوشمند کنترل و نظارت کرد. می توان نقشه ها و مسیریاب های هوشمندی را در مکان های مناسبی نصب کرد تا مسافرین بتوانند براحتی مسیر خود را تشخیص دهند. با اجرای حمل و نقل هوشمند عمومی می توان از ازدحام بیش از حد ، تاخیرها، اشکالات فنی و ... را کاهش داد.سیستم های بالقوه شهرهای هوشمند، سیستم های کاربردی هستند که با فناوری و تکنولوژی حال حاضرنیز می توان آنها را پیاده سازی کرد. هر روزه ایده های جدیدتری در زمینه شهرهای هوشمند ارائه می شوند. که پتانسیل افزایش کیفیت زندگی را دارا می باشد.چالش های موجود برای هوشمندسازی شهرها:مانند هر فناوری دیگری شهرهای هوشمند نیز چالش های خاص خود را دارند. بسیاری از این تکنولوژی ها مانند RFID در برابر نفوذ آسیب پذیرند. باید امنیت دستگاه ها در شهر های هوشمند تقویت شوند. تمام دستگاه های شخصی در یک شبکه مشترک متصل خواهتد شد، بنابراین حفظ امنیت الکترونیکی در شبکه ها و شهرهای هوشمند یک چالش بزرگ است. علاوه بر آن هزینه هوشمند سازی بخش های مختلف شهری بسیار بالا است. فقط با برنامه ریزی درست و استفاده کارآمد از تجهیزات است که می توان از مزایای شهرهای هوشمند بهره برد. با افزایش پتانسیل استفاده از ماشین آلات ، مشاغل قدیمی یا کارهای ساده در خطر هستند و شهرهای هوشمند می توانند نرخ بیکاری را افزایش دهند.نتیجه گیری:در این مقاله ابتدا به بررسی مفهوم هوشمند بودن و شهر هوشمند پرداختیم و سپس به طور خلاصه در مورد فناوری های مختلف در توسعه شهر های هوشمند صحبت کردیم. کاربردهای فعلی شهرهای هوشمند با استفاده از فناوری های اینترنت اشیاء و منافع عمومی حاصل از آن را با جزئیات مورد بحث قرار دادیم. اینترنت اشیاء در شهر هوشمند در این دنیای شلوغ امروزی به واقعیت تبدیل شده است. در حال حاضر اختلاف بین واقعیت و فیلم های علمی و تخلیلی به حداقل رسیده است. درباره آینده شهرهای هوشمند و تاثیر آن بر زندگی روزمره نیز صحبت کردیم. همچنین چالش هایی که به واسطه شهر های هوشمند بوجود می آیند را مطرح کردیم. اگر بتوان این چالش ها را در آینده بر طرف نمود، رویای شهرهای کاملا هوشمند به زودی به تحقق خواهد پیوست. بطور کلی زندگی در شهرهای هوشمند کیفیت بالایی دارد و بسیاری از کارهای روزمره را میتوان به راحت ترین شکل ممکن انجام داد. اگر بتوان از تکنولوژی های اینترنت اشیاء در ساخت شهرهای هوشمند بهره برد، می توان بالاترین سطح زندگی روزمره را برای ساکنین شهرها به ارمغان آورد.</description>
                <category>Omid Mollaei</category>
                <author>Omid Mollaei</author>
                <pubDate>Wed, 03 Aug 2022 15:06:36 +0430</pubDate>
            </item>
                    <item>
                <title>ویژگی های Keras و TensorFlow ( تفاوت ها و شباهت ها)</title>
                <link>https://virgool.io/coderlife/%D9%88%DB%8C%DA%98%DA%AF%DB%8C-%D9%87%D8%A7%DB%8C-keras-%D9%88-tensorflow-%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D9%87%D8%A7-%D9%88-%D8%B4%D8%A8%D8%A7%D9%87%D8%AA-%D9%87%D8%A7-zbwovha17wht</link>
                <description>یادگیری عمیق با کمک به ما برای ساخت سیستم ها و ماشین هایی که در گذشته تنها رویای آنها را می دیدم انقلابی در هوش مصنوعی ایجاد کرده است . یادگیری عمیق یکی از شاخه های یادگیری ماشین است که در آن از شبکه های عصبی مصنوعی عمیق استفاده میشود .به شبکه عصبی که دارای تعداد زیادی لایه بصورت پشته ( پشت سر هم ) باشد شبکه عصبی عمیق گفته میشود .هر چه تعداد این لایه های بیشتر باشد شبکه عمیق تر است .  نیاز روبه رشد برای آموزش و استفاده از شبکه های عصبی مصنوعی ( در هر زمینه ای ) سبب افزایش تعداد فریم ورک ها و کتابخانه های مخصوص آن شده است .در این مقاله درباره دو نوع از این فریم ورک ها صحبت خواهیم کرد . در انتهای مقاله شما درک عمیق تری از چیستی کراس و تنسورفلو و تفاوت ها و شباهت های آنها خواهید داشت . اما قبل از هر چیزی باید  بطور خلاصه درباره ی این دو  بحث کنیم که آنها دقیقا چه هستند ؟ تنسورفلو پراستفاده ترین کتابخانه در توسعه مدلهای یادگیری عمیق است . توسعه دهندگان بسیاری از تنسورفلو  در پروژه های حساس و پیشرفته خود استفاده میکنند . یکی از اصلی ترین دلایل محبوبیت تنسورفلو ٬ منبع باز بودن آن است  (open source )  . تعداد کاربران مخازن تنسورفلو در گیت هاب به تنهایی میتواند محبوبیت این فریم ورک را نشان دهد. اما کار کردن با آن به همین راحتی نیست . در طرف دیگر کراس وجود دارد که یک Api  سطح بالا است که در بالاترین سطح تنسورفلو ساخته شده است . کراس بسیار کاربر پسند تر (user friendly) و آسانتر از تنسورفلو است . تا اینجای مقاله ممکن است سوالهایی در ذهن شما ایجاد شده باشد : اگر کراس در سطح بالای تنسورفلو قرار دارد پس فرق این دو چیست ؟ اگر کراس کاربرپسند تر است پس چه نیازی به تنسورفلو است ؟ …این مقاله به تمامی سوالهای شما پاسخ خواهد داد .تنسورفلو هدیه ای از سوی گوگل به توسعه دهندگان یادگیری ماشین است . تنسورفلو قدرت یادگیری عمیق را در اختیار همه علاقه مندان به آن قرار میدهد . گوگل دوره ها آموزشی مقدماتی و پیشرفته ای را برای آموزش علاقه مندان فراهم کرده است تا آنها بتوانند از آن در هر زمینه ای استفاده کنند . این کتابخانه بصورت منبع باز در گیت هاب در اختیار همه قرار دارد .تنسورفلو محبوب ترین کتابخانه پیاده سازی شبکه های عصبی عمیق است . اولین دلیل محبوبیت تنسورفلو سهولت ایجاد و توسعه برنامه های کاربردی است . پروژه های نمونه نوشته شده در مخزن گیت هاب نه تنها قدرتمند هستند بلکه به شیوه ساده و مبتدی نوشته شده اند . اهداف اصلی استفاده از تنسورفلو چه هستند ؟ تنسورفلونسبت به سایر کتابخانه ها در محسابات عددی برتری دارد ٬ که یکی از حیاتی ترین نیاز های یادگیری عمیق است . تنسورفلو api  های فراوانی برای اکثر زبان ها و محیط های برنامه نویسی مورد نیاز پروژه های یادگیری عمیق فراهم میکند . مانند : python , c,  c++ , go, java, android, macOS, Linux, raspberry pie , … . تنسورفلو ایجاد شده است تا محاسبات ریاضی سنگین یادگیر عمیق را بتوان بر روی هر دستگاهی اجرا کرد . حتی برروی یک گوشی هوشمند . در حال حاضر تنسورفلو روی  تمامی دستگاه مورد استفاده اجرا می شود . از موبایل ها تا رایانه های رومیزی و حتی دستگاه های جاساز شده(embedded devices) . منبع باز بودن و جامعه بزرگ پشتیبان و فراگیر بودن همگی دلایلی هستند که باعث می شود تنسورفلو وارد دنیای روزمره و صنعت شود همانند آنالیز تصاویر , تولید داده , پردازش زبان طبیعی , رباتیک و.... . جالب اینجاست که  تنسورفلو حتی توسط تعداد زیادی از برنامه نویسان برای پیاده سازی ترجمه  زبان و حتی تشخیص زودهنگام سرطان پوست مورد استفاده قرار می‌گیرد. تنسور فلو به معنای واقعی در  حال تغییر مسیر برنامه نویسان با استفاده از تکنولوژی یادگیری ماشین است .برنامه های کاربردی تنسورفلو :وقتی که بحث یادگیری عمیق باشد تنسور فلو اولویت بالاتری نسبت به رقیبان خود دارد :  Thorch , Theano و سایر فریم ورک های شناخته شده . تنسور فلو بطور بسیار گسترده‌ای در تشخیص صدا برنامه های مبتنی بر متن مانند گوگل ترجمه,  شناسایی چهره و  تشخیص ویدئو استفاده می شود .جالبتر اینجاست که ناسا در حال توسعه مدل پیش بینی کننده از اجسام نزدیک به زمین با یادگیری عمیق و تنسورفلو است. بر اساس گفته کارکنان ناسا تنسورفلو می تواند در طراحی مدل چند لایه که قادر به شناسایی و رده بندی اجسام کشف شده  در خارج از زمین است کمک کند . تنسور فلو توسط بزرگترین کمپانی های داده دنیا مانند ایرباس ,دراپ باکس , اسنپ چت و اویلر استفاده می شود .كراس چيست ؟کراس یک کتابخانه در بالاترین سطح تنسورفلو است . api کراس شبیه به scikit-learn است که به زبان پایتون نوشته شده است . و هدف آن ساخت شبکه های عصبی مصنوعی است . توسعه دهندگان می توانندبه راحتی از آن برای ایجاد  انواع شبکه های عصبی مصنوعی استفاده کنند . بدون اینکه نگران مسائلی از قبیل ریاضیات و جبر تنسور ها باشند . کراس  این مزیت را برای توسعه دهندگان مبتدی و دانشمندان داده فراهم می کند  که آن ها بتوانند براحتی به سمت یادگیری عمیق بروند و هیچ دردسری برای محاسبات سطح پایین ندارد.افزایش تقاضا برای یادگیری عمیق منجر به افزایش تقاضا برای افراد  ماهر در زمینه یادگیری عمیق شده است .ویژگی برجسته کراس :کراس یک رابط سطح بالاست که از tensor flow به عنوان backend خود استفاده می‌کند .هم روی CPU و هم به روی GPU به راحتی کار میکند  .کراس به دلیل ماهیت ماژولار فوق العاده انعطاف پذیر است . درنتیجه برای پروژه های تحقیقاتی بسیار مناسب است .کراس یک چارچوب کاملا مبتنی بر پایتون است که دیباگ کردن را ساده میکند . کراس vs تنسورفلو . چگونه آنها را مقایسه کنیم ؟کراس یک کتابخانه شبکه عصبی است که در python نوشته شده است و دارای ماهیت سطح بالایی است که استفاده از آن را بسیار ساده و شهودی میکند . کراس بعنوان یک اتصال با کتابخانه های سطح پایین شبکه های عصبی مصنوعی مانند tf  و theano کار میکند . از این نظر زیاد منطقی به نظر نمی رسد که آن را با تنسور فلو مقایسه کنیم . زیرا خود کراس از tf  بعنوان backend  استفاده میکند . اما اگر مجبور باشیم , آنها را باهم مقایسه میکنیم . درک و پیاده سازی کراس بسیار ساده است . استفاده از کراس تقریبا شبیه کار با بلوک های لگو است . کراس ساخته شده است تا به توسعه دهندگان در آزمایش سریع  کمک کند . کراس به شما این امکان را میدهد تا از تنسور فلو به عنوان هسته اصلی استفاده کنید .  بدون اینکه نیاز داشته باشید تا آن را یاد بگیرید. کراس با این هدف توسعه یافت که به افراد اجازه دهد تا اسکریپت های خود را بدون نیاز به دانستن جزییات پشت پرده (backend)  بنویسند . بنابراین شما به لطف کراس در اکثر مواقع هیچ نیازی به دانستن جزییات عملکردی   نخواهید داشت. با این حال وقتی صحبت از هوش مصنوعی و یادگیری ماشین میشود نمیتوان درباره ی همه توسعه دهندگان صحبت کرد . تفاوت اصلی بین کراس و تنسور فلو این است که شما در کراس نمیتوانید تغییرات سطح پایین ایجاد کنید . برای آن شما نیاز به تنسورفلو دارید . اگرچه درک آن دشوار است اما به محض اینکه آن را یاد بگیرید میتوانید در سریعترین زمان ممکن مدلهای خود را بسازید . بنابراین مانند هر وقت ,  همه چیز به نیاز  شما بستگی دارد .  اگر میخواهید با DNN  ها آشنا شوید و یا فقط میخواهید نمونه اولیه بسازید به سراغ کراس بروید . اما اگر شما کسی هستید که دوست دارد غواصی کند و همه چیز را در  سطح پایین کنترل کند باید مدتی را به بررسی تنسورفلو اختصاص دهید .   </description>
                <category>Omid Mollaei</category>
                <author>Omid Mollaei</author>
                <pubDate>Sat, 22 May 2021 12:59:29 +0430</pubDate>
            </item>
            </channel>
</rss>