شناسایی خودکار حالت‌های مختلف بیماری صرع از سیگنال EEG با استفاده از شبکه‌های یادگیری عمیق

نویسندگان

1 دانشجوی دکتری، دانشکده مهندسی برق و کامپیوتر - دانشگاه تبریز - تبریز - ایران

2 گروه مهندسی پزشکی، دانشکده مهندسی برق و کامپیوتر، دانشگاه تبریز، تبریز، ایران

3 دانشجوی دکتری، دانشکده مهندسی مکانیک - دانشگاه تبریز - تبریز - ایران

10.22108/isee.2020.115532.1192

چکیده

استفاده از روشی هوشمند برای تشخیص خودکار مراحل مختلف صرعی در کاربردهای پزشکی، برای کاهش حجم کار پزشکان در تجزیه‌وتحلیل داده‌های صرع با بازرسی بصری، یکی از چالش‌های مهم در سال‌های اخیر محسوب می‌شود. یکی از مشکلات شناسایی خودکار مراحل مختلف صرعی، استخراج ویژگی‌های مطلوب است؛ به‌گونه‌ای که این ویژگی‌ها بتوانند بیشترین تمایز را بین مراحل مختلف صرعی ایجاد کنند. فرآیند یافتن ویژگی‌های مناسب، عموماً امری زمان‌بر است. این پژوهش، رویکرد جدیدی را برای شناسایی خودکار مراحل مختلف صرعی ارائه می‌دهد. در این مقاله، یک شبکۀ کانولوشنال عمیق با
8 لایۀ کانولوشن و 2 لایۀ تماماً متصل برای یادگیری ویژگی‌ها به‌صورت سلسله‌مراتبی و شناسایی خودکار مراحل مختلف صرعی با استفاده از سیگنال EEG ارائه می‌شود. نتایج نشان می‌دهند استفاده از یادگیری عمیق در کاربردهایی همچون یادگیری ویژگی به‌صورت سلسله‌مراتبی و شناسایی مراحل مختلف صرعی، درصد موفقیت بالاتری نسبت به سایر روش‌های مشابه دارد. مدل پیشنهادی ارائه‌شده در این مقاله برای طبقه‌بندی 3 حالت مختلف صرعی، مقدار 100% را دربارۀ معیارهای صحت، حساسیت و اختصاصیت فراهم می‌کند.

کلیدواژه‌ها


عنوان مقاله [English]

Automatic Detection of Various Epileptic Seizures from EEG Signal Using Deep Learning Networks

نویسندگان [English]

  • Sobhan Sheykhivand 1
  • Saeed Meshgini 2
  • Zohreh Mousavi 3
1 PhD Student, Faculty of Electrical and Computer Engineering, University of Tabriz, Tabriz, Iran
2 Department of Biomedical Engineering, Faculty of Electrical and Computer Engineering, University of Tabriz, Tabriz, Iran
3 PhD Student, Department of Mechanical Engineering, University of Tabriz, Tabriz, Iran
چکیده [English]

Using an intelligent method to automatically detect epileptic seizures in medical applications is one of the most important challenges in recent years to reduce the workload of doctors in the analysis of epilepsy data through visual inspection. One of the problems of automatic detection of various epileptic seizures is the extraction of desirable characteristics, in such a way that these characteristics can make the most distinction between different phases of epilepsy. The process of finding the right features is usually a matter of time. This research presents a new approach for the automatic identification of epileptic episodes. In this paper, a deep convolutional network with eight convolutional layers and two fully-connected layers is provided to learn the characteristics hierarchically and automatically identify epileptic episodes using the EEG signal. The results show that the use of deep learning in applications such as learning characteristics hierarchically and identification of different stages of epilepsy has a higher success rate than other previous methods. The proposed model presented in this paper provides an average of 100% accuracy, sensitivity and specificity for the classification of three different epileptic seizures.

کلیدواژه‌ها [English]

  • EEG
  • Automatic detection of various epileptic seizures
  • Convulsion Neural Network
  • Seizure

1- مقدمه[1]

