Keras - Học sâu
Keras cung cấp một khung 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. Hãy để chúng tôi hiểu kiến trúc của khung Keras và cách Keras giúp học sâu trong chương này.
Kiến trúc của Keras
API Keras có thể được chia thành ba loại chính:
- Model
- Layer
- Mô-đun cốt lõi
Trong Keras, mọi ANN được đại diện bởi Keras Models. Đổi lại, mọi Mô hình Keras đều là thành phần củaKeras Layers và đại diện cho các lớp ANN như đầu vào, lớp ẩn, lớp đầu ra, lớp tích chập, lớp tổng hợp, v.v., mô hình Keras và quyền truy cập lớp Keras modules cho chức năng kích hoạt, chức năng mất, chức năng điều chỉnh, v.v., Sử dụng mô hình Keras, Lớp Keras và các 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à mô-đun lõi:
Chúng ta hãy xem tổng quan về mô hình Keras, lớp Keras và mô-đun Keras.
Mô hình
Mô hình Keras có hai loại như được đề cập bên dưới -
Sequential Model- Mô hình tuần tự về cơ bản là một thành phần tuyến tính của Keras Layers. 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,)))
Ở đâu,
Line 1 nhập khẩu Sequential mô hình từ các mô hình Keras
Line 2 nhập khẩu Dense lớp và Activation mô-đun
Line 4 tạo một mô hình tuần tự mới bằng cách sử dụng Sequential API
Line 5 thêm một lớp dày đặc (API dày đặc) với relu chức năng kích hoạt (sử dụng mô-đun Kích hoạt).
Sequential mô hình lộ ra Modellớp để tạo ra các mô hình tùy chỉnh. Chúng ta có thể sử dụng khái niệm phân loại con để tạo mô hình phức tạp của riêng mình.
Functional API - Hàm API về cơ bản được sử dụng để tạo các mô hình phức tạp.
Lớp
Mỗi lớp Keras trong mô hình Keras đại diện cho lớp tương ứng (lớp đầu vào, lớp ẩn và lớp đầu ra) 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,
- Lớp lõi
- Lớp chuyển đổi
- Nhóm các lớp
- Lớp lặp lại
Một mã python đơn giản để đại diện cho mô hình mạng thần kinh bằng cách sử dụng sequential mô hình 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'))
Ở đâu,
Line 1 nhập khẩu Sequential mô hình từ các mô hình Keras
Line 2 nhập khẩu Dense lớp và Activation mô-đun
Line 4 tạo một mô hình tuần tự mới bằng cách sử dụng Sequential API
Line 5 thêm một lớp dày đặc (API dày đặc) với relu chức năng kích hoạt (sử dụng mô-đun Kích hoạt).
Line 6 thêm một lớp bỏ qua (API Dropout) để xử lý việc lắp quá mức.
Line 7 thêm một lớp dày đặc khác (API dày đặc) với relu chức năng kích hoạt (sử dụng mô-đun Kích hoạt).
Line 8 thêm một lớp bỏ qua khác (API Dropout) để xử lý việc lắp quá mức.
Line 9 thêm lớp dày đặc cuối cùng (API dày đặc) với softmax chức năng kích hoạt (sử dụng mô-đun Kích hoạt).
Keras cũng cung cấp các tùy chọn để tạo các lớp tùy chỉnh của riêng chúng tôi. Lớp tùy chỉnh có thể được tạo bằng cách phân lớp conKeras.Layer và nó tương tự như các mô hình Keras phân lớp.
Mô-đun cốt lõi
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 - Chức năng kích hoạt là một khái niệm quan trọng trong ANN và các 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 - Mô-đun mất mát cung cấp các chức năng mất mát như mean_squared_error, mean_absolute_error, poisson, v.v.,
Optimizer module - Mô-đun trình tối ưu hóa cung cấp chức năng trình tối ưu hóa như adam, sgd, v.v.,
Regularizers - Mô-đun bộ điều chỉnh cung cấp các chức năng như bộ điều chỉnh L1, bộ điều chỉnh L2, v.v.,
Hãy cùng chúng tôi tìm hiểu chi tiết các mô-đun Keras trong chương sắp tới.