Dự đoán trong mô hình là việc rất quan trọng trong học máy, và trong khai phá dữ liệu, phát hiện trí thức của hệ thống mạng Nơron.. Khi mà khả năng tính toán của các máy tính được nâng l
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÀ RỊA-VŨNG TÀU -
LÊ VIẾT HUẤN
Xây dựng mô hình khuyến cáo khả năng nghỉ học của sinh viên Trường cao đẳng Kỹ thuật Công nghệ -
Trang 2I
MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT IV DANH MỤC CÁC BẢNG V DANH MỤC CÁC HÌNH VI
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Tính cấp thiết của đề tài 1
3 Mục tiêu đề tài 3
4 Nội dung nghiên cứu 3
5 Phương pháp luận và phương pháp nghiên cứu 3
5.1 Phương pháp luận 3
5.2 Phương pháp nghiên cứu 3
CHƯƠNG I GIỚI THIỆU TRÍ TUỆ NHÂN TẠO 5
1.1 Giới thiệu trí tuệ nhân tạo 5
1.2 Các lĩnh vực thuộc trí tuệ nhân tạo 6
1.3 Các bài toán sử dụng trong trí tuệ nhân tạo 13
1.3.1 Phân nhóm 13
1.3.2 Phân cụm 17
1.3.3 Nhận dạng 17
1.4 Thuật toán sử dụng trong hàm 17
CHƯƠNG II GIỚI THIỆU VỀ MẠNG NƠRON 22
2.1 Giới thiệu mạng Nơron 22
2.1.1 Lịch sử phát triển của mạng Nơron 22
2.1.2 Ứng dụng 23
Trang 3II
2.1.3 Căn nguyên sinh học của mạng 24
2.2 Nơron nhân tạo 25
2.3 Hàm xử lý 27
2.3.1 Hàm kết hợp 27
2.3.2 Hàm kích hoạt của mạng (hàm chuyển) 27
2.3.2.1 Hàm tuyến tính (Linear function): 27
2.3.2.2 Hàm ranh giới cứng trong mạng (Hard limiter function) 28
2.3.2.3.Hàm Sigmoid (Sigmoid function) 28
2.3.2.4 Hàm Sigmoid lưỡng cực(Bipolar Sigmoid function) 29
2.3.2.5 Hàm TanH 30
2.3.2.6 Hàm ReLU 30
2.3.2.6 Hàm Leaky ReLU 31
2.4 Cấu trúc của mạng nơron 33
2.4.1 Phương pháp mạng truyền thẳng 33
2.4.2 Mạng hồi qui 34
2.4.3 Luật học 34
2.4.4 Hàm mục tiêu 36
2.5 Huấn luyện mạng Nơron 36
2.5.1 Phương pháp mạng Nơron truyền thẳng 37
2.5.1.1 Các kiến trúc cơ bản 37
2.5.1.2 Khả năng biểu diễn 38
2.5.2 Số lớp ẩn 39
2.5.3 Số nơron trong lớp ẩn 39
2.6 Thuật toán lan truyền ngược (Back-Propagation Algorithm) 41
Trang 4III
2.6.1 Phương pháp mô tả thuật toán 41
2.6.1.1 Chỉ số hiệu năng (performance index) 41
2.6.1.2 Luật xích (Chain Rule) 42
2.6.1.3 Lan truyền ngược độ nhạy cảm 44
2.6.2 Sử dụng thuật toán lan truyền ngược của mạng 46
2.6.3 Một số loại biến thể của thuật toán lan truyền ngược 49
CHƯƠNG III ỨNG DỤNG MẠNG NƠRON TRONG VIỆC KHUYẾN CÁO KHẢ NĂNG NGHỈ HỌC CỦA HỌC SINH, SINH VIÊN 52
3.1 Các bước thực hiện mô hình 52
3.2 Thu thập dữ liệu cho mô hình 53
3.3 Phân tích, lựa chọn đặc trưng 54
3.4 Tiền xử lý dữ liệu cho mô hình 57
3.5 Xây dựng mạng Nơron 59
3.5.1 Cấu trúc mạng Nơron 59
3.5.2 Huấn luyện mạng Nơron cho mô hình 61
3.5.3 Kiểm thử mạng nơron 64
3.6 Kết quả bài toán khuyến cáo 66
CHƯƠNG IV KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 67
4.1 Các kết quả đạt được 67
4.2 Hướng phát triển tiếp theo 67
TÀI LIỆU THAM KHẢO 68
PHỤ LỤC 70
Trang 5IV
DANH MỤC CÁC TỪ VIẾT TẮT
TT TÊN VIẾT
2 ANN Artificial Neural Network Mạng nơron nhân tạo
lớp
tàu
Network
Mạng truyền thẳng nhiều lớp
nhất
Trang 6V
DANH MỤC CÁC BẢNG
Bảng 3.1: Bảng dữ liệu kết quả học tập rèn luyện 55
Bảng 3.2: Bảng điều kiện phân loại học lực 56
Bảng 3.3: Bảng dữ liệu tính chất đặc trưng của mô hình 57
Bảng 3.4: Dữ liệu mạng nơron với số đầu vào 58
Bảng 3.5: Giá trị loss sau mỗi epoch 62
Trang 7VI
DANH MỤC CÁC HÌNH
Hình 1.1:Quan hệ giữa AI, Machine Learning và Deep Learning 6
Hình 1.2: Dữ liệu được phân chia làm hai tập điểm 9
Hình 1.3: Dữ liệu phức tạp, không được phân chia 10
Hình 1.4: Thuật toán học có giám sát 14
Hình 1.5: MNIST bộ cơ sở dữ liệu của chữ số viết tay 15
Hình 1.6: Học không giám sát 16
Hình 1.7: Học bán giám sát 16
Hình 1.8: Thuật toán Nơron nhân tạo 18
Hình 1.9: Thuật toán học sâu 19
Hình 1.10: Thuật toán giảm kích thước 20
Hình 1.11: Thuật toán tổng hợp 21
Hình 2.1: Đơn vị xử lý tín hiệu thứ j 26
Hình 2.2: Mô hình mạng Nơron nhân tạo 27
Hình 2.3: Hàm tuyến tính d trong mạng (Linear function) 28
Hình 2.4: Hàm ranh giới cứng e trên x 28
Hình 2.5: Hàm – Sigmoid 29
Hình 2.6: Hàm Sigmoid lưỡng cực g(x) 29
Hình 2.7: Hàm TanH 30
Hình 2.8: Đồ thị hàm ReLU 31
Hình 2.9: Đồ thị hàm Leaky ReLU 32
Hình 2.10: Mô hình Softmax Regression dưới dạng Neural network 33
Hình 2.12: Mạng hồi qui 34
Hình 2.13: Mô hình học có giám sát j 35
Hình 2.14: Mạng nơron truyền thẳng nhiều lớp k 37
Hình 3.1: Các bước chính trong xây dựng mô hình 52
Hình 3.2: Mô hình cấu trúc mạng Nơron MLP 60
Hình 3.3: Đồ thị thể hiện mức độ học của MLP 63
Hình 3.4: Các thông số huấn luyện của mạng 64
Trang 8VII
Hình 3.5: Các thông số kiểm thử của mạng 66
Trang 91
MỞ ĐẦU
XÂY DỰNG MÔ HÌNH KHUYẾN CÁO KHẢ NĂNG NGHỈ HỌC CỦA SINH VIÊN TRƯỜNG CAO ĐẲNG KỸ THUẬT CÔNG NGHỆ TỈNH BÀ RỊA VŨNG TÀU
1 Lý do chọn đề tài
Hiện tượng nghỉ học ngày càng phổ biến trong các bạn học sinh, sinh viên năm nhất của trường Cao Đẳng Kỹ Thuật Công Nghệ tỉnh Bà Rịa Vũng Tàu Vấn đề này đang nhận được sự quan tâm đặc biệt của Ban giám hiệu nhà trường và thầy cô giáo Qua số liệu khảo sát từ năm 2016-2019 tại trường Cao Đẳng Kỹ Thuật Công Nghệ tỉnh Bà Rịa Vũng Tàu, đã cho thấy một số khó khăn hiện nay đối với nhà trường như sau:
Chủ yếu vào thời điểm sau tết nguyên đán hàng năm học sinh, sinh viên nhà trường thường hay nghỉ học nhiều Theo số liệu thống kê chưa đầy đủ, từ đầu năm học 2016-2017 đến nay, toàn trường có gần 458 học sinh, sinh viên bỏ học giữa chừng, trong đó chủ yếu là học sinh hệ trung cấp 380 em, chiếm tỷ lệ 83% tổng số học sinh, sinh viên hệ cao đẳng nghề 78 em chiếm tỷ lệ 17% Một số ngành nghề có học sinh bỏ học nhiều như: Điện công nghiệp, Công nghệ thông tin…
Một thực tế đã chứng minh rằng việc bỏ học liên quan chặt chẽ đến kết quả học tập của các bạn sinh viên, đó chính là sự giảm sút về điểm số, sự chán nản trong mỗi bài học Nguyên nhân bỏ học đến từ yếu tố khách quan và yếu tố chủ quan của mỗi bạn học sinh, sinh viên chẳng hạn như: bạn bè rủ rê, lôi kéo, điểm số thấp nên chán nản, không có kế hoạch học tập rõ ràng…
2 Tính cấp thiết của đề tài
Kết quả của việc nghỉ học của học sinh, sinh viên không chỉ là nỗi lo của ngày hôm nay mà sẽ còn là gánh nặng đến cộng đồng xã hội mai sau
Trang 102
Việc các em bỏ học sớm của các em sẽ làm tăng thêm lực lượng lao động không
có tay nghề, không được đào tạo, hiệu quả lao động thấp, chưa kể việc các em rất dễ
bị lôi kéo vào các tệ nạn xã hội đang rất phổ biến hiện nay
Nhằm khắc phục các khó khăn trên, về phía nhà Trường, cũng đã cố gắng nâng cao chất lượng đào tạo, đổi mới phương pháp giảng dạy cũng như tạo sân chơi lành mạnh kèm theo đó là các hoạt động ngoại khóa hay các buổi học tập, trao đổi về phương pháp phân bổ thời gian học tập hợp lý…cho các bạn học sinh, sinh viên, nhưng kết quả vẫn chưa khả quan
Để góp phần xác định hiện tượng nghỉ học nhiều tại nhà trường, tôi quyết định chọn đề tài "Xây dựng mô hình khuyến cáo khả năng nghỉ học của sinh viên Trường Cao Đẳng Kỹ Thuật Công Nghệ tỉnh Bà Rịa Vũng Tàu " nhằm hỗ trợ công tác tư vấn định hướng học tập và khuyến cáo đến các bạn học sinh, sinh viên kết quả học tập của mình từ đó chấn chỉnh lại ý thức học tập và có phương pháp học tập hợp lý để kết quả học tập ngày càng tốt hơn, đồng thời giúp người học tự định hướng chính xác hơn về nghề nghiệp phù hợp với mình
Cùng với phương pháp sử dụng mạng Nơron trong những năm gần đây, được quan tâm và sử dụng nhiều trong lĩnh vực nhận dạng và phân lớp Dự đoán trong mô hình là việc rất quan trọng trong học máy, và trong khai phá dữ liệu, phát hiện trí thức của hệ thống mạng Nơron
Kỹ thuật (MLP - Multi Layer Perceptron) trong mạng Nơron được đánh giá là một trong những công cụ mạnh và phù hợp nhất hiện nay cho những bài toán phân lớp phi tuyến Dựa trên kỹ thuật MLP đã có nhiều ứng dụng đã và đang được xây dựng rất hiệu quả Các giải pháp phân loại và dự đoán nếu nắm chắc và xây dựng tốt phương pháp này sẽ tạo nền tảng giúp chúng ta trong việc phát triển, xây dựng được những ứng dụng quan trọng trong thực tế Đặc biệt là các bài toán dự báo, điều khiển, lọc dữ liệu, xử lý…
Việc xây dựng mô hình dự báo khả năng nghỉ học của các bạn học sinh, sinh viên năm nhất của trường Cao Đẳng Kỹ Thuật Công Nghệ tỉnh Bà Rịa Vũng Tàu dựa vào
Trang 113
các đặc trưng như: điểm số của các môn học, vắng học, kết quả rèn luyện trên cơ
sở bài toán phân loại 2 lớp MLP là cần thiết và mang tính khả thi cao
3 Mục tiêu đề tài
- Nghiên cứu phần bài toán phân lớp quan điểm, cơ sở lý thuyết của phương pháp máy học, Mạng Nơron
- Tìm hiểu thuật toán Mạng Nơron
- Áp dụng kỹ thuật Mạng Nơron cũng như những cải tiến, mở rộng của nó để
xây dựng Mô hình giải quyết bài toán nghỉ học của học sinh, sinh viên năm nhất
4 Nội dung nghiên cứu
- Phân tích những giải pháp, những ứng dụng công nghệ Mạng Nơron để tạo
ra công cụ dự báo kết quả học tập giúp giảm tỉ lệ bỏ học của sinh viên năm nhất
- Tổng hợp, thu thập, phân tích, đánh giá các số liệu thực tế của học sinh, sinh viên trong nhà trường trong khoảng 3 năm trở lại đây
- Áp dụng kỹ thuật Mạng Nơron cũng như những cải tiến, mở rộng của nó vào giải quyết bài toán dự báo khả năng nghỉ học của học sinh
-Viết và cài đặt thuật toán chương trình
5 Phương pháp luận và phương pháp nghiên cứu
5.1 Phương pháp luận
- Tìm hiểu cơ sở lý thuyết và thuật toán về mô hình MLP phân loại 2 lớp
- Tìm hiểu lý thuyết cơ sở và sử dụng thuật toán về mạng Nơron
- Tìm hiểu các lựa chọn đặc trưng, thuật toán phân loại 2 lớp trong việc phân tích dữ liệu và đưa ra dự báo kết quả học tập của học sinh, sinh viên
- Tìm hiểu và lựa chọn ngôn ngữ lập trình, công cụ hỗ trợ
5.2 Phương pháp nghiên cứu
- Xây dựng bộ dữ liệu dự báo cho Mạng Nơron
Trang 124
- Xây dựng mô hình dựa trên mạng Nơron thực hiện chương trình dự báo khả năng nghỉ học của học sinh, sinh viên
Trang 13Trí thông minh của máy tính có thể có nhiều cách để làm ra (hay là trí tuệ nhân tạo), chẳng hạn là tìm hiểu cách bộ não người phát sinh ra trí thông minh như thế nào rồi ta bắt chước nguyên lý đó, nhưng cũng có nhiều cách khác sử dụng những nguyên
lý khác nhau với cách sản sinh ra trí thông minh của loài người mà vẫn làm ra máy tính thông minh như con người
Như vậy, khả năng của máy khi thực hiện các công việc mà con người thường phải xử lý gọi là trí tuệ nhân tạo; máy thông minh hay máy đó có trí thông minh là khi kết quả thực hiện của máy tốt hơn hoặc tương đương với con người Nói theo nhiều cách khác, máy tính thông minh không phải đánh giá dựa trên nguyên lý máy tính thực hiện nhiệm vụ đó có giống cách con người thực hiện hay không mà dựa trên những kết quả đó có giống với con người thực hiện hay không?
Nhiệm vụ con người thường xuyên cần phải thực hiện đó là: giải bài toán ( tìm kiếm, chứng minh, lập luận), giao tiếp, thể hiện cảm xúc, học, thích nghi với môi trường xung quanh… v.v, và dựa trên các kết quả thực hiện các nhiệm vụ đó để rút
ra một điều rằng một ai đó có là thông minh hay không Trí tuệ nhân tạo nhằm cung cấp các phương pháp để làm ra các nhiệm vụ đó hệ thống có khả năng thực hiện: giao
Trang 146
tiếp, học, giải toán v.v dù cho cách nó làm có giống như con người hay không mà là kết quả đạt được hoặc dáng vẻ bên ngoài như con người [1]
1.2 Các lĩnh vực thuộc trí tuệ nhân tạo
Trong những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo) được xem như cuộc cách mạng công nghiệp lần thứ tư nổi lên như một bằng chứng
và cụ thể hơn là Machine Learning (Học Máy) Trí Tuệ Nhân Tạo đã và đang len lỏi vào tất cả các lĩnh vực trong đời sống mà có thể chúng ta không hề hay biết Xe tự lái của Google và Tesla, hệ thống tự nhận diện khuôn mặt trong ảnh của Facebook, trợ
lý ảo Siri của Apple, hệ thống trợ giúp của Amazon, hệ thống tìm kiếm phim của Netflix, máy chơi cờ vây AlphaGo của Google DeepMind, …, chỉ là một vài trong rất nhiều những ứng dụng của Machine Learning
Khi mà khả năng tính toán của các máy tính được nâng lên một tầm cao mới
và lượng dữ liệu khổng lồ được thu thập bởi các hãng công nghệ lớn, Machine Learning đã tiến thêm một bước dài và một lĩnh vực mới được ra đời gọi là Deep Learning, Deep Learning đã giúp máy tính thực thi những việc tưởng chừng như không thể vào 10 năm trước: phân loại cả ngàn vật thể khác nhau trong các bức ảnh,
tự tạo chú thích cho ảnh, bắt chước giọng nói và chữ viết của con người, giao tiếp với con người, hay thậm chí cả sáng tác văn hay âm nhạc [2]
Hình 1.1:Quan hệ giữa AI, Machine Learning và Deep Learning
1.2.1 Học máy
Trang 15Để giới thiệu cụ thể hơn về Machine Learning, dựa vào mối quan hệ của nó với ba khái niệm sau:
Machine Learning và trí tuệ nhân tạo (Artificial Intelligence hay AI) Machine Learning cùng với Big Data
Machine Learning và dự đoán tương lai
AI, trí tuệ nhân tạo, một cụm từ vừa gần gũi vừa xa lạ với chúng ta Gần gũi bởi vì thế giới đang bùng nổ với những công nghệ được dán nhãn AI Xa lạ bởi vì một AI thực thụ vẫn còn chưa phổ biến với chúng ta Theo hiểu biết chung trong giới hàn lâm, AI là một ngành khoa học được sinh ra với mục đích làm cho máy tính có khả năng học được trí thông minh Điều này vẫn chưa rõ ràng vì định nghĩa về trí thông minh vẫn chưa thống nhất Một số nhiệm vụ cụ thể hơn được các nhà khoa học
tự định nghĩa, một trong số đó là phần mềm trên máy tính lừa được Turing Test Turing Test được tạo ra bởi Alan Turing (1912-1954), một trong những người đặt nền tảng cho ngành khoa học máy tính thông minh, dùng để phân biệt xem người đối diện có phải là người hay không [3]
Con người muốn AI thể hiện một mục tiêu Machine Learning là một công cụ được kỳ vọng sẽ giúp con người đạt được mục tiêu đó Và thực tế thì Machine Learning đã mang con người đi rất xa trên con đường chinh phục AI Nhưng vẫn còn một đoạn đường xa hơn rất nhiều cần phải đi Machine Learning và AI có mối quan
Trang 168
hệ bền chặt với nhau nhưng chưa hẳn là trùng khớp vì một bên là phương tiện (AI), một bên là mục tiêu (Machine Learning) Chinh phục AI mặc dù vẫn là mục đích tối thượng của Machine Learning, nhưng hiện tại Machine Learning tập trung vào những mục tiêu ngắn hạn hơn như: Làm cho máy tính có những khả năng nhận thức cơ bản của con người như nghe, nhìn, hiểu được ngôn ngữ, giải toán, lập trình, …và hỗ trợ con người trong việc xử lý một khối lượng thông tin khổng lồ mà chúng ta phải đối mặt hàng ngày, hay còn gọi là Big Data [3]
Big Data thực chất chưa phải là một ngành khoa học chính thống Đó là một cụm từ được dân cư mạng tung hô để ám chỉ thời kì bùng nổ của dữ liệu hiện nay Big Data nó cũng không khác gì nhiều so với những cụm từ như "cách mạng công nghiệp", "kỉ nguyên phần mềm" Big Data là một điều tất yếu của việc sử dụng mạng Internet ngày càng có nhiều kết nối Với sự ra đời của các mạng xã hội nhưng Twitter, Instagram, Facebook, có nhu cầu chia sẻ thông của con người tăng trưởng một cách đáng kể Nơi được mọi người chia sẻ video và comment về nội dung của video Youtube cũng có thể được xem là một hệ thống của mạng xã hội Một số ví dụ điển hình về quy mô của Big Data:
• Theo con số thông kê khoảng 500 giờ video được upload trên youtube trong mỗi phút (theo https://www.youtube.com/yt/press/statistics.html)
• Có khoảng hơn 800 triệu người thật sự sử dụng Facebook mỗi ngày, trong
đó 86.8% trong số đó ở ngoài Mỹ và Canada (theo info)
http://newsroom.fb.com/company-• Nhu cầu tìm kiếm thông tin tăng đi đôi với nhu cầu chia sẻ cũng tăng Google phải xử lý 200 tỉ lượt tìm kiếm mỗi tháng, tức là 4,3 tỉ lượt mỗi ngày và 39.000 lượt mỗi giây (theo http://www.internetlivestats.com/google-search-statistics/)
Và những con số này đang tăng lên theo từng ngày đáng kinh ngạc! [3] Big Data đây không phải là danh từ duy nhất dẫn đến sự ra đời của từ Bùng
nổ thông tin Ta biết rằng Big Data xuất hiện nhưng lượng dữ liệu tích tụ kể từ khi mạng Internet xuất hiện vào cuối thập kỉ trước cũng không phải là nhỏ Thế nhưng, lúc đó có một khối dữ liệu khổng lồ và không biết làm gì với chúng ngoài lưu trữ và
Trang 179
sao chép Cho đến một ngày, các nhà khoa học nhận ra rằng trong khối lượng dữ liệu
ấy thực ra chứa một khối lượng thông tin tri thức khổng lồ và cần thiết Những tri thức ấy có thể giúp cho ta hiểu thêm về nhiều lĩnh vực khác trong xã hội Đối với những danh sách bộ phim yêu thích của một cá nhân phần mềm có thể rút ra được sở thích của người đó và giới thiệu những bộ phim người ấy chưa từng xem và tương đối phù hợp với sở thích Từ danh sách tìm kiếm của cộng đồng mạng phần mềm sẽ biết được vấn đề đang được quan tâm nhất sẽ tập trung đăng tải nhiều hơn về vấn đề
đó Big Data chỉ mới bắt đầu từ khi chúng ta hiểu được giá trị của dữ liệu chứa một lượng lớn thông tin, và có đủ dữ liệu cũng như công nghệ để có thể nghiên cứu chúng trên một quy mô rộng lớn Và không có gì bất ngờ khi Machine Learning chính là thành phần quan trọng của công nghệ đó Big Data và Machine Learning có quan hệ mật thiết với nhau nhờ sự gia tăng của khối lượng dữ liệu của Big Data mà Machine Learning phát triển ngày một lớn, ngược lại giá trị của Big Data phụ thuộc vào kỹ năng khai thác thông tin tri thức từ dữ liệu của Machine Learning [3]
Trước kia, khi mạng Internet ra đời Machine Learning đã xuất hiện từ rất lâu Machine Learning có những thuật toán đầu tiên là Perceptron được phát minh ra bởi Frank Rosenblatt vào năm 1957 Nó là một thuật toán rất quan trọng dùng để phân loại hai khái niệm Một ví dụ đơn giản là phân loại thư rác (tam giác) và thư bình thường (vuông) Đối với Perceptron, là việc vẽ một đường thẳng trên mặt phẳng để phân chia hai tập hợp điểm:
Hình 1.2: Dữ liệu được phân chia làm hai tập điểm
Trang 1810
Những email được điểm tam giác và vuông đại diện cho chúng ta đã biết nhãn trước Chúng được dùng để huấn luyện để chia hai điểm bằng đường thẳng khi vẽ, ta nhận được các điểm chưa được dán nhãn, đại diện cho các email cần được phân loại (điểm tròn) Ta sử dụng để dán nhãn của một hoặc nhiều điểm theo nhãn của các điểm cùng nửa mặt phẳng với điểm đó
Quy trình sơ lược phân loại thư được mô tả sau Trước hết, để chuyển những email thành cơ sở dữ liệu ta cần một thuật toán Phần này rất rất quan trọng vì nếu chúng ta lựa chọn đúng để biểu diễn phù hợp, công việc của perceptron sẽ dễ dàng hơn rất nhiều Tiếp theo, perceptron sẽ dựa vào từng điểm để đọc tọa độ và sử dụng thông tin này để làm cơ sở tham số của đường thẳng cần tìm Đây là một thuật toán đơn giản và chúng có rất nhiều vấn đề cần giải quyết và liên quan tới perceptron, chẳng hạn như điểm cần phân loại nằm ngay trên đường thẳng phân chia trong mô hình Sẽ thật khó hơn là với một tập dữ liệu phức tạp hơn khi đường thẳng phân chia không tồn tại:
Hình 1.3: Dữ liệu phức tạp, không được phân chia
Lúc này, các loại đường phân chia ta cần "không thẳng" Perceptron là một thuật toán Supervised Learning: các ví dụ được ta đưa cho máy tính thực hiện hàng loạt cùng câu trả lời mẫu với mong muốn máy tính sẽ tìm được những điểm cần thiết
để đưa ra dự đoán cho những ví dụ khác chưa có câu trả lời trong tương lai Ngoài ra, cũng có rất nhiều những thuật toán Machine Learning không cần câu trả lời cho trước,
Trang 1911
được gọi là Unsupervised Learning Trong trường hợp này, máy tính sẽ cần khai thác
ra cấu trúc của một tập dữ liệu ẩn mà không cần câu trả lời mẫu Một loại Machine Learning khác được gọi là Reinforcement Learning Trong dạng này, cũng không hề
có câu trả lời cho trước, mỗi hành động máy tính đều nhận được những phản hồi Dựa vào phản hồi tiêu cực hay tích cực mà máy tính sẽ điều chỉnh hoạt động sao cho phù hợp
Thống kê có mối quan hệ rất mật thiết đối với Machine Learning (Statistics)
Sự phân bố dữ liệu được Machine Learning sử dụng các mô hình thống kê để "ghi nhớ" lại Tuy nhiên, không đơn thuần là ghi nhớ, Machine Learning phải tổng quát hóa những gì chưa được nhìn thấy và đưa ra khả năng để dự đoán Có thể hình dung một mô hình Machine Learning không có khả năng tổng quát như một đứa trẻ đang bắt đầu học: chỉ trả lời được những câu trả lời mà đáp án nó đã từng được học Con người có khả năng tổng quát một cách tự nhiên và kì diệu: chúng ta không thể nhìn thấy tất cả các khuôn mặt người trên thế giới nhưng chúng ta có thể nhận biết được một thứ có phải là khuôn mặt người hay không với độ chính xác gần như tuyệt đối Machine Learning có khả năng mô phỏng được khả năng tổng quát hóa và suy luận này của con người một cách tốt nhất
Khi nói đến Machine Learning là nói đến khả năng "dự đoán": từ việc dự đoán hành động cần thực hiện trong bước tiếp theo đến dự đoán đoán nhãn phân loại trong
mô hình Câu hỏi đặt ra là Machine Learning có thể biết trước về tương lai? Có thể
có hoặc có thể không: khi tương lai có mối liên hệ mật thiết với hiện tại thì Machine Learning có thể dự đoán được tương lai đó là điều hoàn toàn có thể.[3]
1.2.2 Học sâu
Học sâu là (Deep Learning) một chức năng của trí tuệ nhân tạo (AI), bắt chước hoạt động của bộ não con người trong việc xử lí dữ liệu và tạo ra các mẫu để sử dụng cho việc ra quyết định
Học sâu là tập con của học máy trong AI, có các mạng lưới có khả năng "học"
mà không bị giám sát từ dữ liệu không có cấu trúc hoặc không được gắn nhãn Học sâu đã phát triển cùng với thời đại kĩ thuật số, điều này đã mang lại sự bùng nổ dữ
Trang 2012
liệu dưới mọi hình thức và từ mọi khu vực trên thế giới Dữ liệu này, gọi đơn giản là
dữ liệu lớn, được lấy từ các nguồn như phương tiện truyền thông xã hội, công cụ tìm kiếm trên internet, nền tảng thương mại điện tử hoặc rạp chiếu phim trực tuyến,
Một trong những kĩ thuật AI phổ biến nhất được sử dụng để xử lí dữ liệu lớn
là học máy Đây là thuật toán tự thích ứng giúp các phân tích và các mô hình với kiến thức hoặc dữ liệu mới được thêm vào ngày càng trở nên tốt hơn
Học sâu, một tập con của học máy, sử dụng các lớp, bậc của mạng nơron nhân tạo để thực hiện quá trình học máy Các mạng nơron được xây dựng giống như bộ não của con người, với các nút rơron được kết nối với nhau như một trang web
Học sâu không có nghĩa là học máy thêm kiến thức chuyên sâu, nó có nghĩa
là máy sử dụng các lớp khác nhau để học hỏi từ dữ liệu Độ sâu của mô hình được biểu thị bằng số lớp trong mô hình
Trong khi các chương trình truyền thống xây dựng các phân tích dữ liệu theo cách tuyến tính, thì chức năng phân tầng của các hệ thống học sâu cho phép các máy xử lí
dữ liệu theo cách tiếp cận phi tuyến [4]
+ Ứng dụng của việc học sâu
- Nhận dạng được tiếng nói tự động của hàm
- Nhận dạng được hình ảnh trong thực tế
- Xử lý và nhận dạng, phân loại ngôn ngữ tự nhiên
- Tìm hiểu dược phẩm và độc chất
- Quản lý và kiểm tra các quan hệ khách hàng trong doanh nghiệp
- Các hệ thống khuyến cáo, cảnh bảo
- Tin sinh học
1.2.3 Lập luận, suy diễn tự động
Đối với các khái niệm lập luận (Reasoning) và suy diễn (Reference) được sử dụng rất phổ biến trong nhiều lĩnh vực AI Lập luận là suy diễn logic, dùng để chỉ một quá trình rút ra kết luận từ những giả thiết đã cho (được biểu diễn dưới dạng cơ
sở dữ liệu của tri thức) Như vậy, để thực hiện lập luận người ta cần có các phương
Trang 2113
thức lưu trữ cơ sở dữ liệu của tri thức với số lượng lớn và các nguyên lý lập luận trên
cơ sở tri thức đó [5]
1.2.4 Cơ sở biểu diễn tri thức
Muốn hệ thống máy tính có thể lưu trữ và xử lý dữ liệu tri thức thì cần có các phương pháp biểu diễn tri thức Các phương pháp biểu diễn dữ liệu tri thức ở đây bao gồm một hoặc nhiều các ngôn ngữ biểu diễn và các kỹ thuật xử lý dữ liệu tri thức khác nhau Một ngôn ngữ biểu diễn dữ liệu tri thức được cho là “tốt” nếu nó có tính đồng nhất cao và hiệu quả của thuật toán lập luận trên ngôn ngữ đó Tính đặc trưng của ngôn ngữ thể hiện trong khả năng biểu diễn trong một phạm vi rộng lớn các thông tin trong miền ứng dụng Tính hiệu quả của các thuật toán được đánh giá thể hiện đầu
tư về thời gian và không gian dành cho việc lập luận Do vậy, hai yếu tố này dường như không thuận nhau, tức là nếu ngôn ngữ có tính biểu đạt cao thì thuật toán lập luận trên đó sẽ có độ phức tạp lớn và ngược lại Vì vậy, một trong những thách thức lớn trong lĩnh vực AI đó là xây dựng một hệ thống cơ sở dữ liệu về ngôn ngữ để biểu diễn tri thức, tức là ngôn ngữ có tính thống nhất cao và có thể lập luận hiệu quả
- Lập kế hoạch và tính toán: về khả năng tính toán và đưa ra các mục đích cần đạt được đối với các nhiệm vụ, qua đó xác định dãy các hành động cần thiết để thực hiện để đạt được mục đích đó
- Xử lý của ngôn ngữ tự nhiên: đó là một nhánh của AI, tập trung vào các ứng dụng dựa trên ngôn ngữ của con người Các ứng dụng trong việc nhận dạng chữ viết, tiếng nói, tìm kiếm thông tin, dịch tự động, …
- Hệ chuyên gia: là cung cấp các hệ thống có khả năng suy luận từ đó đưa ra những kết luận Các hệ chuyên gia có thể xử lý một khối lượng thông tin lớn và cung cấp các kết luận dựa trên những thông tin đó Có rất nhiều hệ chuyên gia rất nổi tiếng như các hệ chuyên gia y học MYCIN, đoán nhận các cấu trúc phân tử từ công thức hóa học DENDRAL…[5]
1.3 Các bài toán sử dụng trong trí tuệ nhân tạo
1.3.1 Phân nhóm
- Xét theo phương thức học, các thuật toán ML được chia làm bốn nhóm, bao
Trang 2214
gồm “Học có giám sát” (Supervised Learning), “Học không giám sát” (Unsupervised Learning), “Học bán giám sát” (hay học kết hợp Semi-Supervised-Learning) cùng với phương pháp “Học tăng cường” (Reinforcement Learning) trong mạng
- Học có giám sát ( Supervised Learning Algorithms )
Học có giám sát hay còn gọi là học có thầy là thuật toán dự đoán nhãn (label)/đầu
ra (output) của một dữ liệu mới dựa trên tập dữ liệu huấn luyện mà trong đó mỗi mẫu
dữ liệu đều đã được gán nhãn như minh hoạ Khi đó, thông qua một quá trình huấn luyện, một mô hình sẽ được xây dựng để cho ra các dự đoán và khi các dự đoán bị sai thì mô hình này sẽ được tinh chỉnh lại Việc huấn luyện sẽ tiếp tục cho đến khi
mô hình đạt được mức độ chính xác mong muốn trên dữ liệu huấn luyện Điều này cũng giống như khi chúng ta đi học trên lớp, ta biết câu trả lời chính xác từ giáo viên (tập dữ liệu có nhãn) và từ đó ta sẽ sửa chữa nếu làm sai Học có giám sát là nhóm có tính phổ biến nhất trong các thuật toán ML [6]
Các thuật toán sử dụng trong các bài toán
Hình 1.4: Thuật toán học có giám sát
Một cách toán học, học có giám sát là khi chúng ra có một tập hợp biến đầu vào $ X={x_1,x_2,…,x_N} $ và một tập hợp nhãn tương ứng $ Y={y_1,y_2,…,y_N} $, trong đó $ x_i$, $y_i $ là các vector Các cặp dữ liệu biết trước $( x_i, y_i ) \in X
\times Y $ được gọi là tập dữ liệu huấn luyện (training data) Từ tập dữ liệu trong mô hình huấn luyện này, chúng ta cần tạo ra một hàm số ánh xạ mỗi phần tử từ tập X khi
đó hàm (xấp xỉ) và tương ứng của tập Y:
yi ≈ f(xi), [∀i=1,2,….,N]
Trang 23“chưa từng gặp qua” và nó sẽ dự đoán xem bức ảnh đó tương ứng với chữ số nào
Hình 1.5: MNIST bộ cơ sở dữ liệu của chữ số viết tay
(Nguồn: Simple Neural Network implementation in Ruby)
- Phương pháp Unsupervised Learning (Học không giám sát).
Trong thuật toán này, không cho biết được outcome hay nhãn mà chỉ có dữ liệu đầu vào Trong thuật toán Unsupervised Learning (Học không giám sát) sẽ dựa vào
cấu trúc của dữ liệu để thực hiện một công việc điển hình nào đó, ví dụ như phân
nhóm (Clustering) hoặc giảm số chiều của dữ liệu (Dimension reduction) để thuận
tiện trong việc lưu trữ và tính toán
Theo phương pháp toán học, Unsupervised Learning chỉ có dữ liệu đầu
vào X mà không biết nhãn Y tương ứng
Trang 24- Phương pháp Semi-Supervised Learning (Học bán giám sát)
Các bài toán khi có một lượng lớn dữ liệu là X nhưng chỉ một phần trong chúng được gán nhãn được gọi là Semi - Supervised Learning Những dạng bài toán thuộc loại này nằm giữa hai nhóm bài toán được nêu bên trên
Một ví dụ điển hình của nhóm này là chỉ có một phần hình ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh về con người, động vật hoặc các bài văn bản khoa học, chính trị) và phần lớn các bức ảnh hoặc văn bản khác chưa được gán nhãn và được thu thập từ internet Thực tế cho thấy rất nhiều các bài toán Machine Learning thuộc nhóm này vì dữ liệu thậm chí cần phải có chuyên gia mới có thể gán nhãn được (ảnh
y học hay nghệ thuật chẳng hạn) Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí rất thấp từ internet
Hình 1.7: Học bán giám sát
- Phương pháp Reinforcement Learning (Học Củng Cố)
Reinforcement Learning là các bài toán giúp cho một hệ thống có thể tự xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất (Maximizing the
Trang 2517
Performance) Hiện tại, Reinforcement Learning chủ yếu được áp dụng vào Lý Thuyết của Trò Chơi (Game Theory), các thuật toán cần xác định các nước đi tiếp theo để đạt được điểm số cao nhất [6]
1.3.2 Phân cụm
Một bài toán phân cụm, phân nhóm toàn bộ dữ liệu X thành các nhóm và cụm nhỏ dựa trên sự liên quan giữa các dữ liệu trong mỗi nhóm Chẳng hạn như phân nhóm khách hàng dựa vào độ tuổi, giới tính Điều này cũng giống như việc ta đưa cho một đứa trẻ rất nhiều mảnh ghép với các hình dạng và màu sắc khác nhau, có thể
là tam giác, vuông, tròn với màu xanh, đỏ, tím, vàng, sau đó yêu cầu trẻ phân chúng thành từng nhóm Mặc dù ta không dạy trẻ mảnh nào tương ứng với hình nào hoặc màu nào, nhưng nhiều khả năng trẻ vẫn có thể phân loại các mảnh ghép theo màu sắc hoặc hình dạng
1.3.3 Nhận dạng
Các dạng bài toán nhận dạng khuôn mặt một người với số nhiều người trong một bức ảnh đã được phát triển từ rất lâu Thời gian đầu, facebook sử dụng các thuật toán nhận dạng này để chỉ ra các khuôn mặt người trong một bức ảnh và yêu cầu
người dùng tag vào tức gán nhãn cho mỗi khuôn mặt Số lượng khuôn mặt, tên người với dữ liệu càng lớn, độ chính xác ở những lần tự động tag tiếp theo sẽ càng lớn [6]
1.4 Thuật toán sử dụng trong hàm
Các thuật toán học có giám sát còn được phân ra thành hai loại chính là phân lớp (Classification) và hồi quy (Regression)
- Phân lớp
Một bài toán được gọi là phân lớp nếu các nhãn của dữ liệu đầu vào được chia thành một số hữu hạn lớp (miền giá trị là rời rạc) Chẳng hạn như tính năng xác định xem một email có phải là spam hay không của Gmail; xác định xem hình ảnh của con vật là chó hay mèo Hoặc ví dụ nhận dạng ký số viết tay ở trên cũng thuộc bài toán phân lớp, bao gồm mười lớp ứng với các số từ 0 đến 9 Tương tự cho ví dụ nhận dạng khuôn mặt với hai lớp là phải và không phải khuôn mặt, …
- Hồi quy
Trang 2618
Một bài toán được xem là hồi quy nếu nhãn không được chia thành các nhóm
mà là một giá trị thực cụ thể (miền giá trị là liên tục) Hầu hết các bài toán dự báo (giá cổ phiếu, giá nhà, …) thường được xếp vào bài toán hồi quy Ví như, nếu một căn nhà rộng 150 m2, có 7 phòng và cách trung tâm thành phố 10 km sẽ có giá là bao nhiêu? Lúc này kết quả dự đoán sẽ là một số thực
Nếu như phát hiện khuôn mặt là bài toán phân lớp thì dự đoán tuổi là bài toán hồi quy Tuy nhiên dự đoán tuổi cũng có thể coi là phân lớp nếu ta cho tuổi là một số nguyên dương N và khi đó ta sẽ có N lớp khác nhau tính từ 1 Một số thuật toán nổi tiếng thuộc về nhóm học có giám sát như: [7]
Phân lớp: k-Nearest Neighbors, mạng nơron nhân tạo, SVM, …
Hồi quy: Linear Regression, Logistic Regression, …
- Thuật toán mạng Nơron nhân tạo
Hình 1.8: Thuật toán Nơron nhân tạo
Mạng nơron nhân tạo là các mô hình được lấy cảm hứng từ cấu trúc và chức năng của mạng lưới thần kinh sinh học Hình 1.8 minh hoạ cho một mạng truyền thẳng Nhóm thuật toán này có thể được sử dụng cho bài toán phân lớp và hồi quy với rất nhiều biến thể khác nhau cho hầu hết các vấn đề Tuy nhiên, trong bài viết này chỉ trình bày các thuật toán cổ điển và phổ biến nhất: [7]
Các thuật toán mạng thần kinh nhân tạo phổ biến nhất là:
Trang 2719
- Thuật toán dạng Deep Learning
Thực chất Deep Learning là một bản cập nhật hiện đại cho Artificial Neural Networks nhằm khai thác khả năng tính toán của máy tính, tuy nhiên vì sự phát triển lớn mạnh của chúng nên mình tách ra thành một nhóm riêng
Deep Learning quan tâm đến việc xây dựng các mạng thần kinh lớn hơn, phức tạp hơn nhiều, và làm sao để khai thác hiệu quả các bộ dữ liệu lớn chứa rất ít dữ liệu
đã được gán nhãn Hình 1.9 minh hoạ cho ý tưởng của Deep Learning
Hình 1.9: Thuật toán học sâu
Phương pháp Deep Learning là một bản cập nhật hiện đại cho Mạng nơron nhân tạo
Các dạng thuật toán Deep Learning phổ biến nhất là:
Deep Boltzmann Machine (DBM)
Deep Belief Networks (DBN)
Convolutional Neural Network (mạng thần kinh CNN)
Stacked Auto-Encoders
- Thuật toán giảm kích thước trong hàm
Giống như các phương pháp phân cụm, giảm không gian tìm kiếm và khai thác cấu trúc vốn có trong dữ liệu nhưng theo cách không giám sát hoặc để tóm tắt hay
mô tả dữ liệu sử dụng ít thông tin hơn là mục tiêu của nhóm phương pháp này Hình 1.10 minh hoạ cho việc giảm chiều dữ liệu
Điều này có thể hữu ích để trực quan hóa dữ liệu hoặc đơn giản hóa dữ liệu
mà sau đó có thể được sử dụng trong phương pháp học có giám sát Nhiều trong số
Trang 2820
các phương pháp này có thể được điều chỉnh để sử dụng trong phân lớp và hồi quy [8]
Hình 1.10: Thuật toán giảm kích thước
Một số phương pháp áp dụng để phân loại và hồi quy như:
Principal Component Analysis (PCA Phân tích thành phần chính)
Principal Component Regression (PCR)
Partial Least Squares Regression (Dạng hồi quy)
Sammon Mapping
Multidimensional Scaling (MDS)
Projection Pursuit
Linear Discriminant Analysis (LDA)
Mixture Discriminant Analysis (MDA)
Quadratic Discriminant Analysis (QDA)
Flexible Discriminant Analysis (FDA)
- Dạng Thuật toán tập hợp
Ensemble Methods là những phương pháp kết hợp các mô hình yếu hơn được huấn luyện độc lập và phần dự đoán của chúng sẽ được kết hợp theo một cách nào đó để đưa ra dự đoán tổng thể như minh họa ở Hình 1.11 [6]
Trang 29 Stacked Generalization (blending)
Gradient Boosting Machines (GBM)
Gradient Boosted Regression Trees (GBRT)
Random Forest
Trang 3022
CHƯƠNG II
GIỚI THIỆU VỀ MẠNG NƠRON 2.1 Giới thiệu mạng Nơron
2.1.1 Lịch sử phát triển của mạng Nơron
Cuối thế kỷ 19 đầu thế kỷ 20 sự phát triển chủ đạo chỉ bao gồm những công việc
có sự tham gia của cả ba ngành Tâm lý học, Vật lý học, và thần kinh học, bởi các nhà khoa học như Ernst Mach, Hermann von Hemholtz, Ivan Pavlov Các công trình nghiên cứu của họ đã đi sâu vào lý thuyết tổng quát về học, nhìn, lập luận, và không đưa ra các mô hình toán học mô tả hoạt động của các nơron
Mọi chuyện thực sự mới bắt đầu vào những năm 1940 với công trình của Walter Pitts và Warren McCulloch Họ chỉ ra rằng về mặt nguyên tắc, mạng của các nơron nhân tạo có thể tính toán ra bất kỳ một hàm số học hay giá trị logic nào
Tiếp theo là Donald Hebb, ông đã có nhiều bài phát biểu cho rằng việc thuyết lập luận cổ điển như (Pavlov) đưa ra là hiện thực bởi do những thuộc tính đặc trưng của từng nơron riêng biệt, ông cũng đã tìm ra phương pháp học cho các nơron nhân tạo khác
Những ứng dụng thực nghiệm đầu tiên của mạng nơron nhân tạo vào cuối năm 50 cùng với việc phát minh ra hệ thống mạng nhận thức và luật học tương ứng bởi Frank Rosenblatt Mạng này chúng có khả năng nhận dạng các mẫu Điều này đã mở ra rất nhiều những hy vọng cho việc nghiên cứu mạng nơron Tuy nhiên nó có nhiều hạn chế là chỉ có thể giải quyết được một số lớp hữu hạn các bài toán
Cùng thời gian đó, Marcian Hoff và Bernard Widrow đã đưa ra một dạng thuật toán học mới và sử dụng nó để huấn luyện cho các hệ thống mạng nơron tuyến tính thích nghi, hệ thống mạng có cấu trúc và chức năng tương tự như mạng của Rosenblatt Luật học Widrow – Hoff vẫn còn được sử dụng phổ biến cho đến ngày nay
Tuy nhiên cả Rosenblatt và Widrow – Hoff đều vấp phải một vấn đề do Seymour
Trang 3123
Papert và Marvin Minsky phát hiện ra, đó là các mạng nhận thức nó chỉ có khả năng giải quyết được các dạng bài toán tuyến tính Họ đã rất cố gắng cải tiến phương pháp luật học và mạng để có thể vượt qua được hạn chế này nhưng họ đã không thành công trong việc cải tiến để có thể huấn luyện được mạng có cấu trúc phức tạp hơn
Do những kết quả của Minsky Papert nên việc nghiên cứu về hệ thống mạng nơron gần như bị dừng lại trong suốt một thập kỷ 70 do nguyên nhân là không thể có được các máy tính có đủ chức năng và mạnh để có thể thực nghiệm
Mặc dù vậy, Minsky Papert vẫn có một vài phát kiến quan trọng vào những năm
70 Năm 1972, James anderson và Teuvo Kohonen độc lập nhau phát triển một loại mạng mới có thể hoạt động như một bộ nhớ Stephen Grossberg cũng rất tích cực trong việc khảo sát các hệ thống mạng tự tổ chức
Vào những năm 80, việc nghiên cứu mạng nơron phát triển rất mạnh cùng với sự ra đời của máy tính để bàn Có hai khái niệm mới liên quan đến sự kiện này, đó là:
- Việc sử dụng một số phương pháp thống kê này để giải thích hoạt động của một lớp các hệ thống mạng hồi qui có thể được dùng như một bộ nhớ liên kết trong công trình nghiên cứu của nhà vật lý học John Hopfield
- Sự ra đời của thuật toán lan truyền ngược giúp huấn luyện các hệ thống mạng nhiều lớp được một số nhà khoa học nghiên cứu độc lập tìm ra như: James Mc Celland, David Rumelhart,….đó cũng là câu trả lời cho Minsky-Papert [9]
- Ngân hàng: tính tiền của thẻ tín dụng, bộ đọc séc và các tài liệu
Trang 3224
- Giải trí: các hiệu ứng đặc biệt, hoạt hình
- Bảo hiểm: đã tối ưu hoá được các sản phẩm, đánh giá việc áp dụng chính sách mới cải tiến hơn
- Điện tử: Dự đoán sơ đồ mạch điện, cảnh báo mức nhiệt trong quá trình hoạt động của chíp, điều khiển tiến trình, nhận dạng tiếng nói, mô hình phi tuyến
- Quốc phòng và an ninh: tìm mục tiêu, xác định vị trí của vũ khí, nhận dạng nét mặt, các bộ cảm biến thế hệ mới, xử lý ảnh radar…
- Tự động hóa: mô hình dự đoán hoạt động của động cơ, các hệ thống dẫn đường tự động cho ô tô
- Hàng không: hệ thống lái tự động, phi công tự động, giả lập đường bay, bộ phát hiện lỗi
2.1.3 Căn nguyên sinh học của mạng
Bộ não của con người chứa khoảng 1011 các phần tử liên kết chặt chẽ với nhau (khoảng 104 liên kết đối với mỗi phần tử) gọi là các nơron Dưới con mắt của những người nghiên cứu tin học, một nơron được cấu tạo bởi các thành phần: tế bào hình cây (dendrite) - tế bào thân (cell body) và sợi trục thần kinh (axon) Tế báo hình cây
có nhiệm vụ mang các tín hiệu điện tới tế bào thân, tế bào thân sẽ thực hiện gộp và phân ngưỡng các tín hiệu đến Sợi trục của thần kinh làm nhiệm vụ đưa tín hiệu từ tế bào thân ra bên ngoài
Điểm tiếp xúc giữa một sợi trục thần kinh của nơron này và tế bào hình cây của một nơron khác được gọi là khớp thần kinh (synapse) Sự sắp xếp của các nơron và mức độ mạnh yếu của các khớp thần kinh được quyết định bởi các quá trình hoá học rất phức tạp, sẽ thiết lập những chức năng của hệ thống mạng nơron
Một số ít nơron có sẵn từ khi được sinh ra, cho đến các phần khác được phát triển thông qua việc học, ở đó có sự thiết lập rất nhiều liên kết mới và loại bỏ các liên kết
Trang 3325
cũ
Cấu trúc của mạng nơron sẽ luôn luôn phát triển Các thay đổi sau này có khả năng chủ yếu là việc làm tăng hay giảm độ mạnh của các kiểu liên kết thông qua các khớp của hệ thần kinh hệ thống
Hệ thống mạng nơron nhân tạo khó tiếp cận đến sự phức tạp của bộ não Mặc dù vậy, có hai sự tương quan cơ bản giữa hệ thống mạng nơron nhân tạo và sinh học Thứ nhất, cấu trúc khối tạo thành chúng đều là các thiết bị tính toán rất đơn giản, được liên kết rất chặt chẽ với nhau Thứ hai, các liên kết giữa các nơron quyết định chức năng của hệ thống mạng [10]
Cần chú ý rằng dù cho mạng nơron sinh học hoạt động chậm so với các linh kiện điện tử (10-3 giây so với 10-9 giây), nhưng bộ não của chúng có khả năng thực hiện nhiều công việc nhanh hơn nhiều so với các máy tính thông thường Đó là một phần
do cấu trúc song song của mạng nơron sinh học: toàn bộ hệ thống nơron hoạt động một cách đồng thời tại một thời điểm Mạng nơron nhân tạo cũng chia sẻ những đặc điểm này Mặc dù hiện nay, các hệ thống mạng nơron chủ yếu được thực nghiệm trên rất nhiều máy tính số, nhưng cấu trúc song song của chúng khiến chúng ta có thể thấy cấu trúc phù hợp nhất là thực nghiệm chúng trên hệ thống vi mạch tích hợp lớn, các thiết bị quang và các bộ xử lý song song [9]
2.2 Nơron nhân tạo
Thông thường một nơron nhân tạo (Hình 2.1), được gọi là nút hay đơn vị xử
lý, nó thực hiện một chức năng: nhận tín hiệu vào từ nguồn bên ngoài hay các đơn vị phía trước và nó tính tín hiệu ra từ các tín hiệu vào từ đó lan truyền sang các đơn vị khác
Trang 3426
Hình 2.1: Đơn vị xử lý tín hiệu thứ j
Tại đây:
x i: là các đầu vào của tín hiệu
w ji: các trọng số tương ứng với tín hiệu các đầu vào
: ngưỡng của nơron mạng thứ j
aj: tổng đầu vào của tín hiệu nơron thứ j
zj: đầu ra tín hiệu của nơron thứ j
g(aj): hàm chuyển (hàm kích hoạt)
Một nơron trong mạng có thể có rất nhiều đầu vào (x1, x2 xn) nhưng chỉ có một đầu
ra zj Đầu vào của một nơron có thể là từ bên ngoài hệ thống mạng, hoặc đầu ra của một nơron khác, hay là đầu ra của chính nó [9]
Trong mạng nơron có ba kiểu nơron:
Nơron đầu vào, khi hoạt động chúng nhận tín hiệu từ bên ngoài
Nơron ẩn, hệ thống tín hiệu vào và ra của nó nằm trong mạng
Nơron đầu ra, gửi tín hiệu ra bên ngoài khi hoạt động
Trang 352.3.2 Hàm kích hoạt của mạng (hàm chuyển)
Khi hoạt động hàm kích hoạt thực hiện quá trình biến đổi giá trị đầu vào aj thành giá trị đầu ra zj được thực hiện bởi hàm kích hoạt zj =g(aj) Với phương pháp như vậy thì hàm thường bị ép vào một khoảng giá trị xác định Các hàm kích hoạt thường xuyên được sử dụng là:
2.3.2.1 Hàm tuyến tính (Linear function):
Các hàm kích hoạt tuyến tính là các phương trình toán học xác định đầu ra của mạng nơron Hàm được gắn với mỗi nơron trong mạng và xác định xem nó có nên
Trang 3628
được kích hoạt hay không, dựa trên việc đầu vào của mỗi nơron có liên quan đến dự đoán của mô hình không Các chức năng kích hoạt tuyến tính cũng giúp chuẩn hóa đầu ra của mỗi nơron trong phạm vi từ 1 đến 0 hoặc từ -1 đến 1
Một khía cạnh bổ sung của các hàm kích hoạt tuyến tính là chúng phải hiệu quả
về mặt tính toán vì chúng được tính toán trên hàng nghìn hoặc thậm chí hàng triệu nơron cho mỗi mẫu dữ liệu Các mạng nơron hiện đại sử dụng một kỹ thuật được gọi
là lan truyền ngược để huấn luyện mô hình, điều này đặt ra sự căng thẳng tính toán gia tăng lên hàm kích hoạt và hàm đạo hàm của nó [11]
g(x)=x
Hình 2.3: Hàm tuyến tính d trong mạng (Linear function)
2.3.2.2 Hàm ranh giới cứng trong mạng (Hard limiter function)
Hàm này nhận 2 giá trị là 0 và 1
𝑔(𝑥) = {1 𝑖𝑓(𝑥 ≥ 0)
0 𝑖𝑓(𝑥 < 0)Trong hình sau θ được lựa chọn bằng 0
Hình 2.4: Hàm ranh giới cứng e trên x
2.3.2.3.Hàm Sigmoid (Sigmoid function)
Trang 37Hình 2.5: Hàm – Sigmoid
2.3.2.4 Hàm Sigmoid lưỡng cực(Bipolar Sigmoid function)
Hàm này có các tính chất đặc trưng tương tự hàm Sigmoid Nhưng chúng được ứng dụng cho các bài toán có đầu ra mong muốn và xác định rơi vào khoảng [-1,1]
Trang 38Hàm còn có thể được biểu diễn bằng hàm sigmoid như sau:
Trang 3931
công thức phức tạp hơn ReLU rất nhiều do vậy sẽ tốn nhiều chi phí hơn để tính toán
- Tuy nhiên ReLU cũng có một nhược điểm: Với các node có giá trị nhỏ hơn
0, qua ReLU activation sẽ thành 0, hiện tượng đấy gọi là “Dying ReLU” Nếu các node bị chuyển thành 0 thì sẽ không có ý nghĩa với bước linear activation ở lớp tiếp theo và các hệ số tương ứng từ node đấy cũng không được cập nhật với gradient descent Đó là lý do Leaky ReLU ra đời
- Khi Learning rate lớn, các trọng số (weights) có thể thay đổi theo cách làm tất cả nơron dừng việc cập nhật
Hình 2.8: Đồ thị hàm ReLU
Công thức của hàm:
𝑓(𝑥) = 1(𝑥 < 0)(∝ 𝑥) + 1(𝑥 ≥ 0)(𝑥) Với α là hằng số rất nhỏ [12]
2.3.2.6 Hàm Leaky ReLU
Leaky ReLU là một cố gắng trong việc loại bỏ "dying ReLU" Thay vì trả về giá trị 0 với các đầu vào <0 thì Leaky ReLU tạo ra một đường xiên có độ dốc nhỏ (xem đồ thị) Có nhiều báo cáo về việc hiệu Leaky ReLU có hiệu quả tốt hơn ReLU, nhưng hiệu quả này vẫn chưa rõ ràng và nhất quán
Ngoài Leaky ReLU có một biến thể cũng khá nổi tiếng của ReLU là PReLU PReLU tương tự Leaky ReLU nhưng cho phép nơron tự động chọn hệ số tốt nhất