با توجه به گزارش‌های سازمان سلامت جهانی، نزدیک به 50 میلیون نفر از بیماری صرع[1] در سراسر جهان رنج می‌برند [1]. صرع، دومین اختلال مغزی شایع (بعد از سکتۀ مغزی) است که با وقوع غیرمنتظرۀ تشنج مشخص می‌شود [1]. در این بیماری، سلول‌های عصبی در زمانی محدود با ایجاد سیگنالی به‌طور غیرطبیعی، سبب ایجاد رفتارهای غیرعادی، تشنج و از دست دادن هوشیاری می‌شوند [2]. تشخیص صحیح و به‌موقع صرع برای شروع استفاده از داروهای کنترل‌کنندۀ صرع و کاهش ریسک ابتلا به این بیماری، امری ضروری است [3]. در حال حاضر، تشخیص صرع با آزمایش‌های نورولوژی و آزمایش‌های کمکی مثل تصاویر مغزی و [2]EEG حاصل می‌شود. سیگنال‌های EEG می‌توانند ناهنجاری‌های مربوط به صرع inter-ictal و ictal را تشخیص دهند [4]. به‌طور معمول، نورون‌ها[3] ازطریق سیگنال‌های الکتریکی با هم در تماس‌اند؛ بنابراین، در فعالیت مغزی افراد عادی، این سیگنال‌های الکتریکی به‌طور نرمال تنظیم شده‌اند؛ درحالی‌که در حین صرع، یک فعالیت الکتریکی غیرطبیعی در شبکۀ عصبی شکل می‌گیرد که این فعالیت الکتریکی افزاینده، در یک محل باقی می‌ماند یا در کل سطح قشر مغز گسترش می‌یابد.

به‌طور سنتی، شناسایی ناهنجاری‌های صرعی با بازرسی پزشک متخصص اعصاب انجام می‌گیرد. تفسیر سیگنال‌های EEG با استفاده از ارزیابی شهودی، زمان‌بر و خسته‌کننده است و نتایج حاصل‌شده، متغیر و محدود به سطح دانش و تخصص پزشک مربوطه خواهد بود. همچنین داروهای ضد صرع دارای محدودیت‌اند و در 30% بیماران، به کنترل تشنجات قادر نخواهند بود [3]؛ بنابراین، ضروری است سیستم خودکار تشخیص کامپیوتری طراحی شود تا به‌طور خودکار، حالت‌های صرعی را از سیگنال EEG با استفاده از تکنیک‌های یادگیری ماشین تشخیص دهد. ﺍﻳﻦ سیستم، ﻋﻼﻭﻩ بر کمک به ﭘﺰﺷﮏ مربوطه در تشخیص بیماری، سبب ﺩﺭﮎ و آشکارسازی ﻣﮑﺎﻧﻴﺰﻡ‌ﻫﺎی ﻧﻬﻔﺘﻪ ﺩﺭ ﺑﻴﻤﺎﺭ خواهد شد.

مراحل مختلفی برای تشنج صرعی (فعالیت‌های مغزی فرد مبتلا به صرع) وجود دارد که در فرآیند پیش‌بینی این تشنجات نقش عمده‌ای دارند. پژوهش‌های پیشین نشان می‌دهند فرآیند تشنج به چهار مرحله interictal (فاصلۀ بین تشنج‌ها) حالت preictal (پیش از تشنج)، ictal (حین تشنج) و حالت postictal تقسیم می‌شود. شواهد نشان می‌دهد تشنج‌ها از حالت شناسایی‌شدۀ مغز به نام preictal به وجود می‌آیند که پیش‌بینی تشنج‌ها، تمایز قائل شدن بین حالت‌های preictal و interictal است [4 و 5].

