Perceptron است تعریف اصطلاح، ویژگی ها، کاربرد

فهرست مطالب:

Perceptron است تعریف اصطلاح، ویژگی ها، کاربرد
Perceptron است تعریف اصطلاح، ویژگی ها، کاربرد
Anonim

در یادگیری ماشینی، پرسپترون یک الگوریتم یادگیری نظارت شده برای طبقه‌بندی‌کننده‌های باینری است. اغلب به آن پرسپترون نیز می گویند. یک طبقه‌بندی‌کننده باینری تابعی است که می‌تواند تصمیم بگیرد که آیا ورودی، که با بردار اعداد نشان داده می‌شود، به کلاس خاصی تعلق دارد یا خیر. این یک نوع طبقه‌بندی‌کننده خطی است، یعنی یک الگوریتم طبقه‌بندی که پیش‌بینی‌های خود را بر اساس یک تابع پیش‌بینی خطی انجام می‌دهد که مجموعه‌ای از وزن‌ها را با بردار ویژگی ترکیب می‌کند.

فرمول های پرسپترون
فرمول های پرسپترون

در سال های اخیر، شبکه های عصبی مصنوعی به دلیل پیشرفت در یادگیری عمیق مورد توجه قرار گرفته اند. اما شبکه عصبی مصنوعی چیست و از چه چیزی تشکیل شده است؟

ملاقات با پرسپترون

در این مقاله، نگاهی گذرا به شبکه های عصبی مصنوعی به طور کلی می اندازیم، سپس به یک نورون منفرد نگاه می کنیم و در نهایت (این قسمت کدگذاری است) ابتدایی ترین نسخه یک مصنوعی را می گیریم. نورون، پرسپترون، و نقاط آن را به دو دسته طبقه بندی کنیدهواپیما.

آیا تا به حال از خود پرسیده اید که چرا کارهایی وجود دارند که برای هر شخصی بسیار آسان هستند، اما برای رایانه ها فوق العاده دشوار هستند؟ شبکه های عصبی مصنوعی (به اختصار ANN) از سیستم عصبی مرکزی انسان الهام گرفته شده اند. مانند همتای بیولوژیکی خود، ANN ها بر روی عناصر پردازش سیگنال ساده ساخته شده اند که در یک شبکه بزرگ ترکیب شده اند.

شبکه های عصبی باید یاد بگیرند

برخلاف الگوریتم های سنتی، شبکه های عصبی را نمی توان "برنامه ریزی" یا "تنظیم" کرد تا همانطور که در نظر گرفته شده است کار کنند. درست مانند مغز انسان، آنها باید یاد بگیرند که کار را کامل کنند. به طور کلی، سه راهبرد یادگیری وجود دارد.

اگر یک مورد آزمایشی (به اندازه کافی بزرگ) با نتایج شناخته شده وجود داشته باشد، می توان از ساده ترین راه استفاده کرد. سپس آموزش به این صورت انجام می شود: یک مجموعه از داده ها را پردازش کنید. نتیجه را با نتیجه شناخته شده مقایسه کنید. شبکه را راه اندازی کنید و دوباره امتحان کنید. این استراتژی یادگیری است که ما در اینجا استفاده خواهیم کرد.

یادگیری بدون نظارت

مفید است اگر داده‌های آزمایشی در دسترس نباشد و اگر بتوان مقداری تابع هزینه را از رفتار مورد نظر استخراج کرد. تابع هزینه به شبکه عصبی می گوید که چقدر از هدف فاصله دارد. سپس شبکه می‌تواند پارامترهای خود را در لحظه تنظیم کند و با داده‌های واقعی کار کند.

یادگیری تقویت شده

روش "هویج و چوب". اگر شبکه عصبی یک کنش پیوسته ایجاد کند، می تواند مورد استفاده قرار گیرد. با گذشت زمان، شبکه یاد می گیرد که اقدامات درست را ترجیح دهد و از اقدامات اشتباه اجتناب کند.

خیلی خب، حالا کمی در موردش می دانیمماهیت شبکه های عصبی مصنوعی، اما دقیقا از چه چیزی ساخته شده اند؟ اگر درب را باز کنیم و به داخل آن نگاه کنیم چه خواهیم دید؟

