
הזנתי זוהר גולמי ל-AI היפר-ספקטרלי לגידולים. במבחן held-out סינתטי, הציון צנח מ-0.887 ל-0.373.
התרעת NDVI שאומרת רק "בעקה" מותירה את המגדל ללא יכולת לבחור בין חנקן, השקיה, או סיור שטח לאיתור מוקדם של כתם זפת (tar spot); בניתי את SpectraRx סביב ההחלטה הזו. בנתיב השבור במכוון של הדגמה סינתטית מבוססת-פיזיקה זו, אותו CNN ספקטרלי בעל 424 ערוצים צונח מ-0.887 ל-0.373 במבחן ה-held-out שלו כאשר אני מזין לו זוהר גולמי בראש האטמוספירה במקום החזרה מתוקנת מפני השטח.
לא הוספתי את הכשל הזה להדגמה בתור טריק למסיבות. שמתי אותו שם כי ציון עקת יבול ללא התנאים שהופכים את הקלט שלו לבעל משמעות הוא הזמנה להפוך מפה נאה להחלטת שטח גרועה. הסצנות הן קוביות נתונים סינתטיות מבוססות-פיזיקה עבור גידול תירס אחד ואזור גאוגרפי אחד, ולא צילומים אמיתיים או ערבויות שטח. המטרה היא להפוך את השרשרת לניתנת לבדיקה בעוד ההנחות נותרות גלויות.

אני מתחיל באותו כתם NDVI ענברי בודד מכיוון שהוא ממחיש את המגבלה של התרעת זיהוי. הוא שימושי כאות לבחון מקרוב יותר, אך אינו יכול לומר אם מוט ריסוס של 27 מטרים צריך לשנות את קצב יישום החנקן, אם דפוס עקת מים דורש בדיקה, או אם כתם זפת מוקדם צריך להוציא אגרונום לשטח. רציתי שההדגמה תענה על השאלה הבאה, ולאחר מכן תציג את הראיות ואת המגבלות של אותה תשובה.
באפשרותכם להריץ את השרשרת בכתובת veriprajna.com/demos/hyperspectral-agriculture-ai. המסך אינו מסתיר את המקרה הבלתי נוח. הוא מאפשר לי לדלג על תיקון אטמוספרי ולצפות בנתיב ההחלטה משתנה.
למדתי שהכיול משנה את האובייקט שהמסווג רואה
נהגתי לתייק תיקון אטמוספרי תחת עבודות הכנה. הקובייה מגיעה כזוהר בראש האטמוספירה, ותיקון הקו האמפירי של ההדגמה הופך זאת להחזרה מפני השטח (BOA) עם מקוריות כיול המוצמדת לסצנה. ההבחנה הזו נשמעה כמו עבודת צנרת הנדסית עד שעקפתי אותה במכוון.
שמרתי על הרשת המאומנת ועל משקולותיה ללא שינוי. שיניתי את נתיב הקלט. במבחן ה-held-out הסינתטי המבוסס-פיזיקה של 1,280 פיקסלים מזן ומקרקע שלא נראו קודם לכן, התוצאה עברה מ-0.887 macro-F1 ל-0.373. זוהי תוצאה מדודה עבור מודל זה ומבחן זה, ולא קביעה שכל מודל היפר-ספקטרלי ייכשל באותה מידה.
מצאתי את הניגוד הזה שימושי יותר מטבלת מבחני ביצועים גדולה יותר, מכיוון שהוא הופך כשל מעשי למוחשי. הנתיב הלא מתוקן אינו רק קלט רועש יותר. זוהר גולמי נושא השפעות אטמוספריות והשפעות תאורה לתוך מסווג שתוכנן לפענח החזרה מתוקנת מפני השטח. רשת עדיין יכולה להחזיר סיווג ורמת ביטחון, אך אף אחד מהם אינו סיבה מספקת לאישור מרשם טיפול.