اکنون، مطالعات اخیر انجام‌شده در حوزۀ شناسایی خودکار تشنجات صرعی بررسی می‌شود. پارک و همکاران [6] با استخراج چگالی طیف توان[4] سیگنال و با استفاده از طبقه‌بند ماشین بردار پشتیبان[5] (SVM) حساس به هزینه، به طبقه‌بندی حالت‌های interictal و preictal تشنج پرداختند. آنها ثابت کردند طیف‌های توان در باند
high gamma بیشترین تمایز را بین حالت interictal و preictal دارند. الگوریتم پیشنهاد‌شدۀ آنها دارای حساسیت 97% بود. پنگ و همکاران [7] چند الگوریتم برای پیش‌بینی تشنج روی دو نمونۀ انسانی و پنج نمونۀ حیوانی مربوط ارائه کردند. ویژگی‌های استخراج‌شده از تمامی کانال‌های سیگنال EEG، شامل آنتروپی شانون[6] در 46 باند فرکانسی با استفاده از پنجره‌های 60 ثانیه‌ای با همپوشانی 50% بود. آنها‌ از طبقه‌بندهای Logistic Regression، lasso LR، SVM با هسته‌های [7]RBF و [8]KNN به‌منظور طبقه‌بندی حالت‌های صرعی استفاده کردند. نتیجۀ پژوهش آنها نشان داد طبقه‌بند SVM (برای نمونۀ حیوانی) و طبقه‌بند
lasso LR (برای نمونۀ انسانی) بهترین عملکرد را برای طبقه‌بندی حالت‌های مختلف صرعی (با صحت % 2/97، حساسیت %5/81 و دقت %9/90 برای نمونۀ حیوانی و صحت %4/95، حساسیت 90% و دقت %8/93 برای نمونۀ انسانی) ارائه می‌دهد. ژانگ و همکاران [2] از ویژگی‌های طیف توان شامل طیف توان نسبی[9]، نسبت طیف توان[10] و ضرایب همبستگی متقابل[11] بین تمام جفت الکترودها به‌عنوان دو مجموعۀ مستقل از ویژگی‌ها استفاده کردند. آنها فیلتر کالمن[12] مرتبه 2 را به‌منظور مرتب‌سازی ویژگی‌های انتخاب‌شده استفاده کردند. همچنین، از 3 طبقه‌بند شامل AdaBoost، SVM با استفاده از هسته RBF و شبکه‌های عصبی مصنوعی[13] به‌منظور طبقه‌بندی حالت‌های مختلف صرعی استفاده کردند. بهترین نتایج طبقه‌بندی در این پژوهش با حساسیت 100% و میانگین نرخ کاذب 0324/0 گزاش شده است. ترونگو و همکاران [8] از شبکه‌های یادگیری عمیق[14] روی داده‌های EEG و با استفاده از پنجره‌های 30 ثانیه‌ای با همپوشانی 50% به‌منظور استخراج ویژگی بهره بردند و درنهایت، حساسیت آنها با تعداد 6 کانال، %1/89 گزارش شد. شارما و همکاران [9] با استفاده از تبدیل موجک تحلیل فرکانس تحلیلی[15] و محاسبۀ ابعاد فراکتال[16] به جداسازی حالت‌های preictal و interictal پرداختند. صحت روش آنها براساس طبقه‌بند LS-SVM، %5/98 گزارش شده است. آچاریا و همکاران [10] با استفاده از شبکه‌های یادگیری عمیق و با به‌کارگیری 10 لایه کانولوشنال و 3 لایۀ تماماً متصل، به جداسازی خودکار مراحل preictal، interictal و نرمال پرداختند. روش پیشنهادی آنها دارای صحت 88% و حساسیت 95% گزارش شده است.

چالش عمده در الگوریتم‌های شناسایی خودکار تشنجات صرعی، انتخاب ویژگی‌ متمایزکنندۀ مراحل مختلف صرعی از یکدیگر است. در بیشتر مطالعات پیشین برای شناسایی خودکار تشنجات صرعی از روش‌های مرسوم آماری و پردازشی، ویژگی‌هایی استخراج‌شده و سپس با روش‌های کاهش ویژگی، ویژگی‌های مطلوب و بهینه انتخاب می‌شدند. استخراج این ویژگی‌ها به‌صورت غیرخودکار در طبقه‌بندی مراحل مختلف تشنجات صرعی، باعث پیچیدگی بار محاسباتی الگوریتم خواهد شد. همچنین، ویژگی‌های مطلوب و بهینه در یک مسئله ممکن است برای مسئله‌ای دیگر، ویژگی بهینه‌ای محسوب نشود؛ بنابراین، استفاده از روشی ضروری است که ویژگی‌های مناسب را بسته به نوع مسئله و داده یاد بگیرد. این مسئله نکتۀ کلیدی این پژوهش است. در این مقاله، سامانۀ تماماً خودکار دسته‌بندی برای شناسایی خودکار حالت‌های مختلف یک تشنج صرعی، با صحت و سرعت پیش‌بینی بالا، با استفاده از سیگنال‌های EEG بر مبنای یادگیری عمیق و شبکۀ عصبی کانولوشنال طراحی شد تا سیگنال خام اولیه را به‌منظور یادگیری ویژگی‌ها و شناسایی خودکار مراحل مختلف تشنجات صرعی پردازش کند. این پژوهش مبتنی بر 3 حالت تشنجات صرعی شامل حالت preictal، ictal و نرمال است.

ادامة مقاله به‌صورت زیر تدوین شده است. در بخش 2 داده‌های آزمایشی، بررسی و شبکۀ عصبی مصنوعی تجزیه‌وتحلیل می‌شوند. سپس شبکۀ عصبی کانولوشنال توضیح داده می‌شود. در بخش 3، معماری شبکۀ روش پیشنهادی ارائه می‌شود. در بخش 4، نتایج شبیه‌سازی و مقایسه با پژوهش‌های پیشین بررسی می‌شوند. درنهایت، بخش 5 مربوط به نتیجه‌گیری است.

2- مواد و روش‌ها

2-1- مجموعۀ داده‌های EEG

ثبت دادۀ استفاده‌شده برای آزمایش و ارزیابی، مربوط به دانشگاه بُن آلمان بوده است [11]. مجموعۀ داده به‌کاررفته شامل 3 گروه داده یعنی مجموعۀ B مربوط به حالت نرمال از 5 فرد سالم، مجموعۀ D مربوط به حالت preictal از 5 فرد مبتلا به صرع و مجموعۀ E مربوط به حالت interictal از 5 فرد در حین تشنج است. به‌طور کلی، هر گروه داده (B، D و E) شامل 100 ایپاک با فرکانس نمونه‌برداری 6/173 هرتز با طول 6/23 ثانیه است.

