یادگیری عمیق (Deep Learning) در علوم خاک – راهنمای کاربردی (بخش اول)
در این نوشته به روشهای طیفسنجی خاک برای پیشبینی مشخصات خاک میپردازیم. در این سلسله از مقالات فشرده به بحث استفاده از یادگیری عمیق در علوم خاک میپردازیم. انگیزه تدوین این مقالات نشان دادن این نکته است که یادگیری عمیق برای کارهایی به جز طبقهبندی عکسهای گربهها و سگها یا تحلیل احساسات نیز مفید است. البته طبقهبندی تصاویر سگ و گربه اشکالی ندارد؛ اما میلیونها مثال در مورد آن ارائه شده است.
مختصری در مورد چارچوب این سلسله مقالات
علوم خاک رشته نسبتاً گستردهای است و از این رو لازم است چارچوبی برای این که معمولاً با چه نوع دادههایی سروکار خواهیم داشت، تعیین کنیم.
خاک در طبیعت و در آزمایشگاه
خاک توده پیچیدهای است که بسته به این که به خصوصیات شیمی، فیزیکی و/یا بیولوژیکی، مکان آن در طبیعت، تعامل آن با بقیه محیط زیستی و موارد دیگر، علاقهمند باشید، به روشهای مختلفی میتوان آن را توصیف کرد. به طور معمول توصیف آن با یک نمایه خاک آغاز میشود. اگر گودالی حفر کنیم با صحنهای مانند تصویر زیر مواجه میشویم.
نخستین چیزی که در تصویر فوق متوجه میشویم، رنگهای مختلف و سازماندهی عمودی لایهها است. هر یک از این لایهها خصوصیات مختلفی دارند و دانشمندان خاک به توصیف دقیق و کامل آنها تا حد امکان علاقهمند هستند.
یک توصیف به طور معمول شامل خصوصیاتی مانند مختصات، ضخامت لایه، رنگ و غیره است که در طبیعت قابل مشاهده هستند. همچنین اطلاعاتی مانند pH، اندازه ذرات، مواد مغذی و غیره را پس از فرآوری نمونههای خاک در آزمایشگاه به دست میآوریم.
همان طور که میتوان تصور کرد گردآوری دادهها از طبیعت و آزمایشگاه پرهزینه است و از این رو زمان زیادی جهت موارد زیر صرف میشود:
- بهینهسازی طراحیهای نمونهبرداری.
- پیشبینی آن چه در یک موقعیت بخصوص میتوان یافت.
- و پیشبینی خصوصیات خاک بر اساس چیزهایی که اندازهگیری آنها سادهتر، سریعتر و ارزانتر است.
طیفسنجی خاک
طیفسنجی خاک تکنیکی است که امکان به دست آوردن سریع اطلاعاتی در مورد خاک در طبیعت و آزمایشگاه را فراهم میسازد. به بیان سادهتر یک پرتو از اشعه به خاک تابانده میشود و آن چه بازتاب مییابد اندازهگیری میشود. بسته به ترکیببندی نمونه، مقدار انرژی که به دستگاه اندازهگیری (طیفسنج) بازتاب مییابد در هر نمونه متفاوت است و یک طیف منحصر به فرد برای نمونه به دست میدهد.
روش دیگر برای نمایش دادهها از طریق ایجاد یک طیف نگاشت (spectrogram) است. احتمالاً این طیف نگاشتها را در تحلیل صدا مشاهده کردهاید. ساختار 2 بعدی یک طیف نگاشت باعث میشود گزینه مناسبی برای تحلیل به وسیله شبکه عصبی کانولوشن (CNN) باشد.
مدل شبکه عصبی کانولوشن
طراحی یک شبکه عصبی کانولوشن (CNN) فرایندی کاملاً تکراری است. برخی اوقات بیشتر شبیه نوعی هنر است تا علم واقعی. در هر صورت همیشه مطالعه کارهای افراد دیگر و الهام گرفتن از تحقیقات آنها گزینه مناسبی محسوب میشود. در این نوشته قصد نداریم به توضیح روش کار شبکه عصبی کانولوشن بپردازیم. شما میتوانید در مطلب «بررسی شبکه عصبی کانولوشن (CNN)» در این خصوص بیشتر مطالعه کنید.
در زمان طراحی مدل CNN مورد استفاده در این مقاله چند عامل مدنظر بوده است:
ساختار 2 بعدی دادههای ورودی
طیف نگاشت یک ماتریس (تصویر تک باندی) است که احتمالاً بهتر است با استفاده از CNN 2 بُعدی پردازش شود.
اندازه مجموعه داده نسبتاً کوچک است
باید به خاطر داشته باشیم که دادهها از نمونههای میدانی به دست میآیند. این بدان معنی است که باید به طبیعت برویم، سوراخی حفر کنیم و نمونه را در طبیعت پردازش کرده و سپس آن را به آزمایشگاه ارسال کنیم. این فرایند زمانبر و پرهزینه است. مجموعه دادهای که در این نمونه بررسی شده است شامل حدوداً 20،000 نمونه از سراسر اروپا (+) است. البته این مجموعه داده کوچکی نیست؛ اما در مقایسه با مجموعه دادههایی که برای مثال جهت آموزش AlexNet استفاده شده است (بیش از 15 میلیون تصویر) کوچک محسوب میشود. دلیل این مسئله آن است که روی مجموعه دادههای بزرگ خیلی زود به بیشبرازش میرسیم و از این رو از شبکه کوچکی استفاده کردهایم.
خروجیهای چندگانه
مشخصات زیادی برای خاک وجود دارند که میتوان با استفاده از طیفسنجی پیشبینی کرد. در این مطالعه ما به پیشبینی موارد زیر علاقهمند هستیم:
- محتوای کربن آلی (OC)
- ظرفیت تبادل کاتیون (CEC)
- درصد اندازه ذرات رس
- درصد اندازه ذرات شن
- pH اندازهگیری شده در آب
- محتوای کل ازت
میتوان برای هر یک از شاخصهای فوق مدل متفاوتی آموزش داد؛ اما در این مقاله به ظرفیت یادگیری چندوظیفهای (multi-task learning) برای ایجاد نوعی تأثیر همافزایی علاقهمند هستیم.
ساختار شبکه نهایی چیزی شبیه زیر است:
رأس شبکه («لایههای مشترک») یک سری از لایههای کانولوشن و max-pooling است که به طور معمول در طبقهبندی تصویر دیده میشود. این بخش از شبکه در میان همه مشخصات خاک هدف، مشترک است و میتواند یاد بگیرد که طیف چگونه سازماندهی شده است. پس از این که «لایههای مشترک» یک بازنمایی کلی از دادهها استخراج کرد که به وسیله طیف نگاشت نمایش مییابد، اطلاعات در 6 شاخه هدایت میشود که هر یک مختص یک مشخصه خاک است. هر شاخه شامل یک لایه کانولوشن (BN) است که پیش از تولید خروجی به صورت 1 بعدی تسطیح شده است. این شاخهها باید بتوانند طیف نگاشتی که به هر مشخصه خاک تعلق دارد را استخراج کنند.
نتایج
در این بخش به ارائه نتایج حاصل از آموزش مدل یادگیری عمیق خود میپردازیم.
مقایسه با روشهای کانولوشن دیگر
دو مدل که به طور معمول برای پیشبینی خصوصیات خاک با استفاده از دادههای طیفی استفاده میشوند شامل مدل درخت رگرسیون Cubist، (کوئینلان و همکاران، 1992) و رگرسیون کمترین مربعات جزئی (PLS؛مارتنز و نایس، 1989) است. ما از این دو مدل به عنوان پایهای برای ارزیابی عملکرد CNN خود استفاده کردیم. مدلها با استفاده از طیفها (و نه طیف نگاشتها) آموزش داده شدند. این طیفها با استفاده از یک سری روشها به صورت زیر که قبلاً در مقالات دیگر استفاده شده، پیشپردازش شدند:
- تبدیل بازتاب به جذب ظاهری (a = −log10 (r
- هموارسازی Savitzky–Golay با استفاده از اندازه پنجره برابر با 11 و یک چندجملهای درجه دوم.
- برش لبهها (کمتر از 500 نانومتر و بیش از 2450 نانومتر) برای حذف موارد جانبی.
- نمونهبرداری یکدهم از اندازهگیریها.
- استفاده از تبدیل متغیرهای نرمال استاندارد (Barnes و همکاران، 1989).
تصویر زیر خطای پیشبینی همه مدلها (PLS، Cubist و CNN) را با هم مقایسه میکند. همچنین خطای یک CNN که یک مشخصه منفرد خاک را پیشبینی میکرد را به عنوان مرجع ارائه کردهایم.
CNN عملکرد بهتری نیست به مدلهای PLS و Cubist دارد و CNN چندوظیفهای به طور کلی عملکرد بهتری نسبت به CNN با پیشبینی منفرد دارد.
تأثیر همافزایی یادگیری چند وظیفهای
جالبترین نتیجه این تحقیق در زمینه مشاهده تأثیر همافزایی با استفاده از شبکه چندوظیفهای بوده است. در تصویر زیر میتوانید ببینید که با افزایش تعداد مشخصههایی که به طور همزمان شبیهسازی میشوند، خطای پیشبینی کاهش یافته است (به جز pH). ما معماری شبکه را برای هر مورد تغییر دادهایم و تعداد شاخهها در بازه بین 1 تا 6 بوده است.
هنگام پیشبینی هر 6 مشخصه به طور همزمان خطای پیشبینی برای OC تقریباً برابر با 50 درصد زمانی بوده است که صرفاً OC را به تنهایی پیشبینی میکنیم.
زمانی که شبکه مشغول پیشبینی یک مشخصه است، از بقیه مشخصههای پیشبینیشده به عنوان سرنخی استفاده میکند که بازه پیشبینی را محدود میکنند. نمونه سادهای از این حالت در مورد محتوای رس و شن است. در اغلب موارد ذرات آلی خاک بر اساس اندازه به سه گروه به ترتیب به صورت رس، سیلت و شن تقسیمبندی میشوند. نسبت این سه گروه باید مجموعاً 1 (100%) باشد. اگر مدل، محتوای رس بسیار بالایی را پیشبینی کند این سرنخی است که نشان میدهد محتوای شن باید پایین باشد. بدیهی است که تعاملهای بین 6 مشخصه پیچیدهتر از این است؛ اما شبکه این تأثیر را درک میکند و متعاقباً کاهشی را در خطای پیشبینی شاهد هستیم.
سخن پایانی
در این نوع تحقیقها از تکنیکهای یادگیری ماشین مانند جنگل تصادفی، درختهای رگرسیون و غیره به فراوانی استفاده میشود. استفاده از شبکههای عصبی کانولوشن برای هر کاری به جز طبقهبندی تصاویر چندان متداول نیست.
نکته جالب که در این تحقیق مشاهده شد تأثیر همافزایی یادگیری چندوظیفهای است. ما در زمان تصمیمگیری در ذهن خود قواعدی ایجاد میکنیم که ما را در این مسیر هدایت میکند و CNN نیز کار مشابهی انجام میدهد. نتایج کاملاً نویدبخش هستند و ترغیب میکند که از CNN در حوزههای دیگری نیز استفاده کنیم. در مقالات بعدی در مورد انتقال یادگیری و همچنین کاربردهای آن در نگاشت خاک صحبت خواهیم کرد.