Mạng lưới thần kinh: Bạn đã có nó rất đơn giản

mạng thần kinh là tất cả các cơn thịnh nộ ngay bây giờ với số lượng tin tặc, sinh viên, nhà nghiên cứu, cũng như các doanh nghiệp tham gia. Sự hồi sinh cuối cùng là những năm 80 cũng như những năm 90, khi có ít hoặc không có web trên toàn thế giới cũng như một vài công cụ mạng thần kinh. Sự hồi sinh hiện tại bắt đầu vào khoảng năm 2006. Từ quan điểm của tin tặc, những công cụ nào cũng như các tài nguyên khác đã được cung cấp lại sau đó, những gì được cung cấp ngay bây giờ, và chúng ta sẽ mong đợi điều gì cho tương lai? Đối với bản thân tôi, một GPU trên Raspberry PI sẽ tốt đẹp.

Những năm 80 cũng như thập niên 90

Mạng lưới thần kinh thập niên 80 / 90s Sách cũng như Mags
Đối với những người trẻ tuổi đọc sách này, người tự hỏi làm thế nào Geezers cũ của Hoa Kỳ đã cố gắng làm bất cứ điều gì trước World Wide Web, các tạp chí Hardcopy đã chơi một phần rất lớn trong việc khiến chúng ta có ý thức về những điều mới. Cũng như vậy, đó là vấn đề đặc biệt tháng 9 năm 1992 của tạp chí American Magazine cũng như bộ não đã giới thiệu cho tôi các mạng lưới thần kinh, cả sinh học cũng như các loại nhân tạo.

Quay lại sau đó bạn đã có tùy chọn viết các mạng thần kinh của riêng mình từ mã nguồn hoặc đặt hàng mã nguồn từ người khác, mà bạn sẽ nhận được trên đĩa mềm trong thư. Tôi thậm chí đã ra lệnh cho một đĩa mềm từ cột nhà khoa học nghiệp dư của vấn đề khoa học người Mỹ đó. Bạn cũng có thể mua một thư viện mạng thần kinh sẽ thực hiện tất cả các toán học phức tạp, mức độ thấp cho bạn. Tương tự như vậy, một trình giả lập miễn phí gọi là Xerion từ Đại học Toronto.

Để mắt đến các phần Khoa học Hiệu sách đã bật lên cuốn sách thỉnh thoảng về chủ đề này. Truyền thống là những khám phá hai khối lượng trong chế biến phân tán song song, bởi Rumelhart, McClelland et al. Một ưu tiên của tôi là tính toán thần kinh cũng như bản đồ tự tổ chức: Giới thiệu, hữu ích nếu bạn quan tâm đến các mạng thần kinh kiểm soát một cánh tay robot.

Có những khóa học ngắn ngủi cũng như các hội nghị bạn có thể tham dự. Hội thảo tôi đã tham dự vào năm 1994 là một trong hai ngày miễn phí bởi Geoffrey Hinton, sau đó là Đại học Toronto, cả hai cũng như bây giờ là một nhà lãnh đạo trong lĩnh vực này. Hội thảo hàng năm được uy tín nhất tại thời điểm đó là hội nghị hệ thống xử lý thông tin thần kinh, vẫn sẽ mạnh mẽ ngày hôm nay.

Và cuối cùng, tôi nhớ lại các thư viện cho các bài báo được công bố. Chồng giấy hội thảo của tôi cũng như các bản tin chương trình, các bài viết sao chép, cũng như các ghi chú viết tay từ giai đoạn đó là khoảng 3 “dày.

Sau đó, mọi thứ đã đi tương đối yên tĩnh. Trong khi các mạng lưới thần kinh đã phát hiện việc sử dụng trong một vài ứng dụng, họ đã không sống theo sự cường điệu của họ cũng như từ quan điểm của thế giới, bên ngoài một cộng đồng nghiên cứu hạn chế, họ đã ngừng quan trọng. Những thứ vẫn còn yên tĩnh vì những cải tiến dần dần đã được thực hiện, cùng với một vài bước đột phá, cũng như sau đó là khoảng năm 2006, họ đã bùng nổ trên thế giới một lần nữa.

