สมัครเรียนโทร. 085-350-7540 , 084-88-00-255 , ntprintf@gmail.com

Tutorial Machine Learning

MT001 Artificial Intelligence MT002 Machine Learning MT003 8 Fun Machine Learning Projects For Beginner MT004 Optimization MT005 Mathematical Optimization MT006 Top 20 Python Machine Learning Open Source Projects MT101 Introduction to Neural Networks MT102 Introduction to Deep Learning with TensorFlow MT103 Installing TensorFlow for Deep Learning MT104 TensorFlow Creating the Neural Network Model MT105 TensorFlow How the Network will run

Introduction to Deep Learning with TensorFlow

หมายเหตุ: บทความนี้เป็นส่วนหนึ่งของ "บทความชุด Article with Machine Translation" ซึ่งเป็นการแปลบทความจากต้นฉบับภาษาต่างประเทศด้วย Machine translation ดังนั้นจึงมีข้อผิดพลาดอยู่หลายจุด ขอให้ผู้อ่านโปรดใช้วิจารณญาณในการอ่าน ทาง EPT ไม่ขอรับประกันว่าข้อมูลที่ท่านได้อ่านเป็นข้อมูลที่ถูกต้อง และไม่ขอรับผิดชอบความเสียหายใด ๆ ที่เกิดต่อผู้อ่านทั้งทางร่างกาย จิตใจ ทรัพย์สิน ฯลฯ นะครับ

บทนำ Deep Learning ด้วย TensorFlow

 

https://youtu.be/pnSBZ6TEVjY?list=PLQVvvaa0QuDfKTOs3Keq_kaG2P55YRn5v

          ยินดีต้อนรับสู่บทที่ 2 ของDeep Learning ของ Neural Network และ TensorFlow และเป็นบทที่ 44 ของชุดการเรียนการสอน machine learning
ใน Tutorial เราจะครอบคลุมเรื่องเบสิคของ TensorFlow ว่าคืออะไรและ จะเริ่มต้นใช้งานมันยังไง

Libraries เช่น TensorFlow และ Theano ไม่ใช่ Libraries สำหรับ Deep Learning ทั่วๆไป พวกมันเป็น librariesที่สร้างขึ้นมาอย่างเฉพาะสำหรับ Deep Learning เลย จริงๆแล้วพวกมัน เป็น libraries เพื่อการคำนวณทางคณิตศาสตร์ เหมือนแบบที่ Numpy เป็น อย่างไรก็ตามความแตกต่างก็คือ package อย่าง TensorFlow ทำให้เราสามารถดำเนินการทางคณิตศาสตร์แบบ machine learning โดยเฉพาะได้เช่น อนุพันธ์ในทางคณิตศาสตร์ใหญ่ๆที่มีประสิทธิภาพอย่างมากได้ เราสามารถกระจาย Distributed การคำนวนนี้ไปยัง CPU cores , GPU cores , หรือแม้แต่หลายๆอุปกรณ์อย่าง multiple GPUs ของในเครื่องของคุณได้อย่าง ง่ายดาย แต่นั่นไม่ใช่ทั้งหมด! เรายังสามารถกระจายการคำนวณผ่านเครือข่าย แบบกระจายของคอมพิวเตอร์ด้วย TensorFlow ได้ ดังนั้น ในขณะที่ TensorFlow กำลังถูกใช้งานเป็นหลักด้าน machine learning ตอนนี้ จริงๆแล้วมันสามารถนำ ไปใช้ในสาขาอื่นๆด้วยเพราะจริงๆแล้วมันเป็น library สำหับการคำนวนบน อาร์เรย์ที่ใหญ่มาก             

อะไร คือ tensor ? มาถึงจุดนี้ในชุด machine learning เราจะทำงานด้วย vectors (numpy arrays) เป็นหลักและ tensor สามารถเป็น vector ได้ อย่างง่ายที่สุด tensor เป็นวัตถุ array-like และอย่างที่คุณเห็น array สามารถรองรับ matrix , vector และจริงๆแล้วแม้แต่สเกลาร์ของคุณได้

Ranking 

0- Tensor ---> scalar value (a single value)

1-Tensor ---> Vector (a array of value)

2-Tensor ---> Matrix (a table of value)

3-Tensor ---> Cube 

n-Tensor ---> now you get the idea.

 

ในจุดนี้ เราต้องการที่จะแปลงปัญหาทาง machine learning ของเราไปยัง functions บน tensors ซึ่งทุกๆปัญหาทาง ML (Machine Learning ) สามารถแปลงไปเป็นปัญหาบน Tensor ได้(ให้ผู้อ่านพิารณาดูว่าจริงไหม ) 

พิจารณาเรื่องเครือข่ายประสาท เครือข่ายประสาทเทียมแบ่งมันไปเป็นอะไร ได้บ้าง? 

