บทสัมภาษณ์กับ Doug Duhaime ผู้สนับสนุน Dev Library ของ Google

 

โพสต์โดยทีม Google Dev Library

ขอแนะนำ Dev Library Contributor Spotlights – ชุดบล็อกที่เน้นย้ำนักพัฒนาที่สนับสนุนระบบนิเวศการพัฒนาที่เฟื่องฟูโดยการบริจาคทรัพยากรและเครื่องมือเพื่อ ห้องสมุด Google Dev

เราได้พบกับ Doug Duhaimeนักพัฒนาเต็มรูปแบบในห้องทดลองด้านมนุษยศาสตร์ดิจิทัลของมหาวิทยาลัยเยล เพื่อพูดคุยเกี่ยวกับความหลงใหลในการเรียนรู้ของเครื่อง กระบวนการของเขา และสิ่งที่เป็นแรงบันดาลใจให้เขาเผยแพร่โครงการ PixPlot ของเขาในฐานะโอเพ่นซอร์ส

อะไรทำให้คุณสำรวจสาขาการเรียนรู้ของเครื่อง

ฉันเป็นวิชาเอกภาษาอังกฤษในระดับปริญญาตรีและระดับบัณฑิตศึกษา ฉันมีปริญญาเอกในวรรณคดีอังกฤษ วิทยานิพนธ์ของฉันกำลังสำรวจประวัติลิขสิทธิ์และการเปลี่ยนแปลงในกฎหมายลิขสิทธิ์ที่ส่งผลต่อตลาดหนังสือ สถาบันลิขสิทธิ์ที่มีระยะเวลาคงที่มีอิทธิพลต่อตลาดหนังสืออย่างไร? เพื่อตอบคำถามนี้ ฉันต้องขุดคอลเล็กชันข้อมูลจำนวนมหาศาล – ครึ่งล้านเล่มที่ตีพิมพ์ก่อนปี 1800 – เพื่อดูรูปแบบต่างๆ นั่นเป็นหนึ่งในโครงการสำคัญที่ทำให้ผมมีแรงบันดาลใจในการสำรวจโลกของการเรียนรู้ของเครื่องเพิ่มเติม

อันที่จริง หนึ่งในโครงการของฉัน – ไลบรารี PixPlot – ใช้คอมพิวเตอร์วิทัศน์เพื่อวิเคราะห์คอลเลกชั่นรูปภาพ ซึ่งบางส่วนก็ใช้ในการค้นคว้าของฉันเช่นกัน ส่วนหนึ่งของการวิจัยของฉันดูที่การตรวจจับการลอกเลียนแบบและวิธีที่ผู้คนมักจะคัดลอกรูปภาพเมื่อการคัดลอกจากข้อความอื่นกลายเป็นเรื่องถูกกฎหมาย คอมพิวเตอร์วิทัศน์ช่วยให้เราสามารถตอบคำถามเหล่านี้และระบุรูปแบบที่สำคัญได้

ฉันเคยเห็นแมชชีนเลิร์นนิงและการเขียนโปรแกรมเป็นวิธีถามคำถามใหม่ในบริบททางประวัติศาสตร์ และมีสาขาทั้งหมดของเรา – เราเรียกว่านักมานุษยวิทยาดิจิทัล มหาวิทยาลัยเยล ซึ่งฉันเคยไปมาเมื่อ 5 ปีที่แล้ว มีโปรแกรมมนุษยศาสตร์ดิจิทัลที่ยอดเยี่ยม ซึ่งนักวิจัยถามคำถามแบบนี้ และใช้แพลตฟอร์มการเรียนรู้ของเครื่องที่สนุกสนาน เช่น TensorFlow เพื่อตอบคำถามเหล่านั้น

สกรีนช็อตจากไลบรารี PixPlot ที่แสดงฟิลด์รูปภาพในคอลเล็กชัน Meserve-Kunhardt พร้อมฮอตสปอตที่ระบุต่อไปนี้: นักมวย สิ่งปลูกสร้าง ปุ่ม เก้าอี้ ชุด

คุณช่วยบอกเราเพิ่มเติมเกี่ยวกับวิวัฒนาการของโครงการห้องสมุด PixPlot ของคุณได้ไหม

เราเริ่มต้นในห้องทดลองมนุษยศาสตร์ดิจิทัลของ Yale ด้วยโครงการที่เรียกว่า Neural Neighbors และแนวคิดที่นี่คือการค้นหารูปแบบในคอลเล็กชันภาพ Meserve-Kunhardt

