CHƯƠNG 1: TỔNG QUAN VỀ MACHINE LEARNING 1.1 Khái niệm về machine learning - Machine learning là một tập con của AI. Theo định nghĩa của Wikipedia: “Machine learning là một lĩnh vực nhỏ của khoa học máy tính, nó có khả năng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được lập trình cụ thể.” 1 Phương pháp học máy cho phép máy tính hoạt động tự động mà không cần lập trình rõ ràng. Các ứng dụng ML được cung cấp dữ liệu mới và chúng có thể độc lập học, phát triển, và thích ứng. - Học máy lấy thông tin đặc trưng từ một khối lượng dữ liệu lớn bằng cách tận dụng các thuật toán để xác định các mẫu và học trong một quá trình lặp lại.
Các thuật toán ML sử dụng các phương pháp tính toán để học trực tiếp từ dữ liệu thay vì dựa vào bất kỳ phương trình được xác định trước nào.2 Các khái niệm trong machine learning - Observation: Kí hiệu là 𝑋, đầu vào trong các bài toán. Observation (một quan sát, một điểm dữ liệu) thường có dạng một vector 𝑋 = {𝑥1, 𝑥2 , 𝑥3 , …. , 𝑥𝑛 }, gọi là feature vector. Mỗi 𝑥 gọi là một feature.
Ví dụ bạn muốn dự đoán giá nhà thì 𝑋 có thể là diện tích nhà, số phòng ngủ,… - Label: Kí hiệu là 𝑦, là nhãn của các bài toán. Trong các mô hình học giám sát thì mỗi observation sẽ ứng với một nhãn. Lấy lại ví dụ về dự đoán giá nhà thì nhãn chính là giá của các căn nhà mà chúng ta đã quan sát được. - Model: Ta có thể hiểu nó như là một hàm số 𝑓(𝑥 ), nhận vào một observation 𝑥 và trả về một label 𝑦 = 𝑓(𝑥 ).
Với ví dụ về giá nhà thì model là một hàm số nhận vào các giá trị như diện tích nhà, số phòng ngủ,. để đưa ra giá trị của căn nhà. - Parameter: Kí hiệu là 𝑤 = {𝑤1 , 𝑤2 , 𝑤3 , … , 𝑤𝑛 } mọi thứ của model được sử dụng để tính toán ra output. Ví dụ model là một hàm đa thức bậc ba: 𝑓(𝑥 ) = 𝑎𝑥 3 + 𝑏𝑥 2 + 𝑐𝑥 + 𝑑 thì parameter của nó là bộ tứ 𝑤 = {𝑎, 𝑏, 𝑐, 𝑑}.
Tuy nhiên, còn một loại parameter đặc biệt nữa gọi là hyperparameter. Đối với hàm đa thức thì bậc của đa thức có thể được xem là một hyperparameter. 1 Machine learning - Wikipedia 20 - Loss function: Kí hiệu 𝐿(𝑦̂, 𝑦) , có thể hiểu là sự sai lệch nữa kết quả dự đoán 𝑦̂ - Metrics: Độ đo, là tập hợp các thông số dùng để đánh giá một mô hình machine learning. Ví dụ như tỉ lệ chính xác,.3 Phân loại các mô hình Machine learning Các mô hình machine learning được phân thành ba loại chính: Học giám sát (supervised learning), học không giám sát (unsupervised learning), học củng cố (reinforcement learning).1 Học giám sát (supervised learning) Supervised learning là nhóm phổ biến nhất trong các thuật toán machine learning.
Supervised learning dự đoán đầu ra (label) của một dữ liệu mới (observation) dựa trên các cặp (observation, label) đã biết từ trước. Cặp dữ liệu này còn được gọi là (data, label), tức (dữ liệu, nhãn). Về mặt toán học, supervised learning nhận tập observation đầu vào: 𝑿 = 𝒙𝟏 , 𝒙𝟐 , … , 𝒙𝒏 và một tập nhãn tương ứng: 𝒚 = 𝒚𝟏 , 𝒚𝟐 ,. , 𝒚𝒏 , trong đó 𝑥𝑖 , 𝑦𝑖 là các vector.
Từ tập observation 𝑋 ta ước lượng một model 𝑓(𝑥 ) có nhiệm vụ ánh xạ (xấp xỉ) mỗi phần từ của tập 𝑋 sang một phần từ của tập 𝑦: 𝒚𝒊 ≈ 𝒇(𝒙𝒊), ∀𝒊 = 𝟏, 𝟐, 𝟑, .2 Học không giám sát (unsupervised learning) Trong phương pháp này, mô hình không được cung cấp label mà chỉ được cũng cập tập observation. Mô hình unsupervised learning sẽ dựa vào các cấu trúc hoặc đặc trưng của bộ dữ liệu để thực hiện một công việc nào đó. Về mặt toán học, unsupervised learning là khi ta chỉ có dữ liệu 𝑿 mà không có tập nhãn 𝒀 tương ứng, mô hình sẽ phân tích các đặc tính như khoảng cách giữa các điểm dữ liệu, mỗi tương quan giữa các điểm dữ liệu từ đó đưa ra kết quả. Một vài ứng dụng của unsupervised learning có thể kể đến như: Phân cụm (Clustering), giảm số chiều dữ liệu (PCA),.3 Học củng cố (Reinforcement learning) Reinforcement learning là các bài toán giúp cho một hệ thống tự động xác định hành vi dựa trên hoàn cảnh để đạt được lợi ích cao nhất (maximizing the performance).
Học củng cố lấy ý tưởng chính từ quá trình thử-sai liên tục từ đó đưa ra phương án mang lại nhiều lợi ích nhất. 22 CHƯƠNG 2: TỔNG QUAN VỀ HỌC SÂU Học sâu (DL) là một lĩnh vực con của học máy (ML) tập trung vào các mạng nơ- ron nhân tạo (ANN) với nhiều lớp để tìm hiểu các biểu diễn phân cấp của dữ liệu. Nó đã trở thành nền tảng cho nhiều tác vụ thị giác máy tính, bao gồm phân loại hình ảnh, phát hiện đối tượng và phân đoạn. Trong phần này, chúng tôi sẽ thảo luận về sự khác biệt giữa ML và DL, giới thiệu các khái niệm DL cơ bản và khám phá ANN, hàm mất, trình tối ưu hoá và cách đào tạo mô hình học sâu.1 So sánh học máy và học sâu Machine Learning là một lĩnh vực rộng lớn hơn bao gồm các kỹ thuật khác nhau để dạy máy tính cách học từ dữ liệu.
Deep Learning, mặt khác, là một tập hợp con của ML tập trung vào việc sử dụng ANN với nhiều lớp. Sự khác biệt chính giữa ML và DL là: - ML thường yêu cầu trích xuất tính năng thủ công, trong khi DL tự động học các tính năng từ dữ liệu thô. - Các mô hình ML thường có kiến trúc nông, trong khi các mô hình DL có kiến trúc sâu với nhiều lớp. - Các mô hình DL thường đòi hỏi một lượng lớn dữ liệu và sức mạnh tính toán, trong khi các mô hình ML có thể hoạt động với các bộ dữ liệu nhỏ hơn và ít tài nguyên tính toán hơn.2 Các khái niệm học sâu cơ bản 2.1 Mạng nơ-ron nhân tạo (ANN) Mạng nơ-ron nhân tạo (ANN) là các hệ thống tính toán lấy cảm hứng từ cấu trúc phức tạp và hoạt động của não người.
Các mạng này bao gồm các nút được kết nối với nhau, được gọi là nơ-ron, được tổ chức thành các lớp. Mỗi nơ-ron trong ANN nhận tín hiệu đầu vào từ các lớp trước, thực hiện tính tổng trọng số của các đầu vào này, áp dụng hàm kích hoạt phi tuyến và sau đó chuyển đầu ra kết quả sang lớp tiếp theo trong mạng. Các thành phần chính của ANN bao gồm lớp đầu vào, lớp ẩn và lớp đầu ra. Lớp đầu vào của ANN đóng vai trò là điểm tiếp xúc ban đầu cho dữ liệu thô.
Nó nhận dữ liệu đầu vào, có thể ở dạng hình ảnh, văn bản hoặc giá trị số và truyền thông tin 23 này đến các lớp tiếp theo để xử lý tiếp. Lớp đầu vào đảm bảo rằng dữ liệu được định dạng và chuẩn bị phù hợp cho tính toán tiếp theo trong các lớp ẩn. Các lớp ẩn tạo thành các đơn vị tính toán cốt lõi của ANN. Chúng nhận được đầu vào được xử lý từ lớp trước và thực hiện các tính toán và biến đổi phức tạp trên dữ liệu này.
Mỗi neuron trong một lớp ẩn nhận tín hiệu đầu vào từ nhiều neuron trong lớp trước và mỗi đầu vào được nhân với một giá trị trọng số tương ứng. Các đầu vào có trọng số sau đó được tổng hợp lại với nhau, thường kèm theo một thiên vị (bias), để tạo ra một tổng trọng số. Tổng trọng số này sau đó được truyền qua một hàm kích hoạt phi tuyến, chẳng hạn như đơn vị tuyến tính sigmoid hoặc sửa chữa (ReLU), đưa tính phi tuyến vào mạng. Hàm kích hoạt xác định đầu ra của một neuron dựa trên tổng trọng số của nó, cho phép mạng tìm hiểu các mối quan hệ phức tạp giữa đầu vào và đầu ra.
Lớp đầu ra chịu trách nhiệm tạo ra dự đoán cuối cùng hoặc kết quả phân loại dựa trên các tính toán và biến đổi được thực hiện bởi các lớp ẩn. Số lượng tế bào thần kinh trong lớp đầu ra thường tương ứng với số lượng lớp đầu ra mong muốn hoặc chiều của dự đoán. Ví dụ, trong một tác vụ phân loại nhị phân, lớp đầu ra có thể chứa một tế bào thần kinh duy nhất tạo ra một giá trị xác suất cho thấy khả năng thuộc về một trong hai lớp. Trong kịch bản phân loại nhiều lớp, lớp đầu ra có thể bao gồm nhiều nơ-ron, với mỗi nơ-ron đại diện cho xác suất thuộc một lớp cụ thể.
Trong giai đoạn đào tạo, ANN sử dụng một quá trình gọi là lan truyền ngược, điều chỉnh trọng số và thành kiến của các nơ-ron dựa trên sự khác biệt giữa đầu ra dự đoán của mạng và đầu ra mong muốn. Quá trình lặp này cho phép mạng học và cải thiện hiệu suất của nó theo thời gian bằng cách giảm thiểu lỗi giữa đầu ra dự đoán và thực tế. Mạng nơ-ron nhân tạo đã tìm thấy các ứng dụng trong các lĩnh vực khác nhau, bao gồm thị giác máy tính, xử lý ngôn ngữ tự nhiên, nhận dạng giọng nói và thậm chí là mô hình tài chính. Khả năng học hỏi từ dữ liệu và phân biệt các mẫu phức tạp làm cho chúng trở thành công cụ mạnh mẽ cho các nhiệm vụ như phân loại hình ảnh, phân tích cảm xúc và mô hình dự đoán.
Bằng cách bắt chước cấu trúc và chức năng của não người, ANN đã cách mạng hoá lĩnh vực học máy và tiếp tục là khối xây dựng cơ bản cho các hệ thống trí tuệ nhân tạo tiên tiến.2 Hàm kích hoạt Các hàm kích hoạt đóng một vai trò quan trọng trong các mạng nơ-ron nhân tạo (ANN) bằng cách đưa tính phi tuyến vào các tính toán của mô hình. Tính phi tuyến này cho phép ANN học và thể hiện các mẫu và mối quan hệ phức tạp trong dữ liệu chúng được đào tạo. Một số hàm kích hoạt phổ biến được sử dụng rộng rãi trong các mạng nơ- ron, mỗi hàm đều có các đặc điểm và lợi ích riêng. - Hàm kích hoạt sigmoid: Hàm kích hoạt sigmoid được định nghĩa là σ (x) = 1 / (1 + exp (-x)).
Nó lấy bất kỳ số có giá trị thực nào làm đầu vào và nén nó vào một phạm vi giữa 0 và 1. Hàm này có đường cong hình chữ S và đầu ra của nó có thể được hiểu là xác suất. Trong bối cảnh các tác vụ phân loại nhị phân, kích hoạt sigmoid thường được sử dụng trong lớp đầu ra để tạo ra giá trị xác suất đại diện cho khả năng thuộc về một trong hai lớp.