1
Mạng Nơ-ron nhân tạo (Neural Networks) trong máy học là gì?
0
Hoàng Thái20 đã đăng:

thêm bình luận...
3
PyPi120 đã đăng:

Đối với ngành sinh học nghiên cứu về bộ não, nơ-ron là một đơn vị xử lý thông tin nhỏ nhất, bộ não con người có trung bình khoảng 86 tỉ nơ-ron kết hợp làm việc với nhau một cách song song và phức tạp, giúp con người có thể suy nghĩ, học, nói,... và làm những điều tuyệt vời.

Đối với ngành khoa học máy tính, bộ xử lý máy tính cũng có hàng trăm tỉ các transistors phối hợp hoạt động với nhau, vậy liệu rằng có cách nào đó để làm cho máy tính cũng có thể "bắt chước" như bộ não con người không, nếu làm được chuyện này sẽ mang lại một bước đi hết sức to lớn cho ngành trí tuệ nhân tạo, đó là cơ sở ra đời cho mạng nơ-ron nhân tạo (Artificial Neural Network - ANN).

Cấu tạo tổng thể của một đơn vị nơ-ron trong bộ não người như sau,

Cấu tạo tế bào nơ-ron trong bộ não người

Mình không chuyên khoa học thần kinh nên chỉ nói một cách tổng quát, mỗi tế bào nơ-ron sẽ nhận vào tín hiệu (điện hoặc hóa học) từ tế bào nơ-ron khác qua sợi nhánh, xử lý tín hiệu ở nhân, khi tín hiệu đạt ngưỡng, nơ-ron giải phóng tín hiệu sang một tế bào nơ-ron khác và đồng thời thay đổi các liên kết ở đuôi sợi trục, cơ chế này làm cho bộ não có thể học được.

Vậy ý tưởng tế bào nơ-ron được xây dựng trong mạng nơ-ron nhân tạo như thế nào?

Cấu trúc mạng nơ-ron nhân tạo

Đầu tiên, mình xin nói là không có gì huyền bí ở đây cả, mạng nơ-ron nhân tạo cũng chỉ là một mô hình học được xây dựng trên máy tính sử dụng các kiến thức toán học rất đơn giản như phương trình, ma trận, giải tích, ... để mô phỏng lại cách nơ-ron sinh học hoạt động.

Ở sơ đồ trên, ta có các "vòng tròn đen" tượng trưng cho một nơ-ron, trong máy học chúng được gọi là một đơn vị xử lý, các đơn vị xử lý trong mạng nơ-ron nhân tạo được kết nối với nhau thông các "đường thẳng", nhìn vào các "đường thẳng" này bạn có thể biết được một đơn vị xử lý có giá trị đầu vào là những nơ-ron nào, đầu ra là những nơ-ron nào. "Đường thẳng" ở đây với ý nghĩa là trọng số (weight), trọng số giữa hai nơ-ron càng lớn thì sự liên kết giữa chúng càng mạnh và ngược lại, trọng số này là gì và được tính như thế nào thì là là một câu hỏi khác mình không thể nói hết ở đây được.

Một mô hình nơ-ron nhân tạo thì gồm có 3 lớp cơ bản:

  • Lớp đầu vào: là lớp làm việc trực tiếp với dữ liệu bên ngoài, cho nên số lượng nơ-ron ở lớp đầu vào phụ thuộc vào số chiều của dữ liệu bên ngoài.

    Ví dụ bạn đưa vào mạng nơ-ron một ảnh có kích thước 200x300 pixels thì số lượng nơ-ron ở lớp đầu vào sẽ tối thiểu phải là 200 x 300 = 60.000 nơ-ron.

  • Lớp giữa (lớp ẩn): là lớp xử lý dữ liệu nhận từ lớp đầu vào, bạn có thể có nhiều lớp nơ-ron hơn ở lớp giữa, nếu lớp nơ-ron ở giữa mà nhiều hơn 2 người ta gọi đó là mô hình học sâu (Deep Learning). Còn số lượng nơ-ron ở mỗi lớp nơ-ron thì tùy bạn muốn chọn bao nhiêu cũng được (nhưng sẽ có kinh nghiệm chọn phù hợp nhất định).

  • Lớp đầu ra: là lớp xuất ra kết quả, số lượng nơ-ron lớp đầu ra phụ thuộc vào số lượng kết quả bạn muốn có.

    Ví dụ bạn đưa vào một ảnh và hỏi mạng nơ-ron đó có phải là con mèo hay không? Thì lớp đầu ra chỉ cần 1 nơ-ron là đủ, với giá trị 1 là phải, giá trị 0 là không phải.

Vậy mạng nơ-ron nhân tạo "học" như thế nào?

Nguồn nội lực giúp mạng nơ-ron nhân tạo có thể học được là thuật toán học lan truyền ngược được cài đặt bên trong nó, ý tưởng cơ bản của thuật toán này lấy phản hồi từ lớp đầu ra và điều chỉnh lại bộ trọng số (weight) dựa vào thông tin phản hồi đó, nhờ vào thuật toán này mạng nơ-ron nhân tạo "có thể học" bằng cách cập nhật lại các bộ giá trị trọng số cho phù hợp với từng bài toán cụ thể.

Thuật toán lan truyền ngược tại sao có thể làm được như vậy là kiến thức của toán giải tích mình cũng sẽ không bàn.

Quy trình "học" của mạng nơ-ron nhân tạo như sau,

1 - Lan truyền thẳng để tính kết quả.

Lan truyền thẳng trong mạng nơ-ron nhân tạo

2 - Tính độ lỗi của kết quả dự đoán và kết quả thực tế.

Tính độ lỗi trong mạng nơ-ron nhân tạo

3 - Dựa vào độ lỗi này, cập nhật lại bộ trọng số.

Cập nhật bộ trọng số trong mạng nơ-ron nhân tạo

Tại vì mạng nơ-ron nhân tạo cần kết quả thực tế để có thể so sánh độ lỗi nên nó được xếp vào nhóm mô hình học có giám sát, tức là có sự chỉ dạy của con người đâu là đúng, đâu là sai.

Trên chỉ là những kiến thức rất cơ bản giới thiệu mạng nơ-ron nhân tạo, bạn có thể từ từ tìm hiểu thêm...

đã bổ sung 5.7 năm trước bởi
Zootopia60
Không lòng vòng anh như Hải Phòng

Mình chỉ mới học kiến thức về mạng nơ-ron nhân tạo nên còn nhiều điều chưa hiểu lắm, rất cảm ơn câu trả lời của bạn..

Hoàng Thái 04.08.2018
thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)