Hiện tại đến

Tuy nhiên, chúng tôi đang tập trung vào các công cụ ở đây một thời gian ngắn, những đột phá đó là chủ yếu:

Kỹ thuật mới cho các mạng đào tạo đi sâu hơn ba hoặc bốn lớp sâu, bây giờ được gọi là mạng thần kinh sâu

việc sử dụng GPU (đơn vị xử lý đồ họa) để tăng tốc độ đào tạo

Tính khả dụng của dữ liệu đào tạo chứa số lượng lớn mẫu

Khung mạng thần kinh

Hiện tại có nhiều thư viện mạng thần kinh, thường được gọi là Frameworks, được cung cấp để tải xuống miễn phí với nhiều giấy phép khác nhau, nhiều trong số họ các khung nguồn mở. Hầu hết các loại phổ biến hơn cho phép bạn chạy các mạng thần kinh của mình trên GPU, cũng như đủ linh hoạt để hỗ trợ hầu hết các loại mạng.

Dưới đây là hầu hết các loại phổ biến hơn. Tất cả đều có hỗ trợ GPU ngoại trừ FNN.

Tenorflow.

Ngôn ngữ: Python, C ++ đang hoạt động

Tensorflow là khung mạng thần kinh mới nhất của Google. Nó được thiết kế để phân phối các mạng trên nhiều máy cũng như GPU. Nó có thể được coi là một cấp thấp, cung cấp sự linh hoạt tuyệt vời tuy nhiên, một đường cong học tập lớn hơn so với các loại cao cấp như Keras cũng như Tflearn, cả hai đều đã nói về bên dưới. Tuy nhiên, họ đang làm việc để sản xuất một phiên bản Keras tích hợp trong Tensorflow.

Chúng tôi đã thấy cái này trong một hack trên hackaday đã có trong búa này cũng như chai bia nhận dạng robot cũng như thậm chí có phần giới thiệu sử dụng tenorflow.

Theano.

Ngôn ngữ: Python.

Đây là một thư viện mã nguồn mở để thực hiện các tính toán số hiệu quả liên quan đến các mảng nhiều chiều. Đó là từ Đại học Montreal, và chạy trên Windows, Linux cũng như OS-X. TheEno đã có từ lâu, 0,1 đã được phát hành vào năm 2009.

Caffe.

Ngôn ngữ: Dòng lệnh, Python, cũng như Matlab

Caffe được phát triển bởi nghiên cứu Berkeley AI cũng như những người đóng góp hàng xóm. Các mô hình có thể được định nghĩa trong một dữ liệu văn bản đơn giản cũng như sau đó được xử lý bằng cách sử dụng một công cụ dòng lệnh. Tương tự có Python cũng như giao diện Matlab. Ví dụ: bạn có thể xác định mô hình của mình trong một tệp văn bản thuần túy, cung cấp chi tiết về cách đào tạo nó trong một dữ liệu văn bản đơn giản thứ hai được gọi là bộ giải, cũng như sau đó vượt qua những thứ này cho CAFCông cụ dòng lệnh Fe sau đó sẽ đào tạo một mạng lưới thần kinh. Sau đó, bạn có thể tải mạng được đào tạo này bằng cách sử dụng chương trình Python cũng như sử dụng nó để làm một cái gì đó, ví dụ phân loại hình ảnh.

Cntk.

Ngôn ngữ: Python, C ++, C #

Đây là bộ công cụ nhận thức của Microsoft (CNTK) cũng như chạy trên Windows và Linux. Hiện tại họ đang làm việc trên một phiên bản sẽ được sử dụng với Keras.

Keras.

Ngôn ngữ: Python.

Viết bằng Python, Keras sử dụng Tensorflow hoặc TheEno bên dưới, giúp sử dụng các khung đó dễ dàng hơn. Cũng có kế hoạch hỗ trợ CNTK là tốt. Công việc đang được tiến hành để tích hợp Keras vào Tensorflow dẫn đến một phiên bản Keras chỉ Tensorflow riêng biệt.

Tf học

Ngôn ngữ: Python.

Giống như Keras, đây là một thư viện cấp cao được xây dựng trên đỉnh tenorflow.

