Bài 5: Deep learning - Keras cơ bản

Đăng bởi: Admin | Lượt xem: 4139 | Chuyên mục: AI


Keras cung cấp một framework hoàn chỉnh để tạo bất kỳ loại mạng nơron nào. Keras rất sáng tạo cũng như rất dễ học. Nó hỗ trợ mô hình mạng nơ ron đơn giản đến mô hình mạng nơ ron rất lớn và phức tạp. Ta sẽ tiếp cận kiến trúc của framework Keras và cách Keras hỗ trợ học sâu trong bài này.

1. Kiến trúc của Keras :

API Keras có thể được chia thành ba loại chính:
  • Model
  • Layer
  • Core Modules
Trong Keras, mọi ANN đều được đại diện bởi Keras Models. Đổi lại, mọi Mô hình Keras là thành phần của các Lớp Keras và đại diện cho các lớp ANN như input, hidden layer, output layers, convolution layer, pooling layer, v.v., mô hình Keras và các mô-đun truy cập lớp Keras cho activation function, loss function, regularization function ,v.v., Sử dụng mô hình Keras, Lớp Keras và mô-đun Keras, bất kỳ thuật toán ANN nào (CNN, RNN, v.v.,) đều có thể được biểu diễn theo cách đơn giản và hiệu quả.
sơ đồ sau mô tả mối quan hệ giữa mô hình, lớp và core mô-đun -
Ta hãy xem tổng quan về mô hình Keras, lớp Keras và mô-đun Keras.

2. Model

Mô hình Keras có hai loại như được đề cập như sau :
Mô hình tuần tự - Mô hình tuần tự về cơ bản là một thành phần tuyến tính của các Lớp Keras. Mô hình tuần tự rất dễ dàng, tối thiểu cũng như có khả năng biểu diễn gần như tất cả các mạng nơ-ron có sẵn.
Một mô hình tuần tự đơn giản như sau:
from keras.models import Sequential 
from keras.layers import Dense, Activation 

model = Sequential()  
model.add(Dense(512, activation = 'relu', input_shape = (784,)))
  • Dòng 1 nhập mô hình tuần tự từ mô hình Keras
  • Dòng 2 nhập Dense layer và Activation module
  • Dòng 4 tạo một mô hình tuần tự mới bằng cách sử dụng Sequential API
  • Dòng 5 thêm một dense layer (Dense API) với relu activation (sử dụng mô-đun Kích hoạt).
Mô hình tuần tự cho thấy lớp Model để tạo ra các mô hình tùy chỉnh.Ta có thể sử dụng khái niệm sub-classing để tạo mô hình phức tạp của riêng mình.
Functional API - API chức năng về cơ bản được sử dụng để tạo các mô hình phức tạp.

3. Layer

Mỗi lớp Keras trong mô hình Keras đại diện cho lớp tương ứng (input layer, hidden layer and output layer) trong mô hình mạng nơ ron được đề xuất thực tế. Keras cung cấp rất nhiều lớp tiền xây dựng để có thể dễ dàng tạo ra bất kỳ mạng nơ-ron phức tạp nào. Một số lớp Keras quan trọng được chỉ định bên dưới,
  • Core Layers
  • Convolution Layers
  • Pooling Layers
  • Recurrent Layers
 Mô hình mạng thần kinh sử dụng mô hình tuần tự như sau :
from keras.models import Sequential 
from keras.layers import Dense, Activation, Dropout model = Sequential() 

model.add(Dense(512, activation = 'relu', input_shape = (784,))) 
model.add(Dropout(0.2)) 
model.add(Dense(512, activation = 'relu')) model.add(Dropout(0.2)) 
model.add(Dense(num_classes, activation = 'softmax'))
  • Dòng 1 nhập Sequential model từ mô hình Keras
  • Dòng 2 nhập Dense layer và Activation module
  • Dòng 4 tạo một mô hình tuần tự mới bằng cách sử dụng Sequential API
  • Dòng 5 thêm một dense layer (Dense API) vớ hàmi relu activation (sử dụng Activation module).
  • Dòng 6 thêm một lớp dropout layer (Dropout API) để xử lý over-fitting.
  • Dòng 7 thêm một lớp dense layer (Dense API) với hàm relu activation (sử dụng Activation module).
  • Dòng 8 thêm một lớp dropout layer (Dropout API) để xử lý over-fitting.
  • Dòng 9 thêm lớp dense layer (Dense API) với hàm softmax activation (sử dụng Activation module).
Keras cũng cung cấp các tùy chọn để tạo các lớp có thể tùy chỉnh. Lớp tùy chỉnh có thể được tạo bằng cách sub-classing lớp Keras.Layer và nó tương tự như các mô hình Keras sub-classing

4. Core Modules

Keras cũng cung cấp rất nhiều chức năng liên quan đến mạng nơ-ron tích hợp sẵn để tạo đúng mô hình Keras và các lớp Keras. Một số chức năng như sau:
  • Activations module − là một khái niệm quan trọng trong ANN và mô-đun kích hoạt cung cấp nhiều chức năng kích hoạt như softmax, relu, v.v.,
  • Loss module − cung cấp các hàm loss như mean_squared_error, mean_absolute_error, poisson, v.v.,
  • Optimizer module − cung cấp chức năng trình tối ưu hóa như adam, sgd, v.v.,
  • Regularizers − cung cấp các chức năng như bộ điều chỉnh L1, bộ điều chỉnh L2, v.v.,
Bài tiếp theo: Mô đun >>
vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!