نرون ها بلوک های سازنده شبکه های عصبی هستند. جزء اصلی هر شبکه عصبی مصنوعی یک نورون مصنوعی است. آنها نه تنها بر اساس همتایان بیولوژیکی خود نامگذاری شده اند، بلکه بر اساس رفتار نورون ها در مغز ما نیز مدل شده اند.

زیست شناسی در مقابل فناوری

همانطور که یک نورون بیولوژیکی دارای دندریت هایی برای دریافت سیگنال ها، یک جسم سلولی برای پردازش آنها و یک آکسون برای ارسال سیگنال به نورون های دیگر است، یک نورون مصنوعی دارای چندین کانال ورودی، یک مرحله پردازش و یک خروجی است که می تواند به بسیاری دیگر منشعب می شود. نورون های مصنوعی.

آیا می توانیم با یک پرسپترون کار مفیدی انجام دهیم؟ دسته ای از مسائل وجود دارد که یک پرسپترون می تواند آنها را حل کند. بردار ورودی را به عنوان مختصات نقطه ای در نظر بگیرید. برای بردار با n عنصر، این نقطه در فضای n بعدی زندگی می کند. برای ساده کردن زندگی (و کد زیر)، بیایید فرض کنیم که دو بعدی است. مثل یک تکه کاغذ.

بعد، تصور کنید چند نقطه تصادفی روی این صفحه رسم می کنیم و با کشیدن یک خط مستقیم روی کاغذ، آنها را به دو مجموعه تقسیم می کنیم. این خط نقاط را به دو دسته تقسیم می کند، یکی در بالا و دیگری زیر خط. سپس این دو مجموعه به صورت خطی قابل تفکیک نامیده می شوند.

یک پرسپترون، مهم نیست که چقدر ساده به نظر می رسد، می تواند بفهمد این خط کجاست، و پس از پایان آموزش، می تواند تعیین کند که آیا یک نقطه داده شده بالاتر است یا زیر این خط.

تاریخاختراعات

الگوریتم این روش در سال 1957 در آزمایشگاه هوانوردی کرنل توسط فرانک روزنبلات (اغلب به نام او) اختراع شد که توسط اداره تحقیقات نیروی دریایی ایالات متحده تامین مالی شد. پرسپترون قرار بود یک ماشین باشد، نه یک برنامه، و اگرچه اولین پیاده‌سازی آن در نرم‌افزار IBM 704 بود، اما متعاقباً روی سخت‌افزار سفارشی به‌عنوان «Mark 1 Perceptron» پیاده‌سازی شد. این دستگاه برای تشخیص تصویر طراحی شده است: دارای آرایه ای از 400 فتوسل به طور تصادفی به نورون ها متصل می شود. وزنه ها بر حسب پتانسیومتر کدگذاری شدند و به روز رسانی وزن در حین تمرین توسط موتورهای الکتریکی انجام شد.

در یک کنفرانس مطبوعاتی که توسط نیروی دریایی ایالات متحده در سال 1958 برگزار شد، روزنبلات در مورد پرسپترون اظهاراتی را بیان کرد که باعث بحث های داغ در میان جامعه جوان هوش مصنوعی شد. بر اساس ادعای روزنبلات، نیویورک تایمز گزارش داد که پرسپترون "کامپیوتر الکترونیکی جنینی است که نیروی دریایی انتظار دارد بتواند راه برود، صحبت کند، ببیند، بنویسد، خود را بازتولید کند و از وجود آن آگاه باشد."

بخش های پرسپترون
بخش های پرسپترون

توسعه های بیشتر

اگرچه پرسپترون در ابتدا امیدوارکننده به نظر می رسید، به سرعت ثابت شد که پرسپترون ها را نمی توان برای تشخیص بسیاری از کلاس های الگوها آموزش داد. این امر منجر به رکود در زمینه تحقیقاتی با شبکه های عصبی پرسپترون برای چندین سال قبل از اینکه تشخیص داده شود که یک شبکه عصبی پیشرو با دو یا چند لایه (همچنین به نامپرسپترون چندلایه) قدرت پردازش بسیار بیشتری نسبت به پرسپترون های تک لایه (که پرسپترون های تک لایه نیز نامیده می شود) داشت. یک پرسپترون تک لایه تنها قادر به مطالعه ساختارهای قابل جداسازی خطی است. در سال 1969، کتاب معروف "پرسپترون ها" نوشته ماروین مینسکی و سیمور پیپرت نشان داد که این دسته از شبکه ها نمی توانند تابع XOR را یاد بگیرند. با این حال، این برای توابع طبقه‌بندی غیرخطی که می‌توانند در پرسپترون تک لایه استفاده شوند، صدق نمی‌کند.