Fann.

Ngôn ngữ: Hỗ trợ hơn 15 ngôn ngữ, không hỗ trợ GPU

Đây là một thư viện mã nguồn mở cấp cao được viết bằng C. Nó giới hạn để kết nối đầy đủ cũng như các mạng thần kinh được kết nối thưa thớt. Tuy nhiên, nó đã phổ biến trong những năm qua, cũng như đã được bao gồm trong các bản phân phối Linux. Gần đây, nó được hiển thị ở đây trên Hackaday trong một robot đã học cách sử dụng học tập cốt thép, một kỹ thuật học máy thường sử dụng các mạng lưới thần kinh.

Đèn pin

Ngôn ngữ: Lua.

Thư viện mã nguồn mở được viết bằng C. Thật thú vị, họ nói trên trang nhất của trang web của họ mà ngọn đuốc có thể nhúng, với các cổng đến iOS, Andoid cũng như phụ tá FPGA.

Pytorch.

Ngôn ngữ: Python.

Pytorch tương đối mới, trang web của họ cho biết đó là trong bản beta phát hành sớm, tuy nhiên dường như có rất nhiều sự quan tâm đến nó. Nó chạy trên Linux và OS-X cũng như sử dụng đèn pin bên dưới.

Không có câu hỏi người khác mà tôi đã bỏ lỡ. Nếu bạn có một ưu tiên đặc biệt mà không có ở đây thì xin vui lòng cho chúng tôi biết trong các ý kiến.

Bạn nên sử dụng cái nào? Trừ khi ngôn ngữ lập trình hoặc HĐH là một vấn đề thì thêm một yếu tố để ghi nhớ là cấp độ kỹ năng của bạn. Nếu bạn không thoải mái với toán học hoặc không muốn đào sâu vào các sắc thái của mạng thần kinh thì hãy chọn một cấp độ cao. Trong trường hợp đó, tránh xa Tensorflow, nơi bạn phải tìm hiểu thêm về API so với Kera, Tflearn hoặc các cấp độ cao khác. Các khung làm nổi bật chức năng toán học của họ thường yêu cầu bạn phải làm nhiều việc hơn để tạo ra mạng. Một yếu tố nữa là liệu bạn sẽ làm nghiên cứu cơ bản hay chưa. Khung cấp cao có thể không cho phép bạn có quyền truy cập vào Intoards đủ để bắt đầu tạo các mạng điên rồ, có lẽ với các kết nối trải dài trên nhiều lớp hoặc trong các lớp, cũng như dữ liệu chảy theo mọi hướng.

Dịch vụ trực tuyến

Bạn đang muốn thêm một cái gì đó một mạng lưới thần kinh sẽ cung cấp cho hack của bạn tuy nhiên không muốn dành thời gian để tìm hiểu các mạng nội bộ của các mạng thần kinh? Đối với điều đó, có những dịch vụ được cung cấp bằng cách kết nối hack của bạn với internet.

Chúng tôi đã thấy vô số ví dụ sử dụng Alexa của Amazon để nhận dạng giọng nói. Google cũng có các dịch vụ học máy đám mây bao gồm tầm nhìn cũng như lời nói. Dịch vụ tầm nhìn của nó đã xuất hiện ở đây bằng Raspberry Pi để sắp xếp kẹo cũng như đọc cảm xúc của con người. Webinator nhắm đến các nghệ sĩ cũng như các nhạc sĩ mà chúng ta đã thấy được sử dụng để đào tạo một mạng lưới thần kinh để đáp ứng với các cử chỉ khác nhau để biến mọi thứ trên một bên ngoài ngôi nhà, cũng như để tạo ra một cây vĩ cầm nhỏ nhất thế giới ảo. Không bị bỏ rơi, Microsoft cũng có API dịch vụ nhận thức, bao gồm: Tầm nhìn, lời nói, ngôn ngữ cũng như những người khác.

GPU cũng như TPUS