הפכתי את נתיב הזוהר הגולמי לגלוי משום שמספר דיוק כשלעצמו משמיט את השאלה המבצעית: מה צריך לקרות לאחר שהמערכת מגלה שהיא ניצבת על קרקע רעועה יותר? ב-SpectraRx, התשובה אינה חסימה גורפת. זוהר TOA גולמי עדיין מגיע למסווג במבחן מכוון זה, ושערי הביטחון וההתאמה לפיזיקה במורד הזרם הופכים את אי-הוודאות לגלויה.
הקדשתי זמן להפרדת התוצאה הזו מהטענה שהרשת הפכה לחסרת תועלת. המסווג הוא 1-D spectral CNN מותאם אישית שקורא עקומה מלאה של 424 ערוצים מ-400 עד 2515 ננומטר. תפקידו הרגיל הוא להבחין בין פיקסלים בריאים, סובלים ממחסור בחנקן, נתונים בעקת מים, ונגועים בכתם זפת מוקדם מתוך החזרת פני שטח BOA. ניסוי הכיול אינו משנה את מחלקות היבול, אינו מאמן מחדש את המודל, ואינו מחליף בחשאי קו בסיס חלש יותר. הוא משנה תנאי אחד במעלה הזרם ומאפשר לשאר שרשרת ההחלטות להציג את ההשלכות.
מצאתי זאת שימושי משום שהתגובה הרגילה לציון גרוע היא לבקש ציון אחר. במקרה זה הייתי זקוק לשאלה אחרת: אילו ראיות עומדות לרשות המערכת כדי לפעול לאחר שהקלט השתנה? התשובה מתחילה במקוריות הכיול (calibration provenance), אך אינה יכולה להסתיים שם. ערך ביטחון הוא רק אות אחד. בדיקת ההתאמה לפיזיקה יכולה להימנע מהכרעה כאשר סיווג ה-CNN מתנגש עם המאפיין המתועד, כגון קביעת חנקן ללא הסטת ה-red-edge הצפויה. מנגנון הבדיקה (inspector) מציג גם את העקומה המלאה ואת עקבות הבולטות של הערוצים (band-saliency trace), כך שמפעיל יכול להשוות בין ראיות המודל לבין אבחונים מתועדים.
אני משתמש במנגנון בדיקה זה כמשטח לאחריותיות (accountability surface), ולא כהוכחה לחוסר שגיאות. עבור כתם זפת מוקדם, תאי ה-530 ו-535 ננומטר שנדגמו בעקבות הבולטות יושבים קרוב ביותר לאבחון ה-PRI בסביבות 531 ננומטר. ראיות לחנקן יושבות בטווח ה-red-edge שבין 680 ל-720 ננומטר. מאפייני ה-SWIR של מים הם בדיקות אבחוניות ולא שיאי בולטות עליונים נטענים. בדיקות אלו מעמידות את הנימוקים לבדיקה. הן אינן הופכות מבחן ביצועים סינתטי לערבות בשדה האמיתי, ואינן מוחקות את הצורך בסיור שטח כאשר נתיב הקלט הופך לפחות אמין.
כמו כן נמנעתי מלהציג את קו הבסיס כחלש רק כדי שהכישלון ייראה דרמטי יותר. במבחן ה-held-out הסינתטי של שינוי התפלגות (distribution shift), המודל הקיים בפועל בפס רחב של Sentinel-2 מגיע ל-0.69 macro-F1. הוא קרוב ל-1.0 בחנקן מכיוון שיש לו ערוצי red-edge ו-SWIR. המודל ההיפר-ספקטרלי מגיע ל-0.887 בסך הכול, עם היתרון המבני החזק ביותר שלו בעקת מים ובכתם זפת מוקדם. זוהי השוואה בעלת משמעות, אך היא עדיין אינה מכריעה אם אזור מסוים צריך לקבל מרשם טיפול לאחר שדולג הכיול. השער וכלל האזורים קיימים כדי לענות על אותה שאלה מבצעית מאוחרת יותר.
הייתי זקוק למנגנון ההגנה כדי לשנות פעולה בשטח, לא רק צבע בלוח המחוונים
נזהרתי שלא להפוך הימנעות מהכרעה לעוד הבטחה מעורפלת. פיקסל מקווקו פירושו שהמערכת נמנעת ממתן אבחון ברמת הפיקסל כאשר רמת הביטחון נמוכה, החתימה מעורבת, או שהמסווג מתנגש עם המאפיין הפיזיקלי המתועד. סצנת ההדגמה המשוילבת של seed-7 כברירת מחדל מציגה 20.1% של פיקסלים שנמנעו מהכרעה. נתון זה הוא תצפית בתוך האפליקציה עבור אותה סצנה, ולא מדד הערכה אוניברסלי.
לאחר מכן הייתי צריך להחליט מה מפעיל עושה עם מפה המכילה את אותם פיקסלים. מרסס אינו פועל פיקסל אחר פיקסל. SpectraRx מקבץ פיקסלי אבחון של 5 מטרים לתוך תאי ניהול של 25 מטרים באמצעות פרופיל מוט ריסוס של 27 מטרים. הכלל גלוי במכוון: אזורים עם לפחות 34% פיקסלים שנמנעו מהכרעה מנותבים לסיור שטח לאימות נתוני קרקע (ground-truth scouting), בעוד שאזורים אחרים משתמשים ברוב מקרב הפיקסלים שלא נמנעו מהכרעה.
אני חושב שכלל זה הוא המקום שבו הרעיון המופשט של אי-ודאות הופך לתהליך עבודה ממשי. בסצנת seed-7 שבה דולג הכיול, 92.2% מהפיקסלים נמנעים מהכרעה ו-140 מתוך 144 אזורי ניהול מנותבים לסיור שטח. ארבעה אזורי עקת מים עדיין מאושרים ליישום תחת כלל האזורים. המערכת לא הוכיחה שארבעת האזורים בטוחים במובן של עולם פתוח. היא העמידה את תנאיה ואת כלל הניתוב שלה לבחינה במקום להעמיד פנים שכל קלט שהשתנה חייב להניב או ריסוס או מסך ריק.
כמו כן רציתי שקורא ספקן מתחום החישה מרחוק יראה יותר מאשר רק את השער. מנגנון הבדיקה הספקטרלי מציג את העקומה בת 424 הערוצים ואת עקבות הבולטות הכתומה של הערוצים. לגבי כתם זפת מוקדם, תאי הבולטות של 530 ו-535 ננומטר שנדגמו יושבים קרוב ביותר לאבחון ה-PRI בסביבות 531 ננומטר; ראיות לחנקן מופיעות בטווח ה-red-edge שבין 680 ל-720 ננומטר. עבור מים, מאפייני ה-SWIR המתועדים הם בדיקות אבחוניות, ולא טענות לגבי שיא הבולטות הגבוה ביותר של ה-CNN. זוהי השוואה הניתנת לבדיקה מול פיזיקה מתועדת, ולא הוכחה לכך שהמודל לעולם לא ישתמש ברמז מזויף (spurious cue).
לא יכולתי לקרוא לזה מרשם עד שמוט ריסוס ואגרונום יכלו להשתמש בזה
למדתי שמפת אבחון עדיין אינה שלמה לאחר שהשערים עושים את עבודתם. סצנת ברירת המחדל המכוילת מכילה 144 תאי ניהול: 21 אזורי יישום, 25 אזורי סיור שטח, ו-98 אזורים בריאים בשלב V12. SpectraRx מעביר את החלטת האזור ששרדה אל תוך מרשם במינון משתנה. מינוני החנקן נקבעים לפי רמת החומרה, וקוטל פטריות מותר רק בחלון R3 שהוגדר מראש. תוצרי הייצוא הם בפורמטים אמיתיים של ISO-XML ו-GeoJSON, בעוד שאינטגרציות של חיישנים חיים ומערכות ניהול חווה אינן מיושמות בהדגמה זו.
הפכתי את הרשומה במורד הזרם לדטרמיניסטית מאותה סיבה שהפכתי את השער לגלוי. ההדגמה מפיקה תבנית רשומה בסגנון הדברת מזיקים משולבת (IPM) לפי EU Farm-to-Fork מתוך האבחון והמרשם. היא כוללת קואורדינטות של האזורים, כיסוי שטח של סיווג הרוב באזור, ראיות ספקטרליות, חלופות שנבחנו, מוצר ומינון מומלצים, מועד היעד של R3, מקוריות כיול, ושורת חתימה לאישור אגרונום מוסמך. זוהי תבנית לעיון ולבדיקה, ולא רשומת תאימות רגולטורית שהוגשה רשמית.