2-2- شبکه‌های عصبی مصنوعی (ANN)

به‌طور کلی، ANN دارای سه لایه است: لایۀ ورودی، لایۀ پنهان و لایۀ خروجی. شکل (1) یک ANN را نشان می‌دهد [12]. با توجه به شکل (1)، شبکه از تعدادی واحد پردازشی به نام نورون یا گره در چندین لایۀ مختلف ساخته شده است. نورون‌های موجود در هر لایه، باهم هیچ‌گونه ارتباطی ندارند. به‌منظور حل مسئله با مدل شبکۀ عصبی، نیاز است وزن‌های مناسب برای هر لایه تعیین شوند. پس از تعیین پارامترهای مدل مانند نرخ یادگیری، تعداد لایه‌های پنهان، تعداد نورون‌های هر لایه و تابع فعال‌ساز، وزن‌های بهینۀ مرتبط با هر لایه به کمک دادگان آموزش، محاسبه و درنهایت، شبکه با دادگان آزمایش ارزیابی می‌شود؛ بااین‌حال، مدل ANN حساس به تغییر و اعوجاج است که ممکن است به صحت طبقه‌بندی ضعیف منجر شود [13].

 

 

شکل (1): شمایی از لایۀ ورودی، لایۀ پنهان و لایۀ خروجی شبکۀ عصبی مصنوعی

2-3- شبکه‌های عصبی کانولوشن

شبکۀ عصبی کانولوشنال، شبکۀ عصبی بهبودیافته است. در این شبکه، چندین لایه با روشی قدرتمند در کنار هم آموزش می‌بینند [14]. این روش، بسیار کارآمد بوده و یکی از رایج‌ترین روش‌ها در کاربردهای مختلف بینایی ماشین است. همانند ANN، تصمیم خروجی نهایی مدل CNN براساس وزن و بایاس لایه‌های قبلی در ساختار شبکه است.

در هر شبکۀ عصبی کانولوشنال، دو مرحله برای آموزش وجود دارد؛ مرحلۀ انتشار پیشرو[17] و مرحلۀ پس‌انتشار [18](BP) [15] BP .روشی برای محاسبۀ گرادیان تابع اتلاف نسبت به وزن‌ها است. BP سیگنال‌های خطا را در شبکه در حین آموزش پس می‌زند و باعث به‌روزرسانی وزن‌ها می‌شود. در مرحلۀ نخست، داده‌های ورودی به شبکه اعمال می‌شوند و این عمل چیزی جز ضرب نقطه‌ای بین ورودی و پارامترهای هر نورون و درنهایت، اعمال عملیات کانولوشن در هر لایه نیست و درنهایت، خروجی شبکه محاسبه می‌شود. به‌منظور تنظیم پارامترهای شبکه یا به ‌عبارت‌ دیگر، آموزش شبکه، ازنتیجۀ خروجی برای محاسبۀ میزان خطای شبکه استفاده می‌شود. برای این کار، خروجی شبکه با استفاده از یک تابع خطا[19] با پاسخ صحیح، مقایسه و به این‌ ترتیب، میزان خطا محاسبه می‌شود. در مرحلۀ بعد، براساس میزان خطای محاسبه‌شده، مرحلۀ پس‌انتشار آغاز می‌شود. در این مرحله، گرادیانت هر پارامتر با توجه به قاعدۀ زنجیره‌ای محاسبه می‌شود و تمامی پارامترها با توجه به تأثیر آنها بر خطای ایجادشده در شبکه به‌روزرسانی می‌شوند. بعد از به‌روزرسانی پارامترها، مرحلۀ بعدی انتشار پیشرو آغاز خواهد شد. بعد از تکرار تعداد مناسبی از این مراحل، آموزش شبکه به پایان می‌رسد. در این شبکه، خروجی هر لایه همان ویژگی‌هایی هستند که بعد کمتری نسبت به دادۀ اصلی دارند.

به‌طور کلی، یک شبکۀ کانولوشنال از سه لایۀ اصلی تشکیل می‌شود که عبارت‌اند از: لایۀ کانولوشن، لایۀ ادغام[20] و لایۀ تمام متصل[21] (FC) [14]. برای جلوگیری از فرآیند بیش‌برازش[22]‌‌ و بهبود عملکرد شبکه از لایه‌های حذف تصادفی[23] و نرمال‌سازی دسته‌ای[24] نیز استفاده می‌شود. همچنین در شبکه‌های عصبی نیاز است پس از هر لایه از تابع فعال‌سازی‌‌ استفاده شود که در ادامه، این لایه‌ها و توابع به‌اجمال معرفی می‌شوند.

