วันศุกร์ที่ 11 สิงหาคม พ.ศ. 2566
วันอังคารที่ 13 มิถุนายน พ.ศ. 2566
วันพุธที่ 1 มีนาคม พ.ศ. 2566
วันจันทร์ที่ 6 กุมภาพันธ์ พ.ศ. 2566
KL-Devergence?
ในบาง Machine learning จะเห็นใช้ KL-Devergence
แล้ว KL-Devergence คืออะไรสามารถไปดูได้ที่วีดีโอครับ
วันจันทร์ที่ 26 ธันวาคม พ.ศ. 2565
ปรับความสว่างภาพให้ดีขึ้นด้วย Histogram Equalization
- หลักการทำ Histogram Equalization
- Python Coding
- เว็บไชต์อธิบายการทำงานของ Histogram Equalization. https://cakenuthep.github.io/histogram-equalizer/web
วันอังคารที่ 15 พฤศจิกายน พ.ศ. 2565
การใช้ YOLO V5 สำหรับทำ Object Detection
สวัสดีครับ วันนี้จะมาแชร์การใช้งาน Yolo v5 สำหรับ ทำ Object Detection บน Online กัน
วันเสาร์ที่ 4 มิถุนายน พ.ศ. 2565
การทำให้ 2 เสียงที่เหมือนกันไม่เกิดการ Delay
สวัสดีครับ แอดได้ไปลองแกะโคดแล้วเจอวิธีที่ทำให้เสียง 2 เสียงที่เหมือนกัน แต่บางครั้งเกิดการ Delay ได้ดังรูป
![]() |
| Sound1 |
![]() |
| Sound2 |
จะเห็นว่า คลื่นเสียงที่ 1 และ คลื่นเสียงที่ 2 มีรูปคลื่นเหมือนกันเลย ยกเว้นช่วงเวลาที่ต่างกัน ก็คือ เสียงเพลงที่ 1 จะเริ่มเล่นก่อน แล้วเสียงเพลงที่ 2 ค่อยเริ่มเล่นตาม
แต่เราต้องการให้ เสียงเพลงที่ 1 กับเสียงเพลงที่ 2 ให้เล่นพร้อมกันเลย
สิ่งที่เราจะทำได้ก็อาจจะตัดช่วงเริ่มต้นของเพลงที่2 ออก
"แล้วเราจะรู้ได้อย่างไรว่าควรตัดช่วงเริ่มต้นของเพลงออกกี่วินาที ถึงจะทำให้เล่นเพลงที่ 1 กับ 2 พร้อมกันได้"
ถ้าในการเขียนโคดวิธีนึงนั้นเราจะใช้การคำนวณ correlate เข้ามาช่วย
จากวีดีโอด้านบน การคำนวณ Correlate จะเป็นการคำนวณโดยการเอาเสียงที่ต้องการเปรียบเทียบมาทาบในแต่ละช่วงเวลาแล้วคำนวณค่า Correlate ซึ่งช่วงเวลาใหนมีค่า Correlate มากที่สุดแสดงว่าช่วงเวลานั้นมีความใกล้เคียงกับเสียงที่เปรียบเทียบมากที่สุดนั่นเอง
เมื่อเราได้ช่วงเวลาที่ให้ค่า Correlate ที่มากที่สุด เราก็สามารถตัดช่วงเวลาก่อนหน้าออกได้เลยนั่นเอง
จากที่กล่าวมาทั้งหมดคือการทำ Correlate แบบคร่าวๆให้เข้าใจได้ง่ายและเห็นภาพ ต่อมาเราจะมาเขียนโคดกัน
แต่ก่อนจะเขียนโคด ขออธิบายหน้าตาข้อมูลที่ใช้ในการเก็บเสียงเพลงกันก่อนครับ
ข้อมูลในการเก็บเสียงเพลงนั้น จะเป็นการกับเก็บค่าตัวเลขของ Amplitude ของคลื่นในแต่ละช่วงเวลา เราสามารถแปลงเป็นข้อมูลได้ดังรูปครับ
![]() |
| Sound1 |
![]() |
| Sound2 |
เมื่อเราได้ข้อมูลของเสียงมาแล้ว เราก็จะเขียนโคดได้ดังนี้
จากโคดจะเห็นว่าเรามีคำสั่ง np.correlate(sound1, sound2, 'full') หรือก็คือการนำ Sound1 กับ Sound2 มา correlate กันดังวีดีโอด้านล่าง
หลังจาก correlate กันแล้วเราก็จะเลือกช่วงที่มีคะแนนที่มากที่สุดโดยใช้คำสั่ง np.armax(...) โดย np.armax(...) จะให้ตำแหน่งที่มากที่สุดมานั่นเอง
หลังจากนั้นเราก็เอาตำแหน่งที่ได้มาลบกับ ช่วงทั้งหมดของเสียง Sound1 ก็คือการนำมาลบกับ offset
delay = np.argmax(np.correlate(sound1, sound2, 'full')) - offset
เมื่อทำการลบ แล้วก็ได้ช่วงที่ Delay มา หลังจากนั้นเราก็สามารถ เอาช่วงที่เริ่มต้นที่เหลือมออกโดยใช้โคดด้านล่างครับ
"แล้วการคำนวณ Correlate คำนวณอย่างไร"
ในการคำนวณ Correlate ในคลื่นเสียงนั้นจะเอาเสียงมาทาบ แล้วหาผลบวกของผลคูณของตำแหน่งที่ตรงกัน เพื่อให้เข้าใจมากขึ้นมาดูตัวอย่างกันครับ
ตัวอย่างที่ 1
ในการทาบช่วงเวลาดังกล่าวก็จะได้ค่า Correlate เป็น 0.02 คือการคำนวณจากตัวอย่างที่ 2
ในการทาบช่วงเวลาดังกล่าวก็จะได้ค่า Correlate เป็น 0.19 คือการคำนวณจาก
ในการทาบช่วงเวลาดังกล่าวก็จะได้ค่า Correlate เป็น 0.19 คือการคำนวณจาก
สุดท้ายนี้หวังว่าโพสน์นี้จะมีประโยชน์นะครับ 😁 ขอบคุณครับ
วันพุธที่ 25 พฤษภาคม พ.ศ. 2565
คำสั่ง linux command ในการตรวจเช็ค URL
สวัสดีครับวันนี้แอดไปพบคำสั่งใน Linux ในการเรียก URL จนกว่าจะเรียกได้สำเร็จตามเวลาที่กำหนด ดังนี้ครับ
curl --head --location --silent --output /dev/null --write-out '%{http_code}' www.google.com --connect-timeout 30 --retry 20 --retry-delay 30
โดยสิ่งที่น่าสนในก็คือตรงส่วน ของ --output ให้ save ลง /dev/null
ซึ่งใน /dev/null ใน Linux นั้นจะเป็น Path ที่พิเศษอย่างหนึ่งก็คือ หากเราทำการ Save file ลงไว้ที่ /dev/null ไฟล์ดังกล่าวจะถูกลบออกจาก /dev/null เสมอ
ซึ่งผมใช้คำสั่งนี้เนื่องจากผมต้องการค่า http_code ค่าสุดท้ายค่าเดียวเท่านั้น ส่วนค่าอื่นให้กำจัดทิ้งไปที่ /dev/null นั่นเองครับ
วันพุธที่ 18 พฤษภาคม พ.ศ. 2565
ความแตกต่างระหว่าง PG และ DQN
บทความที่แล้วเรารู้จักเรื่อง Deep Q Network (DQN) http://cakeknowledgeblogs.blogspot.com/2020/09/deep-q-network.html กันไปแล้ว ครั้งนี้เลยจะมาแชร์เรื่อง Policy Gradient (PG) และความตากแตกต่างระหว่าง PG และ DQN กัน
วันเสาร์ที่ 4 ธันวาคม พ.ศ. 2564
Optimizer คืออะไร
สวัสดีครับในการศึกษาเรื่อง Neural Network จะมีคำศัพท์นึงที่ได้ยินกันบ่อยนั้นก็คือคำที่ชื่อว่า Optimizer แล้ว Optimizer คืออะไร หากใครสงสัยสามารถดูได้ที่คลิปวีดีโอได้เลยครับ
วันพุธที่ 31 มีนาคม พ.ศ. 2564
การทำงานของ Convolution Neural Network
สวัสดีครับหลังจากไปไม่ได้เขียน Blogs นานวันจะมาแชร์เรื่องหลักการทำงานของ Convolution Neural Network ที่เป็นหลักการทำงานเพื่อให้คอมพิวเตอร์สามารถเข้าใจรูปได้เช่น การแยกแยะภาพหมากับแมว หรือภาพอะไรก็ได้ หากอยากรู้ว่าทำงานอย่างไรสามารถเข้าไปชมได้ที่ช่องทาง Youtube ได้เลยครับ
หลัการทำงานของ CNN
วันพฤหัสบดีที่ 26 พฤศจิกายน พ.ศ. 2563
หลักการทำงาน Double Deep Q Networks
สวัสดีครับวันจะมาแชร์เรื่อง Double Deep Q Networks ซึ่งผมได้ทำวีดีโอไว้แล้วมาดูกันเลยครับ
- หลักการทำงาน Double Deep Q Networks
- มาเขียนโคด DDQN กัน
วันเสาร์ที่ 12 กันยายน พ.ศ. 2563
หลักการทำงาน Deep Q Network
สวัสดีครับวันนี้จะมาแชร์เรื่อง Deep Q Network ซึ่งผมได้ทำวีดีโอไว้แล้วสามารถดูวีดีโอได้ดังนี้ครับ
- หลักการทำงานของ Deep Q Network
- มาเขียนโคด Deep Q Network
วันอังคารที่ 25 สิงหาคม พ.ศ. 2563
Image Processing
สวัสดีครับวันนี้จะเป็น หัวข้อเกี่ยวกับกระบวนการทำงานของรูปภาพในคอมพิวเตอร์กัน ซึ่งผมได้ทำวีดีโอไว้ดังนี้ครับ
- คอมพิวเตอร์มองรูปภาพเป็นเป็นอย่างไร
- กระบวนการทำ Convolution เช่น การทำให้ภาพเบลอ
- สร้างโปรแกรมการทำ Convolution ด้วยตนเองกัน
วันเสาร์ที่ 20 มิถุนายน พ.ศ. 2563
Q Learning
สวัสดีครับวันนี้จะมาแชร์ Algorithm หนึ่งที่ใช้ใน AI ที่ชื่อว่า Q-Learning กันครับ งั้นมาเริ่มกันเลยครับ
1. Q Learning
2. วิธีการลง OpenAI Gym
3. มารู้จักเครื่องมือ OpenAI Gym ก่อนเริ่มเขียน Q Learning
4. มาเริ่มเขียน Q Learning กัน
วันอังคารที่ 16 มิถุนายน พ.ศ. 2563
Reinforcement Learning
วันเสาร์ที่ 9 พฤษภาคม พ.ศ. 2563
Neural Network คืออะไร
วันนี้จะมาแชร์เกี่ยวกับ "Machine Learning" ในหัวข้อเรื่อง "Neural Network" ว่าคืออะไรทำงานอย่างไร สามารถดูได้ที่ video ด้านล่างได้เลยครับ
1. ทฤษฎี Neural Network ก่อนเขียน code
วันอาทิตย์ที่ 29 มีนาคม พ.ศ. 2563
Genetic Algorithm#2
"แล้วปัญหา TSP(Traveling Salesman Problem) คืออะไร"
"แล้วเราจะเอา genetic algorithm มาใช้เพื่อแก้ปัญหา TSP อย่างไร?"
หลังจากที่เราได้เรียนรู้แล้วว่า genetic algorithm นั้น จะมีขั้นตอนหลักๆ คือ











