Posts

Image
“Machine learning, những thuật toán cơ bản” Phần 1 : Linear Regression và cách hoạt động của nó       Đây là bài viết đầu tiên của mình trong chuỗi bài mà mình sẽ viết về “Machine learning, những thuật toán cơ bản”. Ở  bài viết lần này mình sẽ nói về cách hoạt động của thuật toán Linear Regression, những ứng dụng của nó, tại sao là Linear Regression chứ không phải thuật toán nào khác?         Linear Regression hay cách “báo đài” hay nói là “hồi quy tuyến tính” là một trong những chủ đề nổi tiếng nhất trong thống kê và đặc biệt trong Machine Learning. Nổi tiếng đồng nghĩa rằng bài viết về nó là rất nhiều, có rất nhiều những bài viết rất chi tiết nhưng đôi khi lại mang đến sự “quá tải” cho người đọc, ở bài viết này mình sẽ viết ngắn gọn và dễ hiểu nhất cho người đọc.         Trước khi đến với định nghĩa rõ ràng về Linear Regression chúng ta hãy nói về 1 ví dụ mà bạn rất hay gặp trong cuộc sống: Ta có ngôi nhà x1 có diện tích là y1 (m2) được bán với giá là s1(đ) và nếu chúng ta có số liệu …

Triển khai model Deep Learning trên Edge Computing phần I

Image
Chào mừng các bạn đến với blog hướng dẫn triển khai model Deep Learning trên Edge Computing phần I. Trong bài này, mình sẽ hướng dẫn các bạn về các khái niệm và những bước cần thiết thực hiện được tiêu đề của Blog. Bắt đầu thôi nào. Edge Computing   Chúng ta đã nghe khá nhiều về Cloud Computing. Đó là hình thức tập trung dữ liệu và tính toán trên các Cloud. Tuy nhiên, với lượng dữ liệu khổng lồ và bùng nổ như hiện nay, việc xây dựng các Cloud đủ mạnh để xử lý được dữ liệu trong thời gian thực ngày càng khó khẳn và phức tạp hơn. Một khái niệm mới được đưa ra để hỗ trợ cho Cloud Computing và đó chính là Edge Computing. Edge Computing hay tính toán cạnh (hoặc tính toán biên) là việc dữ liệu sẽ được xử lý một phần ngay tại chỗ hoặc trong các cụm nhỏ trước khi được tập trung tại các trung tâm lớn hơn. Hãy xem hình dưới đây để hiểu về cách Edge Computing hoạt động.

Một xu hướng mới hiện nay trong việc áp dụng Deep Learning vào thực tế là triển khai các model Deep Learning trên các thiết bị E…

Recurrent Neural Network and Long-Short Term Memory

Image
Recurrent Neural Network In traditional neural networks, all the inputs and outputs are independent of each other, but in cases like when it is required to predict the next word of a sentence, the previous words are required and hence there is a need to remember the previous words.  Thus Recurrent Neural Network (RNN) came into existence. RNN are networks with loops in them, allowing information to persist.
In the above diagram, the network takes $ x_t$ as input and outputs $ y_t$. The hidden layer applies a formula to the current input as well as the previous state to get current state $ h_t$.
The formula for the current state can be written like this: $h_t = tanh(l1(x_t) + r1(h_{t-1}))$ The output can be calculated: $y_t = l2(h_t)$ This chain-like nature reveals that recurrent neural networks are intimately related to sequences and lists. They’re the natural architecture of neural network to use for such data.
Recurrent Neural Networks suffer from short-term memory. If a sequence i…

Correct A Math Test with Deep Learning - Part I

Image
100-Masu 100-Masu (or 100-Math) is a popular math test for primary school student in Japan. It's just only a combination of one digit addition, multiplication, and division in 100 squares table.


As you can see, the math test has a table that include 100 cells where students write their answers. Any cell that is left empty or with a wrong answer is to be counted towards the total number of mistakes and the tally is marked on the test sheet. The important in practicing 100-math calculations test is also in Prof. Hideo Kageyama's book: To do everydayRecording everyday With about 30 students in class, the teacher must spent so much time everyday to manually correct these tests. So it's worth to implement a automatically correction.
The Approach Our target is building a mobile app that can capture test sheet image, identify the multipliers in each table, identify the numbers written in the answer cells, compare against the expected answers, and mark the total number of mistakes …

Inception modules

Image
Nếu bạn là một người thường xuyên cập nhật các công nghệ AI, chắc hẳn bạn đã biết rằng Google vừa công bố một mô hình với tên gọi Inception v3 với Tensorflow.     Bạn có thể sử dụng mô hình này bằng cách train lại những layer cuối tùy thuộc vào yêu cầu bài toán phân loại của bạn. Nếu bạn thực sự hứng thú với việc này, hãy xem bài hướng dẫn rất thú vị sau của Siraj Raval. Tên gọi Inception v3 trùng với tên module Inception mà nó sử dụng, với những mô hình nhỏ hơn bên trong mô hình lớn hơn. Một cấu trúc Inception giống với nó được sử dụng trong mô hình GoogleLeNet năm 2014:
    Trong bài viết này, chúng ta sẽ bàn luận kỹ hơn về Inception modules, giải thích chi tiết hơn theo như bài báo gốc: "Going Deeper with Convolutions". Bài viết này đòi hỏi bạn phải có nền tảng hiểu biết cơ bản về mạng neural tích chập. Nếu không, chúng tôi khuyến khích bạn hãy đọc kỹ chương 9 của cuốn sách Deep Learning trước khi quay lại bài viết này. Inception modules là gì ?     Như một điều hiển…

NLP - Recurrent Neural Network

Image
Nội dung bài viết được tham khảo và dịch lại từ trang blog WILDML.
    Trong bài viết trước, tôi đã giới thiệu với bạn đọc về mô hình ngôn ngữ. Ta đã biết ứng dụng của mô hình ngôn ngữ gồm 2 dạng. Một là đánh giá độ chính xác của một câu dựa theo mức độ tương tự của chúng trên thực tế. Việc đánh giá này giúp ta ước lượng được độ chính xác của văn phạm lẫn ngữ nghĩa của một câu. Những mô hình này thường được ứng dụng trong các hệ thống dịch máy (Machine Translation). Hai là tự động sinh văn bản. Ví dụ huấn luyện mô hình với các tác phẩm của Shakespeare có thể cho phép ta sinh ra các câu từ tựa như cách Shakeapeare viết. Ngoài ra, bạn đọc có thể tham khảo thêm bài viết thú vị này của Andrej Karpathy về khả năng của các mô hình ngôn ngữ mức độ từ vựng.

    Trong bài viết này, tôi sẽ trình bày về mô hình ngôn ngữ dựa trên mạng nơ-ron hồi quy (RNN - Recurrent Neural Network), một thuật toán được chú ý rất nhiều trong thời gian gần đây bởi các kết quả tốt thu được trong lĩnh vực xử lý ngôn …