2013-06-12 71 views
19

Tôi đang tìm hiểu về mạng nơron và truyền ngược. Tôi nghĩ rằng tôi hiểu cách mạng hoạt động, về đầu vào, đầu ra, lớp ẩn, trọng số, độ lệch, vv Tuy nhiên, tôi vẫn chưa hiểu đầy đủ cách thiết kế mạng để phù hợp với vấn đề. Tức là: Giả sử tôi muốn có một mạng thần kinh để học cách chơi Nháp, tôi sẽ chuyển vấn đề đó thành một thiết kế lưới thần kinh như thế nào? Cheers :)Thiết kế mạng nơron

Trả lời

13

Chắc chắn có rất nhiều quyết định được thực hiện trong việc thiết kế mạng lưới thần kinh và không có câu trả lời đúng. Tuy nhiên, có một vài câu hỏi chung thường hữu ích khi suy nghĩ về:

  1. Bạn đang cố gắng tạo ra kết quả đầu ra là gì? Bản nháp có vẻ giống như một trò chơi đầy thách thức để chơi với mạng thần kinh, bởi vì có rất nhiều động thái tiềm năng và những thay đổi sẵn có từ lần lượt đến lượt, nhưng có lẽ bạn sẽ muốn đầu ra là động thái tiếp theo.

  2. Đầu vào của bạn là gì? Điều này nên bao gồm bất cứ điều gì mà bạn cho rằng sẽ hữu ích trong việc đưa ra quyết định mà bạn muốn mạng neural thực hiện. Trong ví dụ nháp, bạn có thể cần phải cung cấp cho mạng neural các vị trí của tất cả các phần trên bảng.

  3. Tái phát hoặc chuyển tiếp? Nói chung, trừ khi có một lý do thực sự nổi bật để cho nó thông tin về những gì nó được thực hiện trong quá khứ, tốt nhất là sử dụng feed-forward, bởi vì cho phép bạn đào tạo mạng với sự truyền lại. Ví dụ, đối với các bản nháp, bạn có thể muốn sử dụng mạng chuyển tiếp.

  4. Bạn có cần lớp ẩn không? Đây là một câu hỏi khó hơn để biết câu trả lời, và có thể yêu cầu một số thử nghiệm, trừ khi bạn biết nhiều về không gian chiều cao mà đầu vào của bạn chiếm. Bản nháp đủ phức tạp đến nỗi có vẻ như nó sẽ yêu cầu một lớp ẩn, nhưng thật khó để chắc chắn.

Rõ ràng, có nhiều quyết định có thể/phải được thực hiện về thiết lập mạng thần kinh, nhưng hy vọng những điều này sẽ giúp bạn tiếp tục.

2

Mô hình vấn đề bằng cách sử dụng mạng nơron (hoặc bất kỳ loại mô hình nào khác) là một vấn đề khó khăn; không có viên đạn ma thuật cho việc này. Tôi khuyên bạn nên đọc về các kỹ thuật mà những người khác đã phát triển và xem liệu bạn có thể áp dụng những kỹ thuật đó cho vấn đề của mình hay không. Bạn có thể bắt đầu với một tài liệu tham khảo như thế nào,

https://en.wikipedia.org/wiki/Types_of_artificial_neural_networks

Và tìm kiếm thông qua Google Scholar để biết thêm ví dụ.

2

Vâng, tôi nghĩ rằng vấn đề của bạn là vấn đề của bất kỳ nhà thiết kế NN nào khác ... Một điều bạn phải luôn ghi nhớ, NN là mô hình heuristic. Do đó, họ học bằng kinh nghiệm, tương tự như chúng tôi .. Bạn không thể "chèn" kiến ​​thức thuần túy vào NN (có thể trong các thuật toán SC khác) Cách tiếp cận của tôi cho vấn đề của bạn, hoặc bất kỳ vấn đề chung nào tôi gặp phải, là bắt đầu bằng câu hỏi: "Làm thế nào tôi sẽ dạy điều này cho ai đó?"

Bạn phải biết các quy tắc của trò chơi và các biến nào bạn có thể chơi cùng với những gì bạn muốn. Hơn nữa, bạn phải đào tạo mạng (lấy dữ liệu) với mục tiêu đào tạo trò chơi, như thể nó sẽ là một đứa trẻ. Sau khi đủ dữ liệu và trọng lượng thay đổi, NN sẽ có thể trả lời các lượt chơi hợp lý để giành chiến thắng trong trò chơi ... khi bạn nhận được nhiều dữ liệu hơn, câu trả lời chính xác hơn và do đó, người chơi giỏi hơn!

Không có kết luận hay tuyến tính, nhưng là quan điểm của tôi;) Chúc bạn may mắn!

+1

Thuật toán "SC" là gì? – HelloGoodbye

+1

Xin lỗi, Thuật toán máy tính mềm. Soft Computing bao gồm điện toán thần kinh, điện toán tiến hóa và thuật toán logic mờ – diogoncalves

Các vấn đề liên quan