השארתי את מודל השפה מחוץ לנתיב אמון זה. עיבוד אותות, המסווג הספקטרלי המאומן, שערים דטרמיניסטיים, מתמטיקה של ציוד חקלאי ותבנית הרשומה נושאים בהחלטות בעלות המשקל הקריטי. מודל אופציונלי יכול לנסח טקסט נימוק ל-IPM מתוך עובדות שכבר חושבו, עם חלופת ברירת מחדל מובנית כך שההדגמה פועלת ללא מפתח API. הוא אינו מחליט מה היבול צריך או אם אזור מסוים צריך לצאת לסיור שטח.
הפסקתי למדוד את המוצר לפי המסווג בלבד
אני עדיין יכול לייחס חשיבות למסווג. במבחן ה-held-out הסינתטי של שינוי התפלגות, SpectraRx רושם 0.887 macro-F1 לעומת 0.69 עבור המודל הקיים בפס רחב של Sentinel-2. ההבדל הוא הבולט ביותר בעקת מים, 0.97 לעומת 0.63, ובכתם זפת מוקדם, 0.77 לעומת 0.61. חנקן קרוב ל-1.0 עבור שניהם, וזה שימושי בדיוק משום שזה מותיר את המודל הקיים כקו בסיס אמיתי ולא כאיש קש.
אינני משתמש בתוצאות אלו כטענה לגבי שדה פתוח. הן מכסות 1,280 פיקסלים סינתטיים של held-out, גידול אחד ואזור גאוגרפי אחד. עדיין נדרשת ספריית נתוני אמת מהקרקע של שתי עונות לפני שמישהו יוכל לטעון טענת דיוק בעולם האמיתי. הלקח שאני מפיק מההדגמה צר יותר ומעשי יותר: ציון סיווג הוא רק חלק אחד ממערכת קבלת החלטות, והוא החלק שסביר ביותר שיצוטט ללא תנאי ההפעלה שלו.
בניתי את כשל הכיול לתוך SpectraRx משום שהוא כופה את התנאים הללו למרכז הבמה. הוא מציג את הקלט משתנה, את הציון צונח, את השערים במורד הזרם מעלים אי-ודאות אל פני השטח, את כלל האזורים מנתב נתיב סיור שטח, ואת רשומת המרשם משמרת את מה שהמפעיל והבודק צריכים לבדוק. הרצף הזה הוא העבודה שאני רוצה לשפר לפני שאמשיך לרדוף אחרי עוד ספרה עשרונית.
ואם אתם מעדיפים לראות זאת במקום לקרוא את התיאור שלי, הנה המערכת כולה פועלת מקצה לקצה.
אני חוזר אל veriprajna.com/demos/hyperspectral-agriculture-ai כשאני רוצה לבדוק אם ההדגמה כנה. מערכת ה-AI החקלאית השימושית לגידולים היא זו שיכולה להראות מדוע סצנה הפכה לפחות אמינה, לנתב את אי-הוודאות הזו לפעולה בשטח, ולהשאיר תיעוד של ההחלטה שהיא קיבלה ושלא קיבלה.