پرسپترون روزنبلات
پرسپترون روزنبلات

استفاده از چنین توابعی قابلیت های پرسپترون، از جمله اجرای تابع XOR را گسترش می دهد. اغلب فرض می شود (به اشتباه) که آنها همچنین فرض می کردند که یک نتیجه مشابه برای یک شبکه پرسپترون چند لایه وجود دارد. با این حال، این مورد نیست، زیرا هم مینسکی و هم پیپرت از قبل می دانستند که پرسپترون های چندلایه قادر به تولید یک تابع XOR هستند. سه سال بعد، استیون گروسبرگ مجموعه‌ای از مقالات را منتشر کرد که شبکه‌هایی را که قادر به مدل‌سازی توابع دیفرانسیل، توابع افزایش کنتراست و توابع XOR بودند، ارائه کرد.

آثار در سال 1972 و 1973 منتشر شد. با این حال، متن Minsky/Papert که اغلب نادیده گرفته می شد باعث کاهش قابل توجه علاقه و بودجه تحقیقاتی با پرسپترون شبکه عصبی شد. ده سال دیگر قبل از احیای تحقیقات شبکه عصبی در دهه 1980 گذشت.

ویژگی ها

الگوریتم هسته پرسپترون در سال 1964 توسط یزرمن و همکاران معرفی شد.موری و رستمی زاده (2013)، که نتایج قبلی را گسترش داده و محدوده های جدیدی را L1 می دهند.

پرسپترون یک مدل ساده شده از یک نورون بیولوژیکی است. در حالی که پیچیدگی مدل های عصبی بیولوژیکی اغلب برای درک کامل رفتار عصبی مورد نیاز است، تحقیقات نشان می دهد که یک مدل خطی پرسپترون مانند می تواند برخی از رفتارهای دیده شده در نورون های واقعی را القا کند.

پرسپترون یک طبقه‌بندی‌کننده خطی است، بنابراین اگر مجموعه آموزشی D به‌طور خطی قابل تفکیک نباشد، هرگز به حالتی نمی‌رسد که همه بردارهای ورودی به درستی طبقه‌بندی شده باشند. اگر نمونه های مثبت را نتوان با ابر صفحه از مثال های منفی جدا کرد. در این حالت، هیچ راه حل «تقریبی» گام به گام از طریق الگوریتم یادگیری استاندارد انجام نخواهد شد، در عوض یادگیری به طور کامل با شکست مواجه خواهد شد. بنابراین، اگر جدایی‌پذیری خطی مجموعه آموزشی از قبل مشخص نیست، باید از یکی از گزینه‌های آموزشی زیر استفاده شود.

روابط پرسپترون
روابط پرسپترون

الگوریتم جیبی

الگوریتم جیب جغجغه ای مشکل استحکام یادگیری پرسپترون را با نگه داشتن بهترین راه حلی که تاکنون پیدا شده است "در جیب" حل می کند. سپس الگوریتم pocket راه حل را به جای آخرین راه حل در جیب برمی گرداند. همچنین می‌توان از آن برای مجموعه داده‌های غیرقابل تفکیک استفاده کرد، جایی که هدف یافتن یک پرسپترون با طبقه‌بندی نادرست کمی است. با این حال، این راه حل ها تصادفی به نظر می رسند و از این رو الگوریتم جیبی برای آنها مناسب نیست.به تدریج در طول دوره آموزشی، و تضمین نمی شود که آنها در طول تعداد معینی از مراحل آموزشی شناسایی شوند.

الگوریتم Maxover

الگوریتم Maxover "مستحکم" است به این معنا که بدون توجه به دانش جدایی پذیری خطی مجموعه داده، همگرا می شود. در مورد تقسیم خطی، این مشکل یادگیری را به صورت اختیاری حتی با ثبات بهینه (حداکثر حاشیه بین کلاس ها) حل می کند. برای مجموعه داده‌های غیرقابل تفکیک، راه‌حلی با تعداد کمی طبقه‌بندی اشتباه بازگردانده می‌شود. در همه موارد، الگوریتم به تدریج در طول فرآیند یادگیری، بدون به خاطر سپردن حالت های قبلی و بدون پرش های تصادفی، به راه حل نزدیک می شود. همگرایی در بهینه جهانی برای مجموعه داده های مشترک و بهینه محلی برای مجموعه داده های غیرقابل تفکیک نهفته است.

