การเรียนรู้เชิงลึก

เหตุใด Tensorflow จึงเป็นตัวเลือกที่ยอดเยี่ยมสำหรับการสร้างโครงการที่ขับเคลื่อนโดย Computer Vision

อธิบายโดยวิศวกร AI ที่ทำงานเกี่ยวกับแอปพลิเคชัน Computer Vision

เข้าร่วมสมาชิกหลายร้อยคนเพื่อรับ จดหมายข่าวรายสัปดาห์ ของฉัน หากคุณสนใจที่จะเรียนรู้และติดตามข่าวสารล่าสุดเกี่ยวกับสิ่งที่เกิดขึ้นในด้านการเรียนรู้ของเครื่อง ประทับใจกับประสบการณ์ของฉันในฐานะวิศวกรการเรียนรู้ของเครื่อง:)

แอพพลิเคชั่นคอมพิวเตอร์วิทัศน์

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

นี่เป็นเพราะการเรียนรู้อย่างลึกซึ้ง!

ฉันเคยเห็นแอปบนอุปกรณ์เคลื่อนที่ที่ใช้คอมพิวเตอร์วิทัศน์เพื่อบอกคุณว่าคุณมีแคลอรี่ในอาหารจำนวนเท่าใดจากรูปภาพในจานของคุณ

ฉันเคยเห็นผลิตภัณฑ์ที่ใช้คอมพิวเตอร์วิทัศน์เพื่อตรวจจับเรือที่เทียบท่าในท่าเรือ

ฉันเคยเห็นโดรนที่ใช้คอมพิวเตอร์วิทัศน์เพื่อติดตามคุณภาพของแผงโซลาร์เซลล์

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

แอปพลิเคชันเหล่านี้ส่วนใหญ่ไม่สามารถทำได้ก่อนยุคการเรียนรู้เชิงลึก!

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

นั่นคือจุดที่เครื่องมือการเรียนรู้เชิงลึก เช่น Tensorflow และ PyTorch เข้ามาช่วย!

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

ทำไมต้องเทนเซอร์โฟลว์?

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

Tensorflow เป็นเครื่องมือที่ยอดเยี่ยมในการสร้างโครงข่ายประสาทเทียมเชิงลึก และคุณควรใช้ด้วยเหตุผลต่อไปนี้:

  1. สร้างและสนับสนุนโดย Google ซึ่งหมายความว่าคุณมีวิศวกรที่ดีที่สุดในโลกที่กำลังพัฒนาและบำรุงรักษา นอกจากนี้ยังหมายความว่ามีการปรับปรุงและคุณสมบัติอย่างต่อเนื่อง
  2. มันเป็นโอเพ่นซอร์ส ซึ่งหมายความว่าคุณสามารถดูโค้ดได้ด้วยตัวเองและยังสามารถมีส่วนร่วมในฐานโค้ดได้หากต้องการ
  3. มีการใช้งานเทคนิคการเรียนรู้เชิงลึกต่างๆ มากมาย (และฉันหมายถึงมาก!) ที่ได้อธิบายไว้ในเอกสารทางวิทยาศาสตร์ นี่คือสิ่งที่ฉันชอบเป็นการส่วนตัว
  4. คุณมีตัวเลือกมากมายสำหรับการปรับใช้ หากคุณต้องการปรับใช้โมเดลของคุณบนอุปกรณ์ Edge ก็มี TFLite หากคุณต้องการปรับใช้บนเบราว์เซอร์ คุณต้องมี Tensorflow.js หากคุณต้องการปรับใช้เป็นส่วนหนึ่งของแอปพลิเคชัน C++ คุณจะมี Tensorflow C++ API หากคุณต้องการปรับใช้โมเดลของคุณบนคลาวด์ ก็มีบริการ Tensorflow

Tensorflow ช่วยคุณสร้างผลิตภัณฑ์ Computer Vision ได้อย่างไร

คุณสามารถสร้างโครงข่ายประสาทเทียมตั้งแต่เริ่มต้นเพื่อแก้ไขปัญหาเฉพาะได้ คุณเพียงแค่ต้องวางแผนงานเฉพาะที่คุณต้องการจัดการ

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

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

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