لایۀ کانولوشن: شامل فیلترهایی (کرنل‌هایی) است که روی سیگنال EEG می‌لغزند. یک کرنل، یک ماتریس است که با سیگنال ورودی EEG کانوالو می‌شود. این لایه، عمل کانولوشن را روی سیگنال EEG ورودی با استفاده از کرنل انجام می‌دهد. خروجی کانولوشن را نگاشت ویژگی می‌نامند. عملگر کانولوشن به شرح زیر است:

(1)

 

که x سیگنال، h فیلتر، N تعداد عناصر در x و y بردار خروجی است.

لایۀ ادغام: این لایه به کاهش نمونه[25] هم معروف است و ابعاد نورون‌های خروجی از لایۀ کانولوشن را کاهش می‌دهد و باعث کاهش محاسبات و همچنین جلوگیری از پدیدۀ بیش‌برازش می‌شود. در این پژوهش، از لایۀ ادغام بیشینه[26] استفاده شده است که فقط مقادیر بیشینه در هر نگاشت ویژگی را انتخاب کرده و باعث کاهش تعداد نورون‌های خروجی شده است.

لایۀ FC: دارای اتصال کامل به تمام فعال‌سازی‌ها در لایۀ قبلی است.

لایۀ حذف تصادفی: از این لایه به‌منظور جلوگیری از پدیدۀ بیش‌برازش استفاده می‌شود [15]. نحوۀ کار آن به این صورت است که در هر مرحله از آموزش، هر نورون با احتمالی از شبکه بیرون انداخته می‌شود؛ به‌طوری‌که درنهایت یک شبکه کاهش‌داده‌شده باقی می‌ماند.

لایۀ نرمال‌سازی دسته‌ای: این لایه به‌منظور نرمال‌سازی داده‌ها در داخل شبکه انجام می‌شود [16]. زمانی که محاسبات مختلف روی ‌دادۀ ورودی اعمال ‌شود، توزیع داده‌ها تغییر پیدا خواهد کرد. این لایه با هدف کاهش تغییر کوواریانس داخلی، سرعت آموزش شبکه را افزایش و باعث تسریع در همگرایی می‌شود. تبدیل لایۀ نرمال‌سازی دسته‌ای به شرح زیر است:

(2)

 

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

تابع فعال‌سازی: پس از هر لایۀ کانولوشن، یک تابع فعال‌سازی اعمال می‌شود. تابع فعال‌سازی یک عملگر است که خروجی را به مجموعه‌ای از ورودی‌ها نگاشت می‌کند و برای غیرخطی کردن ساختار شبکه استفاده می‌شود [12]. در این پژوهش از Relu به‌عنوان فعال‌سازی در لایه‌های کانولوشن استفاده شد و این ویژگی را دارد که غیرخطی بودن و تنکی را به ساختار شبکه اعمال کند؛ بنابراین، در برابر تغییرات جزئی در ورودی مقاوم است. رابطۀ 3 تابع Relu را نشان می‌دهد.

(3)

 

تابع سافت مکس[27]: این تابع توزیع احتمالی کلاس‌های خروجی را محاسبه می‌کند؛ بنابراین، در لایۀ تمام متصل آخر از تابع سافت‌مکس برای پیش‌بینی اینکه کدام سیگنال ورودی به سالم، preictal و ictal مربوط است، استفاده می‌شود و رابطۀ آن به فرم زیر است:

(4)

 

که در آن، x ورودی شبکه است و مقادیر خروجی p بین صفر و یک بوده که مجموع آنها برابر با یک است.

3- روش پیشنهادی

در این بخش، روش پشنهادی مقاله ارائه می‌شود. شکل (2) ساختار کلی روش پیشنهادی را نشان می‌دهد.

3-1- معماری شبکه

