Chào mừng bạn đến blog Cốc Cốc News Tin Tức Trang Chủ

Table of Content

Clip Keras python là gì ?

Kinh Nghiệm về Keras python là gì Chi Tiết

Hoàng Duy Minh đang tìm kiếm từ khóa Keras python là gì được Update vào lúc : 2022-08-19 06:50:05 . Với phương châm chia sẻ Bí quyết Hướng dẫn trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi đọc tài liệu vẫn ko hiểu thì hoàn toàn có thể lại phản hồi ở cuối bài để Ad lý giải và hướng dẫn lại nha.

Bài trước đã ra mắt về convolutional neural network (CNN) cho bài toán với input là ảnh. Bài này sẽ ra mắt về thư viện keras và ứng dụng keras để xây dựng quy mô CNN cho bài toán phân loại ảnh.

Nội dung chính
    Giới thiệu về kerasMNIST DatasetXây dựng bài toánChuẩn bị dữ liệuXây dựng modelLoss functionỨng dụng keras cho MNIST datasetỨng dụng của việc phân loại ảnhVideo liên quan

Giới thiệu về keras

Bản chất của bài toán Deep learning: Bạn có tài liệu, bạn muốn máy tính học được những quy mô (model) từ tài liệu, sau đó dùng quy mô đấy để Dự kiến được những tài liệu mới. Các bước cơ bản làm một bài toán deep learning :

    Xây dựng bài toánChuẩn bị tài liệu (dataset)Xây dựng modelĐịnh nghĩa loss functionThực hiện backpropagation và áp dụng gradient descent để tìm những parameter gồm weight và bias để tối ưu loss function.Dự đoán tài liệu mới bằng model với những thông số tìm được ở trên

Bước xây dựng model thì áp dụng những kiến thức và kỹ năng được trình bày trong bài neural network và convolutional neural network ta hoàn toàn có thể xây dựng model hoàn hảo nhất từ đầu bằng python. Tuy nhiên bước backpropagation trở nên phức tạp hơn rất rất nhiều. Khó để implement và tối ưu được tốc độ tính toán. Đấy là nguyên do những framework về deep learning ra đời với những đặc điểm:

    Người dùng chỉ việc định nghĩa model và loss function, framework sẽ lo phần backpropagation.Việc định nghĩa layer, activation function, loss function đơn giản hơn cho những người dân tiêu dùng. Ví dụ để thêm layer trong neural network chỉ việc báo là layer có bao nhiêu node và dùng hàm activation gì. Tối ưu việc tính toán trên CPU và GPU.

Có thể thấy tensorflow là framework phổ biến nhất tuy nhiên tensorflow khá khó sử dụng cho những người dân mới khởi đầu. Nên mình sẽ ra mắt về keras: dễ sử dụng, thân thiện với người tiêu dùng nhưng đủ tốt để làm những bài toán về deep learning.

Keras là một framework mã nguồn mở cho deep learning được viết bằng Python. Nó hoàn toàn có thể chạy trên nền của những deep learning framework khác ví như: tensorflow, theano, CNTK. Với những API bậc cao, dễ sử dụng, dễ mở rộng, keras giúp người tiêu dùng xây dựng những deep learning model một cách đơn giản.

MNIST Dataset

Xây dựng bài toán

Bạn có ảnh xám kích thước 28*28 của chữ số từ 1 đến 9 và bạn muốn Dự kiến số đấy là số mấy. Ví dụ:

Keras python là gìDữ liệu đầu tiên trong MNIST dataset.

Chuẩn bị tài liệu

MNIST là bộ cơ sở tài liệu về chữ số viết tay, gồm có 2 tập con: training set gồm 60.000 ảnh những chữ số viết tay và test set gồm 10.000 ảnh những chữ số.

Training set, test set là gì?

Giả sử bạn đang luyện thi đại học và bạn có 10 bộ đề để luyện thi. Nếu bạn học và chữa cả 10 đề một cách rõ ràng thì bạn sẽ không thể ước lượng được điểm thi của bạn khoảng chừng bao nhiêu, dẫn đến bạn không chọn được trường phù hợp. Thế là bạn nghĩ ra một giải pháp tốt hơn, trong 10 đề đấy chỉ lấy 8 đề học và chữa rõ ràng thôi còn để 2 đề lại coi như thể đề thi thật. Như vậy bạn hoàn toàn có thể ước lượng điểm thi của tớ bằng phương pháp đánh giá điểm ở 2 đề đấy.

Trong ví dụ trên thì:

    8 đề ôn luyện được gọi là training set, hoàn toàn có thể hiểu là tài liệu dùng để dạy cho model học.2 đề để rành gọi là validation set, là để đánh giá xem model hiện tại có tốt không, thường được dùng để chỉnh những tham số của model.đề thi đại học thật là test set, là để đánh giá xem model hoạt động và sinh hoạt giải trí với tài liệu thực tế có tốt không.

Như vậy MNIST dataset có 60.000 tài liệu ở training set ở trong MNIST, ta sẽ chia ra 50.000 tài liệu cho training set và 10.000 tài liệu cho validation set. Vẫn không thay đổi 10.000 tài liệu của test set.

Xây dựng model

Vì input của model là ảnh nên nghĩ ngay đến convolutional neural network (CNN).

Mô hình chung bài toán CNN: Input image -> Convolutional layer (Conv) + Pooling layer (Pool) -> Fully connected layer (FC) -> Output.

Keras python là gìModel cho bài toán

Input của model là ảnh xám kích thước 28*28.

Softmax function

