11

Tôi đang thực hiện dự án Mạng lưới thần kinh làm dự án đại học năm cuối của mình. Ý tưởng của dự án: Một robot rất đơn giản với 2 động cơ, và hai cảm biến ir và bump sẽ đi qua một môi trường với việc sử dụng mạng thần kinh trong một máy tính. Yêu cầu chính là quan sát có thể với GUI phù hợp quy trình học tập và quá trình tiến hóa của Mạng thần kinh. (Mục tiêu chính là quan sát Mạng thần kinh, và những thay đổi của nó không phải để điều khiển robot). Các robot sẽ giao tiếp với máy tính bằng cách sử dụng giao tiếp nối tiếp trong các giai đoạn trước của dự án và sau đó sẽ sử dụng mạng WLAN ..Ý kiến ​​cho một ngôn ngữ lập trình thích hợp cho bộ não mạng thần kinh của một robot?

Câu hỏi của tôi là ngôn ngữ tốt nhất có thể được sử dụng để thực hiện các thành phần trong Máy tính (Mạng nơron). Dễ dàng thực hiện mạng nơ-ron, Hiệu suất (Mặc dù nhiệm vụ robot có vẻ đơn giản, quan sát sự tiến hóa của mạng thần kinh có thể liên quan đến bit toán cũng thay đổi GUI), Dễ giao tiếp với phần cứng (Serial và WLAN)

Tôi đã cho đến nay được coi là JAVA và C# .. Tôi cũng yêu cầu ý kiến ​​của bạn ... Vui lòng cung cấp phản hồi của bạn về dự án và các khía cạnh của tôi khi chọn ngôn ngữ. các từ khác .. tôi nên xem xét điều gì trước khi quyết định)

Cảm ơn bạn.

Trả lời

15

(Mục tiêu chính là quan sát Mạng thần kinh và thay đổi của nó không phải là lái robot).

Mạng thần kinh là một trong những loại người học có hình thức không dễ dàng (nếu có) dễ hiểu đối với con người. Hình dung mạng và trọng lượng của nó sẽ không thực sự thú vị hay tất cả những gì có lợi. Bạn sẽ tiết kiệm được trạng thái của mạng thần kinh tại các điểm khác nhau trong quá trình đào tạo - bắt đầu, giữa và cuối, nói - và sau đó trình diễn hành vi của robot với cả ba. Hy vọng rằng cho thấy rằng, như đào tạo tiến triển, hiệu suất được cải thiện (bởi bất kỳ số liệu khách quan bạn đã chọn). Bạn có thể muốn hiển thị một số biểu đồ hiển thị xếp hạng "hiệu suất" của rô-bốt sau khoảng thời gian N - cuối cùng bạn sẽ đạt tới dấu nhắc, hoặc thậm chí bắt đầu thấy dấu vết hiệu suất, vì việc đào tạo trở thành trách nhiệm pháp lý. (Ít nhất, đó là những gì tôi muốn xem liệu tôi đã xem xét dự án của bạn trong môi trường học thuật.)

Câu hỏi của tôi là đó là tốt nhất ngôn ngữ có thể được sử dụng để thực hiện các thành phần trong máy tính ( Mạng thần kinh

ANNs có thể được viết bằng ngôn ngữ nào. Sử dụng ngôn ngữ mà bạn cảm thấy thoải mái nhất với, hoặc ít nhất là bất cứ ngôn ngữ là "tương thích" với thiết lập hiện tại của bạn lên. (ví dụ như nếu bạn đã có một robot nói chuyện với một máy Windows qua kết nối nối tiếp sử dụng C#, vậy tại sao không sử dụng thiết lập hiện tại đó làm cơ sở cho dự án của bạn? đã được nửa hoàn thành!). Nếu đó là Java hoặc C#, sau đó đi cho nó. Không có lý do gì bạn cần phải học một ngôn ngữ mới. Thực tế, tôi khuyên bạn nên không học một ngôn ngữ mới cho dự án của bạn. Bạn sẽ thích dành nhiều thời gian của bạn làm việc trên vấn đề thú vị của bạn, hơn là cố gắng tìm ra các góc bụi của một số ngôn ngữ mới.

2

Tôi đồng ý với Shaggy rằng đại diện trực quan của một mạng lưới phức tạp đủ để lái một robot có thể sẽ không phải là một cảnh thú vị.

Bạn đã xem các dự án hiện có tương tự chưa? Một số googling nhanh chóng cho thấy The Zero Dimension - một nỗ lực để hình dung một số khía cạnh của ANN học trong 3D. Đây là số video demo của họ. Có lẽ có nhiều điều như thế này - họ có thể sẽ cung cấp cho bạn một số thông tin chi tiết về những khía cạnh bạn làm và không muốn hòa nhập.

Dưới đây là một article về trực quan cấu trúc ANN (một lần nữa, chỉ là hình ảnh đầu tiên tôi gặp phải). Như bạn thấy, hình dung không phải là rất sâu sắc.

Nói ngôn ngữ - chỉ cần chọn ngôn ngữ bạn cảm thấy thoải mái nhất. Hoặc chọn một trong những bạn muốn cải thiện kinh nghiệm của bạn với - nếu bạn có thái độ và thời gian để tìm hiểu trong dự án này.
Một điều cần lưu ý là: ANN học là một nhiệm vụ tốn nhiều tính toán và đạt được hiệu suất hợp lý trong các ngôn ngữ "cấp cao hơn" như C# hoặc Java có thể sẽ khó hơn các ngôn ngữ "cấp thấp hơn" như C++.

Tôi cũng khuyên bạn nên xem xét sử dụng các thư viện hiện có để làm việc với NN. Tôi đã sử dụng STATISTICA gói Neural Networks (chi phí một số tiền) một vài năm trước đây, cũng có một số thư viện nguồn mở, tôi tin.
Thực hiện một thuật toán học tập ANN tốt một cách chính xác và hiệu quả là khó, vì vậy bạn có thể muốn thực hiện một hiện tại và tập trung vào phần GUI/visualization.

1

Tôi khuyên bạn nên sử dụng C# với thư viện mạng nơron thần kinh miễn phí. Tôi nghĩ rằng nó sẽ cung cấp cho bạn mọi thứ bạn cần

1

Cân nhắc Matlab/Labview. Sự kết hợp làm cho nó rất dễ dàng để hình dung hoạt động của chương trình của bạn và để vẽ các trạng thái bên trong.