برای پیاده‌سازی شبکۀ کانولوشنال از کتابخانۀ کراس در زبان برنامه‌نویسی پایتون استفاه شده است. معماری شبکۀ عصبی عمیق نیز به‌صورت زیر انتخاب شده است: (۱) یک لایۀ کانولوشن با تابع غیرخطی Relu همراه با Dropout و BN، سپس یک لایۀ ادغام max-pooling اضافه می‌شود؛ (2) معماری مرحلۀ قبل، 7 بار دیگر تکرار می‌شود؛ (۳) خروجی معماری قبلی به یک ماتریس دو بعدی متصل می‌شود؛ (۴) دو لایۀ تمام متصل برای دسترسی به لایۀ خروجی استفاده می‌شود. درمجموع 84803 پارامتر در این شبکه وجود دارد. در این معماری، در لایۀ اول از فیلتر با اندازۀ بزرگ (1×128) و در لایه‌های بعدی، فیلترهایی با اندازۀ کوچک‌تر (1×3) به‌ کار گرفته شده است. استفاده از فیلتر با اندازۀ بزرگ در لایۀ اول در مقایسه با فیلتر با اندازه کوچک، بهتر می‌تواند نویزهای فرکانس بالا را از بین ببرد. استفاده از فیلترها با اندازۀ کوچک در لایه‌های بعدی کانولوشن باعث بازنمایی بهتری از سیگنال ورودی می‌شود و درنتیجه، عملکرد شبکه را بهبود می‌بخشد. برای لایۀ اول کانولوشن از گام 8 و برای بقیۀ لایه‌های کانولوشن گام 1 و برای لایه‌های ادغام بیشینه گام 2 در نظر گرفته ‌شده است. جدول (1) جزئیات معماری شبکۀ کانولوشنال پیشنهادی به‌کاررفته را نشان می‌دهد. طبق جدول (1) کاهش بعد در لایه‌های پنهان از 4097 (تعداد ویژگی‌های اولیه زمانی) به 128 ادامه می‌یابد و درنهایت، بردار ویژگی انتخاب‌شده به دو لایۀ تمام متصل با تابع غیرخطی Relu و Softmax برای شناسایی خودکار مراحل مختلف صرعی استفاده می‌شود. شکل (3) معماری شبکۀ پیشنهادی را نشان می‌دهد.

3-1-1- آموزش شبکۀ عمیق پیشنهادی

برای تعیین ابر پارامترهای شبکۀ پیشنهادی از روش سعی و خطا استفاده شده است و درنهایت، تابع هدف کراس آنتروپی[28] و بهینه‌کنندۀ آدام[29] با نرخ یادگیری 001/0 انتخاب شده‌اند. روش مرسوم پس‌انتشار خطا با اندازۀ دسته‌ای 10 برای آموزش شبکه استفاده شده است. تعداد کل ایپاک‌های 6/23 ثانیه‌ای به‌کاررفته در این مقاله،
300 ایپاک است که 90% ایپاک‌ها (270) به‌عنوان مجموعۀ آموزشی و 10% ایپاک‌ها به‌عنوان مجموعه ارزیابی استفاده شده‌‌اند.

 

 

 

شکل (2): فلوچارت کلی الگوریتم پیشنهادی

جدول (1): جزئیات اندازۀ لایه‌های شبکۀ کانولوشنال

Padding

Output value

Number of filter

Size and filter steps

Layer type

Number

yes

750×16

16

8×1/4×1

Convolution1

1

no

375×16

16

2×1/2×1

Pooling1

2

yes

375×32

32

3×1/2×1

Convolution2

3

no

187×32

32

2×1/2×1

Pooling2

4

yes

187×64

64

3×1/1×1

Convolution3

5

no

93×64

64

2×1/2×1

Pooling3

6

yes

93×64

64

3×1/1×1

Convolution4

7

no

46×64

64

2×1/2×1

Pooling4

8

yes

46×64

64

3×1/1×1

Convolution5

9

no

23×64

64

2×1/2×1

Pooling5

10

yes

23×64

64

3×1/1×1

Convolution6

11

no

11×64

64

2×1/2×1

Pooling6

12

yes

11×64

64

3×1/1×1

Convolution7

13

no

5×64

64

2×1/2×1

Pooling7

14

yes

5×64

64

3×1/1×1

Convolution8

15

no

2×64

64

2×1/2×1

Pooling8

16

yes

2×64

64

3×1/1×1

Convolution9

17

no

1×64

64

2×1/2×1

Pooling9

18

 

100

1

100

Fully-connected

19

 

6

1

6

Softmax

20

 

 

 

شکل (3): معماری شبکۀ پیشنهادی برای طبقه‌بندی مراحل مختلف حالت‌های صرعی

 

شکل (4): تخصیص داده در الگوریتم پیشنهادی

 

 

3-1-2- ارزیابی شبکۀ پیشنهادی

بعد از آموزش شبکۀ پیشنهادی، ارزیابی مدل پیشنهادی با استفاده از 10% از کل داده‌ها صورت می‌گیرد. شکل (4) تخصیص دادۀ سیگنال EEG استفاده‌شده در این مقاله را نشان می‌دهد.

4- بررسی نتایج