Lặp đi lặp lại thông qua một mạng lưới thần kinh
Đào tạo một mạng lưới thần kinh yêu cầu lặp lại qua mạng thần kinh, về phía trước cũng như sau đó lùi, mỗi lần cải thiện độ chính xác của mạng. Lên đến một điểm, bạn càng có thể làm càng lặp lại, độ chính xác cuối cùng sẽ tốt hơn nhiều khi bạn dừng lại. Số lượng lặp lại có thể là hàng trăm hoặc thậm chí hàng ngàn. Với những năm 1980 cũng như các máy tính 1990, đạt được đủ các lần lặp có thể mất một khoảng thời gian không thể chấp nhận. Theo bài báo, việc học sâu trong các mạng lưới thần kinh: Tổng quan, năm 2004 tăng gấp 20 lần tốc độ đã đạt được với GPU cho một mạng lưới thần kinh được kết nối đầy đủ. Trong năm 2006, tăng gấp 4 lần đã đạt được cho một mạng lưới thần kinh computional. Đến năm 2010, tăng nhanh gấp 50 lần so với việc so sánh đào tạo về CPU so với GPU. Kết quả là, độ chính xác cao hơn nhiều.

Thẻ đồ họa NVIDIA Titan XP. Tín dụng hình ảnh: Nvidia
Làm thế nào để GPU giúp đỡ? Một phần rất lớn của việc đào tạo một mạng lưới thần kinh liên quan đến việc nhân ma trận, một cái gì đó được thực hiện nhanh hơn nhiều trên GPU so với CPU. Nvidia, một nhà lãnh đạo trong việc tạo card đồ họa và GPU, đã tạo API gọi là CUDA được sử dụng bởi phần mềm mạng thần kinh để sử dụng GPU. Chúng tôi chỉ ra điều này vì bạn sẽ thấy thuật ngữ cuda rất nhiều. Với sự lây lan của việc học sâu, Nvidia đã thêm nhiều API, bao gồm cả CUDNN (CUDA cho các mạng thần kinh sâu), một thư viện các nguyên thủy mạng thần kinh được điều chỉnh tinh xảo, cũng như một thuật ngữ nữa bạn sẽ thấy.

Nvi.Dia Tương tự đó có một máy tính bảng đơn riêng, Jetson TX2, được thiết kế để trở thành bộ não cho những chiếc xe tự lái, máy bay không người lái selfie-snapping, cũng như như vậy. Tuy nhiên, như [Brian Benchoff] của chúng tôi đã chỉ ra, điểm giá hơi cao đối với tin tặc điển hình.

Google cũng đã làm việc trên khả năng tăng tốc phần cứng của riêng mình trong loại đơn vị xử lý Tensor (TPU). Bạn có thể đã nhận thấy sự tương đồng với tên của khung của Google ở ​​trên, Tansorflow. Tensorflow làm cho việc sử dụng nhiều cây chen (nghĩ về các mảng đơn cũng như đa chiều trong phần mềm). Theo bài báo của Google trên TPU, nó được thiết kế cho giai đoạn suy luận của các mạng thần kinh. Suy luận đề cập đến không đào tạo mạng lưới thần kinh mà là sử dụng mạng thần kinh sau khi được đào tạo. Chúng tôi chưa thấy nó được sử dụng bởi bất kỳ loại khung nào, tuy nhiên đó là một cái gì đó để ghi nhớ.

Sử dụng phần cứng của người khác

Bạn có một mạng lưới thần kinh sẽ mất nhiều thời gian để đào tạo nhưng không có GPU được hỗ trợ, hoặc không muốn buộc tài nguyên của bạn? Trong tình huống đó có phần cứng, bạn có thể sử dụng trên các máy khác có thể truy cập trên Internet. Một người như vậy là floydhub, cho một cá nhân, chỉ có giá đồng xu mỗi giờ không có khoản thanh toán hàng tháng. Thêm một nữa là Amazon EC2.

DataSets.

Đào tạo mạng lưới thần kinh với dữ liệu được dán nhãn
Chúng tôi đã nói rằng một trong những đột phá trong các mạng lưới thần kinh là sự sẵn có của dữ liệu đào tạo có chứa số lượng lớn các mẫu, trong hàng chục nghìn. Đào tạo một mạng lưới thần kinh sử dụng thuật toán đào tạo được giám sát liên quan đến việc cung cấp dữ liệu cho mạng tại các đầu vào của nó tuy nhiên, nên cho nó biết đầu ra dự kiến ​​là gì. Trong tình huống đó, dữ liệu cũng phải được dán nhãn. Nếu bạn đưa ra một hình ảnh của một con ngựa đến các đầu vào của mạng, cũng như các đầu ra của nó nói rằng nó trông giống như một con báo, thì cần biết rằng lỗi lớn cũng như cần đào tạo nhiều hơn. Đầu ra dự kiến ​​được gọi là nhãn, cũng như dữ liệu là ‘Dữ liệu được dán nhãn’.

Nhiều bộ dữ liệu như vậy được cung cấp trực tuyến cho mục đích đào tạo. MNIST là một trong những nhận dạng nhân vật viết tay. Imagenet và CIFAR là hai bộ dữ liệu khác nhau của hình ảnh được dán nhãn. Nhiều hơn nữa được liệt kê trên trang Wikipedia này. Nhiều khung công tác được liệt kê ở trên có hướng dẫn bao gồm các bộ dữ liệu cần thiết.

Điều đó không có nghĩa là bạn cần một bộ dữ liệu lớn để có được độ chính xác đáng kính. Robot đi bộ mà chúng tôi đã đề cập trước đó đã sử dụng khung FNN, đã sử dụng các vị trí động cơ servo làm dữ liệu đào tạo của nó.

Các nguồn lực khác

Không giống như những năm 80 cũng như những năm 90, trong khi bạn vẫn có thể mua sách cứng về các mạng thần kinh, có rất nhiều người trực tuyến. Hai cuốn sách trực tuyến tôi rất thích là học tập sâu sắc bởi báo chí MIT cũng như các mạng lưới thần kinh và học tập sâu. Các khung được liệt kê ở trên tất cả đều có hướng dẫn để giúp bắt đầu. Và sau đó có vô số trang web khác cũng như video YouTube trên bất kỳ loại chủ đề nào bạn tìm kiếm. Tôi khám phá các video YouTube của các bài giảng được ghi cũng như các cuộc nói chuyện hội thảo rất hữu ích.

Tương lai

Raspberry Pi 7 với GPU
Không nghi ngờ tương lai sẽ thấy nhiều khung hơn đến cùng.

Chúng tôi đã thấy những con chip thần kinh chuyên biệt cũng như các bảng trên thị trường nhưng không ai từng phát hiện ra một thị trường lớn, thậm chí trở lại vào những năm 90. Tuy nhiên, những người không được thiết kế đặc biệt để phục vụ khu vực tăng trưởng thực sự, phần mềm mạng thần kinh mà mọi người đang làm việc. GPU làm phục vụ thị trường đó. Vì các mạng thần kinh với hàng triệu kết nối cho hình ảnh cũng như xử lý bằng giọng nói, ngôn ngữ, cũng như để thực hiện theo cách nhỏ hơn cũng như các thiết bị tiêu dùng nhỏ hơn, cần thêm GPU hoặc bộ xử lý được điều chỉnh cho phần mềm đó sẽ mang lại cho một thứ gì đó cuối cùng có thể là một yếu tố mới trên bảng Raspberry PI hoặc Arduino. Mặc dù có khả năng xử lý sẽ vẫn là một dịch vụ trực tuyến thay thế. Chỉnh sửa: Hóa ra có GPU trên Raspberry Pi – xem các ý kiến ​​dưới đây. Điều đó không có nghĩa là tất cả các khung trên sẽ sử dụng nó mặc dù. Ví dụ, Tensorflow chỉ hỗ trợ các thẻ NVIDIA CUDA. Tuy nhiên, bạn vẫn có thể sử dụng GPU cho mã mạng thần kinh tùy chỉnh của riêng bạn. Các liên kết khác nhau là trong các ý kiến ​​cho điều đó quá.

Đã có sự cạnh tranh đối với GPU từ Asics như TPU và có thể chúng ta sẽ thấy nhiều hơn về những thứ đó, có thể gây quỹ GPU từ các mạng thần kinh hoàn toàn.

Đối với máy tính mới của chúng tôi

Leave a Reply

Your email address will not be published. Required fields are marked *