2.3.Giới thi u hàm kích ho t sigmoid và ReLU, và lý do chệ ạ ọn sigmoid cho lớp đầu ra.. XOR là một phép toán logic mà đầu ra chỉ là True hoặc 1 khi m t và ch ộ ỉmột trong hai đầu vào là
Trang 1TRƯỜNG ĐẠI HỌC SÀI GÒN
KHOA CÔNG NGH THÔNG TIN Ệ
BÁO CÁO MÔN H C: Ọ
X LÝ NGÔN NG T NHIÊN Ử Ữ Ự
Giáo viên hướng dẫn:
Thầy Nguy n Tuễ ấn Đăng
Nhóm sinh viên thực hi ện:
Lê Hồng Sơn – 3121410423 Đinh Công Thuận - 3122410401 Nguyễn Phong Vũ – 3121410579 Hoàng Minh Thành - 3122410384
Nhóm môn học: 15
Thành ph H Chí Minh, tháng /2024 ố ồ 11
Trang 22.2.Giải thích v mề ạng nơ-ron nhi u l p (Multilayer Perceptron - ề ớMLP)
2.3.Giới thi u hàm kích ho t sigmoid và ReLU, và lý do chệ ạ ọn
sigmoid cho lớp đầu ra
3 Phân Tích B Toán và Quy Trình Huài ấn Luyện 7
6 Kết Luận: 18
6.1.Tóm t t l i các k t qu ắ ạ ế ả đạt được và ý nghĩa của mô hình trong việc gi i quy t bài toán XOR ả ế
6.2.Đề xuấ ả ết c i ti n cho mô hình ho c các th nghi m ti p theo ặ ử ệ ế
7 Tài Liệu Tham Kh o ả : 21
Trang 33
1.Gi Thi ới ệu:
1.1 Giớ i thi u ng n g n v ệ ắ ọ ề bài toán XOR và ý nghĩa củ a nó trong h c máy ọ
Bài toán XOR (Exclusive OR) là một trong nh ng ví d ữ ụ kinh điển trong học máy và trí tu nhân tệ ạo, đặc biệt trong lĩnh vực mạng nơ-ron nhân tạo XOR là một phép toán logic mà đầu ra chỉ là True (hoặc 1) khi m t và ch ộ ỉmột trong hai đầu vào là True Trong các trường hợp khác (khi c ả hai đầu vào đều là True hoặc cả hai đều là False), đầu ra là False (hoặc 0)
Biểu đồ của bài toán XOR:
Trang 4có th tìm ra m i quan h ể ố ệ hoặc m u ph c t p trong d ẫ ứ ạ ữ liệu đầu vào
• Lớp đầu ra (Output Layer): Cung c p k t qu d ấ ế ả ự đoán của m ng ạ
S -ron trong l p này ph thu c vào yêu c u c a bài toán (phân ố nơ ớ ụ ộ ầ ủloại nhị phân, đa lớp, hồi quy, v.v.)
2. Nơ-ron (Neuron):
• Mỗi nơ-ron là một đơn vị xử lý, nhận đầu vào t ừ các nơ-ron lở ớp trước đó, áp dụng trọng s ố và bias, sau đó sử dụng hàm kích hoạt đểtạo đầu ra
• Đầu ra của một nơ-ron phụ thuộc vào các tr ng s ọ ố và bias, được cập nhật trong quá trình hu n luyấ ện để giảm thiểu sai s d ố ự đoán
3. Trọng s (Weights)ố :
• Trọng s là các tham s quyố ố ết định mức độ ảnh hưởng của một nơ-ron lên nơ-ron ở lớp k ế tiếp
Trang 5• Bias cho phép mô hình có th d ch chuyể ị ển đường quyết định, thay vì
cố định đi qua gố ọa độc t , giúp mạng nơ-ron thích nghi tốt hơn với các d u khác nhau ữ liệ
Hoạt độ ng của m ạng nơ-ron:
Trong m t mộ ạng nơ-ron, dữ liệu được truyền qua các l p t ớ ừ đầu vào đến đầu
ra m i lỞ ỗ ớp, đầu vào của các nơ ron đượ- c nhân với trọng số, cộng với bias, sau đó áp dụng hàm kích hoạt để ạo đầ t u ra Sau mỗi lần truy n, sai s ề ốgiữa d đoán và giá trị thực sẽ được tính toán và lan truyự ền ngượ ạc l i qua các l p (thông qua thuớ ật toán backpropagation) để điều ch nh tr ng s và ỉ ọ ốbias, giúp m ng tạ ối ưu hóa dần dần và cải thiện độ chính xác
2.2 Giả i thích v m ề ạng nơ -ron nhi u l p (Multilayer ề ớ
Perceptron - MLP)
M ng MLP:ạ Multi-Layer Perceptron (MLP) là m t lo i mộ ạ ạng nơ-ron nhân tạo có kh ả năng học các ranh giới phi tuy n M t MLP bao g m các thành ế ộ ồphần chính:
1 Lớp đầu vào (Input Layer): Lớp này nh n d ậ ữ liệu đầu vào t từ ập huấn luyện và truyền thông tin này đến các lớp ẩn ti p theo ế
2 Lớp ẩn (Hidden Layer): L p này ch a các neuron th c hiớ ứ ự ện phép biến đổi phi tuy n cế ủa đầu vào, cho phép m ng hạ ọc được các m i quan h ố ệphức tạp Các lớp ẩn thường sử dụng các hàm kích ho t phi tuyạ ến như
Trang 66
sigmoid, tanh, hoặc ReLU (Rectified Linear Unit) để thêm tính phi tuyến vào m ng ạ
3 Lớp đầu ra (Output Layer): L p này tớ ạo ra đầu ra cu i cùng cố ủa
m ng V i các bài toán phân lo i nh phân, lạ ớ ạ ị ớp đầu ra thường dùng hàm kích hoạt sigmoid để đầu ra là một xác suất Đố ới v i các bài toán phân loại đa lớp, lớp này thường sử dụng hàm softmax
2.3 Giớ i thi u hàm kích ho t sigmoid và ReLU ệ ạ
Hàm sigmoid có d ng: ạ
Đặc điểm của hàm sigmoid là đầu ra luôn n m trong kho ng (0, 1), thích ằ ảhợp cho các bài toán phân lo i nh phân Nó giúp mạ ị ạng nơ-ron chuy n các ểgiá tr u vào thành xác su t, r t h u ích trong các bài toán phân lo ị đầ ấ ấ ữ ại
Đạo hàm c a sigmoid: ủ
Được s d ng trong lan truyử ụ ền ngược (backpropagation) để tính toán lỗi và cập nh t tr ng sậ ọ ố
· Lan truy n xuôi (forward propagation)ề
Là quá trình tính toán đầu ra của mạng b ng cách truy n d u t lằ ề ữ liệ ừ ớp đầu vào qua các lớp ẩn, áp dụng các trọng số, bias và hàm kích ho t, cu i cùng ạ ốtạo ra d ự đoán tạ ớp đầi l u ra
Trang 77
· Lan truyền ngược (backpropagation)
Là quá trình tính toán sai s t lố ừ ớp đầu ra v lề ớp đầu vào, sau đó cập nhật trọng số và bias c a m ng b ng cách s dủ ạ ằ ử ụng gradient descent để giảm thiểu hàm mất mát Đây là cách mạng neuron h c và c i thi n d ọ ả ệ ự đoán qua các vòng hu n luyấ ện
3 Phân tích bài toán và Quy trình hu n luy n: ấ ệ
Mô T Quá Trình Hu n Luyả ấ ện:
Trang 88
Cấu Trúc Mạng (Network Architecture)
Mạng nơ-ron nhân t o s d ng trong bài toán này là m t mạ ử ụ ộ ạng nơ-ron đa lớp (Multilayer Perceptron - MLP) với:
Lớp đầu vào (Input Layer): Có 2 nơ-ron, tương ứng với hai đặ trưng đầc u vào x1 và x2
Lớp ẩn (Hidden Layer): Gồm 2 nơ-ron và s d ng hàm kích ho t sigmoid, ử ụ ạcho phép m ng hạ ọc được các m i quan h phi tuyố ệ ến
Lớp đầu ra (Output Layer): Gồm 1 nơ-ron và s d ng hàm kích hoử ụ ạt sigmoid, giúp đưa ra dự đoán là một giá tr trong kho ng (0,1) Giá tr này ị ả ịsau đó sẽ được làm tròn để cho ra nhãn 0 ho c 1 ặ
Tham s learning_rate và Epochsố
learning_rate = 0.1: Tốc độ ọ h c trung bình, phù hợp để tránh c p nh t quá ậ ậnhanh gây ra dao động
Epochs = 23000: S ố lượng epoch đủ cao để mạng có thời gian h i t ộ ụ và đạt kết qu tả ốt
·
Trang 9b1 và b2 là bias cho lớp ẩn và lớp đầu ra
Vòng l p hu n luy n (theo epochs)ặ ấ ệ :
Lan truy n ti nề ế :
Trang 10In ra độ lỗi mỗi 1000 epoch để theo dõi quá trình học.
Lan truyền ngược (Backpropagation):
d_final_output là gradient c a l i vủ ỗ ới đầu ra cuối cùng, giúp điều chỉnh W2
và b2
error_hidden_layer là sai s lan truy n v lố ề ề ớp ẩn, và d_hidden_output là gradient dùng để điều chỉnh W1 và b1
Cập nh t tr ng s và bias ậ ọ ố :
Trọng số và bias được điều ch nh theo tỉ ốc độ ọ h c learning_rate và gradient
từ quá trình lan truyền ngược
Trang 1111
K t qu vế ả trả ề
final_output là đầu ra c a m ng sau quá trình hu n luyủ ạ ấ ện
4 K t qu ế ả thự c nghi m ệ
4.1 K t qu d ế ả ự đoán sau khi huấ n luy n trên t p d ệ ậ ữ liệ u XOR
Dưới đây là một số k ết quả ự đoán d sau khi huấn luy n : ệ
Trang 1212
Trang 1313
Trang 1414
Trang 1515 Như ta thấy, qua các ví dụ trên chưa cho được kết quả sau khi huấn luyện như ta mong muốn
Trang 1616
Và d ướ đây i là k ết quả ủa bộ ữ liệ c d u t ốt nhấ t:
Epochs và Loss: Trong quá trình hu n luy n qua 23000 epochs, Loss giấ ệ ảm dần t 0.498 xuừ ống còn 0.028 Điều này cho thấy mô hình đã học dần dần
và tối ưu hóa tốt để đạt được kết quả phân lo t t ại ố nhất cho bài toán XOR
K t qu u ra (array)ế ả đầ :
array([[0.03059281], [0.97312973], [0.97312089], [0.0281654 ]]) th ể hiện xác suất đầu ra c a mô hình cho t ng củ ừ ặp đầu vào trong b d u XOR ộ ữ liệ
Trang 1818
6 K t Lu n ế ậ
6.1.Tóm t ắt lạ i các k t qu ế ả đạt được và ý nghĩa củ a mô hình
trong vi c gi i quy t bài toán XOR ệ ả ế
Mô hình đã đạt kết quả ấn tượng trong vi c gi i quy t bài toán XOR, vệ ả ế ới độchính xác cao và loss gi m t 0.498 xu ng ch còn 0.028 qua 23,000 epochs ả ừ ố ỉQuá trình này cho th y mô hình có kh ấ ả năng học d n d n và tầ ầ ối ưu hóa tốt cho bài toán phi tuyến tính như XOR, vốn không thể giải quyết bởi các mô hình tuyến tính đơn giản
Ý nghĩa của mô hình trong bài toán này là minh ch ng cho kh ứ ả năng của các
m ng neural phi tuy n trong vi c h c và phân lo i các bài toán ph c tạ ế ệ ọ ạ ứ ạp, nơi
mà các mô hình tuy n tính hoế ặc phương pháp truyền thống không thể đạt được kết qu chính xác Vi c gi i quy t bài toán XOR thành công cho thả ệ ả ế ấy tiềm năng của mạng neural trong x lý các bài toán phân lo i phi tuy n tính ử ạ ếkhác trong th c tự ế, mở ra nhiều ứng d ng tiụ ềm năng trong các lĩnh vực như nhận dạng m u, x lý ngôn ng t nhiên, và th giác máy tính ẫ ử ữ ự ị
6.2 Đề xuất cả ế i ti n cho mô hình ho c các th nghi m ti p theo ặ ử ệ ế
Áp d ụng phương pháp He Initialization
np.random.randn(input_size,hidden_size)*np.sqrt(2 / input_size).
Điều chỉnh tham số
Trang 1919
K t qu ế ả thu đượ c sau khi áp d ụng phương pháp He
Initialization và điều chỉnh tham số:
Phân tích k t qu : ế ả
• Train Loss và Test Loss:
o Các giá tr Train Loss và Test Loss giị ảm đều đặn qua t ng ừepoch Đây là một dấu hi u tích c c cho thệ ự ấy mô hình đang học
và c i thi n dả ệ ần
o Train Loss và Test Loss đều giảm đồng đều và gần như tương đương nhau, cho thấy mô hình không b quá kh p (overfitting) ị ớĐiều này ch ra r ng mô hình có kh ỉ ằ ả năng tổng quát t t trên d ố ữliệu ki m tra ể
• Mức độ giảm d n cầ ủa hàm m t mát ấ :
Trang 2020
o Trong các epoch đầu (từ epoch 1000 đến 5000), mức giảm hàm
m t mát khá lấ ớn, điều này cho thấy mô hình đang học nhanh
o Sau kho ng epoch 10,000, t ả ốc độ ả gi m m t mát ch m l ấ ậ ại, điề u này cho thấy mô hình đã gần đạt đượ c trạng thái t ối ưu và đang tiệ m cận với giá trị tốt nhất.
Đánh giá về Hiệu suất
• Không có d u hi u quá kh pấ ệ ớ :
o Vì Train Loss và Test Loss gần như tương đương nhau,
mô hình không có d u hi u h c quá m c t d u huấ ệ ọ ứ ừ ữ liệ ấn luy n và không b quá khệ ị ớp
• Tiếp t ục điều ch nh tham sỉ ố:
o Nếu mu n c i thi n hi u suố ả ệ ệ ất hơn nữa, có thể thử thay
đổi số lư ng neuron trong lợ ớp ẩn ho c th nghi m thêm ặ ử ệcác lớp ẩn để xem liệu mô hình có th c i thi n hi u su ể ả ệ ệ ất
• Khởi T o Tr ng S ạ ọ ố:
o Phương pháp He initialization là một lựa chọn tốt và phù hợp v i vi c s d ng hàm kích ho t ReLU Tuy nhiên, ớ ệ ử ụ ạtrong trường hợp này v i hàm sigmoid, k t qu ớ ế ả hiện tại
đã ổn định
Trang 2121
Tổng Quan
• Chất lượng mô hình: Mô hình đã hoàn thành tốt nhiệm v h c hàm ụ ọXOR, đạt độ chính xác cao và l i thỗ ấp Điều này cho thấy mô hình đã học đúng quy trình bài toán và có khả năng tổng quát tốt
• K t qu sau cế ả ải ti n ế : S ố lượng epoch và tốc độ ọc đã đượ ối ưu h c thóa khá h p lý M c dù có th ợ ặ ể giảm số epoch để tiết ki m th i gian ệ ờhuấn luyện, k t qu ế ả hiện tại đã rất ổn định
descent , (https://www.deeplearningbook.org/ )
2 "Pattern Recognition and Machine Learning" c a Christopher Bishop ủ(2006): Cung c p ki n th c v các mô hình h c máy, bao g m c ấ ế ứ ề ọ ồ ảPerceptron và các phương pháp phân loại phi tuyến
3 Coursera - Deep Learning Specialization c a Andrew Ng: Khóa hủ ọc chuyên sâu v h c sâu, cung c p ki n th c v các mề ọ ấ ế ứ ề ạng nơ-ron, quá trình hu n luy n và tấ ệ ối ưu hóa mô hình
4 Machine Learning Crash Course c a Google: Cung c p các ki n thủ ấ ế ức nền t ng v h c máy và mả ề ọ ạng nơ-ron, bao g m các mô hình phân loồ ại tuy n tính và phi tuyế ến
5 Nielsen, M (2015) Neural Networks and Deep Learning
Determination Press.( http://neuralnetworksanddeeplearning.com/ )