• [ML – 22] Convolution Neural Network : AlexNet

    Chào các bạn, hôm nay chúng ta sẽ cùng nhau tìm hiểu về mô hình AlexNet - mô hình đầu tiên cho thấy sức mạnh của CNN.

  • [ML – 21] Convolution Neural Network : LeNet-5

    Trong phần cuối bài trước, tôi đã giới thiệu tới các bạn một số kiến trúc CNN đã đạt được kết quả khả quan, hôm nay chúng ta sẽ tìm hiểu cụ thể xem một trong số chúng, LeNet-5 như thế nào!

  • [ML – 20] Convolution Neural Network – Part 3

    Chào các bạn, hôm nay chúng ta sẽ xem convolution được CNN sử dụng như thế nào. Hãy bắt đầu bằng việc mô tả Convolution Layer.

  • [ML – 19] Convolution Neural Network – Part 2

    Chào các bạn, hôm nay chúng ta tiếp tục tìm hiểu về mạng neural tích chập (CNN). Trong bài viết trước, ta đã được biết về những nhược điểm trong mạng neural truyền thống đồng thời giới thiệu về CNN và đã có được những cái nhìn đầu tiên về mô hình Deep Learning này. Hôm nay chúng ta sẽ tìm hiểu cách CNN hoạt động. Nếu như sau bài viết trước các bạn có đi tìm hiểu về “convolution” (tích chập) là gì thì với những ai đã “quên” hầu hết toán sẽ cảm thấy vô cùng tuyệt vọng, bản thân tôi cũng cảm thấy như vậy trong lần đầu mở nội dung về convolution trên wiki ra đọc. Tuy nhiên nếu đã tìm hiểu, bạn sẽ thấy để hiểu tích chập, ta phải biết tích phân là gì đã 🙂

  • [ML – 18] Convolution Neural Network – Part 1

    Chào các bạn, rất vui được gặp lại các bạn trong bài viết tiếp theo trong loạt bài về Machine Learning. Vì bản thân tôi vừa học vừa viết lại nên không thực sự có một agenda cho lộ trình của series này. Vô tình tới hôm nay tôi nhận ra mình đang tập trung viết nhiều về những kĩ thuật của Deep Learning. Đúng ra series này nên là “From Machine Learning to Deep Learning”, vì thế thay vì lựa chọn viết sang những giải thuật khác của Machine Learning, hôm nay chúng ta sẽ đi tìm hiểu thêm về Deep Learning và cụ thể sẽ là Convolution Neural Network – Mạng NN tích chập.

  • [ML – 17] Neural Net Regularization with Drop-Out

    Chào các bạn, rất vui được gặp lại các bạn trong bài viết này. Hôm nay chúng ta sẽ tìm hiểu về một kĩ thuật Regularization cho ANN được gọi là Drop-Out. Thay vì đi vào tìm hiểu “đạo lý” đằng sau kĩ thuật này hay phân phối xác suất đằng sau nó, tôi sẽ giải thích một cách trực quan để các bạn dễ hiểu, dễ nắm bắt và mường tượng được ý nghĩa của nó.

  • [ML – 16] Rectifier Linear function and Vanishing Gradient Problem

    Chào các bạn, trong bài viết trước ta đã đề cập tới một hàm activation mới Rectifier Linear, trong mạng Neural nó được kí hiệu là ReLU (Rectifier Linear Unit) đồng thời tôi cũng có nhắc tới việc ReLU giúp giải quyết vấn đề trong Gradient Descent, vậy vấn đề ở đây là gì, và ReLU giải quyết nó như thế nào ? Trong bài viết này chúng ta sẽ thử cùng nhau tìm hiểu chúng.

  • [ML – 15] From Sigmoid function to Rectifier Linear function

    Chào các bạn, hôm nay chúng ta tiếp tục loạt bài về ML, từ đầu tới giờ ta đã đề cập tới một số loại hàm activation (là những hàm số ta có thể đưa vào ANN để trở thành một neuron) như hàm tuyến tính (trong Linear Regression), hàm sigmoid (trong Logistic Regression), Step function (để gán nhãn cho output của Logistic Regression). Trong bài viết này tôi muốn đề cập tới một hàm số mới có tên gọi Rectifier (unit hay neron sử dụng hàm này được gọi là ReLU – Rectifier Linear Unit). Hãy cùng tìm hiểu xem hàm số này làm được gì và tại sao người ta lại sử dụng nó.

  • [ML – 14] Machine Learning long term and a Learning path
    Như đã nói trong bài viết trước, với lượng kiến thức về toán học hạn hẹp ta đã có thể hiểu được các mô hình cơ bản của Machine Learning như Linear Regression, Logistic Regression hay ANN, nhưng để đi sâu hơn, hiểu được nhiều mô hình hơn, thì đây là lúc các bạn nên bổ sung thêm kiến thức toán học một cách nghiêm túc. Mặc dù vậy nhưng đến thời điểm này, với những gì ta đã tìm hiểu...
  • [ML – 13] How to design Machine Learning System

    Trong bài viết trước chúng ta đã nắm được một vài phương pháp để “chẩn bệnh” cho hệ thống của mình. Đến thời điểm này, nhiều bạn sẽ đặt ra câu hỏi là làm sao để kết hợp những kĩ thuật đã được đề cập đến từ bài viết đầu tiên tới giờ (chẳng hạn các giải thuật, phát hiện Underfitting, Overfitting hay có nên thu thập thêm dữ liệu không…) lại với nhau. Nếu chỉ đơn thuần nắm được rất nhiều giải thuật mà không hiểu làm thế nào để chúng hoạt động trên một hệ thống hoàn chỉnh thì việc hiểu chúng chẳng có ý nghĩa gì ? Vậy làm sao để thiết kế một hệ thống ML ? Trong bài viết này, tôi sẽ đề cập đến những vấn đề chúng ta sẽ gặp phải trong quá trình xây dựng một “Machine Learning System” và cách đối mặt với chúng.

  • [ML – 12] Machine Learning Diagnostic 2/2

    Tiếp nối nội dung của bài 11, trong bài này ta sẽ tìm hiểu cách lựa chọn \(\lambda\) cho Regularization, đồng thời quan sát một chút quá trình learning của mô hình.

  • [ML – 11] Machine Learning Diagnostic 1/2

    Xin chào các bạn, rất vui được gặp lại các bạn trong bài viết thứ 11 trong loạt bài về Machine Learning. Trong 10 bài viết trước chúng ta đã tìm hiểu được khá nhiều kĩ thuật như các giải thuật, mô hình, hay phương pháp xử lý khi gặp vấn đề về Underfitting và Overfitting. Hôm nay, ta sẽ cùng nhau tìm hiểu làm thế nào để xác định mô hình hay giải thuật chúng ta đang phát triển gặp phải vấn đề và cách giải quyết chúng.

  • [ML – 10] Regularization – Overfitting and Underfitting

    Chào các bạn, sau khi chúng ta cùng nhau học về một số mô hình cơ bản trong Machine Learning cũng như một số giải thuật hay được sử dụng thì hôm nay, ta sẽ dừng lại một chút để xem xét và giải quyết vấn đề chính hay gặp phải trong quá trình xây dựng và phát triển một mô hình ML. Cụ thể chúng ta sẽ đi tìm hiểu về vấn đề OverfittingUnderfitting. Xem qua lại một chút các bước xây dựng mô hình để giải quyết một vấn đề bằng ML: – Lựa chọn feature: xác định những input cơ bản để tiến hành thu thập dữ liệu là công việc đầu tiên khi làm việc với ML, chỉ khi ta biết được những feature nào nên được lựa chọn, khi đó quá trình thu thập dữ liệu mới có thể bắt đầu. – Thu thập data: Càng nhiều dữ liệu ta càng dễ quan sát được tính hội tụ của chúng, kết quả học càng cao. Tuy nhiên bù lại là tốn hiệu năng cho việc duyệt qua tập dữ liệu (lớn), thời gian học lâu hơn. – Xây dựng mô hình: Sau khi lựa chọn một mô hình phù hợp chẳng hạn Logistic Regression cho Classification Problem, hay Linear Regression cho Regression Problem ta xây dựng \(h(x)\), cost function \(J(\theta)\) và tối thiểu hóa cost function nhiều nhất có thể. Đến bước này chúng ta sẽ gặp vấn đề với OverfittingUnderfitting. Chúng là gì và cách giải quyết ra sao sẽ được đề cập trong phần tiếp theo. – Validate và test: sau khi có hàm tiên đoán \(h(x)\) chúng ta sẽ thực hiện validate và kiểm thử với dữ liệu mới (Chi tiết sẽ được mô tả trong bài viết sau).

  • [ML – 09] Understanding Neural Network 3/3

    Xin chào các bạn, hôm nay chúng ta tiếp tục loạt bài về ANN. Trong bài viết trước chúng ta đã đi vào ví dụ cụ thể xem ANN vận hành như thế nào, và nó có lợi hơn so với Logistic Regression ra sao đồng thời cũng đã bước đầu tưởng tượng được ANN học như thế nào. Khi áp dụng giải thuật Gradient Descent với yêu cầu cần tính đạo hàm tại tất cả các tham số \(\theta\) hay nói cách khác là xác định xem mỗi tham số \(\theta\) ảnh hưởng tới cost function như thế nào. Ở bài trước ta đã biết 2 cách tính đạo hàm và thấy được rằng cách tính ngược đạo hàm của cost function \(J(\theta)\) tại mỗi node hay mỗi neuron sẽ giảm thiểu chi phí tính toán đi rất nhiều (khi ANN càng phức tạp). Bây giờ chúng ta sẽ xem, nếu áp dụng cụ thể, giải thuật sẽ như thế nào ?

  • [ML – 08] Understanding Neural Network 2/3

    Chào các bạn, trong bài viết trước chúng ta đã tìm hiểu sơ qua về ANN, đã biết về giải thuật lan truyền xuôi (Forward Propagation). Hôm nay, chúng ta tiếp tục tìm hiểu về ANN qua ví dụ cụ thể và bước đầu hiểu về cách ANN “học”.

  • [ML – 07] Understanding Neural Network 1/3

    Trong các bài viết trước, ta đã học về 2 mô hình cơ bản trong ML là “Linear Regression” và “Logistic Regression” để giải quyết 2 vấn đề thường gặp là “Regression Problem” và “Classification Problem”. Tiếp theo chúng ta sẽ tìm hiểu về Artificial Neural Network (ANN) hay mạng nơ ron nhân tạo. Trước khi đi sâu vào tìm hiểu ANN là gì, ta sẽ đi tìm câu trả lời cho câu hỏi “Tại sao lại cần ANN ?”

  • [ML – 06] Solving Classification Problem with Logistic Regression 2/2

    Hôm nay chúng ta tiếp tục phần bài về Logistic Regression, cụ thể ta sẽ đi xây dựng cost function \( \mathbf{J(θ)} \) cho \( \mathbf{h(x)} \).

  • [ML – 05] Solving Classification Problem with Logistic Regression 1/2

    Chào các bạn, hôm nay chúng ta tiếp tục với loạt bài về Machine Learning. Trong những bài viết trước, ta đã đề cập tới “Regression Problem” – đây là những bài toán mà đầu ra là các giá trị liên tục (nghĩa là output có thể nhận giá trị trải dài trên cả một tập số vô hạn, cụ thể trong những trường hợp thông thường là tập số thực), ở bài viết này ta sẽ đề cập tới một dạng bài toán khác “Classification Problem”.

  • [ML – 04] From Linear Regression model to Polynomial Regression model

    Chào các bạn, trong bài viết trước chúng ta đã tìm hiểu về mô hình Linear Regression với ví dụ đơn giản nhất trên không gian 2 chiều cho \(\mathbf{h(x)}\). Trong bài viết này chúng ta sẽ phát triển mô hình Linear Regression (hồi quy tuyến tính) lên mô hình tổng quát hơn “Polynomial Regression” (hồi quy đa thức). Trước tiên, chúng ta sẽ tổng kết lại về Linear Regression:

  • [ML – 03] Minimize cost function with Gradient descent algorithm

    Trong bài viết trước chúng ta đã tìm hiểu về cách tối thiểu hoá hàm số, từ đó áp dụng vào tối thiểu hoá cost function J(θ). Hôm nay chúng ta sẽ đi vào tìm hiểu về giải thuật “Gradient descent” nhằm khắc phục nhược điểm của phương pháp tìm nghiệm của J’(θ) = 0 (đạo hàm của J(θ)) và giới thiệu về mô hình “Linear Regression” (Hồi quy tuyến tính).

  • [ML – 02] How to minimize cost function

    Tiếp nối nội dung trong bài viết trước, hôm nay các bạn sẽ cùng tôi đi sâu vào tìm hiểu cách thức Machine Learning (ML) học hỏi từ dữ liệu. Như đã giới thiệu trong bài viết trước, để máy có thể học hỏi được từ dữ liệu chúng ta cần.

  • [ML – 01] Introduction to Machine Learning

    Thời gian gần đây chúng ta được nghe rất nhiều về lĩnh vực này, Machine Learning và AI được nhắc đến không ngừng qua những sản phẩm “thông minh” của những “ông lớn” như Google, Apple, Tesla hay Microsoft… Hôm nay chúng ta sẽ bắt đầu loạt bài về Machine Learning (ML) nhằm giúp các bạn hiểu và có cái nhìn đúng đắn về nó đồng thời tạo nền tảng cơ bản cho những ai yêu thích có thể tìm tòi, học hỏi và phát triển ML nói riêng và AI nói chung.