Giống như bài logistic regression, thay vì chỉ muốn kết quả là ảnh là số mấy, ta muốn Dự kiến phần trăm của ảnh là số nào. Ví dụ: 90% ảnh là số 5, 1% ảnh là số 1,…

Nhắc lại bài neural network, ở mỗi layer sẽ thực hiện 2 bước: tính tổng linear những node ở layer trước và thực hiện activation function (ví dụ sigmoid function, softmax function). Do sau bước tính tổng linear cho ra những giá trị thực nên cần dùng softmax function dùng để quy đổi giá trị thực trong những node ở output layer sang giá trị phần trăm.

Vì mỗi ảnh sẽ thuộc 1 class từ 0 đến 9, nên tất cả sẽ có 10 class. Nên output layer sẽ có 10 node để tương ứng với phần trăm ảnh là số 0,1,..,9. Ví dụ: a_6 là xác xuất ảnh là số 5. (Sự khác lạ chỉ số do những số bắt nguồn từ 0 trong khi chỉ số của node trong layer bắt nguồn từ 1)

Keras python là gìSoftmax function

Tổng quát sau hàm activation: displaystyle a_k = frace^z_ksum_i=1^10 e^z_i.

Nhận xét:

    displaystyle sum_i=1^10 a_i = 10 < a_i < 1

Do đó ta hoàn toàn có thể coi a_i là xác xuất ảnh là số (i-1).

Với những bài toán classification (phân loại) thì nếu có 2 lớp thì hàm activation ở output layer là hàm sigmoid, còn nhiều hơn nữa 2 lớp thì hàm activation ở ouput layer là hàm softmax

=> Output layer có 10 nodes và activation là softmax function.

Loss function

Để định nghĩa loss function, trước hết ta dùng one-hot encoding quy đổi label của ảnh từ giá trị số sang vector cùng kích thước với output của model. Ví dụ:

Keras python là gì

Để ý là label của data là số i là vector v kích thước 10*1 với v_i+1= 1 và những giá trị khác bằng 0. So với quy ước về phần trăm ở trên thì one-hot encoding có ý nghĩa là ta chắc như đinh 100% ảnh này là số 5.

Giờ ta có mức giá trị thật (label) dạng one-hot encoding giá trị Dự kiến ở output layer sau hàm softmax function cùng kích thước 10*1. Ta cần định nghĩa hàm loss function để đánh giá độ tốt của model.

Keras python là gì

Mong muốn là a_6 gần 1 còn những giá trị a khác gần 0 vì như vậy nghĩa là model Dự kiến đúng được ảnh đầu vào là ảnh số 5. Ta định nghĩa loss function:

displaystyle L = -sum_i=1^10 y_i * log(haty_i)

Thử đánh giá hàm L. Giả sử ảnh là số 5 thì displaystyle L = - log( haty_6).

Keras python là gì

Nhận xét:

    Hàm L giảm dần từ 0 đến 1Khi model Dự kiến haty_6 gần 1, tức giá trị Dự kiến gần với giá trị thật y_6 thì L nhỏ, xấp xỉ 0 Khi model Dự kiến haty_6 gần 0, tức giá trị Dự kiến ngược lại giá trị thật y_6 thì L rất lớn

=> Hàm L nhỏ khi giá trị model Dự kiến gần với giá trị thật và rất lớn khi model Dự kiến sai, hay nói cách khác L càng nhỏ thì model Dự kiến càng gần với giá trị thật. => Bài toán tìm model trở thành tìm giá trị nhỏ nhất của L.

Hàm loss function định nghĩa như trên trong keras gọi là “categorical_crossentropy

Ứng dụng keras cho MNIST dataset

Code mọi người lấy ở đây và hoàn toàn có thể dùng google colab (không cần setup trên máy và hoàn toàn có thể dùng được luôn) để chạy code với hướng dẫn sử dụng ở đây.

Ứng dụng của việc phân loại ảnh

    Chuẩn đoán ảnh X-ray của bệnh nhân có bị ung thư hay khôngPhân loại, nhận diện được những chữ, số viết tay => tự động đọc được biển số xe, văn bản.Phân loại được những biển báo giao thông vận tải => tương hỗ cho ô tô tự lái…

Mọi người hoàn toàn có thể rèn luyện tự xây dựng model cho CIFAR10 dataset gồm có 50,000 training set và 10.000 test set ảnh màu kích thước 32×32 cho 10 thể loại rất khác nhau (máy bay, ô tô, thuyền, chim, chó, mèo, ngựa,…).

# Load tài liệu cifar10 from keras.datasets import cifar10 (x_train, y_train), (x_test, y_test) = cifar10.load_data()

Bài 8: Ứng dụng CNN cho ô tô tự lái

Bài 6: Convolutional neural network


Tải thêm tài liệu liên quan đến nội dung bài viết Keras python là gì

Clip Keras python là gì ?

Bạn vừa tham khảo Post Với Một số hướng dẫn một cách rõ ràng hơn về Review Keras python là gì tiên tiến nhất

Chia Sẻ Link Tải Keras python là gì miễn phí

Người Hùng đang tìm một số trong những ShareLink Download Keras python là gì Free.

Thảo Luận thắc mắc về Keras python là gì

Nếu sau khi đọc nội dung bài viết Keras python là gì vẫn chưa hiểu thì hoàn toàn có thể lại phản hồi ở cuối bài để Mình lý giải và hướng dẫn lại nha #Keras #python #là #gì - 2022-08-19 06:50:05 Keras python là gì

Post a Comment