Bias trong mạng nơ ron nghĩa là gì năm 2024

Gần đây, mạng thần kinh nhân tạo (neural network) nhận được nhiều sự quan tâm từ giới nghiên cứu cũng như công chúng yêu công nghệ. Các mô hình này là một hệ thống tính toán có các nút (node) liên kết với nhau và hoạt động tương tự như chức năng của bộ não người. Những hệ thống này phân loại, gom cụm một lượng dữ liệu lớn bằng cách tìm và xác định các loại hình mẫu (pattern) nhằm giải quyết các vấn đề trong một bài toán phức tạp, ví dụ đưa ra dự đoán khó nhằn từ những dữ liệu đưa vào. Trong đó, một đặc điểm không thể không nhắc đến là nó có khả năng không bao giờ ngừng việc học để đưa ra các dự đoán. Vậy làm cách nào mà mạng nơ-ron lại có thể đưa ra phán đoán của mình? Thí dụ như phân biệt đâu là dấu hiệu của một cuộc tấn công, xâm nhập hay một loại mã độc nguy hại cho hệ thống?

Để có thể hiểu được mạng neurons là gì thì ta phải bắt đầu tìm hiểu từ 1 neuron nhân tạo được gọi là perceptron. Perceptrons được phát triển vào khoảng những năm 1950 – 1960 bởi nhà khoa học Frank Rosenblatt và được lấy cảm hứng từ những ý tưởng trước đó của Warren McCulloch và Walter Pitts.

Perceptron sẽ nhận input đầu vào là nhiều tín hiệu khác nhau, output là 1 tín hiệu duy nhất. "Tín hiệu" ở đây bạn có thể tưởng tượng như một vật nào đó có dòng chảy như dòng điện hay sông chẳng hạn. Dòng điện thì sẽ được truyền đi theo đường dây, việc dòng điện được truyền đi có bản chất là dòng dịch chuyển các electron dựa trên sự chênh lệch hiệu điện thế. Khác với dòng điện, tín hiệu của Perceptron mang 2 giá trị "1/0", 1 mang ý nghĩa là truyền tín hiệu, 0 là không truyền tín hiệu.

Trong kiến trúc của mạng thần kinh nhân tạo, thành phần cốt lõi chính là các perceptron. Lí do cho việc này chính là mạng neural cần chia nhỏ các dữ liệu đầu vào phức tạp thành các mẫu nhỏ hơn, đơn giản hơn. Giả sử, chúng ta có một tấm ảnh chân dung , thì chúng ta phân nhỏ các thành phần của tấm ảnh ra với các đặc điểm của: mắt, mũi, màu mắt, miệng, tai,.... Mỗi một đặc điểm mang tính đặc trưng này có thể đóng vai trò như là một perceptron trong cùng một lớp (layer). Ở lớp tiếp sau nó, những đặc điểm này lại được phân nhỏ thành các đặc tính nhỏ, chi tiết hơn nữa. Thí dụ, mắt trái và mắt phải, môi trên hay môi dưới; sau đó chúng được phân nhỏ tiếp tục ở lớp kế cận phía sau như con ngươi và mống mắt, hoặc lông mi. Mỗi một trong những đặc điểm này có thể là một tri giác (perceptron), và sau khi chia nó thành các đặc điểm nhỏ nhất, khi đó chúng ta sẽ có các khối cấu tạo của khuôn mặt.

Bias trong mạng nơ ron nghĩa là gì năm 2024
Hình - Mạng thần kinh nhân tạo được cấu tạo bởi nhiều neuron (perceptron)

Trong ví dụ này, bài toán phân loại hình ảnh sẽ được sử dụng để giải thích và mô tả cụ thể hơn về cách một mạng lưới thần kinh đưa ra dự đoán. Một mạng lưới thần kinh có thể bắt đầu bằng cách chụp ảnh khuôn mặt và chia nhỏ nó thành các đặc tính nhất định, và xây dựng lại nó bằng cách truyền đạt với lớp tiếp theo nếu các tính năng đó ở đó. Cuối cùng, tùy thuộc vào số lượng thuộc tính được truyền vào, mạng lưới thần kinh có thể đưa ra dự đoán bằng cách cho biết có bao nhiêu đặc tính mà nó nhìn thấy so với số lượng tính năng tạo nên khuôn mặt. Nếu hầu hết các đặc tính được nhìn thấy, thì nó sẽ phân loại bức ảnh đó là một khuôn mặt. Mặt khác, nó sẽ được phân loại là không phải một khuôn mặt (chú ý làm thế nào nó không được phân loại là một cái gì đó khác, nó là một khuôn mặt hoặc không phải là một khuôn mặt, đúng hay sai).

Cần chú ý rằng, một tri giác (perceptron) và một nơron không giống nhau. Mặc dù chúng dường như khá giống nhau, một nơron khác với một perceptron. Perceptron là một đơn vị có đầu vào có trọng số (weight) và độ lệch (bias), và tạo ra đầu ra nhị phân (giá trị 0 hoặc 1). Tế bào thần kinh nhân tạo (ở đây là 1 nơ-ron) chính là sự khái quát, trừu tượng hóa của một tri giác trong mạng lưới thần kinh nhân tạo. Một nơ-ron vẫn nhận đầu vào có trọng số và độ bias nhưng nó khác với perceptron ở chỗ: nó tạo ra đầu ra có giá trị được phân loại từ 0 đến 1 (tức giá trị trong khoảng từ 0 đến 1). Lưu ý rằng các nút được thiên vị (bias) để chọn giá trị cực gần 0 hoặc gần 1 bằng cách sử dụng 1 hàm đặc biệt gọi là hàm kích hoạt sigmoid (đầu ra), cho phép nó hoạt động rất giống như một perceptron.

Tóm lại, một mạng lưới thần kinh nhân tạo (hay mạng nơ-ron) là một ý tưởng rất đơn giản, nhưng các mạng này với kích thước lớn có thể tạo ra kết quả đáng kinh ngạc. Mỗi nơ-ron chịu trách nhiệm phân loại một tính năng duy nhất và dựa vào nơ-ron trước đó để thực hiện đúng công việc của mình nhằm đưa ra quyết định chính xác. Tương tự như với bất kỳ đội nhóm xuất sắc nào đó, mạng nơ-ron nhân tạo thành công nhờ vào việc coi trọng, sự tin tưởng và tinh thần đồng đội để cung cấp sức mạnh nhằm giải quyết vấn đề.

Lí do ta phải nhân giá trị sau khởi tạo với hằng số 0.01 mà không phải 10 hay 100, -100 ... là bởi vì nếu giá trị |w| lớn, khi đó giá trị z lớn, mà theo đồ thị hàm tanh như trên, nếu giá trị z lớn, slope của nó sẽ rất nhỏ do đó việc learning sẽ tốn rất nhiều thời gian, việc khởi tạo w này gọi là zero-centric initialization nghĩa là các giá trị w sẽ gần với giá trị 0 để đảm bảo slope lớn và việc thực hiện GD sẽ diễn ra nhanh hơn.

b và các thông số thêm vào các unit phản ảnh bias, do đó ta có thể khởi tạo các giá trị này là 0 mà không ảnh hưởng tới hoạt động của NN.