Meserve-Kunhardt คือคอลเล็กชันภาพถ่ายส่วนใหญ่จากศตวรรษที่ 19 ที่ Yale เพิ่งได้รับมา หลังจากที่มหาวิทยาลัยเข้าซื้อกิจการ ภัณฑารักษ์บางคนกำลังเตรียมที่จะระบุข้อมูลเมตาที่สมบูรณ์ทั้งหมดนี้เพื่ออธิบายภาพเหล่านี้ อย่างไรก็ตาม พวกเขามีงานในมือ และพวกเขาต้องการความช่วยเหลือในการพยายามทำความเข้าใจว่ามีอะไรอยู่ในคอลเลกชันนี้ ดังนั้น Neural Neighbors คือความพยายามครั้งแรกของเราในการตอบคำถามนี้

เมื่อโปรเจ็กต์นี้ดำเนินต่อไป เราเริ่มเผชิญกับข้อจำกัดและถามคำถามที่ใหญ่กว่า ตัวอย่างเช่น แทนที่จะดูแค่รูปภาพ การดูคอลเลกชั่นทั้งหมดในคราวเดียวจะเป็นอย่างไร เพื่อตอบคำถามนี้ เราจำเป็นต้องมีเลเยอร์การแสดงผลที่มีประสิทธิภาพมากขึ้น

ดังนั้นเราจึงตัดสินใจใช้ TensorFlow ซึ่งทำให้เราสามารถแยกการแสดงเวกเตอร์ของแต่ละภาพได้ จากนั้นเราบีบอัดมิติของเวกเตอร์เหล่านั้นลงเป็น 2D แต่สำหรับ PixPlot เราตัดสินใจใช้เทคนิคการลดขนาดแบบอื่นที่เรียกว่า umap และนั่นนำเราไปสู่ ​​PixPlot รุ่นแรก

แนวคิดในที่นี้คือการนำคอลเล็กชันทั้งหมด ถ่ายลงใน 2D จากนั้นให้คุณเลื่อนดูและดูรูปภาพในคอลเลกชั่นที่เราคาดว่ารูปภาพที่มีเนื้อหาคล้ายกันจะวางอยู่ใกล้กัน

ดังนั้นมันจึงมีวิวัฒนาการตั้งแต่กำเนิดต้นนั้นและ Neural Neighbors จนถึงทุกวันนี้

อะไรเป็นแรงบันดาลใจให้คุณเปิดตัว PixPlot เป็นโครงการโอเพ่นซอร์ส

ในกรณีของ PixPlot ฉันทำงานให้กับมหาวิทยาลัยเยล และเรามีเป้าหมายที่จะมีส่วนร่วมกับโลกของซอฟต์แวร์ให้มากที่สุดเท่าที่จะเป็นไปได้แบบเปิดและเข้าถึงได้แบบสาธารณะโดยไม่มีเงื่อนไขทางการค้าใดๆ

นับเป็นเกียรติอย่างยิ่งที่ได้ใช้เวลากับห้องปฏิบัติการและสร้างซอฟต์แวร์ที่ผู้อื่นเห็นว่ามีประโยชน์ ในชีวิตส่วนตัวของฉัน ฉันชอบที่จะสร้างสิ่งต่าง ๆ ที่ผู้คนพบว่ามีประโยชน์ และหากเป็นไปได้ ให้กลับไปสู่โลกโอเพ่นซอร์ส เพราะฉันคิดว่า พวกเราหลายคนเรียนรู้จากโอเพ่นซอร์ส

ข้อความอ้างอิงของห้องสมุด Google Dev: เราดูตัวอย่างของผู้อื่นและรู้สึกตื่นเต้นกับเครื่องมือและโครงการที่ผู้อื่นกำลังสร้าง และส่วนมากไม่ใช่เชิงพาณิชย์ พวกเขาเปิดกว้างและเป็นอิสระต่อโลก และเป็นการดีที่จะตอบแทนเมื่อเราทำได้ Doug Duhaime Dev Library Contributor

ค้นหาเนื้อหาเพิ่มเติมที่สนับสนุนและเขียนโดย Doug Duhaime และค้นพบเครื่องมือและทรัพยากรที่ไม่เหมือนใครบนเว็บไซต์ Google Dev Library!

See also  วิธีใช้ window.crypto ใน Node.js

By C-MTI