Mỗi ví dụ về mạng nơ-ron để nhận dạng hình ảnh mà tôi đã đọc đều tạo ra câu trả lời "có" hoặc "không" đơn giản. Một nút thoát tương ứng với "Có, đây là khuôn mặt của con người" và một nút tương ứng với "Không, đây không phải là khuôn mặt của con người".
Tôi hiểu rằng điều này có thể đơn giản để giải thích, nhưng tôi tự hỏi làm thế nào một mạng lưới thần kinh như vậy có thể được lập trình để đưa ra một đầu ra cụ thể hơn. Ví dụ, giả sử tôi đang phân loại động vật. Thay vì nói "Động vật" hoặc "Không phải động vật", tôi muốn có câu trả lời như "Chó", "Cá", "Chim", "Rắn", v.v., với một nút thoát cuối cùng là "Không phải là động vật / Tôi đừng nhận ra điều này ".
Tôi chắc chắn điều này phải có thể, nhưng tôi gặp khó khăn trong việc hiểu làm thế nào. Có vẻ như do thuật toán đào tạo lỗi truyền ngược, khi bạn huấn luyện một nút thoát (nghĩa là "Đây là một con chó") và trọng lượng của các nơ-ron được thay đổi, sau đó là trạng thái lý tưởng cho một nút thoát khác mà trước đây bạn được huấn luyện (tức là "Đây là một con chim") sẽ bắt đầu đi chệch hướng và ngược lại. Vì vậy, đào tạo mạng để nhận ra một danh mục sẽ phá hoại bất kỳ đào tạo nào được thực hiện cho một danh mục khác, do đó giới hạn chúng tôi trong một thiết kế đơn giản "Có" hoặc "Không".
Điều này làm cho một nhận dạng như vậy là không thể? Hay tôi đang hiểu nhầm thuật toán? Hai điều duy nhất tôi có thể nghĩ là:
Hoặc là chúng ta có thể huấn luyện một mạng lưới thần kinh cho từng thứ chúng ta muốn phân loại và bằng cách nào đó sử dụng chúng để xây dựng một mạng siêu lớn hơn (ví dụ: mạng cho "con chó", mạng cho "con chim", v.v. cộng lại để tạo siêu mạng cho "động vật"); hoặc là,
Tạo ra một số phương pháp đào tạo phức tạp lố bịch đòi hỏi toán học cực kỳ tiên tiến và bằng cách nào đó sẽ tạo ra trạng thái cân nặng thần kinh lý tưởng cho tất cả các đầu ra có thể (nói cách khác,
insert math magic here
).
(Lưu ý bên 1: Tôi đặc biệt xem xét các tri giác đa lớp như một loại mạng lưới thần kinh.)
(Lưu ý bên 2: Đối với "giải pháp khả thi" đầu tiên, có mỗi mạng thần kinh cụ thể và lặp qua chúng cho đến khi chúng tôi nhận được phản hồi "Có" là không đủ. Tôi biết điều này có thể được thực hiện khá dễ dàng, nhưng đó là chức năng đơn giản lập trình thay vì học máy. Tôi muốn biết liệu có thể có một mạng lưới thần kinh để cung cấp thông tin và nhận được phản hồi phù hợp hay không.)