สำหรับการปรับใช้โมเดลของคุณ คุณมีหลายตัวเลือกเช่นกัน ขึ้นอยู่กับกรณีการใช้งานของคุณ หากคุณไม่คุ้นเคยกับคำว่าการใช้งาน ต่อไปนี้เป็นคำอธิบายสั้นๆ

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

ดังที่ฉันได้กล่าวไว้ก่อนหน้านี้เล็กน้อย Tensorflow มีตัวเลือกมากมายในการปรับใช้โมเดลการเรียนรู้เชิงลึกของคุณ หากคุณต้องการปรับใช้โมเดลของคุณเป็นส่วนหนึ่งของแอปมือถือ คุณสามารถใช้ TFLite ได้ หากคุณต้องการปรับใช้โมเดลของคุณโดยใช้ Javascript เช่น เป็นส่วนหนึ่งของส่วนขยาย Chrome คุณสามารถใช้ Tensorflow.js ได้

หากคุณต้องการปรับใช้โมเดลของคุณบนเซิร์ฟเวอร์ (เช่น บนคลาวด์) คุณสามารถใช้การให้บริการ Tensorflow ได้

แหล่งข้อมูลฟรีเพื่อเริ่มเรียนรู้ Tensorflow

มีแหล่งข้อมูลออนไลน์มากมายเพื่อเริ่มเรียนรู้ Tensorflow อันแรกจะเป็น "เว็บไซต์ Tensorflow" อย่างเป็นทางการ ที่นั่น คุณจะพบบทช่วยสอนและเอกสารประกอบมากมายเกี่ยวกับวิธีการต่างๆ ที่นำมาใช้ใน Tensorflow นี่คือทรัพยากรที่คุณจะใช้แม้ว่าคุณจะเป็นผู้เชี่ยวชาญหรือนักพัฒนา Tensorflow ก็ตาม Google ได้สร้างเอกสารที่เป็นลายลักษณ์อักษรอย่างดีและครอบคลุมเกี่ยวกับกรอบการทำงานนี้

อีกที่หนึ่งที่คุณสามารถค้นหาแหล่งข้อมูลฟรีเพื่อเรียนรู้ Tensorflow ก็คือ YouTube มีวิดีโอแนะนำการใช้งานมากมายที่คุณสามารถใช้เพื่อเรียนรู้เกี่ยวกับสิ่งต่างๆ ที่คุณสามารถทำได้ด้วย Tensorflow

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

นี่คือเหตุผลที่ฉันสร้างหลักสูตร Tensorflow ฟรี» ซึ่งทำหน้าที่เป็นข้อมูลเบื้องต้นเกี่ยวกับวิธีที่คุณสามารถใช้เฟรมเวิร์กนี้เพื่อสร้างโครงข่ายประสาทเทียม โดยเฉพาะสำหรับแอปพลิเคชัน Computer Vision หลักสูตร 4 ชั่วโมงที่อธิบายวิธีสร้างโครงข่ายประสาทเทียมโดยใช้ Tensorflow ทีละขั้นตอน นอกจากนี้ยังกล่าวถึงวิธีเตรียมชุดข้อมูลสำหรับการฝึกอบรมโดยใช้คลาสและวิธีการของ Tensorflow

ในหลักสูตรนี้ คุณสามารถถามคำถามใดๆ ที่คุณต้องการได้ และเราจะพยายามตอบทุกคำถามของคุณอย่างเต็มที่ ในภาพด้านล่าง คุณจะเห็นความคิดเห็นจากนักเรียนคนหนึ่งที่ถามคำถามหลายข้อในหลักสูตรนั้น

บทสรุป

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

ฉันเป็นวิศวกรการเรียนรู้ของเครื่องที่ทำงานเพื่อแก้ปัญหาการมองเห็นคอมพิวเตอร์ที่ท้าทาย ฉันเขียนโพสต์เล็กๆ เกี่ยวกับ ML ทุกวันบน LinkedIn และ Twitter เพื่อช่วยให้ผู้ติดตามของฉันได้รับข้อมูลล่าสุดเกี่ยวกับสิ่งที่เกิดขึ้นในสาขาของเรา