โมเดลและแพลตฟอร์ม AI
จูเลียน เรเบเตซ นักวิศวกรอาวุโสด้านเครื่องจักรเรียนรู้ที่ Picterra – สัมภาษณ์ซีรีส์

จูเลียน เรเบเตซ เป็นนักวิศวกรอาวุโสด้านซอฟต์แวร์และเครื่องจักรเรียนรู้ที่ Picterra ซึ่งเป็นแพลตฟอร์มคลาวด์แบบจีโอสเปเชียลที่ออกแบบมาเพื่อฝึกอบรมแบบตรวจจับด้วยการเรียนรู้ลึกอย่างรวดเร็วและปลอดภัย
โดยไม่ต้องเขียนโค้ดและด้วยการทำเครื่องหมายเพียงไม่กี่ครั้ง ผู้ใช้ของ Picterra สามารถสร้างและใช้แบบจำลองการเรียนรู้ลึกที่พร้อมใช้งานและสามารถนำไปใช้ได้จริง
มันจะช่วยให้ผู้ใช้สามารถวิเคราะห์รูปภาพดาวเทียมและรูปภาพทางอากาศได้อย่างรวดเร็วและแม่นยำ โดยสามารถระบุวัตถุและรูปแบบต่างๆ ได้
อะไรคือสิ่งที่ดึงดูดคุณให้เข้าสู่สาขาเครื่องจักรเรียนรู้และปัญญาประดิษฐ์?
ฉันเริ่มเขียนโปรแกรมเพราะฉันต้องการสร้างเกมและสนใจด้านกราฟิกส์คอมพิวเตอร์ ซึ่งนำไปสู่ด้านการมองเห็นของคอมพิวเตอร์ ซึ่งเป็นกระบวนการที่กลับกัน โดยที่คอมพิวเตอร์ไม่ได้สร้างสิ่งแวดล้อมเทียม แต่จะรับรู้สิ่งแวดล้อมจริง ในระหว่างการศึกษา ฉันเข้าร่วมคอร์สเครื่องจักรเรียนรู้และสนใจด้านการมองเห็นของคอมพิวเตอร์ ฉันคิดว่าสิ่งที่น่าสนใจเกี่ยวกับเครื่องจักรเรียนรู้คือ它อยู่ที่จุดตัดกันระหว่างวิศวกรรมซอฟต์แวร์ อัลกอริทึม และคณิตศาสตร์ และยังคงรู้สึกเหมือนเป็นเวทมนตร์เมื่อมันทำงาน
คุณได้ทำงานเกี่ยวกับการใช้เครื่องจักรเรียนรู้ในการวิเคราะห์รูปภาพดาวเทียมมานานแล้ว โครงการแรกของคุณคืออะไร?
การทำงานกับรูปภาพดาวเทียมครั้งแรกของฉันคือโครงการ Terra-i ซึ่งเป็นโครงการที่ฉันทำงานระหว่างการศึกษา ฉันประทับใจกับจำนวนข้อมูลดาวเทียมที่มีอยู่ฟรีจากหน่วยงานอวกาศต่างๆ (NASA, ESA, ฯลฯ) คุณสามารถรับภาพของโลกทุกวันหรือทุกๆ ไม่กี่วัน และ这是สิ่งที่ดีสำหรับการใช้งานทางวิทยาศาสตร์หลายอย่าง
คุณสามารถบอกเราเพิ่มเติมเกี่ยวกับโครงการ “Terra-i” ได้หรือไม่?
โครงการ Terra-i (http://terra-i.org/terra-i.html) ถูกเริ่มต้นโดย Professor Andrez Perez-Uribe จาก HEIG-VD (สวิตเซอร์แลนด์) และปัจจุบันนำโดย Louis Reymondin จาก CIAT (โคลอมเบีย) ความคิดของโครงการคือการตรวจจับการตัดไม้ทำลายป่าโดยใช้รูปภาพดาวเทียมที่มีอยู่ฟรี ในขณะนั้น เราทำงานกับรูปภาพ MODIS (ความละเอียด 250 ม.) เพราะมันให้การครอบคลุมที่สม่ำเสมอ (ทั้งพื้นที่และเวลา) เราจะได้การวัดสำหรับทุกพิกเซลทุกๆ ไม่กี่วัน และจากชุดข้อมูลนี้ คุณสามารถพยายามตรวจจับความผิดปกติหรือสิ่งใหม่ๆ ได้
โครงการนี้น่าสนใจเพราะจำนวนข้อมูลเป็นความท้าทายในขณะนั้น และยังมีการเขียนซอฟต์แวร์เพื่อให้ทำงานบนคอมพิวเตอร์หลายเครื่องด้วย จากด้านเครื่องจักรเรียนรู้ มันใช้เครือข่ายเบย์แบบニューラル (ไม่ลึกมากในขณะนั้น) เพื่อคาดการณ์ว่าชุดข้อมูลของพิกเซลควรจะเป็นอย่างไร หากการวัดไม่ตรงกับการคาดการณ์ เราจะมีความผิดปกติ
ในโครงการนี้ ฉันยังทำงานเกี่ยวกับการลบคลาวด์ออกจากรูปภาพด้วย เราใช้วิธีการแบบสัญญาณแบบดั้งเดิม โดยที่คุณมีชุดข้อมูลและบางส่วนจะผิดปกติเพราะคลาวด์ เราใช้วิธีการแบบฟูริเยร์ (HANTS) เพื่อทำความสะอาดชุดข้อมูลก่อนที่จะตรวจจับความผิดปกติ
คุณยังออกแบบและใช้ระบบการเรียนรู้ลึกสำหรับการจำแนกประเภทพืชผลจากภาพทางอากาศ (จากโดรน) ของฟาร์ม คุณสามารถบอกเราเกี่ยวกับความท้าทายหลักๆ ในขณะนั้นได้หรือไม่?
นี่เป็นการเปิดเผยตัวฉันเองต่อการเรียนรู้ลึกอย่างแท้จริง ในขณะนั้น ฉันคิดว่าความท้าทายหลักๆ คือการทำให้เฟรมเวิร์กทำงานและใช้ GPU ได้อย่างถูกต้อง มากกว่าด้านการเรียนรู้ลึกเอง เราใช้ Theano ซึ่งเป็นหนึ่งในบรรพบุรุษของ Tensorflow
เป้าหมายของโครงการคือการจำแนกประเภทพืชผลในฟาร์มจากภาพโดรน เราลองใช้การเข้าถึงแบบฮิสโตแกรมสีเป็นข้อมูลนำเข้าสำหรับแบบจำลองการเรียนรู้ลึก เพื่อให้ทำงานได้อย่างรวดเร็ว ฉันต้องเขียนโค้ดสำหรับเลเยอร์ Theano แบบกำหนดเอง และเขียนโค้ด CUDA เพื่อให้ทำงานได้อย่างรวดเร็ว
คุณเป็นนักวิศวกรอาวุโสด้านซอฟต์แวร์และเครื่องจักรเรียนรู้ที่ Picterra คุณสามารถอธิบายกิจกรรมประจำวันของคุณได้อย่างไร?
มันเปลี่ยนแปลงอยู่ตลอด แต่ส่วนใหญ่คือการดูแลโครงสร้างโดยรวมของระบบและผลิตภัณฑ์ และสื่อสารกับผู้มีส่วนได้ส่วนเสียต่างๆ แม้ว่าการเรียนรู้ลึกจะอยู่ที่核心ของธุรกิจเรา แต่คุณจะพบว่าเวลาส่วนใหญ่ไม่ได้ใช้กับการเรียนรู้ลึกเอง แต่ใช้กับสิ่งที่อยู่รอบๆ มัน เช่น การจัดการข้อมูล อินฟราสตรัคชัวร์ UI/UX การสร้างแบบจำลอง การทำความเข้าใจผู้ใช้ ฯลฯ
สิ่งที่น่าสนใจเกี่ยวกับ Picterra คือเราทำให้ผู้ใช้สามารถฝึกแบบจำลองการเรียนรู้ลึกของตนเองได้ ซึ่งไม่เหมือนกับเวิร์กโฟลว์การเรียนรู้ลึกทั่วไปที่ทีมการเรียนรู้ลึกฝึกแบบจำลองและเผยแพร่ไปยังการผลิต การเรียนรู้ลึกของเราทำให้ผู้ใช้สามารถฝึกแบบจำลองได้โดยไม่ต้องมีการเขียนโค้ด
เราต้องหาวิธีการฝึกที่จะทำงานสำหรับผู้ใช้ทุกคน ซึ่งไม่ใช่เรื่องง่าย เราได้สร้าง ‘เฟรมเวิร์กสำหรับการทดลอง’ ซึ่งเป็นคลังข้อมูลที่จำลองข้อมูลฝึกที่ผู้ใช้จะสร้างบนแพลตฟอร์มของเรา เราสามารถทดสอบการเปลี่ยนแปลงวิธีการฝึกกับคลังข้อมูลนี้และประเมินว่ามันช่วยหรือไม่
ความท้าทายอีกอย่างคือผู้ใช้ของเรามักไม่ใช่นักการเรียนรู้ลึก ดังนั้นพวกเขาไม่จำเป็นต้องรู้ว่าเซตฝึกคืออะไร ใบกำกับข้อมูลคืออะไร ฯลฯ การสร้าง UI ที่ช่วยให้ผู้ใช้สามารถสร้างเซตข้อมูลและฝึกแบบจำลองการเรียนรู้ลึกได้โดยไม่ต้องมีทักษะการเขียนโค้ดเป็นความท้าทายที่ต้องทำอย่างต่อเนื่อง
คุณสามารถบอกเราเกี่ยวกับโครงการที่น่าสนใจที่คุณได้ทำงานด้วยได้หรือไม่?
ฉันคิดว่าโครงการที่น่าสนใจที่สุดคือการสร้างตัวตรวจจับแบบกำหนดเอง 1.5 ปีที่แล้ว เรามีตัวตรวจจับที่ถูกฝึกไว้ล่วงหน้าบนแพลตฟอร์ม ซึ่งเราฝึกไว้เองและเผยแพร่ให้ผู้ใช้
เราต้องการทำสิ่งที่แตกต่างออกไป เราต้องการให้ผู้ใช้สามารถฝึกแบบจำลองของตนเองได้โดยตรงบนแพลตฟอร์ม มีความท้าทายสองสามอย่างที่ต้อง克服 คือการฝึกไม่ควรใช้เวลานานเกินไป และไม่ควรต้องมีการทำเครื่องหมายหลายพันครั้ง
เริ่มต้นด้วยแบบจำลองที่เรียบง่ายและทดสอบใน jupyter จากนั้นเราทดสอบการทำงานบนแพลตฟอร์มและทดสอบเวิร์กโฟลว์ทั้งหมด เมื่อแรกเริ่มมันไม่ได้ทำงานด้วยดีในหลายกรณี แต่มีบางกรณีที่มันทำงานได้ ซึ่งทำให้เรามีความหวังและเริ่มปรับปรุงวิธีการฝึกและแบบจำลอง
หลังจากหลายเดือน เราสามารถทำให้มันทำงานได้ดี และตอนนี้ผู้ใช้ของเรากำลังใช้มันอย่างต่อเนื่อง สิ่งที่น่าสนใจเกี่ยวกับเรื่องนี้คือความท้าทายสองทาง คือการทำให้การฝึกเร็ว (ปัจจุบันใช้เวลาเพียงไม่กี่นาที) และทำให้แบบจำลองไม่ซับซ้อนเกินไป แต่ก็ต้องทำให้มันซับซ้อนพอที่จะทำงานและแก้ปัญหาผู้ใช้
เรายังใช้ “กฎของการเรียนรู้ลึก” ของ Google (GOOGL ) หลายข้อ โดยเฉพาะ那些เกี่ยวกับการนำระบบทั้งหมดและเมตริกมาใช้ก่อนที่จะเริ่มปรับแบบจำลอง
คุณสามารถบอกเราเกี่ยวกับเทคโนโลยีการเรียนรู้ลึกที่ใช้ที่ Picterra ได้หรือไม่?
ในขณะนี้ เราใช้ Pytorch สำหรับการฝึกและใช้แบบจำลองของเรา เรายังใช้ Tensorflow สำหรับแบบจำลองบางอย่างที่พัฒนาให้กับลูกค้า นอกจากนี้เรายังใช้ Python สายวิทยาศาสตร์มาตรฐาน (numpy, scipy) พร้อมกับไลบรารี่จีโอสเปเชียล (gdal)
คุณสามารถอธิบายว่า Picterra ทำงานอย่างไรหลังจากรูปภาพถูกอัปโหลดและผู้ใช้ต้องการฝึกแบบจำลองการเรียนรู้ลึกเพื่อทำเครื่องหมายวัตถุได้อย่างถูกต้อง?
เมื่อรูปภาพถูกอัปโหลด เราจะประมวลผลและเก็บไว้ในรูปแบบ “Cloud-Optimized-Geotiff” (COG) บน Blobstore (Google Cloud Storage) ของเรา ซึ่งช่วยให้เราสามารถเข้าถึงบล็อกของรูปภาพได้อย่างรวดเร็วโดยไม่ต้องดาวน์โหลดทั้งรูปภาพ
เมื่อคุณต้องการฝึกแบบจำลอง คุณจะต้องสร้างเซตข้อมูลฝึกผ่าน UI ของเรา คุณจะทำสิ่งนี้โดยการกำหนดพื้นที่ 3 ประเภท:
- พื้นที่ฝึก ซึ่งคุณจะทำเครื่องหมายฝึก
- พื้นที่ทดสอบ ซึ่งแบบจำลองจะทำนายเพื่อให้คุณเห็นผลลัพธ์
- พื้นที่ความแม่นยำ ซึ่งคุณจะทำเครื่องหมาย แต่จะไม่ใช้ในการฝึก แต่จะใช้เพื่อประเมินผลลัพธ์
เมื่อคุณสร้างเซตข้อมูลแล้ว คุณสามารถคลิก “ฝึก” และเราจะฝึกตัวตรวจจับให้คุณ สิ่งที่เกิดขึ้นต่อไปคือเราจะสร้างงานฝึกและให้ GPU ของเราทำงาน เมื่อฝึกเสร็จ เราจะบันทึกน้ำหนักของแบบจำลองและทำนายในพื้นที่ทดสอบเพื่อแสดงผลลัพธ์บน UI
คุณสามารถปรับปรุงแบบจำลองได้โดยการเพิ่มพื้นที่ฝึกและทดสอบใหม่ๆ เมื่อคุณพอใจกับผลลัพธ์ คุณสามารถใช้แบบจำลองกับรูปภาพอื่นๆ ได้
การทำงานนี้อาจใช้เวลานานหากรูปภาพมีขนาดใหญ่ แต่เราสามารถแบ่งรูปภาพออกเป็นเซลล์ย่อยๆ และทำการตรวจจับแบบอิสระสำหรับแต่ละเซลล์ ซึ่งช่วยให้เราสามารถทำงานได้อย่างรวดเร็วและแม่นยำ
คุณมีอะไรอีกที่ต้องการแบ่งปันเกี่ยวกับ Picterra?
สิ่งที่ดีเกี่ยวกับ Picterra คือเป็นผลิตภัณฑ์ที่ไม่เหมือนใครที่จุดตัดกันระหว่างการเรียนรู้ลึกและจีโอสเปเชียล สิ่งที่ทำให้เราแตกต่างจากบริษัทอื่นๆ ที่ประมวลผลข้อมูลจีโอสเปเชียลคือเรามีแพลตฟอร์มที่ช่วยให้ผู้ใช้สามารถค้นหาสถานที่ ตรวจจับวัตถุและรูปแบบได้อย่างง่ายดาย
เป็นไปไม่ได้หากไม่มีการเรียนรู้ลึก แต่ผู้ใช้ของเราต้องไม่มีทักษะการเขียนโค้ดเลย แพลตฟอร์มของเราทำงานโดยอาศัยการทำเครื่องหมายเพียงไม่กี่ครั้ง สำหรับผู้ที่ต้องการเรียนรู้เกี่ยวกับการเรียนรู้ลึกในด้านจีโอสเปเชียลอย่างลึกซึ้ง เรามีคอร์สออนไลน์ที่ครอบคลุม
สิ่งที่น่าสนใจอีกอย่างคือการนำ Picterra ไปใช้ได้หลากหลาย เช่น การจัดการเมือง การเกษตร การจัดการป่าไม้ การจัดการภัยพิบัติ การเกษตร ฯลฯ เราได้รับผลลัพธ์ที่น่าประทับใจจากผู้ใช้ของเราอยู่เสมอ
ขอขอบคุณสำหรับการสัมภาษณ์ที่ดีและสำหรับการแบ่งปันเรื่องราวของ Picterra ผู้อ่านสามารถเยี่ยมชม เว็บไซต์ของ Picterra เพื่อเรียนรู้เพิ่มเติม