مشخصات رایانۀ استفاده‌شده در این مقاله، اینتل
Core (TM) i5-3470، پردازندة 6/1 گیگاهرتز و رم 8 گیگابایت است. شکل (5) نمودار خطا را نشان می‌دهد. طبق شکل (5)، خطای شبکه از 5 به حدود 0 کاهش یافته است. شکل (6) صحت روش پیشنهادی را برای 200 تکرار نشان می‌دهد. مطابق شکل (6)، مشاهده می‌شود صحت روش پیشنهادی برای دسته‌بندی خودکار مراحل مختلف صرعی از ایپاک 140 به بعد به مقدار ثابت 100% است. شکل (7) نمودار پراکندگی مراحل مختلف صرعی را در لایه‌های کانولوشن نشان می‌دهد. نمودار پراکندگی
شکل (7) نشان می‌دهد معماری پیشنهادی در راستای طبقه‌بندی داده‌های صرعی، کارآمد بوده است. همچنین عملکرد روش پیشنهادی به‌طور جداگانه برای طبقه‌بندی 3 حالت مختلف صرع در جدول (2) مشاهده می‌شود. طبق جدول (2)، ماتریس درهم‌ریختگی روش پیشنهادی برای
3- کلاس مراحل مختلف صرعی براساس معیار ارزیابی 10-fold گزارش شده است. جدول (3)، مقادیر صحت، حساسیت و اختصاصیت روش‌های مختلفی را نشان می‌دهد که از مجموعه داده Bon-University استفاده کرده‌اند. با توجه به جدول (3)، تمامی مقادیر گزارش‌شده برای روش پیشنهادی، ضریب صحت، حساسیت و اختصاصیت 100% را ارائه می‌دهند. همچنین، طبق جدول (3)، باتوجه به صحت پژوهش‌های [10] و [18] برای طبقه‌بندی مراحل صرعی که به‌ترتیب %88 و %99 هستند، صحت روش پیشنهادی %100 است. درمجموع، نتیجه گرفته می‌شود عملکرد روش پیشنهادی این مقاله از لحاظ اعتبار و قابلیت اطمینان، امیدوارکننده است.

 

 

 

شکل (5): خطای الگوریتم پیشنهادی برای 200 تکرار

 

شکل (6): صحت الگوریتم پیشنهادی برای 200 تکرار

جدول (2): ماتریس درهم‌ریختگی برای دادۀ آزمون

Ictal

Preictal

Normal

 

0

0

100

Normal

0

100

0

Preictal

100

0

0

Ictal

 

جدول (3): عملکرد الگوریتم پیشنهادی در مقایسه با پژوهش‌های پیشین در مجموعه دادۀ خواب پایگاه Sleep-EDF

الگوریتم‌های مختلف

روش

طبقه‌بند

حساسیت

صحت

اختصاصیت

Trung et al. [1]

CNN

CNN

81%

-

-

Zhang et al. [2]

RLS

ANN

-

-

9/97%

Bhattavharyya et al. [17]

Tunable Q-factor WT

SVM

-

6/86%

-

Bhattavharyya et al. [18]

EMD

RF

9/97%

4/99%

-

Sharma et al. [9]

WT

LS-SVM

100%

-

-

Acharya et al. [10]

CNN

CNN

95%

8/88%

90%

روش پیشنهادی

CNN

CNN

100%

100%

100%

 

   
   
 

شکل (7): نمودار پراکندگی نمونه‌ها در لایه‌های شبکۀ کانولوشن برای مراحل مختلف صرعی براساس معیار 10-fold

 


5- نتیجه‌گیری

در این مقاله، شناسایی خودکار مراحل مختلف صرعی با استفاده از یادگیری عمیق ارائه شد. در روش پیشنهادی، از سیگنال EEG برای تفکیک کلاس‌ها از یکدیگر استفاده شد. در این پژوهش، ویژگی‌ها به‌صورت سلسله‌مراتبی با استفاده از شبکۀ کانولوشنال پیشنهادی استخراج شدند. نتایج نشان دادند مدل پیشنهادی، ویژگی‌هایی را انتخاب می‌کند که بیشترین تمایز را در بین کلاس‌ها ایجاد می‌کند. نتایج الگوریتم برای طبقه‌بندی 3- کلاس حالت‌های مختلف صرعی، ضرایب صحت، حساسیت و اختصاصیت %100 را ارائه می‌دهد. باتوجه به بالابودن صحت الگوریتم، می‌توان از آن برای تشخیص خودکار مراحل مختلف صرعی برای داده‌های حجیم EEG استفاده ‌‌کرد.



[1] تاریخ ارسال مقاله: 20/11/1397

تاریخ پذیرش مقاله: 19/12/1398

نام نویسندۀ مسئول: سعید مشگینی

نشانی نویسندۀ مسئول: ایران - تبریز - دانشگاه تبریز - دانشکده مهندسی برق و کامپیوتر - گروه مهندسی پزشکی



[1] Epilepsy

[2] Neuron

[3] Electroencephalogram

[4] Power Spectral Density