เรามีข้อมูล (X) , น้ำหนัก (w) และเกณฑ์ (ค่า Threshold ) (t) สิ่งเหล่านี้เป็น tensors ใช่มั้ย? X จะ เป็นชุดของข้อมูล (array) ดังนั้น มันเป็น tensor น้ำหนัก ก็เป็น array ของค่าน้ำ หนักเช่นกัน ดังนั้น พวกมันก็เป็น tensors เหมือนกัน เกณฑ์ล่ะ? ก็เหมือนกับน้ำหนักนั่นแหละ ดังนั้น เครือข่ายประสาทของเราเป็น ฟังก์ชั่นของ X,w, และ t, หรือ f(X,w,t) ดังนั้น เราได้ตั้งค่าทั้งหมดแล้วและ สามารถใช้ TensorFlow ได้แล้ว แต่ใช้ยังไงล่ะ?

TensorFlow อย่างแรก ทำงานโดยการกำหนดค่าและอธิบายโมเดลของเราในรูป แบบของนามธรรมและเมื่อทุกอย่างพร้อม เรา run มันในเซสชั่น Description ของโมเดลในแง่ของ TensorFlow คือ อะไรที่รู้จักกันในชื่อเรียกว่า “กราฟการ คำนวณ (Computational Graph)” ขออนุญาตแสดงให้เห็นด้วยตัวอย่างง่ายๆ อย่างแรกเลย มาสร้างกราฟกัน : 

  

ดังนั้น เรามีค่าบางอย่าง ตอนนี้เราสามารถทำสิ่งต่างๆด้วยค่าเหล่านั้นได้ เช่น การคูณ :

สังเกตว่า output ยังคงเป็น tensor นามธรรมอยู่ ไม่มีการคำนวณจริงๆที่ถูกรัน เฉพาะอันที่ระบบได้สร้างขึ้นเท่านั้น การดำเนินการแต่ละตัวหรือ "op," ในกราฟการ คำนวณของเรา คือ "node" ในกราฟ

เพื่อดูผลลัพธ์จริงๆ เราจำเป็นที่จะต้องรัน session โดยปกติแล้ว คุณสร้างกราฟ เป็นอย่างแรก แล้วคุณก็ทำการ "launch" กราฟ :

เรายังสามารถกำหนด output จาก session ไปเป็นตัวแปรได้อีกด้วย :

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

หลังจากที่ปิดแล้ว คุณยังคงสามารถอ้างอิงถึงตัวแปร output นั้นได้ แต่คุณจะไม่ สามารถทำบางสิ่งบางอย่างแบบนี้ได้ :

…ซึ่งมันจะเปลี่ยนไปเป็นข้อผิดพลาดได้ ตัวเลือกอีกอันที่คุณมี คือ นำคำประกาศ Python's with ไปใช้งาน :

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

คุณยังสามารถใช้ TensorFlow บนอุปกรณ์หลายๆตัวได้อีกด้วยและแม้แต่เครื่อง กระจายหลายเครื่องอีกด้วย ตัวอย่างสำหรับการรันการคำนวณบางอย่างบน GPU ที่เฉพาะเจาะจง จะเป็นอะไรแบบนี้ :

โค้ดจาก : TensorFlow docs ตัว tf.matmul คือ เมทริกซ์ฟังก์ชันการคูณ

โค้ดด้านบนสามารถรันการคำนวณบนระบบ GPU ที่ 2 ถ้าคุณได้ติดตั้งเวอร์ชั่น CPU กับผมแล้วนี่ไม่ได้เป็นตัวเลือก แต่คุณควรจะตระหนักถึงความเป็นไปได้ ในบรรทัด เวอร์ชั่น GPU ของ TensorFlow ต้องการ CUDA เพื่อที่จะให้เป็นการ set up ที่เหมาะสม (พร้อมกับต้องใช้ CUDA ที่เปิดใช้งาน GPU ด้วย) ผมมี CUDA ที่เปิดใช้งาน GPUs อยู่นิดหน่อย และต้องการที่จะครอบคลุมการใช้งาน ของพวกเขาด้วยเช่นกัน แต่นั่นไม่ใช่สำหรับวันนี้! 

ตอนนี้เรามีความรู้พื้นฐานของ TensorFlow แล้ว ผมอยากจะแนะนำให้คุณลงลึก ไปอีกในเรื่องของการสร้างเครือข่ายประสาทแบบลึกซึ้งในการเรียนการสอนต่อไป ถ้าคุณจำเป็นที่จะต้องติดตั้ง TensorFlow การดำเนินการการติดตั้งเป็นอะไรที่ง่าย มากๆถ้าคุณใช้ Mac หรือ Linux บน Windows ก็ไม่ได้ยากอะไรขนาดนั้น การเรียนการสอนต่อไปไม่ได้จำเป็นมากนัก มันคือการให้เราติดตั้ง TensorFlow บนเครื่อง Windows เท่านั้นเอง

