TensorFlow – thư viện code Deep Learning

tensorboard
tensorboard

Bài viết này không nhằm vào hướng dẫn lập trình TensorFlow. Lý do, các bạn có thể tìm thấy nhiều source code hướng dẫn khác nhau trên internet, tự cài đặt và lập trình dễ dàng. Nếu các bạn đã có kiến thức cơ bản về Neural Network thì việc nắm bắt công nghệ này cũng sẽ đơn giản hơn rất nhiều.

Thông thường, ta sẽ đi theo flow nghiên cứu sau: vào trang https://www.tensorflow.org/ để xem qua bài giới thiệu chung chung, sau đó tiến hành cài đặt, cài đặt thất bại do conflict thư viện, cài đặt thành công, đọc source code, cài đặt thuật toán từ các tutorial, hiểu sơ sơ, bắt đầu hoang mang do có quá nhiều bài viết cần đọc và cài đặt -> mất hết cảm hứng.

Do đó, mình sẽ hướng các bạn đi theo một tiếp cận khác. Đầu tiên, ta sẽ lấy cảm hứng nghiên cứu thông qua các ứng dụng ngoài thực tế, người thật việc thật của TensorFlow. Tiếp đến, ta sẽ xem mọi người đánh giá như thế nào về mã nguồn này, có đáng để ta tiếp tục nghiên cứu không. Sau cùng, ta sẽ bắt tay vào tiến hành cài đặt và ứng dụng công nghệ cùng với các tài liệu tham khảo chất lượng đã thu thập được.

Xem tiếp

Long short-term memory (LSTM)

Short term vs Long term memory
Short term vs Long term memory
Deep learning là một kĩ thuật Machine Learning mạnh mẽ đang được nhiều người trong ngành biết đến và nghiên cứu. Kĩ thuật này nổi trội là do chúng thực hiện được hai việc cùng lúc: biểu diễn thông tin (represent problem/feature engineering) và học (learning). Do đó, kĩ thuật này còn được gọi là representation learning.

Bên cạnh các lĩnh vực đã gặt hái được nhiều thành công như Xử lý ảnh số và video số, hay Xử lý tiếng nói, Deep Learning cũng được áp dụng vào Xử lý ngôn ngữ tự nhiên. Cụ thể trong bài viết này, Long short-term memory (LSTM) là mô hình cải tiến từ RNN cũng thuộc họ Deep Learning mà ta cần quan tâm.

Xem tiếp

Áp dụng Convolutional Neural Networks cho Xử lý ngôn ngữ tự nhiên

Illustration of a Convolutional Neural Network (CNN)
Illustration of a Convolutional Neural Network (CNN)

bài viết trước, ta đã tìm hiểu về mô hình Convolutional Neural Networks (CNNs) ứng dụng như thế nào trong Thị giác máy tính (Computer Vision). Trong phần này, tôi xin tiếp tục bài viết của mình về cách làm thế nào để ứng dụng CNNs vào xử lý ngôn ngữ tự nhiên (Natural Language Processing).

Xem tiếp

Convolutional Neural Networks là gì

Convolutional Neural Networks
Convolutional Neural Networks

Những năm gần đây, ta đã chứng kiến được nhiều thành tựu vượt bậc trong ngành Thị giác máy tính (Computer Vision). Các hệ thống xử lý ảnh lớn như Facebook, Google hay Amazon đã đưa vào sản phẩm của mình những chức năng thông minh như nhận diện khuôn mặt người dùng, phát triển xe hơi tự lái hay drone giao hàng tự động.

Convolutional Neural Network (CNNs – Mạng nơ-ron tích chập) là một trong những mô hình Deep Learning tiên tiến giúp cho chúng ta xây dựng được những hệ thống thông minh với độ chính xác cao như hiện nay. Trong bài viết này, tôi sẽ giải thích đơn giản về Convolution (tích chập) cũng như ý tưởng của mô hình CNNs trong phân lớp ảnh (Image Classification).

Xem tiếp

Danh sách Deep Learning Tools nổi bật

torch
torch

Deep Learning đang là chủ đề “hot” trong ngành Trí tuệ nhân tạo và Machine learning với nhiều thành tựu đạt được trong thời gian qua. Như chủ trương của blog này, từ thực nghiệm, quan sát và đánh giá ta sẽ có thêm kĩ năng làm việc cũng như thấu hiểu hơn về mô hình Deep Learning. Trong bài viết này, tôi mượn kết quả khảo sát của KDnuggets Software Poll (2015) để liệt kê ra danh sách Deep Learning Tools nổi bật nhất.

  • Pylearn2 (55 users)
  • Theano (50)
  • Caffe (29)
  • Torch (27)
  • Cuda-convnet (17)
  • Deeplearning4j (12)
  • Other Deep Learning Tools (106)

