طبقه بندی تصاویر با استفاده از یادگیری عمیق(Deep Learning) و الگوریتم شبکه عصبی-پیاده سازی مقاله الزویر
طبقه بندی تصاویر با استفاده از یادگیری عمیق(Deep Learning) و الگوریتم شبکه عصبی-پیاده سازی مقاله الزویر
به طبقه بندی تصاویر حجیم با استفاده از الگوریتم یادگیری عمیق(Deep Learning) و نرم افزار متلب(matlab) پرداخته است. یکی از مهمترین الگوریتم های یادگیری عمیق، الگوریتم شبکه عصبی CNN نام دارد. در این پروژه با کمک الگوریتم CNN ابتدا فرآیند استخراج ویژگی ها از تصاویر صورت گرفته و سپس با کمک الگوریتم های یادگیری ماشین همچون شبکه عصبی اقدام به طبقه بندی تصاویر نموده ایم.
الگوریتم پایه این مقاله در قسمت ذیل نشان داده شده است که از مجله الزویر می باشد.
Towards Better Exploiting Convolutional Neural Networks for Remote Sensing Scene Classification
مقاله فوق مربوط به سال ۲۰۱۶ می باشد. جهت دانلود این مقاله کافیست که به scholar.google.com مراجعه نموده و با وارد کردن عنوان فوق، این مقاله را دانلود نمایید و در صورت نیاز استفاده نمایید. در قسمت بعد به تشریح توضیحاتی در ارتباط با یادگیری عمیق، شبکه عصبی پرداخته می گردد.
یادگیری عمیق شاخهای از بحث یادگیری ماشین و مجموعهای از الگوریتمهایی است که تلاش میکنند مفاهیم انتزاعی سطح بالا را با استفاده از یادگیری در سطوح و لایههای مختلف مدل کنند. یادگیری عمیق در واقع نگرشی جدید به ایده شبکههای عصبی هست که سالیان زیادی است وجود داشته و هر چند سال یکبار در قالبی جدید خود را نشان میدهد[[i]].
در واقع اولین کارهـای انجام شده در حوزه شـبکههـای عـصبی بـه سـال ۱۹۴۳ برمیگردد، در آن زمـان کـه یـک فیزیولوژیست اعصاب به نام وارِن مککلوچ[۱] و یک ریاضیدان به نام والتر پیـتس[۲][[ii]] از دانـشگاه MIT رسالهشان را درباره نحوه عملکرد احتمالی نورونها منتشر نمودند. در این رساله آنها نشان دادند که میتوان یک شـبکه عصبی را فقط با استفاده از ریاضیات و الگوریتم پیادهسازی نمود. آنها برای توضـیح حدسـشان از نحوه کار نورونها در مغز، مدل سادهای از شبکه عصبی را با مدارهای الکتریکی ساختند. تفـسیر آنها از شبکه عصبی آن بود که از اتـصال مجموعـهای از واحـدهای تـصمیمگیـری بـاینری، میتوان شبکهای با قابلیت حل هر مسئله محاسباتی ایجاد نمود.
البته، شبکههای عصبی نخستین تنها میتوانستند تعداد بسیار اندکی از نورونها را در هر لحظه شبیهسازی کنند، به همین دلیل الگوهایی با پیچیدگی بالا را درک کنند. این شبکهها در طول دهه ۷۰ به حاشیه رفته و کمرنگ شدند. در اواسط دهه هشتاد میلادی، هینتون[۳] و رملهارت[۴] و ویلیامز[۵][[iii]] با استفاده از چیزی که مدلسازی عمیق مینامیدند، توانستند از تعداد زیادی لایههای نورونهای نرمافزاری استفاده بهتری کرده و دوباره آتش اشتیاق به شبکههای عصبی را شعلهور سازند. اما این شیوه هنوز هم احتیاج به حجم عظیمی از دخالت انسانی دارد. برنامهنویسان باید دادهها را پیش از خوراندن به شبکه عصبی برچسبگذاری کنند. همچنین تشخیص گفتارها یا تصاویر پیچیده به توان پردازشی زیادی نیاز داشت که در آن زمان در دسترس نبود.
شبکههای عصبی که در دهه ۱۹۵۰ میلادی و درست اندکی پس از طلوع دوران تحقیقات هوش مصنوعی توسعه یافتند، در ابتدا بسیار امیدوارکننده بودند چراکه تلاش میکردند نحوه کار مغز را هرچند به صورتی بسیار ساده شده شبیهسازی کنند. یک برنامه نقشهای شامل مجموعهای از نورونهای مجازی تهیه کرده و پسازآن مقادیر عددی تصادفی را که به اصطلاح وزن نامیده میشوند، به اتصالات بین آنها نسبت میدهد. این وزنها تعیین میکنند که هر یک از نورونهای شبیهسازی شده چگونه به یک داده دیجیتایز شده واکنش نشان میدهد. این داده میتواند یک لبه یا طیفی از رنگ آبی در یک تصویر باشد یا سطحی خاص از انرژی در یکی از فرکانسهای یک واج از مجموعه واحدهای منفرد صوتی در سیلابهایی که به زبان آورده میشوند. پاسخی که نورون شبیهسازی شده به این دادهها میدهد، یک خروجی ریاضی بین صفر و یک خواهد بود[[iv]]. پسازآن برنامهنویسان با خوراندن نسخههای دیجیتایز شده تصاویر حاوی یک شئ خاص یا موجهای صوتی یک واج مشخص، شبکههای عصبی را تعلیم خواهند داد تا آن شئ یا واج را شناسایی کند. اگر شبکه نتواند الگویی را به درستی تشخیص دهد، الگوریتم وزنهای نسبت داده شده در مرحله نخست را تغییر خواهد داد. هدف نهایی این آموزش دادنها این بود که شبکه عصبی بتواند بدون اشتباه و خطا الگوهایی در موجهای صوتی که مثلاً ما به عنوان تلفظ D میشناسیم یا تصاویر یک سگ را تشخیص دهد. این روش درست همان شیوهای است که کودکان به کمک آن ماهیت یک سگ را میشناسند: توجه به جزئیات شکل سر، رفتارها و شباهت در بافت و شکل پوست و پارس کردن حیواناتی که دیگران به آن “سگ” میگویند[۱۱].
در سال ۱۹۴۹ دونالد هب[۶] کتابی با عنوان “سازماندهی رفتـار” منتـشر نمـود[[v]] و آمـوزش را در شبکههای عصبی(از نظر روانشناسی) معرفی نمود. او در این کتاب به مفاهیم نحوه یادگیری در انسان پرداخته و اشاره نموده است که وقتی نورونی توسط نورونی دیگر که به آن متـصل اسـت تحریک میشود، اتصالشان قویتر میشود و درنتیجه احتمال اینکه این دو نورون دوبـاره تحریـک شوند بیشتر میشود. کتاب هب به وسیله روانشناسان بسیار مورد استفاده قرار گرفت اما متأسفانه مهندسین علاقهای به آن از خود نشان ندادند[۱۲].
در سال ۱۹۵۹ برنارد ویدرو[۷] و مارکین هُف[۸] از استنفورد، دو مدل عصبی بـه نامهای عناصر خطی تطبیقی(ADALINE)[9] و عناصر خطی تطبیقی چندگانه(MADALINE)[10] ساختند[۱۲]. نام این دو مدل از استفاده آنها از عناصـر خطـی تطبیقـی چندگانـه گرفتـه شـده اسـت. ADALINE برای تشخیص الگوهای دودویی ساخته شد بهگونهای کـه بتوانـد بعـد از خوانـدن رشـتهای بیـت جاری در یک خط تلفن، بیت بعدی را پیشبینی کند. MADALINE اولین شبکه عصبی بـود کـه در دنیای واقعی مورد استفاده قرار گرفت. این شبکه یک فیلتر تطبیقی بود که اکوها[۱۱] را در خطوط تلفن حذف میکرد. این شبکه همچنان استفاده تجاری دارد.
ایده این قانون آن بـود که وقتی یک پرسپترون[۱۲] فعال شده دارای خطای بزرگی است و میتوان مقـادیر وزنهـا را طـوری تنظیم کرد که خطا در شبکه یا حداقل پرسپترونهای مجاور توزیع شود. در همین سال، یک زیستشناس اعصاب به نام فرانک رُزنبلات[۱۳] از دانشگاه کُرنـل[۱۴] شروع به کار بر روی پرسپترون نمود[[vi]]. او به کار بر روی سیـستم بینـایی مگـس علاقـهمنـد بـود و عقیده داشت که بیشتر پردازشهایی که مگس برای فرار انجام میدهد در چشمانش اتفاق میافتد. پرسپترونی که از تحقیقات رزنبلات بیرون آمد، به صورت سختافزاری ساخته شد و قدیمیترین شبکه عصبی محسوب میشود که هنوز مورد استفاده قرار میگیرد. پرسپترون تکلایـه بـه عنـوان ابزاری مفید در دستهبندی مجموعهای داده به دو کلاس معرفی گردیـد. رزنـبلات همچنـین بـرای قانون آموزش پرسپترون اثبات پایداری ارائه نمود. توانایی شبکههای عـصبی در تـشخیص الگوهـا بـاور نکردنـی بـود. نتـایج اخیـر، مـوجی از علاقهمندی در دانشمندان ایجاد نمود ولی این علاقه دیری نپایید. در سال ۱۹۶۹، ماروین مینـسکی[۱۵] و سیمور پپرت[۱۶][[vii]] در رسالهشان و کتابی به نام پرسپترونها نشان دادند که شبکه عصبی(تکلایه) در جداسازی مجموعه دادههایی که به صورت غیرخطی جدا پذیرند ضعیف عمـل میکند حتـی در مورد دادههایی که توابع سادهای)مانند XOR) را نمایش میدهند. مینسکی و پپرت ضعفهای دیگری از شبکههای عصبی را نیز نشان دادند. بـه ویـژه آنکـه اگـر تعـداد ورودیهـای شبکه عصبی افزایش یابد، زمان آموزش شبکه به صورت نمایی افزایش مییابد و درنتیجه بر روی کارایی شبکه محدودیت ایجاد میکند. آنها همچنین اظهار داشتند که چندلایه کردن شبکه عـصبی، تأثیری در حل محدودیتهای گفته شده ندارد؛ پرسپترون نشان داده است که با وجود محدودیتهای شدیدش ارزش پژوهش دارد. پرسپترون ویژگـیهـای جـذاب زیـادی دارد: خطـی بـودن آن، تئوری جذاب آموزش آن، سادگی مدل آن که یک نوع پردازش موازی است. دلیلـی وجود ندارد که فرض کنیم هرکدام از این ویژگیها به حالت چندلایه آنهم انتقال مییابد. با این وجود، عقیده داریم که روشن کردن(یا رد کردن) حکم شهودیمـان مبنی بر بینتیجه بودن بسط به سیستم چندلایه، یک مسئله مهم پژوهشی است. آنها در ۱۹۶۹ بهعلاوه، بسیاری از پژوهشگران، از تابع آموزشی(یا تحریک) استفاده میکردند کـه اساساً دارای مشکل بـود چـون در سراسـر خـط مـشتقپـذیر نبـود. درنتیجه ایـن عوامـل، پـژوهش و سرمایهگذاری در زمینه شبکه عصبی بهشدت کاهش یافت. کندی پژوهشها در زمینه شبکه عصبی تا سال ۱۹۸۱ ادامه داشت. تنها اتفاق مهم و قابل ذکـر در این سالها معرفی الگوریتم آموزش پس انتشار خطا توسط پل وربس[۱۷] در سال ۱۹۷۴ بود که کار با مسائل بزرگتر را ممکن میساخت[[viii]].در ایـن الگـوریتم بـه یـک نورون اجـازه داده میشد کـه خطایش را به لایههای تشکیل دهنده شبکه پسانتـشار کنـد. ایـن روش بعـدها و در سـال ۱۹۸۶ توسط دیوید روملهارت، جئوفری هینتون و رونالـد ویلیـامز بـه صـورت کامـلتـری در آمـوزش شبکههای چندلایه و برای جداسازی دادههایی که بهصورت خطی جداپذیر نیستند مـورد اسـتفاده قرار گرفت. البته این روش در کارهای دیوید پـارکر و یـان لـیکـان نیـز آورده شده است. ولی در حقیقت افتخار ابداع این روش به پل وربوس میرسد کـه ایـن روش را در در رساله دکترایش در دانشگاه هاروارد سال ۱۹۷۴ ارائه نموده است.
دهه ۱۹۷۰ همچنین دهـه ظهور نگاشت خـود سـازمانده[۱۸](SOM) بـه وسـیله واندر مالـسبورگ امـاری و گروسبرگ و حافظههای انجمنی توسط کوهونن و اندرسون بوده است. در سال ۱۹۸۲، اتفاقات زیادی موجب علاقه دوبـاره بـه شـبکه عـصبی شـد. جـان هُپفیلـد[۱۹] از کلتک[۲۰] مقالهای در آکادمی ملی علوم ارائه نمود[[ix]]. هدف هُپفیلد ارائه مدل سادهای از مغز نبود بلکـه ایجاد ابزاری با کارایی بیشتر با استفاده از خطوط دو طرفه بین نورونها بود. تا قبل آن، نورونها فقـط در یک مسیر به هم اتصال داشتند. در همان زمان، ریلی[۲۱] و کوپر[۲۲] از یک “شبکه هایبریـد” چندلایـه استفاده کردند که در آن هر لایه استراتژی حل مسئله مختلفی داشت. همچنین در سال ۱۹۸۲، اتفـاق دیگـری نیـز روی داد. کنفرانـسی آمریکـایی-ژاپنـی بـا عنـوان شبکههای عصبی همیاری/رقابتی در کیوتوی ژاپن برگزار شد. ژاپـن اعـلام کـرد کـه نـسل پـنجم محاسبات وارد دوره جدید مبنی بر تلاش بر روی شبکههای عصبی شده است. با انتشار این خبـر مجلات آمریکایی این ترس را ایجاد کردند که ممکن است آمریکـا در ایـن زمینـه عقـب بمانـد و طولی نکشید که سرمایهگذاری و در نتیجه پژوهشهـای بیـشتر در این زمینـه دوبـاره آغـاز شـد؛ در سال ۱۹۸۵ موسسه فیزیک آمریکـا کـاری را شـروع کـرد کـه تبدیل به یـک همـایش سـالانه با عنوان شبکههای عصبی برای محاسبات گردید. در سال ۱۹۸۷، اولین کنفـرانس موسـسه مهندسـین الکتریـک و الکترونیک[۲۳] درباره شبکههای عصبی بیش از ۱۸۰۰ نفـر شرکتکننده داشـت. در سـال ۱۹۸۹، در همایش شبکههای عصبی برای دفاع، برنارد ویـدرو[۲۴][[x]] بـه شـنوندگانی کـه جنـگ جهـانی چهارم ذهنشان را مشغول کرده بود گفت، میـدان جنـگ تجارت جهانی و سازندگی است.
شبکههای عصبی از این شروع مجدد پژوهشها در ابتدای دهه ۹۰ تا بهحال، پیشرفتهای زیادی به چشم دیده است. مدلهای مختلف و روشهای آمـوزش متنـوعی معرفـی و توسـعه داده شـدند و شبکههای عصبی در کاربردهایی نظیر تـشخیص الگـو، تقریـب توابـع و مدلسازی سیستمهای دینامیکی خطی و غیرخطی و… مورد استفاده قرار گرفتهاند.
هرچند در نهایت، در دهه گذشته(۲۰۰۰ تا ۲۰۱۰) میلادی هینتون[۲۵] و دیگر محققان نوآوریهای تأثیرگذاری را در مفاهیم بنیادین این رشته به وجود آوردند. در سال ۲۰۰۶ هینتون راهی کارآمدتر برای تعلیم دادن تک لایههای نورونها ابداع کرد[[xi]]. لایه اول تنها خصوصیات ابتدایی مثلاً یک لبه در یک عکس یا کوچکترین جزء یک گفتار را درک خواهد کرد. این کار با یافتن ترکیبی از پیکسلهای دیجیتایز شده یا موجهای صوتی انجام میشود که تعداد وقوع آنها نسبت به حالت تصادفی و شانسی بیشتر است. زمانی که این لایه یک خصوصیت را به درستی تشخیص داد، این اطلاعات به لایه بعدی خورانده میشود که این لایه هم خود را تعلیم میدهد تا خصوصیات پیچیدهتری نظیر یک گوشه یا ترکیبی از اصوات گفتار را کشف کند. این فرآیند در لایههای بعدی نیز تکرار میشود تا سیستم در نهایت بتواند یک واژه یا شئ نظیر یک گربه را با موفقیت تشخیص دهد[۱۸][[xii]].
در ژوئن سال ۲۰۱۳، گوگل یکی از بزرگترین شبکههای عصبی دنیا را به نمایش گذاشت که بیش از یک میلیارد اتصال در خود داشت. گروهی که توسط اندرو انجی[۲۶] استاد علوم کامپیوتر دانشگاه استنفورد و جف دین[۲۷] از اعضای گوگل هدایت میشد، مجموعهای حاوی ۱۰ میلیون تصویر تصادفی استخراج شده از ویدیوهای یوتیوب را به سیستم خوراندند. یکی از نورونهای شبیهسازی شده روی تصاویر گربهها قفل کرده بود و برخی دیگر از نورونها روی صورت انسانها، گلهای زرد و دیگر اشیا مشابه تمرکز کرده بودند. به لطف قدرت یادگیری عمیق، این سیستم توانست این اشیا متفاوت را بدون این که انسانها آنها را تعریف کرده یا برچسب بزنند، تشخیص دهد. همچنین یادگیری عمیق که مبحثی از یادگیری ماشین است در حال حاضر به یکی از حوزههای تحقیقاتی فعال در زمینه یادگیری ماشین و جامعه تشخیص الگو تبدیل شده است.
منابع و مآخذ:
[ ] Goodfellow, I., Y. Bengio, and A. Courville, Deep learning. 2015, 2016.
[ ] McCulloch, W.S. and W. Pitts, A logical calculus of the ideas immanent in nervous activity. The bulletin of mathematical biophysics, 1943. 5(4): p. 115-133.
[ ] Rumelhart, D.E., G.E. Hinton, and R.J. Williams, Learning internal representations by error propagation. 1985, DTIC Document.
[ ] Papert, M.M.a.S.A., http://www.andreykurenkov.com/writing/a-brief-history-of-neural-nets-and-deep-learning-part-2/. 1969.
[ ] Hebb, D.O., The organization of behavior: A neuropsychological theory. 2005: Psychology Press.
[ ] Rosenblatt, F., Principles of neurodynamics: perceptrons and the theory of brain mechanisms. Report (Cornell Aeronautical Laboratory). 1962, Spartan Books.
[ ] Papert, M.M.a.S.A., Perceptrons, Expanded Edition, An Introduction to Computational Geometry. 1969.
[ ] P. Werbos, Beyond regression: New tools for prediction and analysis in the behavioral sciences,. Ph.D. dissertation, Committee on Appl. Math., Haivard Univ., Cambridge, MA, Nov, 1974.
[ ] Hopfield, J.J., Neural networks and physical systems with emergent collective computational abilities. 1982.
[ ] Widrow, B. and M.A. Lehr, 30 years of adaptive neural networks: perceptron, madaline, and backpropagation. Proceedings of the IEEE, 1990. 78(9): p. 1415-1442.
[ ] Hinton, G.E. and R.R. Salakhutdinov, Reducing the dimensionality of data with neural networks. Science, 2006. 313(5786): p. 504-507.
[ ] Hinton, G.E., S. Osindero, and Y.-W. Teh, A fast learning algorithm for deep belief nets. Neural computation, 2006. 18(7): p. 1527-1554.
امکانات پروژه تصاویر با استفاده از یادگیری عمیق(Deep Learning):
برخی از مهمترین امکانات این پروژه عبارتند از:
- دانلود سورس پروژه
- دانلود داکیومنتی از کدهای نوشته شده همراه با توضیحات مربوطه
- ارائه لینک دانلود دیتاست ها استفاده شده
- مقاله پایه دارای یک ترجمه هست که به قیمت ۲۹ هزار تومان به فروش میرسد. در صورت نیاز می توانید از قسمت پرداخت آنلاین، خرید را انجام داده و از پشتیبانی بخواهید تا ترجمه را برایتان ارسال نمایند.
در قسمت زیر پاورقی های استفاده شده در متن نشان داده شده است.
[۱] McCulloch
[۲] Pitts
[۳] Hinton
[۴] Rumelhart
[۵] Williams
[۶] Hebb
[۷] Widrow
[۸] Hoff
[۹] Adaptive Linear Elements
[۱۰] Multiple Adaptive Linear Elements
[۱۱]Echos
[۱۲] Perceptron
[۱۳] Rosenblatt
[۱۴] Cornell
[۱۵] Minsky
[۱۶] Papert
[۱۷] Werbos
[۱۸] Self-organization map
[۱۹] Hopfield
[۲۰] Coltech
[۲۱] Riley
[۲۲] Cooper
[۲۳] IEEE
[۲۴] Widrow
[۲۵] Hinton
[۲۶] Andrew Ng
[۲۷] Jeff Dean
- لینک دانلود فایل بلافاصله پس از پرداخت وجه نمایش داده می شود.
- همچنین لینک دانلود به ایمیل شما ارسال خواهد شد به همین دلیل ایمیل خود را به دقت وارد نمایید.
- ممکن است ایمیل ارسالی به پوشه اسپم یا Bulk ایمیل شما ارسال شده باشد.
- در صورتی که به هر دلیلی موفق به دانلود فایل مورد نظر نشدید کافیست به ایمیل سایت درخواستتان را ارسال نمایید.
- حدود 90% از پروژه ها دارای داکیومنت و فیلم آموزشی می باشند.
سلام
من در زمینه تولید محتوی ، بازاریابی و تبلیغات اینترنتی فعالیت می کنم
یادتون باشه که یکی از عوامل مهمی که باعث میشه مطالب سایتتون زیاد بازدید بشه عنوان مطالبتونه
اگه عنوان مطالبتون خوب و جذاب باشه قطعا روی لینک سایتتون بیشتر کلیک میکنن و درنتیجه اعتبار بیشتری پیش گوگل پیدا می کنین و طبعا گوگل هم شما رو به خیلیای دیگه معرفی میکنه
ولی فکر کردن در مورد ساختن یه عنوان خوب و موثر وقت زیادی رو از آدم میگیره و کار خیلی ساده ای نیست
ممنونم از سایت بسیار عالی شما
با سلام تشکر از شما دوست عزیز
انشالله که بتونیم نمونه پروژه های بیشتری را برای شما آماده کنیم.
موفق باشید