Những bước đầu tìm hiểu về Học sâu - keo toi nay

Đối với học sâu, tôi chỉ mới là người mới chập chững bước vào thế giới này. Hiện tại tôi đang bắt đầu quá trình học tập, nhưng vẫn còn nhiều điều chưa thực sự hiểu rõ. Do đó, tôi quyết định viết lại những gì mình đã học được và chia sẻ chúng cùng mọi người dựa trên cuốn sách "Nhập môn Học sâu: Lý thuyết và Thực hiện bằng Python". Chương đầu tiên trong cuốn sách nói về Python cơ bản, vì không phải trọng tâm chính nên tôi sẽ không đi sâu vào phần này. Tuy nhiên, nếu bạn chưa có nền tảng nào về Python, thì đây là một phần đáng để xem qua. Riêng tôi trước đó cũng đã học lướt qua một chút về ngôn ngữ lập trình này.

Chương thứ hai của cuốn sách, theo tôi đánh giá, là cách tiếp cận khá tốt cho người mới bắt đầu. Nó sử dụng mô hình perceptron như điểm khởi đầu. Perceptron hoạt động giống như việc cảm nhận một số trạng thái (đầu vào) và từ đó đưa ra phản ứng tương ứng. Ví dụ đơn giản nhất có thể kể đến là khi cung cấp điện, đèn sẽ sáng lên. Từ đó, cuốn sách mở rộng sang các cổng logic cơ bản của máy tính như AND và OR. Hai loại cổng này được coi là nền tảng để xây dựng các bộ phận phức tạp hơn của máy tính. Khi kết hợp thêm cổng NOT, chúng ta có thể tạo ra ALU - đơn vị xử lý số học và logic cơ bản của máy tính. Một cách giải thích dễ hiểu hơn là rằng các perceptron đơn tầng không thể thực hiện chức năng của cổng XOR phức tạp hơn, nhưng điều này hoàn toàn có thể làm được thông qua perceptron đa tầng. Cụ thể, một cổng NAND và một cổng OR có thể được dùng làm lớp perceptron đầu tiên, sau đó đầu ra của chúng sẽ trở thành đầu vào cho một cổng AND khác, từ đó tạo thành cổng XOR. Về mặt lý thuyết, mạng perceptron đa tầng có khả năng mô phỏng hoạt động của máy tính.

Tiếp đến, chương ba giới thiệu khái niệm 888bets hàm keo toi nay kích hoạt. Đây là bước phát triển từ các cổng AND/OR và perceptron cơ bản mà cuốn sách đã đề cập ở trước đó. Thay vì chỉ chơi trò 0 và 1 đơn giản như trước, bây giờ chúng ta có thể thêm các điều kiện phức tạp hơn vào quá trình xử lý đầu vào. Trọng số được áp dụng để điều chỉnh mức độ quan trọng của mỗi đầu vào, trong khi tham số thiên (bias) giúp xác định mức độ dễ dàng bị kích hoạt của hệ thống. Hàm kích hoạt này thường được gọi là hàm bậc thang, nghĩa là nếu giá trị đầu vào vượt qua một ngưỡng nhất định, nó sẽ được kích hoạt; ngược lại thì không. Tuy nhiên, trong các nơ-ron thần kinh thực tế, hàm sigmoid được sử dụng phổ biến hơn. So với hàm bậc thang, hàm sigmoid là một đường cong mượt mà, thay đổi liên tục theo sự thay đổi của đầu vào. Điều này phù hợp hơn với yêu cầu của nơ-ron thần kinh, vốn cần tín hiệu đầu ra là các giá trị thực liên tục.

Cuốn sách cũng thảo luận về các lớp đầu ra khác nhau tùy thuộc vào bài toán cụ thể. Đối với bài toán hồi quy, tức là dự đoán một giá trị số liên tục dựa trên đầu vào, chúng ta có thể sử dụng hàm hằng số. Ngược lại, trong bài toán phân loại, hàm softmax được sử dụng. Đây là một hàm đặc biệt bởi nó không chỉ đơn thuần phân loại hai trường hợp như các bộ phân loại nhị phân thông thường mà còn xử lý nhiều kết quả khác nhau. Hàm softmax, hay còn được gọi là hàm mũ chuẩn hóa, giúp chuyển đổi các giá trị đầu ra thành xác suất và chuẩn hóa chúng sao cho tổng bằng 1. Đặc điểm nổi bật của hàm này là nó nhấn mạnh giá trị lớn nhất trong tập kết quả và giảm nhẹ các giá trị khác xa so với giá trị lớn nhất. Điều này đảm bảo rằng các xác suất khác vẫn có thể được sử dụng, nhưng với trọng số thấp hơn đáng kể.

Hy vọng bài viết này sẽ giúp ích cho những ai cũng đang trên hành trình khám phá lĩnh vực thú vị này!