1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(LUẬN văn THẠC sĩ) 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ệ bà rịa vũng tàu

79 9 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 79
Dung lượng 2,37 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 1

BỘ 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 2

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 3

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 4

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 5

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 6

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 7

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 8

Hình 3.5: Các thông số kiểm thử của mạng 66

Trang 9

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 10

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 11

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 12

- 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 13

Trí 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 14

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

Trong những năm gần đây Machine Learning đang là một công nghệ gây sốt trên toàn thế giới Một trong số nhóm giới học thuật, có rất nhiều bài báo khoa học

về đề tài này mỗi năm Trong giới công nghiệp, từ các công ty lớn như Facebook, Google, Microsoft đến các dự án khởi nghiệp của các công ty đều đầu tư vào Machine Learning Ứng dụng sử dụng Machine Learning ra đời hàng loạt trên mọi lĩnh vực của cuộc sống, từ khoa học máy tính đến những ngành ít liên quan hơn như y học, vật lý, chính trị, hóa học AlphaGo, với số lượng phần tử còn nhiều hơn số lượng hạt trong vũ trụ được cỗ máy đánh cờ vây có khả năng tính toán, tối ưu hơn và đưa ra các nước đi hơn bất kì đại kì thủ nào, là một trong rất nhiều ví dụ lớn lao cho sự vượt trội của Machine Learning so với các phương pháp cổ điển [3]

Để 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 16

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 17

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 18

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 19

đượ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 20

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 21

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 22

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

Trong hàm yi tương ứng với tập Y là xấp xỉ hàm số $f$ tốt nhất sao cho khi có tập dữ liệu x mới, chúng ta có thể tính toán được một tập hợp nhãn tương ứng của nó

có hàm là $y=f(x)$

Ví dụ: Trong nhận dạng chữ số viết tay, ta có ảnh của hàng nghìn trường hợp ứng với mỗi chữ số được viết bởi nhiều người khác nhau Phương pháp đưa các bức ảnh này vào một thuật toán và chỉ cho nó biết “chữ số tương ứng với những bức ảnh nào” Sau khi thuật toán tạo ra một mô hình, tức là một hàm số nhận đầu vào là một bức ảnh và cho ra kết quả là một chữ số Khi nhận được một bức ảnh mới mà mô hình

“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

Những thuật toán loại này được gọi là học không giám sát vì không giống như học có giám sát, chúng ta không biết câu trả lời chính xác cho mỗi dữ liệu của đầu

vào Cụm không giám sát được đặt tên cho nghĩa này [6]

Hình 1.6: Học không giám sát

- 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 25

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 26

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 27

- 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 28

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 30

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

Trang 31

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 32

- 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 33

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 34

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 35

Hình 2.2: Mô hình mạng Nơron nhân tạo

2.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 36

đượ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

Trang 37

𝑔(𝑥) = 1

1 + 𝑒−𝑥

Hàm này rất thuận lợi khi được sử dụng cho các hệ thống mạng được huấn luyện bằng thuật toán Lan truyền ngược BP, bởi lẽ nó dễ lấy đạo hàm, do nó có thể giảm rất nhiều tính toán trong quá trình huấn luyện Hàm này được ứng dụng cho các bài toán mà các đầu ra được xác định rơi vào khoảng [0,1]

Hì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 38

Hàm kích hoạt của các nơron đầu ra được lựa chọn sao cho phù hợp với sự phân phối của các giá trị đích mong muốn [10]

2.3.2.5 Hàm TanH

Hàm nhận đầu vào là một số thực và chuyển thành một giá trị trong khoảng (-1; 1) Cũng như Sigmoid, hàm Tanh bị bão hoà ở 2 đầu (gradient thay đổi rất ít ở 2 đầu) Tuy nhiên hàm Tanh lại đối xứng qua 0 nên khắc phục được một nhược điểm của Sigmoid [12]

Hàm còn có thể được biểu diễn bằng hàm sigmoid như sau:

Trang 39

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

Ngày đăng: 31/03/2022, 10:13

🧩 Sản phẩm bạn có thể quan tâm