ตลอดชีวิตผู้ใหญ่ของฉัน ฉันดื่มเครื่องดื่มชูกำลังมาโดยตลอด (ไม่ใช่ว่าเราจะพูดถึงเครื่องดื่มที่มีคุณสมบัติน่าสงสัยนะ)
ผมไม่เคยสนใจโลกของเทคโนโลยีสารสนเทศเป็นพิเศษ และผมคงไม่มีทางคูณเมทริกซ์บนกระดาษได้ด้วยซ้ำ และผมก็ไม่เคยจำเป็นต้องทำแบบนั้น ดังนั้นเพื่อให้เข้าใจรายละเอียดงานของผม ผมขอเล่าเรื่องราวดีๆ ให้ฟัง ครั้งหนึ่งผมเคยขอให้เพื่อนร่วมงานทำงานในสเปรดชีต Excel ครึ่งวันผ่านไป ผมเดินไปหาพวกเขา พวกเขานั่งคิดเลขในเครื่องคิดเลขอยู่นั่น ใช่แล้ว เครื่องคิดเลขสีดำธรรมดาๆ ที่มีปุ่มต่างๆ แล้วหลังจากนั้นเราจะพูดถึงโครงข่ายประสาทเทียมแบบไหนกันได้อีก? ผมจึงไม่เคยมีความโน้มเอียงที่จะเข้าสู่โลกของไอทีเป็นพิเศษ แต่ดังคำกล่าวที่ว่า "มีสันติสุขในที่ที่เราไม่ได้อยู่" และเพื่อนๆ ของผมก็ยังคงพูดคุยกันเรื่องความจริงเสริม โครงข่ายประสาทเทียม และภาษาโปรแกรม (ส่วนใหญ่คือ Python) อยู่เรื่อยๆ
เมื่อพูดออกมาแล้วดูเหมือนจะง่ายมาก และฉันตัดสินใจว่าทำไมไม่ฝึกฝนศิลปะอันมหัศจรรย์นี้ให้เชี่ยวชาญเพื่อนำมาประยุกต์ใช้ในงานของฉัน
ในบทความนี้ ฉันจะข้ามขั้นตอนการเรียนรู้พื้นฐานของ Python และแบ่งปันความประทับใจของฉันเกี่ยวกับหลักสูตร TensorFlow ฟรีของ Udacity

การแนะนำ
ในการเริ่มต้น เป็นที่น่าสังเกตว่าหลังจากทำงานในภาคส่วนพลังงานมา 11 ปี เมื่อคุณรู้และสามารถทำได้ทุกอย่าง และแม้กระทั่งมากกว่านั้นเล็กน้อย (ในขอบเขตความรับผิดชอบของคุณ) การเรียนรู้สิ่งใหม่ๆ อย่างสมบูรณ์นั้น - ในแง่หนึ่งจะทำให้เกิดความกระตือรือร้นอย่างมาก แต่ในอีกแง่หนึ่ง - จะกลายเป็นความเจ็บปวดทางร่างกายใน "เกียร์ในหัว"
ผมยังคงไม่เข้าใจแนวคิดพื้นฐานทั้งหมดของการเขียนโปรแกรมและการเรียนรู้ของเครื่อง ดังนั้นอย่าตัดสินผมอย่างรุนแรงเกินไป ผมหวังว่าบทความนี้จะน่าสนใจและเป็นประโยชน์สำหรับคนอย่างผม — คนที่ไม่มีพื้นฐานด้านการพัฒนาซอฟต์แวร์เลย
ก่อนจะเข้าสู่ภาพรวมของหลักสูตร ผมขอบอกว่าอย่างน้อยก็ต้องมีความรู้พื้นฐานเกี่ยวกับ Python เสียก่อน คุณสามารถอ่านหนังสือสำหรับผู้เริ่มต้นสักสองสามเล่มก็ได้ (ผมเองก็เริ่มเรียนหลักสูตร Stepic แล้ว แต่ยังไม่ค่อยคล่องเท่าไหร่)
หลักสูตร TensorFlow เองจะไม่ครอบคลุมถึงโครงสร้างที่ซับซ้อน แต่จำเป็นต้องเข้าใจว่าทำไมจึงต้องนำเข้าไลบรารี ฟังก์ชันถูกกำหนดอย่างไร และทำไมจึงต้องแทนที่บางสิ่งลงไป
เหตุใดจึงต้องใช้ TensorFlow และ Udacity?
เป้าหมายหลักของการฝึกอบรมของฉันคือความปรารถนาที่จะจดจำภาพถ่ายขององค์ประกอบการติดตั้งไฟฟ้าโดยใช้เครือข่ายประสาท
ฉันเลือก TensorFlow เพราะได้ยินเรื่องนี้มาจากเพื่อน และเท่าที่ฉันรู้ คอร์สนี้ค่อนข้างได้รับความนิยม
ฉันพยายามเริ่มการศึกษาของฉันจากที่เป็นทางการ .
แล้วผมก็เจอปัญหาสองประการทันที
- มีสื่อการเรียนรู้มากมายและทุกอย่างก็กระจัดกระจายไปหมด สำหรับฉันแล้ว การจะหาภาพที่ชัดเจนและเข้าใจง่ายเกี่ยวกับวิธีแก้ปัญหาการจดจำภาพนั้นเป็นเรื่องยากมาก
- บทความส่วนใหญ่ที่ฉันต้องการไม่ได้รับการแปลเป็นภาษารัสเซีย บังเอิญว่าฉันเรียนภาษาเยอรมันตอนเด็ก และตอนนี้ เช่นเดียวกับเด็กโซเวียตหลายคน ฉันไม่พูดทั้งภาษาเยอรมันและภาษาอังกฤษเลย แน่นอนว่าฉันพยายามฝึกฝนภาษาอังกฤษมาตลอดชีวิตผู้ใหญ่ แต่ผลลัพธ์ก็ออกมาไม่ต่างจากในรูป

