Tôi đang cố gắng hiểu một vài điều về mạng thần kinh. Đầu tiên, sau khi tìm kiếm trên web, có vẻ như không có cách nào để tính toán biến đổi Fourier (rời rạc) thông qua mạng thần kinh. Bạn có thể hack nó bằng cách cứng mã hóa điều để bao gồm các hằng số Fourier cho biến đổi và sau đó nhận được một kết quả khá. Tại sao máy có thể không tự mình tìm ra?mạng thần kinh không thể tìm ra biến đổi Fourier?
Trả lời
DFT là toán tử tuyến tính. Một số mạng nơ-ron có một phần tử sigmoid hoặc phi tuyến tính khác trong đường dẫn tính toán, điều này có thể khiến việc mô phỏng toán tử tuyến tính trở nên khó khăn hơn.
Đã thêm: DFT đầy đủ là phép nhân ma trận N theo N. Một mạng thần kinh phải đủ lớn để đại diện cho nhiều phép nhân (ở mức tối thiểu O (NlogN)).
Tôi có thể sử dụng chức năng kích hoạt tuyến tính. Bạn nghĩ rằng đó là tất cả phải mất? Sin/Cos không đưa tôi xuống một con đường suy nghĩ tuyến tính theo mặc định. – Brannon
Đó chỉ là một yếu tố có thể. – hotpaw2
Tôi đang tặng tiền thưởng ở đây vì tôi nghĩ câu trả lời này là gần nhất với câu trả lời của câu hỏi. Cảm ơn mọi người. – Brannon
Như tôi đã hiểu, mạng nơron chỉ là một phương pháp phân loại mà "học". Để giải quyết vấn đề sử dụng các mạng thần kinh bạn cần:
- Xác định các yếu tố đầu phân loại
- Xác định kết quả đầu ra phân loại
- Cung cấp một tập huấn luyện: nó là một tập hợp các cặp (input, output)
- Chọn một cấu trúc liên kết (bao nhiêu lớp, bao nhiêu nơ-ron trên mỗi lớp ..) và các chức năng mà các tế bào thần kinh riêng lẻ sẽ sử dụng để chuyển đổi đầu vào thành các đầu ra
Sau khi mạng nơron được đào tạo, đưa ra một đầu vào mới, mạng nơron tạo ra một đầu ra. Làm thế nào tốt đầu ra là phụ thuộc vào cách "tốt" là đào tạo. Thông thường, cách đại diện của dữ liệu là tập dữ liệu đào tạo. Kỹ thuật này có thể rất hữu ích khi cố gắng giải quyết các vấn đề phân loại trong đó có một mối quan hệ không xác định giữa đầu vào và đầu ra.
Chuyển đổi Fourier nhanh chỉ là một hàm. Bạn có thể có FFT trong một lần, được áp dụng cho các hiện tượng một chiều như sóng âm. Trong trường hợp này, bạn truyền một vectơ các giá trị (các mẫu cường độ của sóng âm thanh) và lấy lại một vectơ tần số. Cụ thể hơn, biên độ của sóng hài của các tần số khác nhau khi được tạo ra tạo ra sóng âm gốc. Trong hai chiều, FFT lấy làm ma trận đầu vào. Ví dụ, đối với một bức ảnh, nó có thể là cường độ màu tại các điểm trong lưới. FFT biến đổi nó thành ma trận hài. Chiều dài của vector, hoặc thứ tự của ma trận được cho bởi tốc độ lấy mẫu của tín hiệu gốc.
Để áp dụng mạng thần kinh để tính toán FFT:
- Thuật toán để tính toán FFT trong 1 và 2 kích thước cũng được xác định. Độ phức tạp của nó là O (n log n), làm cho nó rất hiệu quả. Việc thực hiện mạng thần kinh sẽ cần phải rất hiệu quả (song song?) Để biện minh cho việc sử dụng nó.
- Nếu bạn thay đổi tốc độ lấy mẫu, bạn cần phải đào tạo lại mạng thần kinh: giả sử rằng bạn có mạng lưới tính FFT cho tốc độ lấy mẫu nhất định, nếu bạn giảm đáng kể tốc độ lấy mẫu, mạng thần kinh sẽ "quá mức" dữ liệu và ngược lại.
Với tất cả điều này, tôi nghĩ mạng nơron có thể phù hợp rất tốt với việc triển khai cụ thể FFT miễn là các thông số (tỷ lệ lấy mẫu ...) không thay đổi.
vài vấn đề ở đây: 1. * Cụ thể hơn, biên độ của sóng hài của các tần số khác nhau mà khi sáng tác tạo ra sóng âm gốc. * Không hoàn toàn đúng. đầu ra của fft là số phức. mỗi số phức đại diện cho biên độ và pha, nhưng ở dạng thô, không hoàn toàn như vậy. 2. khi người ta nói hài, họ có nghĩa là bội số nguyên của một tần số cơ bản (http://en.wikipedia.org/wiki/Harmonic). trong thực tế FT được bạn lấy mẫu tần số chỉ lên đến Nyquist, vì vậy * FFT biến đổi này thành một ma trận của sóng hài * là không đúng sự thật. – thang
Tôi nghĩ rằng tôi tìm thấy một bài nghiên cứu về chủ đề này: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.144.9688&rep=rep1&type=pdf
Nó nói rằng "để đạt được một mạng lưới thần kinh [rằng] xử lý một DFT, một chiến lược đã được áp dụng mà bản đồ các công thức toán học của DFT vào cấu trúc của mạng thần kinh ", và có vẻ như họ đã làm cho nó hoạt động (phần 6).
- 1. Tạo mẫu mạng thần kinh
- 2. Mạng thần kinh huấn luyện trong Ruby
- 3. Mạng thần kinh 0 vs -1
- 4. Trợ giúp với mạng thần kinh Neuroph
- 5. Mạng thần kinh trong Haskell - lời khuyên
- 6. Bắt đầu với mạng thần kinh (ANN)?
- 7. Mạng thần kinh Pybrain không huấn luyện chính xác
- 8. Tập dữ liệu cho đào tạo mạng thần kinh
- 9. Trích xuất tính năng từ các mạng thần kinh
- 10. mạng thần kinh để phát hiện thư rác email
- 11. Dự báo thời tiết sử dụng mạng thần kinh
- 12. Cách nhập hình ảnh vào mạng thần kinh?
- 13. Tìm kiếm chủ đề thú vị từ khu vực mạng thần kinh
- 14. Mối quan hệ giữa mạng bay và mạng thần kinh là gì?
- 15. Tại sao chúng ta phải chuẩn hóa đầu vào cho mạng thần kinh nhân tạo?
- 16. Mạng thần kinh liên kết - Cách nhận bản đồ tính năng?
- 17. Làm thế nào để cập nhật sự thiên vị trong mạng ngược dòng thần kinh?
- 18. Biến đổi Fourier và tối đa
- 19. Lưới thần kinh cho ruby
- 20. xử lý chuỗi văn bản cho đầu vào mạng thần kinh
- 21. Mạng lưới thần kinh nhân tạo có dự đoán được kết quả của trò chơi thể thao không?
- 22. Làm thế nào để mã hóa một mạng thần kinh nhân tạo (Tic-tac-toe)?
- 23. Xác định số lượng Neuron thích hợp cho Mạng Lưới thần kinh
- 24. Mạng thần kinh: Ví dụ nguồn mở, tối thiểu với dữ liệu đào tạo đầy đủ?
- 25. Phát hiện quảng cáo chiêu hàng bằng cách sử dụng mạng thần kinh
- 26. Làm thế nào để lập trình một mạng thần kinh cho cờ vua?
- 27. Mạng thần kinh, có đáng để thay đổi tỷ lệ học tập và động lượng theo thời gian
- 28. bộ hình ảnh đào tạo cho một mạng lưới thần kinh đơn giản
- 29. Việc triển khai biến đổi Fourier nhanh (FFT) trong C#
- 30. Gặp sự cố khi lưu âm mưu mạng thần kinh bằng gói neuralnet - R
Tôi chưa từng thấy sự kiện này trước đây (nhưng tôi không phải là chuyên gia mạng thần kinh). Bạn có thể đưa ra một vài tài liệu tham khảo? Tôi thấy một giấy tuyên bố điều này, nhưng không tạo ra một trường hợp mạnh mẽ. – tom10