معادله پرسپترون
معادله پرسپترون

پرسپترون رای داد

الگوریتم پرسپترون رای گونه ای است که از پرسپترون های وزنی چندگانه استفاده می کند. الگوریتم هر بار که یک مثال اشتباه طبقه‌بندی می‌شود، یک پرسپترون جدید شروع می‌کند و بردار وزن را با وزن‌های نهایی آخرین پرسپترون مقداردهی می‌کند. همچنین به هر پرسپترون وزن متفاوتی داده می شود که مربوط به تعداد مثال هایی است که به درستی طبقه بندی می کنند قبل از طبقه بندی اشتباه، و در پایان خروجی یک رای وزنی در کل پرسپترون خواهد بود.

برنامه

در مسائل قابل تفکیک، آموزش پرسپترون همچنین می تواند با هدف یافتن بزرگترین مرز جدایی بین کلاس ها باشد. باصطلاحیک پرسپترون پایداری بهینه را می‌توان با استفاده از طرح‌های آموزش تکراری و بهینه‌سازی مانند الگوریتم Min-Over یا AdaTron تعیین کرد. AdaTron از این واقعیت استفاده می کند که مسئله بهینه سازی درجه دوم محدب است. پرسپترون پایداری بهینه، همراه با ترفند هسته، مبنای مفهومی ماشین بردار پشتیبان است.

پرسپترون چندلایه
پرسپترون چندلایه

جایگزین

راه دیگری برای حل مسائل غیر خطی بدون استفاده از چندین لایه، استفاده از شبکه های مرتبه بالاتر (بلوک sigma-pi) است. در این نوع شبکه، هر عنصر از بردار ورودی با هر ترکیب زوجی از ورودی های ضرب شده (مرتبه دوم) گسترش می یابد. این را می توان به یک شبکه n-order گسترش داد. پرسپترون یک چیز بسیار انعطاف پذیر است.

با این حال، به یاد داشته باشید که بهترین طبقه بندی کننده لزوماً طبقه بندی کننده ای نیست که تمام داده های آموزشی را به طور دقیق طبقه بندی کند. در واقع، اگر محدودیت قبلی را داشتیم که داده ها از توزیع های گاوسی با متغیرهای مساوی به دست می آیند، یک تقسیم خطی در فضای ورودی بهینه است و یک راه حل غیر خطی نادیده گرفته می شود.

سایر الگوریتم‌های طبقه‌بندی خطی عبارتند از Winnow، بردار پشتیبان و رگرسیون لجستیک. پرسپترون مجموعه ای جهانی از الگوریتم ها است.

ترجمه روسی این طرح
ترجمه روسی این طرح

حوزه اصلی برای یادگیری تحت نظارت

یادگیری نظارت شده یک کار یادگیری ماشینی است که تابعی را یاد می گیرد که ورودی را به خروجی نگاشت می کند.بر اساس نمونه هایی از جفت I/O. آنها یک ویژگی را از داده های آموزشی برچسب گذاری شده استنتاج می کنند که از مجموعه ای از مثال ها تشکیل شده است. در یادگیری نظارت شده، هر مثال یک جفت متشکل از یک شی ورودی (معمولا یک بردار) و یک مقدار خروجی مورد نظر (که سیگنال کنترل نیز نامیده می شود) است.

الگوریتم یادگیری نظارت شده داده های آموزشی را تجزیه و تحلیل می کند و یک تابع تخمینی تولید می کند که می تواند برای نمایش نمونه های جدید استفاده شود. سناریوی بهینه به الگوریتم اجازه می‌دهد تا برچسب‌های کلاس را برای نمونه‌های نامرئی به درستی تعیین کند. این به الگوریتم یادگیری نیاز دارد تا داده های یادگیری را به روشی "معقول" به موقعیت های دیده نشده تعمیم دهد.

وظیفه موازی در روانشناسی انسان و حیوان اغلب یادگیری مفهومی نامیده می شود.

توصیه شده: