Chào mọi người
Mình đang học về neural network deep learning, và đã học qua lý thuyết các mô hình mạng.
Giờ mình muốn bắt tay vào xây dựng một mô hình mạng thực tế, thì mình nên sử dụng tool gì, các tool có khác biệt gì nhau.
Mình muốn có một tool online giúp tạo một mô hình kiểu cloud hoàn toàn không biết có không ( vì sau này mình cần xây dựng một mô hình nhận dữ liệu từ thiết bị iot và trả về kết quả hoàn toàn trên cloud được thì tốt )
Phần này khá mới mẻ với mình nên mong mọi người giúp đỡ
p.s : nếu là tool java được thì tốt quá ạ.
Tool Neural Network
Mình nghĩ bạn nên build từ cái đơn giản rồi đến phức tạp.
Ví dụ implement perceptron trước rồi tới neural network sau. Như vậy sẽ nắm rõ đc vấn đề hơn. Với perceptron thì bạn có thể implement trực tiếp trên code, ko cần xài thư viện hay tool gì.
Khi bắt đầu implement neural network thì:
-
Bạn có thể dùng Octave hoặc MathLab (có sẵn các kiểu dữ liệu và hỗ trợ tính toán trên ma trận, vector) để tiết kiệm thời gian lúc build. Nhưng implement trên này thì chỉ để hiểu cơ chế vận hành, muốn ứng dụng thì vẫn phải implement với ngôn ngữ khác
-
Nếu ko thích MathLab thì có thể xài Tensorflow (có graph trên web UI, dễ hình dung, cơ mà để bắt đầu học thì hơi rườm rà), có thể export model ra để dùng lại về sau. Tensorflow thì có API cho C/C++, Java, Python đầy đủ.
-
Đơn giản hơn có thể dùng Scikit với Python. Vừa đơn giản vừa ứng dụng được luôn.
Cảm ơn bạn. Mình thấy octave cũng tương tự Mathlab, không biết hai thằng này khác nhau nhiều ko.
Và chỉ lt bằng script có vẻ mang tính khởi động chứ không thành phẩm dk đúng không nhỉ
Uhm cả Octave và Mathlab đều chỉ nên dùng trong nghiên cứu, học tập là chính, để giúp cho người học có thể implement nhanh các thuật toán/lý thuyết mà ko cần quan tâm lắm vào các kĩ thuật liên quan.
MathLab về cơ bản nó đầy đủ hơn, 2 thằng có syntax xêm xêm nhau, tuy nhiên Octave thì miễn phí và chạy trực tiếp trên command line nhanh hơn còn MathLab thì ko có miễn phí, tooling xịn hơn 1 tí nhưng cũng rườm rà, nặng hơn.
Tool java thì có thể sài weka
java thì có deeplearning4j (deep learning), encog ( neural network). Để train hiệu quả thì đòi hỏi máy phải có GPU CUDA (dùng gpu train 1 ngày = cpu train 1 tháng cũng nên ).
Muốn hiệu quả thì mua 1 con máy có GPU trâu làm cloud luôn.
Bạn có thể mô tả công nghệ traning qua cloud giúp mình đươc không.
Mình đang tìm hiểu mà không nắm rõ lắm. Nó có lợi ích gì hơn sử dụng tool thường không v ak
Mình chỉ tìm hiểu qua thôi chứ có làm bao giờ đâu. Thường thì cloud có 2 loại, 1 là vps chuyên để train (gpu mạnh, cpu mạnh, giá rất mắc), bạn tự làm từ a-z( tự code, tự tìm sample…). 2 là loại dịch vụ, bạn cung cấp input cho nó, nó cung cấp dịch vụ sẵn cho bạn luôn. Services nó có lợi ở chỗ bạn chỉ cần cung cấp data, model cho nó thôi, còn lại nó làm hết cho bạn.