หลังจากค้นหาในเว็บไซต์อย่างเป็นทางการแล้ว ฉันพบคำแนะนำในการดำเนินการ .
เท่าที่ฉันเข้าใจ หลักสูตรใน Coursera เป็นแบบเสียเงิน และหลักสูตร มันก็สามารถผ่านไปได้แบบ "ฟรีๆ นั่นแหละ คือไม่เสียอะไรเลย"
เนื้อหาหลักสูตร
หลักสูตรนี้ประกอบด้วย 9 บทเรียน
หัวข้อแรกสุดเป็นการแนะนำ โดยจะบอกคุณว่าเหตุใดจึงจำเป็นต้องทำเช่นนี้
บทเรียนที่ 2 กลายเป็นบทเรียนโปรดของฉันเลย เข้าใจง่าย แถมยังได้แสดงให้เห็นถึงความมหัศจรรย์ทางวิทยาศาสตร์อีกด้วย สรุปคือ ในบทเรียนนี้ นอกจากพื้นฐานเกี่ยวกับโครงข่ายประสาทแล้ว ผู้สร้างยังสาธิตวิธีการใช้โครงข่ายประสาทแบบชั้นเดียวเพื่อแก้ปัญหาการแปลงอุณหภูมิจากฟาเรนไฮต์เป็นเซลเซียสอีกด้วย
นี่เป็นตัวอย่างที่อธิบายได้ชัดเจนมาก ผมยังพยายามหาทางแก้ปัญหาที่คล้ายกันนี้อยู่ แต่สำหรับระบบไฟฟ้า
น่าเสียดายที่ฉันหยุดไปต่อ เพราะการเรียนรู้สิ่งที่ไม่คุ้นเคยในภาษาที่ไม่คุ้นเคยนั้นค่อนข้างยาก สิ่งที่ช่วยชีวิตฉันไว้คือสิ่งที่ฉันพบใน Habr .
การแปลทำได้ดี และสมุดบันทึก Colab ก็ถูกแปลเช่นกัน ดังนั้นฉันจึงดูทั้งต้นฉบับและคำแปล
บทเรียนที่ 3 เป็นการเรียบเรียงบทช่วยสอน TensorFlow อย่างเป็นทางการอีกครั้ง ในบทเรียนนี้ เราจะใช้เครือข่ายประสาทเทียมแบบหลายชั้นเพื่อเรียนรู้วิธีการจำแนกภาพเสื้อผ้า (ชุดข้อมูล Fashion MNIST)
บทเรียนที่ 4 ถึง 7 ก็เป็นบทเรียนที่ดัดแปลงมาจากบทช่วยสอนเช่นกัน อย่างไรก็ตาม เนื่องจากบทเรียนเหล่านี้มีโครงสร้างที่ชาญฉลาด จึงไม่จำเป็นต้องทำความเข้าใจลำดับขั้นตอนการเรียนรู้ บทเรียนเหล่านี้จะแนะนำโครงข่ายประสาทเทียมที่มีความแม่นยำสูง วิธีปรับปรุงความแม่นยำในการฝึกสอน และวิธีการบันทึกแบบจำลองอย่างคร่าวๆ ระหว่างบทเรียนนี้ เราจะมาไขปัญหาการจำแนกแมวและสุนัขในภาพด้วย
บทเรียนที่ 8 เป็นหลักสูตรแยกต่างหาก สอนโดยอาจารย์ท่านอื่น และตัวหลักสูตรเองก็ค่อนข้างครอบคลุม เป็นเรื่องของลำดับเวลา เนื่องจากตอนนี้ฉันไม่สนใจ เลยอ่านผ่านๆ ไป
บทเรียนที่ 9 เป็นบทสรุปของซีรีส์และเป็นคำเชิญชวนให้เข้าร่วมหลักสูตร TensorFlow Lite ฟรี
สิ่งที่ฉันชอบและไม่ชอบ
ผมจะเริ่มต้นด้วยข้อดี:
- หลักสูตรนี้ฟรี
- หลักสูตรนี้มีไว้สำหรับ TensorFlow 2 หนังสือเรียนบางเล่มที่ฉันเห็นและหลักสูตรออนไลน์บางหลักสูตรมีไว้สำหรับ TensorFlow 1 ฉันไม่รู้ว่ามีความแตกต่างมากนักหรือไม่ แต่ก็เป็นเรื่องดีที่จะได้เรียนรู้เวอร์ชันล่าสุด
- ครูในวิดีโอไม่ได้น่ารำคาญ (แม้ว่าในเวอร์ชันภาษารัสเซียพวกเขาจะอ่านไม่ร่าเริงเหมือนในต้นฉบับก็ตาม)
- หลักสูตรนี้ใช้เวลาเรียนไม่มาก
- คอร์สนี้จะไม่ทำให้คุณรู้สึกเบื่อหรือหมดหวัง โจทย์ง่าย และมีคำแนะนำจาก Colab พร้อมวิธีแก้ไขที่ถูกต้องเสมอ หากไม่เข้าใจอะไร (และฉันก็ไม่เข้าใจปัญหาไปเกือบครึ่ง)
- ไม่จำเป็นต้องติดตั้งอะไรเลย งานแล็บทั้งหมดในหลักสูตรสามารถทำได้ในเบราว์เซอร์
ตอนนี้ข้อเสีย:
- แทบจะไม่มีเอกสารประเมินผลเลย ไม่มีแบบทดสอบ ไม่มีงานมอบหมาย ไม่มีอะไรให้ทดสอบความเข้าใจในหลักสูตรเลยแม้แต่น้อย
- สมุดบันทึกของฉันทำงานไม่ครบทุกเล่มอย่างที่คาดหวังไว้ ฉันคิดว่า Colab กำลังแสดงข้อผิดพลาดในบทเรียนที่สามของหลักสูตรภาษาอังกฤษฉบับดั้งเดิม และฉันก็ไม่รู้ว่าจะทำอย่างไร
- สะดวกแค่ดูบนคอมพิวเตอร์เท่านั้นแหละครับ บางทีผมอาจจะพลาดประเด็นไป แต่ผมหาแอป Udacity สำหรับสมาร์ทโฟนไม่เจอ เว็บไซต์เวอร์ชันมือถือมันตอบสนองช้ามาก หมายความว่าเมนูนำทางกินพื้นที่เกือบทั้งหน้าจอ แต่กว่าจะดูเนื้อหาหลักได้ ต้องปัดขวาผ่านพื้นที่แสดงผล อีกอย่างคือดูวิดีโอบนโทรศัพท์ไม่ได้ด้วย แทบจะมองไม่เห็นเลยบนหน้าจอที่ใหญ่กว่า 6 นิ้ว
- บทเรียนนี้มีคำอธิบายอยู่หลายเรื่อง แต่เนื้อหาสำคัญเกี่ยวกับเครือข่ายคอนโวลูชันกลับไม่ได้ถูกอธิบาย ผมเองก็ยังไม่เข้าใจจุดประสงค์โดยรวมของแบบฝึกหัดบางข้อ (เช่น Max Pooling มีไว้ทำอะไร)
สรุป
คุณคงเดาได้แล้วว่าไม่มีปาฏิหาริย์เกิดขึ้น และหลังจากเรียนจบหลักสูตรสั้นๆ นี้แล้ว เป็นไปไม่ได้เลยที่จะเข้าใจอย่างแท้จริงว่าเครือข่ายประสาททำงานอย่างไร
แน่นอนว่าหลังจากนี้ ฉันไม่สามารถแก้ปัญหาการจำแนกภาพถ่ายของสวิตช์และปุ่มในอุปกรณ์จ่ายไฟได้ด้วยตัวเองอีกต่อไป
แต่โดยรวมแล้วหลักสูตรนี้มีประโยชน์มาก แสดงให้เห็นว่า TensorFlow สามารถทำอะไรได้บ้าง และจะพัฒนาต่อไปอย่างไร
ฉันคิดว่าฉันต้องเรียนรู้พื้นฐานของ Python ก่อน และอ่านหนังสือภาษารัสเซียเกี่ยวกับการทำงานของเครือข่ายประสาท จากนั้นค่อยเริ่มใช้ TensorFlow
โดยสรุป ฉันอยากจะขอบคุณเพื่อนๆ ของฉันที่ให้กำลังใจฉันในการเขียนบทความแรกใน Habr และช่วยฉันจัดรูปแบบมัน
ป.ล. ฉันยินดีรับความคิดเห็นและคำวิจารณ์เชิงสร้างสรรค์ของคุณ
ที่มา: will.com
