Như các bạn đã biết, kiến thức về mạng MLP (Multi-layer Perceptron) là một kiến thức Deep Learning cơ bản. Hiện nay Deep Learning đang là một trong những ngành thu hút rất nhiều nhân tài, vì nó có thể áp dụng ở hầu hết các lĩnh vực trong cuộc sống. Để hiểu rõ hơn về mạng MLP, mời các bạn cùng theo dõi bài viết dưới đây.
Multi-layer Perceptron là gì?
Perceptrons cơ bản
Một mạng Neural được cấu thành bởi các Neural đơn lẻ được gọi là các perceptron. Nên trước tiên ta tìm hiểu xem perceptron là gì đã rồi tiến tới mô hình của mạng Neural sau. Neural nhân tạo được lấy cảm hứng từ Neural sinh học như hình sau:
cấu tạo mạng Neural
Quan sát hình ảnh trên, ta có thể thấy một Neural có thể nhận nhiều đầu vào và cho ra một kết quả duy nhất. Mô hình của perceptron cũng tương tự như vậy.
Một perceptron sẽ nhận một hoặc nhiều đầu x vào dạng nhị phân và cho ra một kết quả oo dạng nhị phân duy nhất. Các đầu vào được điều phối tầm ảnh hưởng bởi các tham số trọng lượng tương ứng w của nó, còn kết quả đầu ra được quyết định dựa vào một ngưỡng quyết định b nào đó.
mạng MLP là gì
Kiến trúc mạng Neural nhân tạo
Mạng Neural là sự tích hợp của của những tầng perceptron hay còn được gọi là perceptron đa tầng ( multilayer perceptron ) như hình vẽ bên dưới
Kiến trúc mạng neural nhân tạoMột mạng Neural sẽ có 3 kiểu tầng :
- Tầng vào (input layer): Là tầng bên trái cùng của mạng thể hiện cho các đầu vào của mạng.
- Tầng ra (output layer): Là tầng bên phải cùng của mạng thể hiện cho các đầu ra của mạng.
- Tầng ẩn (hidden layer): Là tầng nằm giữa tầng vào và tầng ra thể hiện cho việc suy luận logic của mạng.
Lưu ý rằng, một Neural chỉ có 1 tầng vào và 1 tầng ra nhưng hoàn toàn có thể có nhiều tầng ẩn .
Trong mạng Neural, mỗi nút mạng là một sigmoid Neural nhưng hàm kích hoạt của chúng hoàn toàn có thể khác nhau. Tuy nhiên trong thực tiễn người ta thường để chúng cùng dạng với nhau để thống kê giám sát cho thuận tiện .
Ở mỗi tầng, số lượng các nút mạng (Neural) có thể khác nhau tuỳ thuộc vào bài toán và cách giải quyết. Nhưng thường khi làm việc người ta để các tầng ẩn có số lượng Neural bằng nhau. Ngoài ra, các Neural ở các tầng thường được liên kết đôi một với nhau tạo thành mạng kết nối đầy đủ (full- connected network).
Kiến trúc mạng Neural MLP (Multi-layer Perceptron)
Mô hình mạng nơron được sử dụng thoáng đãng nhất là quy mô mạng nhiều tầng truyền thẳng ( MLP : Multi Layer Perceptron ). Một mạng MLP tổng quát là mạng có n ( n ≥ 2 ) tầng ( thường thì tầng nguồn vào không được tính đến ) : trong đó gồm một tầng đầu ra ( tầng thứ n ) và ( n-1 ) tầng ẩn .
Mạng Neural MLP
Kiến trúc của một mạng MLP tổng quát có thể mô tả như sau:
- Đầu vào là các vector (x1, x2, …, xp) trong không gian p chiều, đầu ra là các vector (y1, y2, …, yq) trong không gian q chiều. Đối với các bài toán phân loại, p chính là kích thước của mẫu đầu vào, q chính là số lớp cần phân loại.
- Mỗi neural thuộc tầng sau liên kết với tất cả các nơron thuộc tầng liền trước nó.
- Đầu ra của neural tầng trước là đầu vào của nơron thuộc tầng liền sau nó.
Hoạt động của mạng MLP như sau : tại tầng nguồn vào những neural nhận tín hiệu vào giải quyết và xử lý ( tính tổng trọng số, gửi tới hàm truyền ) rồi cho ra tác dụng ( là tác dụng của hàm truyền ) ; tác dụng này sẽ được truyền tới những neural thuộc tầng ẩn thứ nhất ; những nơron tại đây tiếp đón như thể tín hiệu nguồn vào, giải quyết và xử lý và gửi tác dụng đến tầng ẩn thứ 2. Quá trình liên tục cho đến khi những neural thuộc tầng ra cho hiệu quả .
Một số kết quả đã được chứng minh:
- Bất kì một hàm Boolean nào cũng có thể biểu diễn được bởi một mạng MLP 2 tầng trong đó các neural sử dụng hàm truyền sigmoid.
- Tất cả các hàm liên tục đều có thể xấp xỉ bởi một mạng MLP 2 tầng sử dụng hàm truyền sigmoid cho các neural tầng ẩn và hàm truyền tuyến tính cho các nơron tầng ra với sai số nhỏ tùy ý.
- Mọi hàm bất kỳ đều có thể xấp xỉ bởi một mạng MLP 3 tầng sử dụng hàm truyền sigmoid cho các neural tầng ẩn và hàm truyền tuyến tính cho các neural tầng ra.
Huấn luyện mạng MLP
Khái niệm
Học là quy trình đổi khác hành vi của những vật theo một cách nào đó làm cho chúng hoàn toàn có thể triển khai tốt hơn trong tương lai .
Một mạng neural được huyấn luyện sao cho với một tập những vector đầu vào X, mạng có năng lực tạo ra tập những vector đầu ra mong ước Y của nó. Tập X được sử dụng cho huấn luyện và đào tạo mạng được gọi là tập huấn luyện ( training set ). Các thành phần x thuộc X được gọi là những mẫu huấn luyện và đào tạo ( training example ). Quá trình đào tạo và giảng dạy thực chất là sự biến hóa những trọng số link của mạng. Trong quy trình này, những trọng số của mạng sẽ quy tụ dần tới những giá trị sao cho với mỗi vector đầu vào x từ tập huấn luyện, mạng sẽ cho ra vector đầu ra giống như mong ước .
Có ba phương pháp học thông dụng là học có giám sát ( supervised learning ), học không giám sát ( unsupervised learning ) và học tăng cường ( Reinforcement learning ) :
Học có giám sát
Là quy trình học có sự tham gia giám sát của một “ thầy giáo ”. Cũng giống như việc ta dạy một em nhỏ những vần âm. Ta đưa ra một chữ “ a ” và bảo với em đó rằng đây là chữ “ a ”. Việc này được thực thi trên tổng thể những mẫu vần âm. Sau đó khi kiểm tra ta sẽ đưa ra một vần âm bất kỳ ( hoàn toàn có thể viết hơi khác đi ) và hỏi em đó đây là chữ gì ?
Như vậy với học có giám sát, số lớp cần phân loại đã được biết trước. Nhiệm vụ của thuật toán là phải xác lập được một phương pháp phân lớp sao cho với mỗi vector nguồn vào sẽ được phân loại đúng chuẩn vào lớp của nó .
Học không giám sát
Là việc học không cần có bất kể một sự giám sát nào .
Trong bài toán học không giám sát, tập dữ liệu huấn luyện được cho dưới dạng: D = {(x1, x2, …, xN)}, với (x1, x2, …, xN) là vector đặc trưng của mẫu huấn luyện. Nhiệm vụ của thuật toán là phải phân chia tập dữ liệu D thành các nhóm con, mỗi nhóm chứa các vector đầu vào có đặc trưng giống nhau.
Như vậy với học không giám sát, số lớp phân loại chưa được biết trước, và tùy theo tiêu chuẩn nhìn nhận độ tựa như giữa những mẫu mà ta hoàn toàn có thể có những lớp phân loại khác nhau .
Học tăng cường
Đôi khi còn được gọi là học thưởng-phạt ( reward – penalty learning ), là sự tổng hợp của cả hai quy mô trên. Phương pháp này đơn cử như sau : với vector nguồn vào, quan sát vector đầu ra do mạng tính được. Nếu hiệu quả được xem là “ tốt ” thì mạng sẽ được thưởng theo nghĩa tăng những trọng số liên kết lên ; ngược lại mạng sẽ bị phạt, những trọng số liên kết không thích hợp sẽ được giảm xuống. Do đó học tăng cường là học theo nhà phê bình ( critic ), ngược với học có giám sát là học theo thầy giáo ( teacher ) .
Source: https://wincat88.com
Category: BLOG