การเรียนการสอนต่อไป :

https://pythonprogramming.net/tensorflow-deep-neural-network-machine-learning-tutorial/?completed=/tensorflow-introduction-machine-learning-tutorial/

References :

https://pythonprogramming.net/tensorflow-introduction-machine-learning-tutorial/?completed=/installing-tensorflow-machine-learning-tutorial/



ไม่อยากอ่าน Tutorial อยากมาเรียนเลยทำอย่างไร?

สมัครเรียน ONLINE ได้ทันทีที่ https://elearn.expert-programming-tutor.com

หรือติดต่อ

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM

แผนที่ ที่ตั้งของอาคารของเรา

Python

L16 PYTHON SIMPLE ARITHMETIC
L40 PYTHON TUTORIAL INTRO
L41 PYTHON GETTING STARTED
L42 PYTHON SYNTAX
L43 PYTHON COMMENTS
L44 PYTHON VARIABLES
L45 PYTHON DATATYPE
L46 PYTHON NUMBERS
L47 PYTHON CASING
L48 PYTHON STRINGS
L49 PYTHON BOOLEANS
L50 PYTHON OPARETORS
L51 PYTHON LISTS
L52 PYTHON TUPELS
L53 PYTHON SETS
L54 PYTHON DICTIONARY
L55 PYTHON IF ELSE
L56 PYTHON WHILE LOOP
L57 PYTHON FOR LOOP
L58 PYTHON FUNCTION
L59 PYTHON LAMBDA
L60 PYTHON ARRAYS
L61 PYTHON CLASSSES OBJECTS
L62 PYTHON INHERITANCE
L63 PYTHON ITERATORS
L63 PYTHON SCOPE
L64 PYTHON MODULES
L65 PYTHON DATETIME
L66 PYTHON JSON
L67 PYTHON REGEX
L68 PYTHON PIP
L69 PYTHON TRY EXCAPE
L70 PYTHON USER INPUT
L71 PYTHON FILE OPEN
L73 PYTHON STRING FORMATTING
L74 PYTHON READ FILE
L75 PYTHON WRILE CREATE FILE
L76 PYTHON DELETE FILE
L90 PYTHON POISSON DISTRIBUTION
L90 PYTHON RANDOM INTRODUCTION
L91 PYTHON CHI SQUARE DISTRIBUTION
L91 PYTHON EXPONENTIAL DISTRIBUTION
L92 PYTHON RAYLEIGH DISTRIBUTION
L93 PYTHON PARETO DISTRIBUTION
L94 PYTHON ZIPF DISTRIBUTION
L96 PYTHON RANDOM PERMUTATIONS
L97 PYTHON SEABORN
L98 PYTHON NORMAL DISTRIBUTION
L99 PYTHON DISTRIBUTION
L99 PYTHON LOGISTIC DISTRIBUTION
L99 PYTHON MULTINOMIAL DISTRIBUTION
L99 PYTHON NUMPY SPLITTING ARRAY
L99 PYTHON NUMPY UFUNCS
L99 PYTHON UNIFORM DISTRIBUTION
LM60PYTHON BUILT IN FUNCTIONS
LM61PYTHON STRING METHODS
LM62PYTHON LIST ARRAY METHODS
LM63PYTHON DICTIONARY METHODS
LM64PYTHON TUPLE METHODS
LM65PYTHON SET METHODS
LM66PYTHON FILE METHODS
LM67PYTHON KEYWORD
LM68PYTHON BUILT IN EXCAPTION
LM69PYTHON RANDOM MODULE
LM70PYTHON MATH MODULE
LM70PYTHON REQUSTS MODULE
LM72PYTHON CMATH MODULE
LM73PYTHON HOWTO REMOVE DUPLICATES FROM A PYTHON LIST
LM74PYTHON HOW TO REVERSE A STRING IN PYTHON
LM75PYTHON HOW TO ADD TWO NUMBERS IN PYTHON
LM95PYTHON RANDOM DATA DISTRIBUTION


แผนผังการเรียนเขียนโปรแกรม

Link อื่นๆ

Allow sites to save and read cookie data.
Cookies are small pieces of data created by sites you visit. They make your online experience easier by saving browsing information. We use cookies to improve your experience on our website. By browsing this website, you agree to our use of cookies.

Copyright (c) 2013 expert-programming-tutor.com. All rights reserved. | 085-350-7540 | 084-88-00-255 | ntprintf@gmail.com

ติดต่อเราได้ที่

085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM
แผนที่ ที่ตั้งของอาคารของเรา