[5] Support Vector Machine

[6] Shannon Entropy

[7] Radial Basis Functions

[8] K Nearest Neighbor

[9] Relative Power Spectrum

[10] Power Spectrum Ratio

[11] Mutual Correlation

[12] Kalman Filter

[13] Artificial Neural Network

[14] Deep Learning Networks

[15] Analytic Time- Frequency Flexible Wavelet Transform

[16] Fractal Dimension

[17] Feedforward

[18] Back Propagation

[19] Loss Function

[20] Pooling Layer

[21] Fully Connected

[22] Over Fitting

[23] Dropout

[24] Batch Normalization

[25] Down Sampling

[26] Max-Pooling

[27] Softmax

[28] Cross Entropy

[29] Adam Optim

 

 

 

 

[1] T. Alotaiby, F. E. A. El-Samie, S. A. Alshebeili, and I. Ahmad, "A review of channel selection algorithms for EEG signal processing," EURASIP Journal on Advances in Signal Processing, Vol. 2015, No. 1, p. 66, 2015.
[2] Z. Zhang and K. K. Parhi, "Seizure prediction using long-term fragmented intracranial canine and human EEG recordings," in Signals, Systems and Computers, 2016 50th Asilomar Conference on, 2016, pp. 361-365: IEEE.
[3] K. Gadhoumi, J.-M. Lina, F. Mormann, and J. Gotman, "Seizure prediction for therapeutic devices: A review," Journal of neuroscience methods, Vol. 260, pp. 270-282, 2016.
[4] Harvard Health Publications, Harvard Medical School, 2014. Seizure overview. http://www.health.harvard.edu/mind-and-mood/seizure-overview.
[5] A. Theodorakopoulou, "Machine learning data preparation for epileptic seizures prediction," 2017.
[6] Y. Park, L. Luo, K. K. Parhi, and T. Netoff, "Seizure prediction with spectral power of EEG using cost‐sensitive support vector machines," Epilepsia, Vol. 52, No. 10, pp. 1761-1770, 2011.
[7]  X. Pang, "Seizure forecasting," Stanford University, Autumn 2014.
[8] N. D. Truong, A. D. Nguyen, L. Kuhlmann, M. R. Bonyadi, J. Yang, and O. Kavehei, "A Generalised Seizure Prediction with Convolutional Neural Networks for Intracranial and Scalp Electroencephalogram Data Analysis," arXiv preprint arXiv: 1707.01976, 2017.
[9] M. Sharma, R. B. Pachori, and U. R. Acharya, "A new approach to characterize epileptic seizures using analytic time-frequency flexible wavelet transform and fractal dimension," Pattern Recognition Letters, Vol. 94, pp. 172-179, 2017.
[10] U. R. Acharya, S. L. Oh, Y. Hagiwara, J. H. Tan, and H. Adeli, "Deep convolutional neural network for the automated detection and diagnosis of seizure using EEG signals," Computers in biology and medicine, Vol. 100, pp. 270-278, 2018.
[11] R. G. Andrzejak, K. Lehnertz, F. Mormann, C. Rieke, P. David, and C. E. Elger, "Indications of nonlinear deterministic and finite-dimensional structures in time series of brain electrical activity: Dependence on recording region and brain state," Physical Review E, Vol. 64, No. 6, p. 061907, 2001.
[12] N. Siddique and H. Adeli, Computational intelligence: synergies of fuzzy logic, neural networks and evolutionary computing. John Wiley & Sons, 2013.
[13] M. Kallenberg et al., "Unsupervised deep learning applied to breast density segmentation and mammographic risk scoring," IEEE transactions on medical imaging, Vol. 35, No. 5, pp. 1322-1331, 2016.
[14] Goodfellow. I., Bengio. Y., Courville. A., 2016. Deep Learning. MIT Press, http://www.deeplearningbook.org.
[15] G. E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever, and R. R. Salakhutdinov, "Improving neural networks by preventing co-adaptation of feature detectors," arXiv preprint arXiv: 1207.0580, 2012.
[16] S. Ioffe and C. Szegedy, "Batch normalization: Accelerating deep network training by reducing internal covariate shift," arXiv preprint arXiv: 1502.03167, 2015.
[17]  A. Bhattacharyya, R. B. Pachori, A. Upadhyay, and U. R. Acharya, "Tunable-Q wavelet transform based multiscale entropy measure for automated classification of epileptic EEG signals," Applied Sciences, Vol. 7, No. 4, p. 385, 2017.
[18] A. Bhattacharyya and R. B. Pachori, "A multivariate approach for patient-specific EEG seizure detection using empirical wavelet transform," IEEE Transactions on Biomedical Engineering, Vol. 64, No. 9, pp. 2003-2015, 2017.