Tôi thực sự quan tâm đến Mạng thần kinh nhân tạo, nhưng tôi đang tìm một nơi để bắt đầu.
Những nguồn lực nào có sẵn và một dự án khởi đầu tốt là gì?
Tôi thực sự quan tâm đến Mạng thần kinh nhân tạo, nhưng tôi đang tìm một nơi để bắt đầu.
Những nguồn lực nào có sẵn và một dự án khởi đầu tốt là gì?
Câu trả lời:
Dưới đây là một số ví dụ về lập trình Neural Net. http://www.codeproject.com/KB/recipes/neural_dot_net.aspx
bạn có thể bắt đầu đọc tại đây: http://web.archive.org/web/20071025010456/http://www.geocities.com/CapeCanaveral/Lab/3765/neural.html
Về phần mình, tôi đã tham quan một khóa học về nó và tìm hiểu một số tài liệu.
Trước hết, hãy từ bỏ mọi quan niệm cho rằng mạng nơ-ron nhân tạo có liên quan gì đến não bộ ngoại trừ sự giống nhau qua mạng lưới nơ-ron sinh học. Học sinh học sẽ không giúp bạn áp dụng hiệu quả mạng lưới thần kinh; học đại số tuyến tính, giải tích và lý thuyết xác suất sẽ. Ít nhất bạn cũng nên làm quen với ý tưởng về sự khác biệt cơ bản của các hàm, quy tắc chuỗi, đạo hàm riêng (gradient, Jacobian và Hessian), và hiểu phép nhân và đường chéo ma trận.
Thực sự những gì bạn đang làm khi đào tạo một mạng là tối ưu hóa một hàm lớn, nhiều chiều (giảm thiểu số đo sai số của bạn đối với từng trọng số trong mạng) và do đó, một cuộc điều tra về các kỹ thuật tối ưu hóa số phi tuyến có thể mang tính hướng dẫn. Đây là một vấn đề được nghiên cứu rộng rãi với một lượng lớn tài liệu bên ngoài mạng nơ-ron và có rất nhiều bài giảng về tối ưu hóa số có sẵn trên web. Để bắt đầu, hầu hết mọi người sử dụng gradient descent đơn giản , nhưng điều này có thể chậm hơn và kém hiệu quả hơn nhiều so với các phương pháp nhiều sắc thái hơn như
Khi bạn đã nắm được những ý tưởng cơ bản, bạn có thể bắt đầu thử nghiệm với các chức năng "bóp méo" khác nhau trong lớp ẩn của mình, thêm nhiều loại chính thức hóa và các tinh chỉnh khác nhau để giúp việc học diễn ra nhanh hơn. Xem bài báo này để biết danh sách đầy đủ các "phương pháp hay nhất".
Một trong những cuốn sách hay nhất về chủ đề này là Mạng thần kinh để nhận dạng khuôn mẫu của Chris Bishop . Tính đến thời điểm này, nó đã khá cũ nhưng vẫn là một nguồn tài nguyên tuyệt vời và bạn thường có thể tìm thấy các bản sao đã qua sử dụng trực tuyến với giá khoảng 30 đô la. Chương mạng nơ-ron trong cuốn sách mới hơn của ông, Nhận dạng mẫu và Học máy , cũng khá toàn diện. Để có hướng dẫn tập trung vào triển khai đặc biệt tốt, hãy xem hướng dẫn này trên CodeProject.com , nơi triển khai một loại mạng thông minh được gọi là mạng phức hợp, hạn chế kết nối theo cách làm cho nó rất tốt trong việc học phân loại các mẫu trực quan.
Máy vector hỗ trợ và các phương thức hạt nhân khác đã trở nên khá phổ biến vì bạn có thể áp dụng chúng mà không cần biết mình đang làm cái quái gì và thường nhận được kết quả chấp nhận được. Mặt khác, mạng nơ-ron là những vấn đề tối ưu hóa rất lớn đòi hỏi sự điều chỉnh cẩn thận, mặc dù chúng vẫn thích hợp cho nhiều vấn đề, đặc biệt là các vấn đề quy mô lớn trong các lĩnh vực như thị giác máy tính.
Tôi rất muốn giới thiệu loạt bài xuất sắc này của Anoop Madhusudanan trên Code Project .
Anh ấy đưa bạn qua các nguyên tắc cơ bản để hiểu cách chúng hoạt động một cách dễ hiểu và chỉ cho bạn cách sử dụng brainnet
thư viện của anh ấy để tạo thư viện của riêng bạn.
Ngày nay, mạng nơ-ron đang trở nên khó khăn. Máy vectơ hỗ trợ và các phương thức hạt nhân tốt hơn cho nhiều lớp vấn đề hơn sau đó lan truyền ngược. Mạng nơ-ron và thuật toán di truyền nắm bắt trí tưởng tượng của những người không biết nhiều về máy học hiện đại nhưng chúng không phải là hiện đại.
Nếu bạn muốn tìm hiểu thêm về AI và máy học, tôi khuyên bạn nên đọc Trí tuệ nhân tạo: Phương pháp tiếp cận hiện đại của Peter Norvig . Đó là một cuộc khảo sát rộng rãi về AI và rất nhiều công nghệ hiện đại. Nó cũng đi qua lịch sử và các kỹ thuật cũ hơn, đồng thời sẽ cung cấp cho bạn cơ sở đầy đủ hơn về các kiến thức cơ bản của AI và Machine Learning.
Tuy nhiên, mạng nơ-ron khá dễ dàng. Đặc biệt là nếu bạn sử dụng một thuật toán di truyền để xác định trọng số, chứ không phải là nhân giống ngược thích hợp.
Đề xuất thứ hai của tôi dwf về Mạng thần kinh để nhận dạng mẫu Chris Bishop. Mặc dù, nó có lẽ không phải là một văn bản bắt đầu. Norvig hoặc một hướng dẫn trực tuyến (với mã trong Matlab!) Có thể sẽ là một giới thiệu nhẹ nhàng hơn.
Một dự án khởi động tốt sẽ là OCR (Nhận dạng ký tự quang học). Bạn có thể quét các trang văn bản và nạp từng ký tự qua mạng để thực hiện phân loại. (Tất nhiên, bạn sẽ phải đào tạo mạng đầu tiên!).
Cuốn sách của Raul Rojas là một khởi đầu rất tốt (nó cũng miễn phí). Ngoài ra, cuốn sách của Haykin xuất bản lần thứ 3 , mặc dù có khối lượng lớn, nhưng được giải thích rất tốt.
Tôi có thể giới thiệu nơi không nên bắt đầu. Tôi đã mua Giới thiệu về Mạng thần kinh của Kevin Gurney được đánh giá tốt trên Amazon và tuyên bố là "phần giới thiệu dễ tiếp cận về một trong những chủ đề quan trọng nhất trong khoa học máy tính và nhận thức". Cá nhân, tôi sẽ không giới thiệu cuốn sách này như một sự khởi đầu. Tôi chỉ có thể hiểu được khoảng 10% của nó, nhưng có lẽ đó chỉ là tôi (tiếng Anh không phải là ngôn ngữ mẹ đẻ của tôi). Tôi sẽ xem xét các tùy chọn khác từ chủ đề này.
http://www.ai-junkie.com/ann/evolved/nnt1.html là phần giới thiệu rõ ràng về perceptron nhiều lớp, mặc dù nó không mô tả thuật toán lan truyền ngược
bạn cũng có thể xem qua Generation5.org, nơi cung cấp rất nhiều bài viết về AI nói chung và có một số văn bản tuyệt vời về mạng nơ-ron
Nếu bạn không ngại tiêu tiền, Sổ tay lý thuyết não và mạng thần kinh là rất tốt. Nó chứa 287 bài báo bao gồm nghiên cứu trong nhiều lĩnh vực. Nó bắt đầu với phần giới thiệu và lý thuyết, sau đó làm nổi bật các đường dẫn thông qua các bài báo để thể hiện tốt nhất sở thích của bạn.
Đối với dự án đầu tiên, bản đồ Kohonen rất thú vị để phân loại : tìm các mối quan hệ ẩn trong bộ sưu tập nhạc của bạn, chế tạo một robot thông minh hoặc giải Netflix .
Hai cuốn sách được sử dụng trong quá trình học của tôi:
Khóa học giới thiệu: Giới thiệu về Điện toán thần kinh của Igor Aleksander và Helen Morton.
Khóa học nâng cao: Máy tính thần kinh của Robert Hecht-Nielsen
Tôi thấy Nguyên tắc cơ bản về mạng thần kinh của Fausett là một cuốn sách giáo khoa nhập môn đơn giản và dễ hiểu.
Tôi thấy cuốn sách "Trí tuệ tính toán" vô cùng hữu ích.
Lập trình Trí tuệ Tập thể thảo luận điều này trong ngữ cảnh của các thuật toán Tìm kiếm và Xếp hạng. Ngoài ra, trong đoạn mã có sẵn ở đây (trong ch.4), các khái niệm được thảo luận trong cuốn sách được minh họa trong một ví dụ Python.
Tôi đồng ý với những người khác nói rằng nghiên cứu sinh học không phải là một điểm khởi đầu tốt ... bởi vì có rất nhiều thông tin không liên quan trong sinh học. Bạn không cần phải hiểu cách một nơ-ron hoạt động để tạo lại chức năng của nó - bạn chỉ cần mô phỏng các hành động của nó. Tôi khuyên bạn nên "Làm thế nào để tạo ra một tâm trí" của Ray Kurzweil - nó đi vào khía cạnh sinh học có liên quan đến các mô hình tính toán, (tạo ra một tế bào thần kinh được mô phỏng bằng cách kết hợp một số đầu vào và kích hoạt khi đạt đến thành trì) nhưng bỏ qua những thứ không liên quan như cách nơron thực sự thêm đầu vào thouse togeather. (Ví dụ: bạn sẽ chỉ sử dụng + và một bất đẳng thức để so sánh với một ngưỡng)
Tôi cũng nên chỉ ra rằng cuốn sách không thực sự nói về 'tạo ra một tâm trí' - nó chỉ tập trung vào nhận dạng mô hình thứ bậc / tân vỏ não. Tôi tin rằng chủ đề chung đã được nói đến từ những năm 1980, vì vậy có rất nhiều cuốn sách cũ hơn có thể chứa các dạng thông tin giống nhau hơi cũ. Tôi đã đọc các tài liệu cũ nói rằng hệ thống thị giác, chẳng hạn, là một công cụ nhận dạng mẫu nhiều lớp. Ông cho rằng điều này áp dụng cho toàn bộ tân vỏ não. Ngoài ra, hãy coi 'những dự đoán' của anh ấy bằng một hạt muối - các ước tính phần cứng của anh ấy có lẽ khá chính xác, nhưng tôi nghĩ anh ấy đánh giá thấp mức độ phức tạp của các nhiệm vụ đơn giản (ví dụ: lái xe ô tô). Đúng là anh ấy đã thấy rất nhiều tiến bộ (và là một phần của nó) nhưng tôi vẫn nghĩ anh ấy lạc quan quá mức. Có một sự khác biệt lớn giữa việc một chiếc ô tô AI có thể lái một dặm thành công 90% thời gian, khi so sánh với 99,9 +% mà con người có thể làm. Tôi không mong đợi bất kỳ AI nào thực sự có thể lái xe tôi trong ít nhất 20 năm nữa ... (Tôi không tính những chiếc xe đường đua của BMW cần được 'đào tạo' trong khóa học thực tế, vì chúng không thực sự chơi giống nhau trò chơi)
Nếu bạn đã có ý tưởng cơ bản về AI là gì và cách nó có thể được mô hình hóa, bạn có thể tốt hơn nên bỏ qua thứ gì đó kỹ thuật hơn.
Nếu bạn muốn nhanh chóng tìm hiểu về các ứng dụng của một số khái niệm mạng nơ-ron trên một trình mô phỏng thực, có một cuốn sách trực tuyến tuyệt vời (hiện là wiki) có tên 'Khoa học thần kinh nhận thức tính toán' tại http://grey.colorado.edu/CompCogNeuro/index. php / CCNBook / Main
Cuốn sách được sử dụng tại các trường học như một cuốn sách giáo khoa và đưa bạn đi qua nhiều vùng não khác nhau, từ các tế bào thần kinh riêng lẻ đến chức năng điều hành cấp cao hơn.
Ngoài ra, mỗi phần đều được bổ sung thêm các 'dự án' bài tập về nhà đã sẵn sàng cho bạn. Chỉ cần tải xuống, làm theo các bước và mô phỏng mọi thứ mà chương đã nói. Phần mềm mà họ sử dụng ,prisent, hơi phức tạp nhưng cực kỳ mạnh mẽ: nó là sản phẩm của hơn 10 năm làm việc mà tôi tin tưởng.
Tôi đã trải qua nó trong một lớp đại học trong học kỳ vừa qua, và nó thật tuyệt. Hướng dẫn bạn qua mọi thứ từng bước