Post

Deep learning 1 - Introduction to Deep learning

1. What is a Neural Network?

Neural Network là mạng lưới Nơ-ron nhân tạo. Đây là chuỗi thuật toán nhằm tìm kiếm quan hệ trong tập hợp dữ liệu hệ thống dựa theo cách thức hoạt động não bộ con người.

Housing price

Ở đây ví dụ bạn có 6 ngôi nhà và bạn cần dự đoán giá nhà, vậy nếu bạn học Machine learning thì bạn sẽ biết chúng ta giải quyết nó bằng Linear Regression (bạn có thể xem bài giảng Linear Regression của mình ở đây), nhưng chúng ta biết rằng giá cả thì không bao giờ được âm, vậy nên thay vì Linear Regression ta sẽ sửa đổi một chút, uốn cong để nó bằng 0 chứ không phải làm âm, thì vậy sẽ phù hợp hơn và dự đoán cho giá nhà.

Và bạn có thể coi ví dụ trên như một neural network rất đơn giản, tôi sẽ vẽ minh họa ở dưới đây:

Neuron

Thì như hình ở trên, data các ngôi nhà là X và Y là giá nhà còn khối tròn ta có thể gọi là một neuron.

Hàm dùng trong bài trên đó chính là hàm ReLu (Rectified Linear Unit), đây là một hàm activation rất được ưa chuộng sử dụng. Công thức hàm Relu như sau:

ReLu

Bạn chưa cần phải quan tâm nó ngay lúc này bởi vì bạn sẽ còn gặp lại nó trong chuỗi bài viết của tôi.

Vậy nếu một neuron đơn lẻ là như vậy thì neural network lớn hơn sẽ là sự kết hợp, xếp chồng của nhiều neuron, ví dụ vẫn bài dự đoán giá nhà nhưng nếu số neuron nhiều hơn thì sẽ như thế này:

hou

Ta có thể thấy rằng bây giờ dữ liệu không chỉ là size thôi nữa mà còn có các yếu tố khác như là phòng ngủ, đường xá và mức độ giàu của khu phố vậy nên ta sẽ có một neural network như sau:

nn

Mỗi mũi tên trong neural network sẽ có những trọng số (w) khác nhau dùng để tính toán đầu ra của Y (kết quả bài toán), và các lớp layer ở giữa không phải input layer - X và ouput layer - Y thì đều là Hidden layer, và mỗi hidden layer có nhiệm vụ tính toán riêng ví dụ trong bài này là chất lượng đường xá, trường học, hay là kích thước ngôi nhà… và đó mỗi node (nút) đó được gọi là một unit và thực hiện tương tự như nhân ma trận X với ma trận trong số W để ra được lớp tiếp theo. Nếu bạn chưa hiểu phần này thì đừng lo, tôi sẽ nhắc đến trong chuỗi bài tiếp theo.

2. Data in Supervised Learning with Neural Network

Trong supervised learning, chúng ta được cho một bộ data và đã biết đầu ra chính xác của mình là như thế nào. Các vấn đề về supervised learning thường được chia thành các loại hồi quy (Regression) hoặc phân loại (classification). Trong bài toán hồi quy, chúng ta đang cố gắng dự đoán kết quả trong một đầu ra liên tục, nghĩa là chúng ta đang cố gắng ánh xạ các biến đầu vào tới một hàm liên tục nào đó. Trong một bài toán phân loại, thay vào đó chúng ta đang cố gắng dự đoán kết quả ở một đầu ra rời rạc. Nói cách khác, chúng tôi đang cố gắng ánh xạ các biến đầu vào thành các danh mục riêng biệt.

Ví dụ:

  • Hồi quy: là dự đoán giá nhà, đầu ra có thể là các giá trị liên tục là giá của ngôi nhà
  • Phân loại: Bài toán phân loại chó mèo, khi output của mình chỉ đơn giản là con chó hay con mèo

Dưới đây là một số ví dụ về học có giám sát:

Example

Có nhiều loại mạng lưới thần kinh khác nhau, ví dụ Convolution Neural Network (CNN) được sử dụng thường xuyên cho dữ liệu hình ảnh, Recurrent Neural Network (RNN) được sử dụng cho dữ liệu chuỗi một chiều (one-dimensional sequence data) như dịch tiếng Anh sang tiếng Trung hoặc liên quan đến dữ liệu theo thời gian như bản ghi văn bản.

3. Structured vs Unstructured Data

Dữ liệu có cấu trúc đề cập đến những thứ có ý nghĩa xác định như giá cả, độ tuổi trong khi dữ liệu phi cấu trúc đề cập đến những thứ như pixel, âm thanh thô, văn bản.

Structured Data

Example

Unstructured Data

Example

4. Why is Deep Learning Taking Off?

Bạn có biết các ý tưởng về deep learning đã tồn tại từ nhiều thập kỉ về trước? Và tại sao chúng chỉ vừa mới phổ biến gần đây?

Trong phần này ta sẽ nói về các yếu tố chính dẫn đến sự phát triển của Deep learning

Deep learning đang được phát triển nhờ một lượng lớn dữ liệu có sẵn thông qua quá trình số hóa xã hội, phần cứng tính toán nhanh hơn và đổi mới trong việc phát triển thuật toán neural network.

Example Biểu đồ thể hiện hiệu suất dựa trên số lượng dữ liệu của các thuật toán Machine learning và Neural Network, Deep learning

Từ biểu đồ trên bạn cũng có thể thấy, khi dữ liệu càng lớn các model Large Neural Network tỏ ra hiệu quả hơn rất nhiều so với các model còn lại, và các thuật toán Machine learning (dòng kẻ đỏ) thì chỉ dừng lại ở một mức độ dữ liệu nào đó, vậy nên trong thời đại bùng nổ dữ liệu hiệu nay thì Deep learning trở nên ngày càng phát triển cộng với việc phần cứng đã dần đáp ứng vậy nên những điều đó tạo ra sự phát triển của Deep learning.

Hai điều phải được xem xét để đạt được hiệu suất cao:

    1. Có thể đào tạo một Neural network đủ lớn
    1. Lượng dữ liệu khổng lồ

Quá trình đào tạo mạng lưới thần kinh được lặp đi lặp lại.

Example

Có thể mất nhiều thời gian để đào tạo Neural network, điều này ảnh hưởng đến năng suất của bạn. Tính toán nhanh hơn giúp lặp lại và cải thiện thuật toán mới.

Tham khảo

Bài viết dựa trên khóa học Deep Learning Specialization Coursera nổi tiếng của Andrew Ng - Link.

Bình luận & thảo luận

Cảm ơn bạn đã dành thời gian để đọc, hãy trò chuyện và góp ý với mình ở dưới hoặc vào bằng link .

This post is licensed under CC BY 4.0 by the author.

Comments powered by Disqus.