PJJOP

AI and NLP Research

สมุดกลอนแปด ณัฐโชติ

โดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ อาจารย์ประจำภาควิชาคอมพิวเตอร์ มหาวิทยาลัยศิลปากร เคียงข้าง“เอี้ยงสาลิกา” ร้องเพรียกเรียกหาคู่ ยามเช้าตรู่ออกหากินใกล้ถิ่นฐาน แม้เปียกปอนเพราะฝนบ้างในบางกาล สองประสานอยู่เคียงข้างช่างสุขใจ เขียนที่ เขาตะเกียบฝนท้ายฤดูฝนโปรยปรายท้ายฤดูดูชุ่มชื

Building a High Availability Multi-site WordPress with Docker Swarm and MariaDB Cluster

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ อาจารย์ประจำภาควิชาคอมพิวเตอร์ รองผู้อำนวยการฝ่ายพัฒนาองค์กร สำนักดิจิทัลเทคโนโลยี มหาวิทยาลัยศิลปากร WordPress เป็น Open Source Software แบบ Content Management Systems (CMS) ยอดฮิต สำหรับการสร้างเว็บไซต์ บล็อก หรือเว็ปแอพลิเคชั่น ซึ่งปั

Quickly Text Preprocessing for Beginners using Pandas, Regex and SQLite

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ และ อ.ดร.สัจจาภรณ์ ไวจรรยา ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร Text Preprocessing เป็นกระบวนการทั้งแบบอัตโนมัติหรือกึ่งอัตโนมัติในการเตรียมข้อความให้อยู่ในรูปแบบที่สามารถนำไปวิเคราะห์ ออก Report หรือทำนายได้ด้วย Model ซึ่งข้

Detecting Pneumonia in Chest X-Ray Images Using Deep Learning Models on Google Colab Pro

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร บทความนี้เราจะพัฒนา Deep Learning Model แบบ Binary Classification และ Multi-Class Classification เพื่อตรวจจับโรคปอดอักเสบ (นิวโมเนีย - Pneumonia) หรือโรคปอดบวม ด้วยภาพ X-Ray ปอด ซึ่งจะมีการโหลด Image Dataset มาจาก Folder บน

Evaluation Metrics for Classification Model

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร Accuracy และ Loss เป็นเครื่องมือมาตรฐานที่ใช้ในการวัด (Metric) หรือประเมิน Classification Model แต่การจะประเมิน Model เพียงจาก Accuracy และ Loss อาจทำให้เกิดการเข้าใจผิดจนเกิดการเลือก Model ที่ไม่

Transfer Learning with Keras for Computer Vision Applications

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร Transfer Learning เป็นการนำ Weight ของ Model ที่ถูก Train ด้วย Dataset ในงานหนึ่ง (Pre-trained Model) กลับมาใช้ใหม่กับอีกงาน แทนที่จะต้อง Train ด้วยตัวเองตั้งแต่ต้น ซึ

Introduction to Deep Reinforcement Learning on Google Colab Pro

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร ปี 2013 บริษัทสตาร์ทอัพในลอนดอนชื่อ DeepMind ได้ตีพิมพ์ Paper ชื่อ Playing Atari with Deep Reinforcement Learning ซึ่งแสดงให้เห็นว่า AI Agent สามารถควบคุมการเล่นเกมอย่างเช่น Breakout,

Apple M1 Speed Test

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร TensorFlow เป็นหนึ่งใน Deep-learning Framework ยอดนิยมที่ใช้ในการพัฒนางานทางด้าน AI และ Data Science ที่สามารถเพิ่มความเร็วในการประมวลผลได้ด้วย NVIDIA GPU และ CUDA Toolkit แต่น่าเสียดายที่ Apple ได้หยุดให้

A Book Recommendation Example: Collaborative Filtering using Autoencoder Model

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร Collaborative Filtering เป็นเทคนิคหนึ่งที่ใช้ในการทำ Recommendation โดยอาศัยข้อมูลความพึงพอใจของ User ที่มีต่อ Item ต่างๆ อย่างเช่น การให้คะแนนความชอบในหนังสือแต่ละเล่ม การ Comment ภาพยนตร์แต่

ทำเนียบรุ่น วิชา DevOps and Cloud Engineering 101

ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร รายชื่อนักศึกษา รุ่นที่ 1 (2/62) นายณัฐดนัย ยังสติsaiyuki_2010@hotmail.com"ได้ฝึกใช้ Docker"นายณัฐภัทร คูวิจิตรจารุkhuwijitjaru_n@silpakorn.edu"ได้ทั้งความรู้ Docker การออกเเบบระบบ Web Aplication แล้

AI Outline : CPSUNext

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร Introduction to AI, Machine Learning and AI ToolboxesState Space SearchIntroduction to Deep Learning (Machine Learning Pipeline)Feature Engineering for AI and Machine Learning (การทำ Feature Engineering ด้วย Pandas)Implement the Back-propagation Algorithm from Scratch

การเลือกใช้ Loss Function ในการพัฒนา Deep Learning Model (ตอนที่ 2)

ภาพจากภาพยนตร์เรื่อง Tenetบทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร ตอนที่ 2 ของบทความเรื่องการเลือกใช้ Loss Function ในการพัฒนา Deep Learning Model นี้ ผู้อ่านจะได้ทำ Workshop ที่มีการคอนฟิก Model แบบ Classification ด้วย Loss Function อีก 3