Danh sách trên, có một vài công cụ tôi chưa sử dụng qua. Tuy nhiên, tôi sẽ cố gắng tổng hợp lại thông tin dựa trên trang chủ mà họ cung cấp.

Xem tiếp

Recurrent Neural Networks là gì

A recurrent neural network and the unfolding in time of the computation involved in its forward computation
A recurrent neural network and the unfolding in time of the computation involved in its forward computation

Recurrent Neural Networks (RNNs) là một trong những mô hình Deep learning được đánh giá có nhiều ưu điểm trong các tác vụ xử lý ngôn ngữ tự nhiên (NLP). Tuy nhiên để nắm bắt ngay mô hình này không phải là điều đơn giản, ta cần có background thật vững về Neural Network, khảo sát rất nhiều tài liệu cũng như tự cài đặt một vài chương trình minh hoạ đơn giản để có thể hiểu được cơ chế hoạt động của mô hình này.

Do đó, trong bài viết này, tôi sẽ trình bày các khái niệm, các đặc điểm cũng như những ứng dụng của RNNs (tạm dịch là mạng nơ-ron tái phát) trong các bài toán thực tế.

Xem tiếp

Nguồn tham khảo về Deep Learning

Deep learning
Deep learning

Deep Learning là một kĩ thuật rất “hot” của Machine Learning. Kĩ thuật này đã gặt hái được nhiều thành công trong các kết qủa nghiên cứu cũng như những ứng dụng thông minh ngoài thực tế đòi hỏi phải có độ chính xác cao. Dưới đây tôi xin liệt kê một số nguồn tham khảo miễn phí về Deep learning cho người mới bắt đầu cũng như những người muốn theo dõi xu hướng của kĩ thuật này.

Khai thác ưu điểm của Deep Learning với Topological Data Analysis

Deep learning 6
Deep learning

Gỉa sử bạn có hàng ngàn cột và hàng triệu dòng trong tập dữ liệu của bạn. Dù cho bạn nhìn tập dữ liệu này dưới góc độ nào – nhỏ, vừa, hay lớn – bạn cũng không thể nào thật sự quan sát hết tính chất của dữ liệu hiện tại. Đó là khuyết điểm trong giác quan của con người. Ta chỉ có thể quan sát tốt một đối tượng cụ thể hay một bức tranh tổng quát. Vậy có cách nào để chuyển tải tập dữ liệu của bạn vào một bản đồ duy nhất, để từ đó bạn có thể điều hướng và quan sát từng chi tiết một bên trong đó?

Deep Learning kết hợp với Topological Data Analysis có thể làm được việc này và hơn thế nữa. Edward Kibardin, Lead Data Scientist tại Badoo đã phát triển một công cụ để làm điều này. Bằng cách kết hợp hai công nghệ trên vào một giao diện người dùng thân thiện. Công cụ này có thể gíup mọi người quan sát dữ liệu hiện tại một cách dễ dàng hơn cũng như trả lời được những câu hỏi ngay cả bản thân còn không thể đặt ra trước đó.  website DataRefiner.

Xem tiếp

Các công ty Startup về Deep learning

Start ups Deep learning
Start ups Deep learning

Từ khi có sự đột phá về độ chính xác của mô hình dự đoán nhờ vào kĩ thuật Deep learning, trên thế giới đã lần lượt xuất hiện các doanh nghiệp start-up cạnh tranh khai thác kĩ thuật này để đem lại nhiều trải nghiệm cho các ứng dụng thông minh. Xe hơi tự lái của Google là một trong những ứng dụng sử dụng Deep learning để mô hình hóa môi trường cho xe tự lái. Siri, Cortana và Google now sử dụng Deep learning để nhận diện tiếng nói, Facebook có ứng dụng nhận diện khuôn mặt, và Skype có ứng dụng thông dịch ngôn ngữ trực tiếp cũng sử dụng Deep learning.

Để bắt kịp và ứng dụng nhanh xu hướng của kĩ thuật này vào sản phẩm phần mềm của mình, ta không nhất thiết phải đi nghiên cứu cạnh tranh với thế giới về vấn đề nghiên cứu khoa học. Hiện nay, đã có nhiều API và framework được cung cấp từ các công ty start-up mà ta có thể sử dụng ngay với chi phí thấp nhất. Trong bài viết này, tôi sẽ liệt kê một số công ty start-up về Deep learning.

Xem tiếp