การเลือกใช้ Loss Function ในการพัฒนา Deep Learning Model (ตอนที่ 1)

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร Deep Learning Model ที่ถูก Train ด้วย Stochastic Gradient Descent Optimization Algorithm มีกระบวนการทำงานหลักๆ 2 ส่วน ได้แก่ 1) Forward Propagation และ 2) Back-propagation โดยในการทำ Forward Propagation จะมีการประมาณ Error หรื

Visualizing Kernels and Feature Maps in Deep Learning Model (CNN)

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร แนวคิดของ Convolution นั้นทรงพลัง และสามารถเพิ่มประสิทธิภาพให้แก่ Neural Network Model ได้เป็นอย่างมาก โดยเฉพาะในยุคปัจจุบันที่ราคา Computer Hardware เช่น GPU นั้นถูกกว่าสมัยก่อนจนจั

การทำ Regularization แบบสมัยใหม่ ด้วยเทคนิค Augmentation, Batch Normalization และ Dropout

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร ในการเพิ่มประสิทธิภาพ Machine Learning Model มีวิธีการหลัก 2 อย่าง ที่ต้องให้ความสำคัญ คือ 1) การลด Generalization Error ด้วย Regularization และ 2) การลด Cost Value ด้

การวิเคราะห์ประสิทธิภาพ Machine Learning Model ด้วย Learning Curve

ภาพจาก https://storymaps.arcgis.comบทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร Learning Curve เป็นสิ่งที่แสดงถึงประสิทธิภาพการเรียนรู้ของ Model จาก Training Dataset ซึ่งแกน x ของกราฟจะเป็น Epoch และแกน y จะเป็นประสิทธิภาพของ Model โดยประสิทธิภาพของ

การ Deploy Machine Learning Model บน Production ด้วย FastAPI, Uvicorn และ Docker

ภาพจาก https://unsplash.com/@spacexบทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร ในการให้คำปรึกษาโครงงานวิทยานิพนธ์ (Project) บ่อยครั้งที่เมื่อนักศึกษาได้พัฒนา Deep Learning Model ที่มีประสิทธิภาพพอจะใช้งานได้ระดับหนึ่งแล้ว ผมก็จะให้พวกเขานำ

The Effects of the Learning Rate on Model Performance

ภาพจาก https://en.wikipedia.org/wiki/Kukenán-tepuiบทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร สำหรับผู้อ่านบางท่านที่เริ่มต้นศึกษา Machine Learning Model อาจจะเคยสับสนกับคำว่า Parameter และ Hyperparameter กันมาบ้าง โดย Parameter จะเป็นตัวแปร (Variable) ที

Introduction to Stochastic Gradient Descent with Tensorflow and Keras Framework

rบทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร Stochastic Gradient Descent (SGD) เป็นวิธีการหลักในการ Train Neural Network Model โดยใช้ Gradient หรือ ความชัน เป็นตัวบอกขนาดและทิศทางในการปรับ Parameters ที่จะทำให้ Loss Value เคลื่อนที่ไปยัง จุดต่

Implement the Back-propagation Algorithm from Scratch with NumPy

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร บทความโดย อ.ดร.ณัฐโชติ พรหมฤทธิ์ในบทความนี้เราจะศึกษา Neural Network อย่างละเอียดขึ้น ด้วยการทำความเข้าใจ Back-propagation Algorithm ซึ่งเป็นกระบวนการที่สำคัญในการย้อนกลับ (Backward) เพื่อปรับ Parameters (Weight และ Bias)

Feature Engineering for AI and Machine Learning (การทำ Feature Engineering ด้วย Pandas)

ภาพจาก https://towardsdatascience.com/feature-engineering-translating-the-dataset-to-a-machine-ready-format-af4788d15d6cบทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร "Data is the new oil!" หลายคนคงเคยได้ยินประโยคนี้ใช่ไหมครับ แต่อันที่จริงหากเป็นเรื่องเกี่ยวกับ AI และ Machine Learning แล้ว Data น่าจะเป็นเหมือนกั

Sentiment Analysis 101

ภาพจาก https://www.nbc.com.au/nbc/how-are-you-feeling-about-nbc-today-our-new-feedback-system-is-live/บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร ใน Workshop นี้เราจะได้เรียนรู้เกี่ยวกับการทำ Sentiment Analysis โดยใช้ Model แบบ RNN ที่รับ Dataset ผ่าน Input Node แบบ Time Series หรื

Introduction to Word2Vec

บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร ในการใช้ NLP Application เพื่อแก้ปัญหา เช่น การทำ Intent Classificaion หรือ Sentiment Analysis เราจะต้องมีการตัดคำ และแปลงคำเป็นตัวเลข เพื่อนำเข้า Neural Network Model เช่น ประโยค "Need help pleese"

Intent Classification

ภาพจาก https://towardsdatascience.com/a-brief-introduction-to-intent-classification-96fda6b1f557บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร ใน Workshop นี้เราจะได้เรียนรู้เกี่ยวกับการทำ Intent Classification กับ Dataset ที่เป็นประโยคภาษาอังกฤษ จำนวน 1,113 ประโยค ซึ่งมีการแบ่ง Intent ออกเป็น  21 Class

Introduction to NLP

ภาพจาก https://landbot.io/blog/natural-language-processing-chatbot/บทความโดย ผศ.ดร.ณัฐโชติ พรหมฤทธิ์ ภาควิชาคอมพิวเตอร์ คณะวิทยาศาสตร์ มหาวิทยาลัยศิลปากร NLP (Natural Language Processing) เป็น Field หนึ่งของ Artificial Intelligence (AI) ที่จะทำให้มนุษย์มีปฏิสัมพันธ์กับคอมพิวเตอร์ด้วยภาษาธรรมชาติ หรือช่วยให้